Linux: Le gros bloc-note
Je note dans cette page, en vrac, diverses astuces pour Linux. Certaines évidentes, d'autres un peu moins. Ça me sert de bloc-note. Et je le publie: On ne sait jamais, ça pourrait aider d'autres personnes. Certaines astuces peuvent être spécifiques à une distribution.
- apropos est votre ami:
- Voir les outils concernant pdf présents sur votre système ?
apropos pdf
- Et tldr aussi:
> tldr tar tar Archiving utility. Often combined with a compression method, such as gzip or bzip. - Create an archive from files: tar cf {{target.tar}} {{file1 file2 file3}} - Create a gzipped archive: tar czf {{target.tar.gz}} {{file1 file2 file3}} - Extract an archive in a target folder: tar xf {{source.tar}} -C {{folder}} - Extract a gzipped archive in the current directory: tar xzf {{source.tar.gz}} - Extract a bzipped archive in the current directory: tar xjf {{source.tar.bz2}} - Create a compressed archive, using archive suffix to determine the compression program: tar caf {{target.tar.xz}} {{file1 file2 file3}} - List the contents of a tar file: tar tvf {{source.tar}} - Extract files matching a pattern: tar xf {{source.tar}} --wildcards {{"*.html"}}
Votre Wifi ne fonctionne pas bien ? Vous avez peut-être oublié de régler la région "France" pour les fréqences (du coup, les canaux 11/12/13 sont peu ou pas accessibles).
- Vérifier la valeur:
iw reg get
. Si vous ne voyez pasCountry: FR
c'est que ce n'est pas correctement réglé. - Modifier le réglage à la volée:
sudo iw reg set FR
, mais cela ne persiste pas au redémarrage. - Pour que la valeur persiste, modifiez le paramètre
REGDOMAIN
dans le fichier/etc/default/crda
. Mettez:REGDOMAIN=FR
-
- Vous avez lancé un dd ou un tar très long, et vous ne savez pas où il en est ? Lancez:
sudo progress -m
- progress fonctionne avec cp,mv,dd,tar,gzip,7z,rsync…
- Si vous utilisez
-M
, progress ne quittera pas et attendra un autre processus. - Dans rsync, en plus de l'option
--progress
(qui vous donne la progression par fichier), vous pouvez utiliser--info=progress2 --no-inc-recursive
qui vous donnera la progression totale de votre transfer.
- Créer des archives compressées : Créer une archive compressée c'est simple, mais c'est toujours bon de se rappeler la syntaxe:
- Créer une archive:
tar cvfz archive.tgz dossier/
- Mais si vous voulez un tar survitaminé qui va beaucoup plus vite, utilisez pigz:
tar cvf - dossier/ | pigz > archive.tgz
- ou:
tar cvf archive.tgz -I pigz dossier/
- pigz est comme gzip, mais qui fonctionne en multi-coeurs.
- Exemple pratique: 1,1 Go de données à compresser. Avec le tar/cvfz: 43,7 secondes. Avec le tar/pigz: 16,3 secondes (!).
- Décompresser:
tar xvf archive.tgz
- Exclure des types de fichiers:
tar cvfz archive.tgz dossier/ --exclude=*.mp3
- Exclure des répertoires:
tar cvfz archive.tgz dossier/ --exclude=chemin/relatif
-
sudo apt install pigz pbzip2
- pigz/pbzip2 ont une syntaxe compatible avec gzip/bzip2.
- Dans
.bashrc
mettre:alias gzip='pigz' alias bzip2='pbzip2'
-
- Au lieu d'utiliser tar avec gzip, prenez lzo. Il est extrêmement rapide. À titre d'exemple, avec 1,1 Go de données sur un core-i7: tar/gzip prend 40 secondes, tar/lzo prend 3,7 secondes. (Pour une taille finale: tar/gz:754 Mo, tar/lzo:849 Mo)
sudo apt install lzop
- Compresser:
tar --lzop -cvf archive.tar.lzo dossier/
- Décompresser:
tar xvf archive.tar.lzo
- lzo compresse un peu moins bien que gzip, mais il est 5 fois plus rapide (à tel point que le goulot d'étranglement n'est plus votre processeur, mais l'I/O disque).
- (lz4 est en théorie un peu plus rapide que lzo, mais pas forcément disponibles partout.)
- Taper un É majuscule ? : Appuyez sur CapsLock puis é. Ben oui c'est tout con. Même chose pour Ç, À, Ê, È, Ô… : pensez juste à activer CapsLock.
- Pour « et », c'est AltGr+Z et AltGr+X
-
- Essayez ! Ctrl+⇧ Maj+U+2705+ESPACE : ✅
- Déplacer une fenêtre: Faites Alt+clic gauche pour déplacer une fenêtre en cliquant n'importe où à l'intérieur.
-
- Encore plus lisible ? Essayez
findmnt
: il va tout afficher de manière hiérarchique.
- Voir les disques/partitions montables: Plusieurs possibilités:
lsblk
sudo fdisk -l
sudo inxi -Po
sudo gparted
(outils graphique)
-
- Faire:
sudo bash -c 'echo "vm.swappiness=10" >> /etc/sysctl.conf'
- Rebooter pour prendre en compte, ou faire
sudo sysctl -p
- Cela va réduire la propension du système à swapper. Par défaut ce paramètre est souvent à 60, mais en le passant à 10 le système attendra beaucoup plus avant de commencer à swapper.
- Réduction de l'utilisation du swap (2)
sudo apt install zram-config
, rebootez, et c'est tout. Les segments de mémoire compressés seront utilisés en priorité sur le swap disque. (Vous pouvez voir les/dev/zramX
quand vous faitescat /proc/swaps
).- C'est tellement efficace, que sur une machine avec 4 Go de RAM sur laquelle on lance plein de programmes au point d'atteindre 1,1 Go de swap utilisé, aucun octet n'a commencé à être écrit dans le swap sur disque !
- zram est utile quelle que soit la quantité de RAM que vous avez en réduisant à néant les lectures/écritures dans le swap disque. Le swap zram est infiniment plus rapide qu'un swap disque (quel que soit votre type de disque) et cela réduit l'usure des SSD.
- /tmp en tmpfs:
- Afin d'éviter les écritures inutiles sur disque, je vous recommande chaudement de mapper votre répertoire /tmp en tmpfs au lieu du disque même si vous n'avez pas beaucoup de mémoire vive (oui, même juste 1 Go). Si vous avez un disque dur c'est plus rapide et si vous avez un SSD, ça réduit son usure. Ajoutez à votre
/etc/fstab
:tmpfs /tmp tmpfs defaults,relatime,mode=1777,nosuid,size=4196M 0 0
- N'hésitez pas à mettre une valeur importante pour size: tmpfs ne consomme pas de RAM tant qu'on ne met rien dedans.
- Si les applications ont vraiment besoin de plus de RAM, tmpfs leur laissera la place en swappant ses données.
-
sudo netstat -pntul
- ou:
sudo ss -pntul
-
- Ouvrez un terminal dans le répertoire à partager.
- Tapez (pour Python3) :
python3 -m http.server 5555
- Si vous n'avez que Python2, c'est
python -m SimpleHTTPServer 5555
- Et c'est tout. Le répertoire sera accessible par
http://adresseip:5555/
- Pressez Ctrl+C pour arrêter le partage.
Lancer une tâche de fond avec la priorité CPU et disque minimale (afin qu'elle ralentisse le moins possible les autres programmes):
- Ajoutez à votre
.bashrc
:alias ni='nice -n 19 ionice -c3'
- Puis lancez n'importe quel programme en le préfixant par
ni
:ni tar cvfz monarchive.tgz monrepertoire/
- Mettre automatiquement un programme en arrière plan quand il est lancé: Par exemple pour
7z
ouvrez un terminal, lancez cette commande et laissez le terminal ouvert:watch "renice 19 -p $(pgrep 7z)"
Un programme prend trop de CPU ? Vous voulez lui limiter le pourcentage de CPU qu'il consomme ? Utilisez cpulimit:
cpulimit -e nomDuProgramme -l 25 -b
-e nomDuProgramme
ou-P cheminCompletDuProgramme
-l 25
pour 25% de CPU-b
pour mettre cpulimit en tâche de fond. Sans ça, il tourne en avant-plan et vous pouvez l'arrêter avec Ctrl+C (pratique pour limiter temporairement un programme)
- Lancer un script au démarrage du système:
- Si vous êtes sous systemd,
/etc/rc.local
n'est plus utilisé, donc pour que votre script shell soit lancé au démarrage du système, mettez-le par exemple dans /opt/scripts/monscript.sh, puis faitessudo crontab -e
et ajoutez la ligne:@reboot /opt/scripts/monscript.sh
- Plus puissant que strace ? sysdig (
sudo apt install sysdig sysdig-dkms
; essayez:sudo sysdig proc.name=cat
et de faire un cat dans une autre fenêtre).
-
- Certains services sont gérés par System-V (scripts dans
/etc/init.d
), d'autres par Upstart (scripts dans/etc/init
) et d'autres par systemd. La plupart des distributions récentes utilisent systemd. - System-V:
- Lister les services:
sudo service --status-all
(+ démarré, - non démarré, ? status inconnu) - Démarrer/arrêter un service:
sudo service <servicename> start
/sudo service <servicename> stop
- Activer/désactiver un service:
sudo update-rc.d <servicename> enable
/sudo update-rc.d <servicename> disable
- Upstart:
- Lister les services:
sudo initctl list
- Démarrer/arrêter un service:
sudo initctl stop <servicename>
/sudo initctl start <servicename>
- Désactiver un service: Créer un fichier
<servicename>.override
contenant le mot "manual". Exemple:sudo bash -c 'echo "manual" > /etc/init/avahi-daemon.override'
- systemd:
- Lister les services:
sudo systemctl list-unit-files --type=service
- Démarrer/arrêter un service:
sudo systemctl start <servicename>
/sudo systemctl stop <servicename>
- Activer/désactiver un service:
sudo systemctl enable <servicename>
/sudo systemctl disable <servicename>
- Astuce rapide:
- Si vous n'utilisez que des comptes locaux (et pas de comptes réseau), vous pouvez demander à systemd de ne pas attendre que le réseau soit disponible pour afficher la fenêtre de connnexion. Ça permet de gagner quelques secondes sur le démarrage:
sudo systemctl disable NetworkManager-wait-online.service
- Si au démarrage vous avez un long message "Scanning for Btrfs filesystems…" alors que vous n'utilisez pas Btrfs, vous pouvez le désactiver:
sudo apt purge btrfs-tools sudo update-initramfs -ukall
Isoler un logiciel : Pour lancer une application en laquelle je n'ai pas confiance, en ne lui laissant pas accès à mon répertoire perso:
- J'installe d'abord firejail:
sudo apt install firejail
(ou voir site officiel). - Si je veux lancer un programme en lui interdisant d'aller sur internet, je fais:
firejail --net=none monprogramme
- Si je veux lancer un programme en lui interdisant l'accès à mon répertoire perso: Je créé un répertoire pour cette application dans lequel je met le script shell lanceur (qui utilise firejail):
#!/bin/bash SCRIPT=$(readlink -f "$0") DIR=$(dirname "$SCRIPT") cd "$DIR" notify-send -i info -t 5000 "Skype" "Lancement par firejail..." firejail --noprofile --private=. bash -c "/usr/bin/skype"
- Le programme enregistrera ses fichiers de config dans ce répertoire, sans pouvoir accéder à mon vrai répertoire perso.
-
- Calculer:
find . -type f -print0 | xargs -0 md5sum | grep -v "./md5sums" | sort -k2 > md5sums
- Cela va créer un fichier
md5sums
qui permettra de vérifier l'intégrité des fichiers. grep -v "./md5sums"
permet d'éviter que le fichier md5sums essaie de se contrôller lui-même (puisqu'on est en train de le calculer)- Le
sort -k2
permet de trier par les noms de fichier. - Si vous ne voulez pas aller dans les sous-répertoires, faites juste
md5sum * | sort -k2 > md5sums
- Vérifier:
md5sum -c md5sums
- Si un fichier manque ou a été endommagé, cette commande vous le signalera.
- Si votre disque est très rapide (SSD), vous pouvez même utiliser xargs pour lancer des calculs de md5 en parallèle sur plusieurs fichiers pour aller plus vite:
find . -type f -print0 | xargs -0 -L1 -P4 md5sum | sort -k2 | grep -v "./md5sums" | sort -k2 > md5sums
- Le
-P4
permet de lancer 4 calculs de md5 en parallèle. - Et pour calcul cette même md5 seulement dans le répertoire courant sans aller dans les sous-répertoire, ajoutez
-maxdepth 1
juste avant-type f
.
- Emporter une application sur clé USB (pour ma clé "Live" de Linux Mint que j'utilise comme clé de dépannage):
- Booter sur la clé et se connecter au net (afin d'être dans la même configuration de paquets installés/non-installés).
sudo apt download filezilla
par exemple: Cela va créer un fichier .tar .gz contenant tous les .deb nécessaires, ainsi que le fichierinstall.sh
.- Pratique pour embarquer des logiciels comme
partclone
sur clé USB afin de faire des images de mes partitions. - A noter qu'une fois booté sur la clé, le contenu de la clé USB est accessible en lecture seule dans
/cdrom
(copier sur le bureau pour pouvoir utiliser).
- Supprimer les paquets inutiles:
sudo apt autoremove
- Cela va dé-installer les paquets qui ne sont plus utilisés par d'autres paquets mais qui auraient pu être laissés.
- Cache des paquets (debian et dérivés (Ubuntu, LinuxMint…)):
- Tous les paquets installés sont en copie dans
/var/cache/apt/archives/
. - La copie locale de ces paquets peut être parfois utile en cas de paquet foireux (rare) ou pour réinstaller un paquet sans connexion internet. Vous pouvez le vider pour gagner de la place, c'est sans risque pour le système.
- Retirer les anciens paquets (retire les anciennes versions des paquets, mais laisse celles actuellement installées):
sudo apt autoclean
. - Vider complètement le cache des paquets:
sudo apt clean
- Forcer le re-téléchargement de tous les paquets:
dpkg -l | grep "^ii" | awk ' {print $2} ' | xargs sudo apt-get -y --force-yes install --reinstall --download-only
- Note: Cela ne va bien sur pas re-télécharger les .deb que vous avez manuellement téléchargés, mais seulement ceux présents dans les dépôts.
-
- Copier dans
~/.fonts
- Faire:
fc-cache -fv
- Plus de son ? Relancer pulseaudio:
pulseaudio -k
- Plus de réseau ? Redémarrer le service réseau:
sudo service network-manager restart
ou plus simplement (sans sudo):nmcli networking off && sleep 5 && nmcli networking on
Ajouter des actions dans le menu contextuel du gestionnaire de fichiers Caja (ça marche avec la plupart des gestionnaires de fichiers):
- Déposer votre script dans
~/.config/caja/scripts/
et le rendre exécutable. - Faites un clic-droit sur n'importe quel fichier ou dossier > Scripts > Nom de votre script
- Exemple:
- Compresser RAPIDEMENT en tar-gzip
#!/bin/bash # Créer rapidement une archive .tar.gz IFS=$'\n' for FILENAME in $CAJA_SCRIPT_SELECTED_FILE_PATHS; do if [ -d "$FILENAME" ]; then tar -c "$FILENAME" | pigz -c > "$FILENAME.tar.gz" fi if [ -f "$FILENAME" ]; then cat "$FILENAME" | pigz -c > "$FILENAME.gz" fi done
- Faire un backup de tout (
/
) en conservant les droits (vers mon disque dur externe en ext4 également):sudo rsync -av --owner --progress --delete --exclude-from='excludes-backup.txt' / /destination
- Fichiers/répertoires exclus du backup:
- excludes-backup.txt
/proc /sys /dev /media /mnt /cdrom /tmp /run /var/tmp /var/run /home/sebsauvage/.steam/steam/steamapps /home/sebsauvage/.local/share/Trash *.!qB
- Vérifier le système de fichiers:
sudo touch /forcefsck
et redémarrez.
-
- Monter normalement votre partition (avec le mot de passe), puis:
sudo umount /media/veracrypt1 sudo fsck /dev/mapper/veracrypt1
Passer en clavier en QWERTY juste le temps d'un jeu (remplacez monprogramme par le nom de votre jeu ; Ce script repasse en clavier français à la fin du jeu):
#!/bin/bash monprogramme & echo $! >/tmp/monprogramme.pid & /usr/bin/setxkbmap -layout us & pid=`cat /tmp/monprogramme.pid` & if wait $pid then /usr/bin/setxkbmap -layout fr else /usr/bin/setxkbmap -layout fr fi
- Quelques astuces pour les jeux, voir dans cette page.
-
- XNViewMP a une jolie interface graphique et possède des fonctions de manipulation et conversion en masse. (à télécharger du site et installer manuellement)
- En ligne de commande GraphickMagick est le roi (il est plus moderne et efficace qu'ImageMagick). (
sudo apt install graphicsmagick
; site officiel)
Réinitialiser le mot de passe: Si vous avez perdu votre mot de passe utilisateur ou root et que vous voulez le réinitialiser:
- En bootant sur la machine elle-même:
- Accédez au menu Grub (ESC ou ⇧ Maj au démarrage).
- Prenez le premier élément du menu, pressez E pour le modifier.
- Entrez votre login/mot de passe Grub (si Grub est protégé par mot de passe)
- Repérez la ligne contenant
ro quiet splash
et remplacez parro quiet splash rw init=/bin/bash
- Pressez F10 pour booter dessus.
- Vous accédez au login root.
- Changez votre mot de passe:
passwd monlogin
- En bootant sur un LiveCD ou clé USB:
- Démarrez sur le LiveCD/clé USB.
- Tapez
sudo fdisk -l
(ou lancezgparted
) pour repérer votre partition système (Pour l'exemple, ce sera /dev/sda1).sudo mkdir /media/sda1 sudo mount /dev/sda1 /media/sda1 sudo chroot /media/sda1 passwd monlogin exit
- Corollaire: Pour plus de sécurité, protégez toujours Grub et votre BIOS par mot de passe et configurez-le pour interdire de booter ailleurs que sur le disque dur interne.
-
- Cette astuce fonctionne de Windows XP jusqu'à Windows 10.
ATTENTION: Manipulation à ne PAS effectuer si vous utilisez le chiffrement de fichiers Windows, sinon vous risquez de perdre vos fichiers !
- Eteignez proprement Windows (pas de mode veille ou hibernation).
- Démarrez sur une clé USB Linux (par exemple Linux Mint).
- Montez la partition Windows, puis
cd "/media/mint/Windows 10/Windows/System32/" cp Utilman.exe Utilman.exe.original cp cmd.exe Utilman.exe
(selon les versions de Windows, c'est
sethc.exe
qu'il faut manipuler, pasUtilman.exe
). - Redémarrez sous Windows, attendez la fenêtre de login.
- Selon les versions de Windows:
- ou pressez 5 fois la touche ⇧ Maj gauche.
- ou pressez Win+U
- Oh pouf ! Regardez le joli terminal qui s'affiche. Maintenant vous pouvez taper:
net user
pour voir la liste des utilisateurs de la machine.net user toto /ADD
pour ajouter l'utilisateur toto.net user toto *
pour changer le mot de passe de toto (ou de n'importe quel autre utilisateur)net localgroup
pour lister les groups locaux.net localgroup Administrators /ADD toto
pour donner à l'utilisateur toto les droits admin.
-
sudo apt install numlockx
- Centre de contrôle > Fenêtre de connexion > Options, cocher Activer NumLock.
-
- En comptant les sous-dossiers mais sans les afficher:
du --max-depth=1 -h
- Et utilisez l'excellent
ncdu
!
Remplir l'espace vide par des zéros pour empêcher la récupération des fichiers (ou alléger une machine virtuelle):
- Installer:
sudo apt install secure-delete
- Nettoyer:
sfill -fllvz /lerépertoire
- Pour le swap:
sudo swapoff -a sudo sswap -fllvz /dev/sda5
- Note: Le système se réservant par sécurité une partie du disque, il n'y a pas de garantie que la totalité soit effacée.
- Autre option de nettoyage: le paquet zerofree. Notez que zerofree ne fonctionne que sur ext2/ext3/ext4 et qu'il ne travaille que sur des partitions démontées (sfill fonctionne sur une partition en cours d'utilisation).
- Savoir quelle est votre distribution Linux:
cat /etc/*-release
- Exemple pour Linux Mint 19:
DISTRIB_ID=LinuxMint DISTRIB_RELEASE=19 DISTRIB_CODENAME=tara DISTRIB_DESCRIPTION="Linux Mint 19 Tara" NAME="Linux Mint" VERSION="19 (Tara)" ID=linuxmint ID_LIKE=ubuntu PRETTY_NAME="Linux Mint 19" VERSION_ID="19" HOME_URL="https://www.linuxmint.com/" SUPPORT_URL="https://forums.ubuntu.com/" BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/" PRIVACY_POLICY_URL="https://www.linuxmint.com/" VERSION_CODENAME=tara UBUNTU_CODENAME=bionic
(On voit que c'est Linux Mint 19 basé sur Ubuntu Bionic Beaver, donc 18.04)
-
inxi
est fantastique.inxi -F
vous donnera une vue d'ensemble de votre système.-G
pour la carte graphique,-A
pour l'audio, etc. Faites unman inxi
pour voir toutes les options.- Certaines informations (comme les numéros de série) ne remonteront qu'en lançant inxi en sudo. Exemple: numéro de série de votre ordinateur:
sudo inxi -M
ou encore les barettes de RAM avec leur numéro de série:sudo inxi -m -xx
.
-
- Et spécifiquement pour la partie réseau:
sudo lshw -C network
-
- Installation:
sudo apt install sshfs
- Montage:
mkdir pointdemontage sshfs utilisateur@machine.com: pointdemontage
- Si vous voulez monter un répertoire distant précis:
sshfs utilisateur@machine.com:/repertoire/distant pointdemontage
- Si votre serveur ssh n'est pas sur un port standard:
sshfs utilisateur@machine.com: pointdemontage -p 33000
- Démontage:
fusermount -u pointdemontage
Mise à jour de fortune (citations):
fortune
est un programme qui affiche des citations. Mais il n'a que de vieilles citations (2004), et la majorité en anglais. Voici comment les mettre à jour:- Supprimez les citations existantes:
sudo rm -rf /usr/share/games/fortunes/*
- Récupérez le fichier citation-celebre.7z (2 Mo, md5 b0e056e0f78434c35659b9889061286f), décompressez-le. (Il contient plus de 80000 citations, de Confucius à Les Nulls.)
- Copiez ces 2 fichiers:
sudo cp citation-celebre.com* /usr/share/games/fortunes
- Testez:
fortune
- Pour afficher une citation quand vous ouvrez un nouveau shell, vous pouvez mettre
fortune
directement dans votre~/.bashrc
(ou si vous préférez:fortune | cowsay
) - Plus d'informations dans cette page.
Du mal à lire une clé USB, un disque externe ou une carte mémoire ? Elle est peut-être en exFAT (système de fichiers de Microsoft différent de FAT32, sans la limite des 4 Go par fichier).
- Faites:
sudo apt-get install exfat-fuse exfat-utils
-
- En recherchant les fichiers en double.
Installez fslint:Cette application n'existe plus, mais quelqu'un la ré-implémentée sous le nom de Czkawka.sudo apt install fslint
- Lancez l'application: Par défaut, c'est l'onget "Duplicate files" qui est sélectionné, avec votre répertoire perso.
- Cliquez sur le bouton Rechercher en bas à gauche: Cela va rechercher les fichiers en double dans votre répertoire perso.
- Il va vous afficher ceux qui prennent le plus de place en premier.
- Vous pouvez sélectionner manuellement les fichiers, ou utiliser le bouton Sélectionné > Dans les groupes > Tout saut le plus récent pour sélectionner directement les fichiers redondants. Vous pouvez ensuite les supprimer.
- Utilisez aussi l'onglet "Fichiers temporaires".
- En recherchant les fichiers volumineux:
- Installez gdmap:
sudo apt install gdmap
et lancez-le. - Il permet de repérer visuellement les fichiers les plus volumineux: À l'écran, chaque rectangle représente un fichier. Plus le rectangle est grand, plus le fichier est gros. (screenshots)
- Dans le même genre: qdirstat.
- Vous pouvez aussi utiliser (en terminal) l'excellent
ncdu
.
- En recherchant les répertoires volumineux:
- Avec mate-disk-usage-analyzer (fourni avec Linux Mint sous le nom de "Analyseur d'utilisation des disques").
- Cliquez sur le bouton Analyser le dossier personnel
- Les répertoires les plus volumineux sont affichés en premier. Vous pouvez les développer.
- Jetez un coup d'oeil dans les répertoires suivants: Il y a peut-être des restes de fichiers de configuration de logiciels que vous avez dé-installés:
~/.local/share/
~/.config/
- Je ne suis pas fan du logiciel BleachBit. Faites très attention à ce que vous faites dans ce logiciel.
-
- Affichage en temps réel des processus consommant de l'I/O disque:
sudo iotop
- Liste des processus qui font des des I/O:
sudo iotop -b -o | grep \%
- Sans le grep, notez la différence entre 'Total disk write' et 'Actual disk write': Total correspond aux demandes d'écriture effectuées par les applications (qui atterrissent alors dans le cache), et le 'Actual' qui correspond aux écritures réelles sur disque (cache vers disque).
- En cas de gros blocage, pour voir les processus en sont en attente des I/O:
sudo watch -n 1 "(ps aux | awk '\$8 ~ /D/ { print \$0 }')"
- Si vous faites:
watch "egrep '(Dirty|^Cached:)' /proc/meminfo"
vous pouvez voir en temps reél:
- Cached : La quantité de mémoire vive utilisée pour le cache disque (pris dans l'espace mémoire libre, celui non utilisé par les applications).
- Dirty : La quantité de données en cache en attente d'être écrite sur disque (Cela peut être utile quand vous copiez des fichiers sur clé USB pour voir où il en est).
- Installer le logiciel Captvty sous Linux ? C'est possible !
Convertir un dossier de *.flac (et ses sous-répertoires) en mp3:
find -name "*.flac" -exec ffmpeg -i {} -acodec libmp3lame -ab 128k {}.mp3 \;
- Il y a plein d'autres astuces pour ffmpeg dans cette page.
- Changer la luminosité au clavier:
- Installez XBackLight:
sudo apt install xbacklight
- Ajoutez les raccourcis clavier:
- Ctrl ⇧ Maj + : lancer la commande:
xbacklight -inc 10
- Ctrl ⇧ Maj - : lancer la commande:
xbacklight -dec 10
- Avoir de superbes fonds d'écran ? Prendre le logiciel Variety qui peut aller chercher des images chez Unsplash.:
sudo apt install variety
ou installer à la main les paquets "variety-slideshow" et "variety" (Site officiel, Paquets sur Launchpad).
- BackInTime est une bonne solution pour faire des backups automatisés des fichiers utilisateurs. Il possède une interface graphique qui permet aux utilisateur de récupérer facilement les anciennes versions des fichiers. (
sudo apt install backintime-gnome
).
-
- À la place d'utiliser une partition de swap, on peut utiliser un fichier de swap. L'avantage est qu'on peut changer sa taille facilement sans avoir à retailler les partitions.
- Désactiver le swap actuel:
sudo swapoff -a
- Créer un fichier de swap de 2 Go:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2000000
- Mettre les droits:
sudo chmod 0600 /swapfile
- S'assurer qu'il n'est pas fragmenté:
sudo e4defrag -v /swapfile
- Préparer le swap:
sudo mkswap /swapfile
- Activer le swap:
sudo swapon /swapfile
- Mettre dans
/etc/fstab
:/swapfile none swap sw 0 0
- Note:
- Si vous voulez supprimer votre partition de swap:
- Pensez à commenter la ligne dans votre /etc/fstab.
- Vous pouvez booter sur clé USB pour supprimer la partition avec gparted.
- Pensez à retirer la partition du système d'hibernation pour éviter des attentes inutiles au boot:
- Si vous voyez
Gave up waiting for suspend/resume device
dans/var/log/boot.log
alors modifiez le fichier/etc/initramfs-tools/conf.d/resume
(créez ce fichier s'il n'existe pas):- Là où il y a
RESUME=UUID=388a79ac-27b7-42f5-ac13-…
remplacez parRESUME=none
- puis faites:
sudo update-initramfs -u
-
- Désactiver:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target sudo systemctl restart systemd-logind.service
- Réactiver:
sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
- Et pour empêcher l'hibernation quand l'écran est rabattu, dans le fichier
/etc/systemd/logind.conf
, décommenter les deux lignes suivantes:HandleLidSwitch=lock HandleLidSwitchDocked=lock
-
sudo apt install tlp
- tlp va changer des réglages système quand vous passez de secteur à batterie (et inversement). Les réglages par défaut sont excellents.
man tlp
ou voir le fichier/etc/default/tlp
pour changer les réglages.- Si vous utilisez tlp, powertop n'est plus utile.
-
- Kazam marche très bien, même pour capturer un jeu vidéo en plein écran.
sudo apt install kazam
- Capture de tout ou partie de l'écran au format MP4(h264)/WebM(VP8)/AVI, avec ou sans le son (source: sortie audio et/ou micro).
-
- Voir qui est logué:
w
- Désactiver temporairement un utilisateur:
sudo vipw
et mettre un#
devant son login. - Déloguer de force un utilisateur:
sudo pkill -u utilisateur mate-session
(mate-session ou le processus visible quand vous faitesw
).
-
- Dans l'explorateur de fichier de certaines distributions, pour pouvez faire un clic-droit sur un fichier .img pour le monter, mais il sera monté en lecture seule. Pour le monter en lecture/écriture:
- Un fichier img peut contenir plusieurs partitions. Pour connaître les partitions faites:
fdisk -l fichier.img
. Par exemple pour RecalBox:>fdisk -l recalbox.img Disque recalbox.img : 2,4 GiB, 2579489280 octets, 5038065 secteurs Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : dos Identifiant de disque : 0x00000000 Périphérique Amorçage Début Fin Secteurs Taille Id Type recalbox.img1 1263 132334 131072 64M c W95 FAT32 (LBA) recalbox.img2 132335 5038064 4905730 2,3G 83 Linux
- On voit qu'il y a 2 partition. La partition Linux commence à 132335. Le blocksize est de 512. La partition commence donc à 132335*512=67755520. On peut la monter en indiquant l'offset:
mkdir temp sudo mount -o loop,offset=67755520 recalbox.img temp/
- Si vous avez un disque *.img (par exemple une image destinée à cette saloperie d'Etcher) et que vous voulez l'utiliser directement dans VirtualBox, vous pouvez (après l'avoir décompressée avec
unxz --keep image.img.xz
) le convertir en *.vdi:VBoxManage convertdd image.img image.vdi
Monter un disque .vdi dans votre système : Il est possible de monter dans votre système un disque VirtualBox (*.vdi):
- Installer les outils:
sudo apt install qemu-kvm qemu-utils
- Activer le module:
sudo modprobe nbd
- Monter le device:
sudo qemu-nbd -c /dev/nbd0 disk.vdi
- Vous pouvez voir les partitions du disque (/dev/nbd0p1, /dev/nbd0p2…):
>sudo fdisk -l /dev/nbd0 [...] Périphérique Amorçage Début Fin Secteurs Taille Id Type /dev/nbd0p1 1263 132334 131072 64M c W95 FAT32 (LBA) /dev/nbd0p2 132335 4326782 4194448 2G 83 Linux
- Vous pouvez monter une partition:
mkdir part sudo mount /dev/nbd0p2 part/
- Quand vous avez terminé:
sudo umount /dev/nbd0p2 qemu-nbd -d /dev/nbd0
Faire des images de partitions ou de disque (pour garder une copie d'une partition ou d'un disque complet: disque dur, clé USB, carte MicroSD…)
- Si votre disque est /dev/sda, les partitions seront /dev/sda1, /dev/sda2, etc. Pour voir les partitions:
sudo fdisk -l
ouinxi -Po
- Avec dd: Vous pouvez sauvegarder partitions ou disques complets.
dd
copie "bêtement" tous les octets (y compris les secteurs où il n'y a pas de fichiers).pigz
compresse commegzip
mais plus rapidement.pv
permet de voir la progression.- Sauvegarder une partition ou un disque (en compressant):
sudo dd if=/dev/sda2 | pv | pigz > image.dd.gz
- (mettre /dev/sda pour sauvegarder TOUTES les partitions, y compris le MBR).
- Restaurer:
zcat image.dd.gz | pv | sudo dd of=/dev/sda2
- Avec partclone: Vous pouvez sauvegarder des partitions.
partclone
est un peu plus intelligent quedd
: Il "comprend" le système de fichier et n'ira pas sauvegarder les secteurs vides. Il sera donc a priori plus rapide que dd, et générera des images plus compactes.sudo apt install partclone
pour installer.- Vous devez utiliser le partclone correspondant au système de fichier de la partition que vous voulez sauvegarder (ext4 –> partclone.ext4).
- Voir
man partclone
ouapropos partclone
. - Pour FAT (fat12/fat16/fat32), ne vous embêtez pas: Prenez
partclone.vfat
. Par contre pour exfat, il faut prendre partclone.exfat.
- Sauvegarder une partition ext4 (en compressant):
sudo partclone.ext4 -c -d -s /dev/sda2 | pigz > image.partclone.gz
- Restaurer:
zcat image.partclone.gz | sudo partclone.restore -d -o /dev/sda2
- Voir les informations d'une image partclone:
zcat image.partclone.gz | sudo partclone.info -s -
- Vérifier une image partclone:
zcat image.partclone.gz | sudo partclone.chkimg -s -
- Conseil: Nommez le fichier pour vous y retrouver. Moi j'utilise NomDevice.Utilisation.partclone.TypeDeSystèmeDeFichier.gz. Exemple: sda2.HOME.partclone.ext4.gz. Je sais ainsi que c'est l'image partclone de ma partition sda2 en ext4, utilisée pour /home.
- N'utilisez plus
partimage
. Il n'est pas compatible ext4. - Si vous avez sauvegardé les partitions individuellement, vous voudrez peut-être aussi sauvegarder le MBR (qui contient le logiciel amorce et la table de partitions):
- Sauvegarder:
sudo dd if=/dev/sda of=mbr.bin bs=512 count=1
- Restaurer:
sudo dd if=mbr.bin of=/dev/sda
- Astuce: Pour sauvegarder sur un disque FAT32 (dont la taille limite de fichier est 4 Go), on peut découper par fichiers de 4 Go:
- Sauvegarde:
partclone.ext4 -c -d -s /dev/sda2 | pigz | split -d -b 4000M - image.partclone.gz.
Cela va créer des fichiers
image.partclone.gz.00
,image.partclone.gz.01
, etc. - Pour restaurer:
cat image.partclone.gz.* | pigz -d | sudo partclone.restore -d -o /dev/sda2
-
dd
etpartclone
ne peuvent travailler que sur des partitions démontées.fsarchiver
peut travailler sur des fs montés, et (tout comme partimage) il garde tous les fichiers avec leurs attributs. Voici les différences:- Tout comme partimage, il garde tous les attributs des fichiers, mais il travaille au niveau fichiers, ce qui lui permet de restaurer les fichiers vers une partition d'un type différent (alors que, par exemple, partimage ne peut restaurer une sauvegarde ext4 que dans un partition ext4).
- Il est beaucoup plus rapide.
- La compression est intégrée (compression zstd très rapide)
- Les archives ainsi créées peuvent être transférées vers des disque plus gros ou plus petits.
- Si une archive fsarchiver est corrompue, vous ne perdez que les fichiers endommagés de l'archive, pas toute l'archive.
- De par sa vitesse, fsarchiver est un excellent choix pour faire un backup préventif sur un disque externe avant une réinstallation du système, par exemple.
- Exemple:
- Sauvegarder un répertoire:
sudo fsarchiver savedir -v --zstd=3 archive.fsa /monRépertoireÀSauvegarder/
- Restaurer :
sudo fsarchiver restdir -v archive.fsa destination/
- Vous pouvez changer la valeur de
--zstd
pour varier la compression (1=la plus rapide, jusqu'à 22, mais consomme beaucoup de mémoire et de CPU. 7 est déjà pas mal.) - Ajoutez
--jobs=4
pour utiliser 4 coeurs de votre CPU (par défaut fsarchiver n'utilise qu'un seul coeur). Cela va accelérer l'archivage (et le désarchivage).
Besoin de voir si votre joystick ou manette fonctionne bien ? Utilisez jstest-gtk (
sudo apt install jstest-gtk
)- PS: Même si jstest fonctionne, il se base sur
/dev/input/jsX
qui sont en principe obsolètes. Vous pouvez passer à evtest qui se base sur/dev/input/eventXX
. La version graphique, evtest-qt n'est sans doute pas dispo pour votre distribution. Vous devrez la compiler ou prendre les packages sur Launchpad.
- Faire un backup de votre smartphone Android par ssh+rsync:
- À partir du moment où votre smartphone et votre ordinateur sont sur le même réseau local, rsync est très efficace pour synchroniser des répertoires. Heureusement pour nous, il existe sous Android des serveurs ssh incluant un serveur rsync, comme SSHelper.
- Voici un exemple de script de sauvegarde (avec dans l'exemple: Login automatique par mot de passe, utilisation d'un port ssh non standard et liste de types de fichiers et répertoires à exclure):
- backup-smartphone.sh
#!/bin/bash # Backup de la mémoire interne du téléphone: sshpass -p 'motdepasse' rsync -av --no-p -zz --progress --delete login@192.168.0.3:/sdcard/ -e "ssh -p 2222" ~/backup-smartphone/internal/ # Backup de la carte MicroSD sshpass -p 'motdepasse' rsync -av --no-p -zz --progress --delete login@192.168.0.3:/storage/0000-0000/ -e "ssh -p 2222" --exclude={'.android_secure','*.obf','*.mwm',Music,Android/data/com.earthflare.android.radioparadisewidget.gpv2/cache/} ~/backup-smartphone/sdcard/
- Il est assez facile de partager une connexion Ethernet en WiFi ou se créé un hotspot WiFi (par exemple juste entre votre smartphone et votre ordinateur).
- Vous êtes chez FreeMobile ? Voici comment envoyer automatiquement (et gratuitement) des SMS lors de certains événements dans les logs.
- Backup ? BorgBackup est un logiciel de backup remarquablement efficace. Je l'utilise dans ma procédure de backup personnelle.
- Je n'ai pas encore pris le temps de mettre le nez dedans, mais zsh a vraiment l'air d'être une tuerie ! (pour remplacer bash).
- Autre alternative à explorer: Fish
flock permet de vous assurer qu'un programme n'est pas lancé plusieurs fois en même temps, ou que deux tâches ne sont pas lancées simultanément.
- Exemple: Si vous lancez séparément ces deux commandes (par exemple dans des terminaux différents), flock s'assurera qu'elles ne sont pas exécutées simultanément:
flock /tmp/abcd555 -c "sleep 30" flock /tmp/abcd555 -c "echo coucou"
Lancer une application graphique en tant qu'un autre utilisateur ?
> xhost + > su autrecompte > gimp
- Penser à faire
xhost -
pour refermer les droits de connexion au serveur X.
-
- Malheureusement, la qualité d'un JPEG n'est pas une donnée obligatoire dans un JPEG. L'information n'est donc généralement pas fournie dans les informations image (EXIF). Cependant, si vous avez ImageMagick installé, vous pouvez lui demander d'estimer la qualité à partir des données de l'image elle-même:
identify -verbose votreimage.jpg | grep Quality
-
pdftocairo -png fichier.pdf
- Pour sortir dans un autre format:
-jpeg
,-tiff
… - Par défaut la résolution en sortie est 150dpi. Vous pouvez la changer avec
-r
, par exemplepdftocairo -r 600 -tiff fichier.pdf
-
img2pdf *.jp* --output fichier.pdf
-
pdfunite fichier1.pdf fichier2.pdf fichier3.pdf sortie.pdf
-
- (Cela ne convertit pas les pages en images comme avec pdftocairo, mais au contraire extrait les images utilisées dans le PDF).
pdfimages -all fichier.pdf images
- Cela va créer des fichiers
images-000
,images-001
, etc. contenant toutes les images du pdf.
-
ccze
sait coloriser divers logs pour les rendre plus lisibles. Essayez :cat /var/log/syslog | ccze -A | less -R
- ccze supporte syslog, vsftpd, php… tapez
ccze -l
pour voir les types de logs supportés.
- Compter combien vous avez d'ebook dans votre liseuse:
find . | egrep "\.(cbz|cbr|pdf|epub)$" | wc -l
yt-dlp (successeur de youtube-dl, pour télécharger des vidéos de centaines de sites web):
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp
- Liste les extracteurs (sites) supportés:
yt-dlp --list-extractors
- Télécharger une vidéo:
yt-dlp https://youtube.com/watch?v=dQw4w9WgXcQ
- Voir dans quels formats est disponible une vidéo:
yt-dlp -F https://youtube.com/watch?v=dQw4w9WgXcQ
- Regardez la colonne ID et téléchargez le format qui vous intéresse avec:
yt-dlp -f ID https://youtube.com/watch?v=dQw4w9WgXcQ
- Pour le mettre à jour, faire de temps en temps:
sudo yt-dlp -U
- Récupérer l'audio d'une vidéo YouTube en mp3:
youtube-dl --extract-audio --audio-format mp3 https://www.youtube.com/watch?v=dQw4w9WgXcQ
- Télécharger de préférence une vidéo en mp4:
yt-dlp -S ext:mp4:m4a https://www.youtube.com/watch?v=dQw4w9WgXcQ
Si au démarrage vous préférez voir les logs de démarrage plutôt que le logo animé, modifiez le fichier
/etc/default/grub
:- Changez la ligne
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
- en:
GRUB_CMDLINE_LINUX_DEFAULT=""
- puis faites:
sudo update-grub
-
sudo nethogs
-
- Installation:
sudo apt install iptraf-ng
- Utilisation:
sudo iptraf-ng
- Sélectionnez LAN Station Monitor : Vous verrez alors le traffic réseau (ce sont les adresses MAC qui sont affichées).
Couper automatiquement les applications de P2P si vous coupez votre VPN ou qu'il tombe:
- surveillance-vpn.sh
#!/bin/bash echo "Surveillance du VPN." while true do CHECKDATA=`ifconfig` if [[ $CHECKDATA == *'tun0:'* ]] ; then echo "`date` : VPN ok. Attente 1 seconde." else echo "`date` : Le VPN est désactivé. Terminaison des logiciels de P2P." killall --signal SIGKILL --wait qbittorrent transmission-gtk amule echo "Pressez ENTREE" read exit 1 fi sleep 1s done
-
- ou plus rapide avec
arp-scan
(sudo apt install arp-scan
):sudo arp-scan 192.168.0.0/24
- ou lister rapidement les machines du LAN:
arp -an
-
- Le format mp4 est généralement une meilleure solution que le format GIF animé (voir cette page), mais si vous tenez absolument au format GIF, on peut les optimiser:
- Vous pouvez réduire sa taille avec ImageMagick:
convert -limit memory 1 -limit map 1 -fuzz 5% -layers Optimize input.gif output.gif
- ou avec gifsicle (attention, nécessite gifscicle 1.92 ou supérieur ; les dépôts n'ont souvent que la 1.91):
gifsicle -O3 --lossy=80 -o output.gif input.gif
- Selon la nature des images, l'un ou l'autre sera plus efficace.
- Notez que ces deux méthodes réduisent un peu la qualité d'image.
- Avec gifsicle, vous pouvez monter la valeur du paramètre
--lossy
(par exemple--lossy=200
ou--lossy=800
) : Cela compressera encore mieux, au détriment de la qualité d'image.
-
- Installez:
sudo apt install snoopy
- Et pouf, vous n'avez plus qu'à regarder dans
/var/log/auth.log
. Exemple de sortie:Jul 16 10:33:22 mycomputer snoopy[11483]: [login:sebsauvage ssh:((undefined)) sid:12137 tty:/dev/pts/3 (1005/sebsauvage) uid:sebsauvage(1005)/sebsauvage(1005) cwd:/home/sebsauvage]: nmap -sP 192.168.0.1-255
- Exemple de script de filtrage:
#!/bin/bash reg_snoopy="(.+?) (.+?) (.+?) (.+?) snoopy.+?login:([a-z]+)\s.+?cwd.+?\]: (.*)" tail -fn0 /var/log/auth.log | \ while read line ; do if [[ $line =~ $reg_snoopy ]] ; then echo "Date: ${BASH_REMATCH[1]} ${BASH_REMATCH[2]} ${BASH_REMATCH[3]}, utilisateur: ${BASH_REMATCH[5]}, commande: ${BASH_REMATCH[6]}" fi done
- Date de dernière connexion de chaque utilisateur:
lslogins -u
- Liste des connexions et déconnexions utilisateur, et temps de connexion:
last
-
lftp ftp://login:password@votreserveurftp.com -e "mirror -e -c -R --ignore-time --verbose=1 /répertoirelocal /répertoiredistant/ ; quit"
- -e supprimera les fichiers distants s'ils ont été supprimés en local.
- -c essaiera de faire de son mieux pour reprendre en cas d'interruption.
- -R sert à synchroniser local vers distant (sans -R, c'est distant vers local)
- --ignore-time ne tranfèrera les fichiers que si la taille est différente. Vous pouvez retirer cette option pour transférer les fichiers dont la date a changé localement.
- --verbose=1 affichera les opérations effectuées (fichiers supprimés, transférés…)
- Si vous voulez limiter lftp pour les serveurs FTP qui n'aiment pas trop les multiples connexions simultanées, dans
~/.lftp/rc
, mettez:set cmd:parallel 1 set net:connection-limit 1 set xfer:parallel 1 set ftp:sync-mode true
- rclone sait aussi synchroniser par ftp, mais aussi par sftp/ssh/smb/webdav/etc.
Accéder au contenu de votre téléphone par USB (MTP) : La plupart des téléphones actuels permettent l'accès aux fichiers par MTP. C'est horriblement lent, mais on a pas trop le choix. Si certains explorateurs de fichiers (Gnome) sont capable d'accéder aux fichiers (par exemple avec gvfs), ce n'est pas accessible du système de fichier. Pour monter réellement les répertoires dans votre système de fichiers:
- D'abord installer le paquet qui va bien:
sudo apt install jmtpfs
- Ajoutez-vous dans le goupe "plugdev" et "fuse":
sudo usermod -a -G plugdev monlogin sudo usermod -a -G fuse monlogin
- Ensuite "éjecter" le périphérique de l'explorateur de fichiers, puis créer un répertoire, et enfin monter votre téléphone dans ce répertoire:
sudo jmtpfs -o allow_other répertoire
- Pour démonter:
sudo umount répertoire
- Alternativement, vous pouvez essayer mtpfs et mtp-tools.
- Voir tous les mots de passe stockés dans le trousseau de clés Gnome (mots de passe de partages, Wifi, Vpn…):
sudo apt install seahorse
et lancez-le.
-
Section à compléter
- Voir la liste des pack installés:
flatpak list
- Retirer les packs inutilisés:
flatpak uninstall --unused
-
Section à compléter
- Retirer les snaps inutilisés:
- créer le script suivant (source):
- remove-old-snaps
#!/bin/bash # Removes old revisions of snaps # CLOSE ALL SNAPS BEFORE RUNNING THIS set -eu LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do snap remove "$snapname" --revision="$revision" done
- rendre le script exécutable
chmod +x remove-old-snaps
- lancer:
sudo ./remove-old-snaps
S'installer rapidement un serveur web avec apache:
sudo apt install apache2 php7.2 libapache2-mod-php7.2
- Le répertoire du serveur web est
/var/www/html/
.
Pour NextCloud, pour tester en local, pas pour une prod, ajoutez:
sudo apt install php7.2-zip php7.2-xml php7.2-gd php7.2-curl php7.2-mbstring php7.2-sqlite3 php7.2-imagick php7.2-intl sudo phpenmod intl sudo a2enmod rewrite sudo service apache2 restart
- Dans
/etc/apache2/apache2.conf
, dans la section<Directory /var/www/>
, remplacezAllowOverride None
parAllowOverride All
. - Dans le répertoire racine de votre serveur web, créez un fichier
.htaccess
contenant:php_value memory_limit 2048M
- Des soucis pour installer, configuer ou utiliser Wine ? Voir cette page.
-
- par2 permet de réparer des fichiers. (Version courte de l'explication: Imaginez que vous ayez 10 Go de fichiers. Si vous préparez à l'avance 1 Go de fichiers par2, vous pourrez réparer/reconstituer (au plus) 1 Go de données endommagées ou perdues dans ces 10 Go, quel que soit l'endroit où les données sont endommagées dans ces 10 Go).
- Créer des fichiers par2 sur un groupe de fichiers, avec 10% de redondance (Donc 10 Go de données créera 1 Go de fichiers par2):
par2 c -r10 protection *
- Cela va créer le fichier protection.par2, ainsi que des fichiers protection.volxxx+xx.par2.
- Le fichier protection.par2 seul est utile pour vérifier l'intégrité de vos fichiers.
- Les fichiers protection.volxxx+xx.par2 servent à réparer les données. Un fichier .par2 de 2,3 Mo permettra de réparer jusqu'à 2,3 Mo de données perdues/endommagées.
- Ajoutez l'option
-R
si vous voulez aussi prendre en compte les sous-répertoires.
- Vérifier des fichiers:
par2 v protection.par2
- Message affiché à la fin:
- All files are correct, repair is not required. : Tout va bien, vos données sont saines.
- Repair is required. / Repair is possible. : Vos fichiers sont endommagés, mais vous pouvez les réparer. Passez à l'étape suivante.
- Repair is required. / Repair is not possible. : Vos fichiers sont endommagés, mais mauvaise nouvelle, ce n'est pas réparable (vous n'avez pas assez de blocs de réparation pour tout réparer.)
- Réparer les fichiers:
par2 r protection.par2
- Et attendez (cela peut être assez long).
- Si vous voyez Repair complete., c'est tout bon. Vos données sont réparées.
-
- Allez dans le menu Affichage > Interface utilisateur > Onglets
-
- Par exemple vous lancez un programme qui se plaint qui lui manque un fichier:
error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
- Comment savoir dans quel paquet aller chercher ce fichier ? Commencez par installer
apt-file
:sudo apt install apt-file
sudo apt-file update
- Ensuite cherchez votre fichier
>apt-file search libcrypto.so.1.0.0 google-earth-pro-stable: /opt/google/earth/pro/libcrypto.so.1.0.0 libssl1.0.0: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
- Voilà, vous savez qu'il ne vous reste plus qu'à installer le paquet manquant:
sudo apt install libssl1.0.0
La clé USB live d'Ubuntu Mate 20.04 a la sale manie de vérifier tout le média avant de booter. Pour éviter ça, dans le fichier
/boot/grub/grub.cfg
, ajouter l'optionfsck.mode=skip
.- Et pour avoir le clavier français, ajouter
locales=fr_FR.UTF-8 keyboard-layouts=fr
-
- Pour lister les périphériques:
xinput list
- Pour désactiver le clavier:
xinput disable "AT Translated Set 2 keyboard"
- Pour réactiver le clavier:
xinput enable "AT Translated Set 2 keyboard"
-
- Installer:
sudo apt install usbtop
- Activer le module de capture:
sudo modprobe usbmon
- Afficher les débits:
sudo usbtop
-
- avec diff :
diff -qr /répertoire1 /répertoire2
-q
pour n'afficher que les différences.-r
pour traiter les sous-répertoires.
- avec rsync: On fait comme si on démarrait une synchro, mais en mode "test seul" (donc sans rien faire):
rsync -rvnc --delete /répertoire1 /répertoire2
-r
: traiter les sous-répertoires.-v
: verbose (affiche le détail)-n
: ne touche pas aux fichiers-c
: compare le contenu des fichiers (checksum) au lieu de juste date/heure/taille.--delete
: Rassurez-vous, il ne va rien effacer (car on a utilisé-n
), mais cela permet d'afficher les fichiers présents dans la destination mais pas dans la source.
- L'avantage de rsync sur diff est qu'on peut le suivre avec un
sudo progress -M
. - Ou avec une interface graphique avec meld (
sudo apt install meld
).
- Besoin de travailler temporairement sur des fichiers que vous allez jeter après ? Ne les enregistrez pas dans votre répertoire perso, mais dans
/dev/shm
. Ce répertoire réside en mémoire, et ne sera jamais écrit sur disque. Le contenu sera automatiquement effacé au prochain redémarrage.
Malheureusement, des développeurs de Gnome on cru bon de ré-implémenter l'équivalent du service d'indexation des fichiers de Windows. Ça bouffe du CPU, de l'I/O disque et aussi de l'espace disque (
~/.cache/tracker/
). Voici comment le désactiver (à faire pour chaque utilisateur):systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service tracker reset --hard
Le répertoire
~/.cache
peut grossir. Beaucoup. On peut sans problème l'effacer (les applications vont re-créer ce dont elles ont besoin) mais si vous n'êtes pas à l'aise avec ça, on peut supprimer juste tous les fichiers qui ont plus d'un an. Cela devrait déjà vous faire gagner de la place:- Voir ce qui va être supprimé:
find ~/.cache/ -depth -type f -mtime +365
- Ou les supprimer directement:
find ~/.cache/ -type f -mtime +365 -delete
- Attention: Si vous utilisez
borg
, en effaçant sont cache vous risquez de rallonger la durée de votre prochain backup car borg n'aura plus en cache le status des fichiers (il va devoir reconstruire son cache).
-
- alternativement, vous pouvez aussi faire:
cat /sys/class/power_supply/BAT*/status
Si vous aviez proprement installé Timeshift pour faire des sauvegardes de votre système et que votre système de démarre plus, redémarrez l'ordinateur en laissant la touche MAJ enfoncée pour afficher le menu de Grub, choisissez le mode "recovery", puis dans le menu qui s'affiche la console "root" et tapez
timeshift --restore
: Il vous proposera l'un de vos backup timeshift précédents. Suivez les instructions. (↵ Entrée validera automatiquement tous les choix par défaut, sauf le dernier où il faudra répondrey
pour confirmer la restauration.) Timeshift est même capable de restaurer grub. Pratique quand le système ne démarre plus parcequ'on a bidouillé le système ou suite à une mauvaise mise à jour.
Changer l'UUID d'une partition (utile si par exemple vous copiez des partitions d'un disque à l'autre avec dd. Chaque partition doit avoir un UUID différent.)
- D'abord, générer un nouvel UUID:
cat /proc/sys/kernel/random/uuid
- Changer l'UUID du disque:
sudo tune2fs /dev/sdb1 -U 5ace2c0b-fc93-4481-a983-d1ed9fa2e523
ou
sudo tune2fs /dev/sdb1 -U random
- Vérifier:
sudo blkid /dev/sdb1
- Note: tune2fs est spécifique aux systèmes de fichiers ext2/ext3/ext4. Les autres types de partition ont besoin d'outils spécifiques.
-
- Voir les snaps installés:
snap list
- Retirer un snap (par exemple celui de Blender):
snap remove blender
- Supprimez chacun des snaps un par un avec la commande précédente.
- Notez que
core18
doit être supprimé en avant-dernier, etsnapd
en dernier. - Une fois que
snap list
ne renvoie plus rien, faire:sudo apt purge snapd # Retirer le service et ses fichiers de config sudo apt autoremove # supprimer les paquets liés désormais inutiles rm -rf ~/snap # supprimer le répertoire snap dans votre dossier perso.
Si dans l'éditeur de texte Geany vous avez (avec certaines polices et tailles de caractères) les underscores (_) qui disparaissent, allez dans le menu Tools > Configuration Files > filetypes.common et dans la section
[styling]
mettezline_height=1;1;
. (source)
- Vous avez un Raspberry Pi ? cette page pourra vous être utile (Raspbian, Ubuntu, DietPi)
- D'autres astuces ? Voir cette page.
Vous avez des soucis pour faire reconnaître votre imprimante sous Ubuntu/Linux Mint ? Il faut savoir que par défaut tous les pilotes ne sont pas installés. Jetez un coup d'oeil dans les paquets
printer-driver-*
. Par exemple, installez le paquetprinter-driver-escpr
pour les imprimantes Epson (qui n'est pas installé par défaut).
-
- Télécharger la release la plus récente (Source code .tar.gz) sur https://github.com/jbruchon/jdupes/releases et décompresser
- Dans le répertoire, lancer:
make CFLAGS_EXTRA=-DENABLE_DEDUPE
(ce flag active la compilation avec l'option déduplication, utile pour l'option-B
avec btrfs). - Et utiliser l'exécutable produit (
./jdupes
). - Cela permet d'éliminer le bug "Not enough memory" quand il y a plus de 128 fichiers similaires.
L'astuce du fichier vide: Quand un disque est plein, ce n'est pas bon. Vraiment pas bon. Quand on en arrive là, les logiciels se mettent à très mal se comporter, et il est peu tard pour faire de la place. Même compresser des fichiers temporairement est impossible, puisque vous n'avez plus d'espace disque. Oups. Certains admninistrateurs ont une astuce: Créer un fichier vide de 8 Go. Si par malheur un disque est plein, il suffit de supprimer ce fichier de 8 Go pour avoir assez d'espace pour réparer les choses et rétablir la situation. (source). Pour créer ce genre de fichier, faire:
sudo fallocate -l 8G /spacer.bin
-
- Voir un graphe complet des unités chargées au démarrage, leur temps d'initialisation et leurs dépendances:
systemd-analyze plot > boot.svg
et ouvrez le fichier .svg
- Voir le temps de démarrage de chaque unité:
systemd-analyze blame
- Mais certaines unités dépendent les unes des autres. Par exemple une base de données ne sera lancée que quand le réseau sera disponible, donc:
- Avec critical-chain, vous pouvez voir la chaîne de démarrage la plus longue avec les dépendances.
- Si vous êtes sur une machine de bureau, graphical.target correspond au démarrage de l'environnement graphique.
- Prenons un exemple:
>systemd-analyze critical-chain The time when unit became active or started is printed after the "@" character. The time the unit took to start is printed after the "+" character. graphical.target @3.727s └─multi-user.target @3.727s └─postgresql.service @3.724s +1ms └─postgresql@12-main.service @1.077s +2.646s └─network.target @1.058s └─NetworkManager.service @866ms +192ms └─dbus.service @862ms └─basic.target @852ms └─sockets.target @852ms └─uuidd.socket @852ms └─sysinit.target @837ms └─systemd-timesyncd.service @772ms +65ms └─systemd-tmpfiles-setup.service @744ms +24ms └─local-fs.target @739ms └─run-user-1002.mount @1.387s └─swap.target @654ms └─dev-zram7.swap @1.294s └─dev-zram7.device @1.293s +494ms
- Ici:
- L'interface graphique (
graphical.target
) a démarré en 3.727s (on voit le@3.727s
). - Dans la chaîne de dépendance, si on prend par exemple la base de données Postegres (
postgresql@12-main.service
), on voit:- Qu'elle a mis 2.646s à démarrer (
+2.646s
) et elle a été lancée 1.077s après le démarrage du système (@1.077s
)
-
- Si vous êtes sous Gnome ou dérivés (Mate, Cinnamon…), faites:
dconf reset -f /org/gnome/
(cela va réinitialiser les réglages du bureau stockés dans~/.config/dconf/user
) - Retirez également éventuellement quelques applications lancées au démarrage de la session graphique qui pourraient entrer en conflit (Applications au démarrage).
- Vous devrez sans doute aussi réinitialiser votre barre des tâches (Clic-droit > Réinitialiser tous les tableaux de bord).
- Les fenêtres ont un drôle de look ? Pensez à choisir un thème (celui que vous utilisiez n'existe peut-être plus).
Le comportement par défaut de la plupart des distributions est de mettre l'ordinateur en "suspend" quand l'écran est rabattu. Du coup si vous démarrez ou redémarrez votre PC alors que l'écran est rabattu, il ne sera pas actif (pas de réseau, etc.). Pour changer ce comportement, modifiez le fichier
/etc/systemd/logind.conf
et ajoutez les lignes:HandleLidSwitch=lock HandleLidSwitchExternalPower=lock
Allonger l'autonomie de votre PC en "gelant" les applications en arrière-plan: En plus de tlp (voir plus haut dans cette page), vous pouvez ajouter XSuspender. Ce logiciel permet de "geler" les applications qui ne sont pas en avant-plan (elles restent en mémoire mais ne consomment alors plus de CPU, donc plus de batterie):
- Site officiel : https://kernc.github.io/xsuspender/
- Télécharger et installer : https://github.com/kernc/xsuspender/#installation (Il y a des .deb pour Debian/Ubuntu/Mint)
- Configurez votre session graphique pour lancer XSuspender à chaque ouverture de session.
- Créer le fichier de configuration : ~/.config/xsuspender.conf
- Il y a un fichier d'exemple de configuration que vous pouvez récupérer:
cp /usr/share/doc/xsuspender/examples/xsuspender.conf ~/.config/xsuspender.conf
- Modifiez ce fichier
~/.config/xsuspender.conf
pour geler les applications de votre choix. - Personnellement, j'active le "gel" même quand je suis sur secteur:
only_on_battery = false
- Exemples:
- Exemple 1: Arrêter totalement Metro Exodus quand il est en arrière-plan:
[MetroExodus] match_wm_name_contains=Metro: Exodus suspend_delay = 1 resume_every = 0
suspend_delay=1
: L'application sera gelée 1 seconde après avoir perdu le focus.resume_every=0
: Elle sera gelée indéfiniement (jusqu'à ce qu'elle revienne en avant-plan).
- Exemple 2 : Vous pouvez faire des choses plus complexes, par exemple pour l'application de messagerie Pigdin:
[Pidgin] match_wm_class_contains = Pidgin resume_every = 1 resume_for = 1 downclock_on_battery = 2
resume_every=1
etresume_for=1
: Quand Pigdin est en arrière-plan, il réveille l'application au bout d'une seconde, la laisse travailler une seconde, puis la regèle. Et ainsi de suite. Cela permet de continuer à recevoir les messages, mais en gelant l'application la moitié du temps.- Et en plus de cela, il ne va laisser Pidgin n'utiliser que 50% d'un CPU avec
downclock_on_battery=2
(pas besoin de beaucoup de puissance CPU pour faire fonctionner cette application). - Cela permet donc de continuer à profiter des fonctionnalités de Pidgin même quand elle est en arrière-plan, tout en limitant au maximum sa consommation CPU (et donc la consommation batterie).
- Exemple 3 : Pour éviter qu'Eclipse me bouffe 100% du CPU quand il build en arrière-plan, je ne lui laisse que de petites tranches de CPU:
[Eclipse] match_wm_class_contains=Eclipse suspend_delay = 1 resume_every=3 resume_for=2 suspend_subtree_pattern=.*
- Toutes les 3 secondes (
resume_every=3
), je le laisse travailler pendant 2 secondes (resume_for=2
). - Comme Eclipse lance lui-même d'autres processus,
suspend_subtree_pattern=.*
permet de geler aussi tous les processus fils issus d'Eclipse.
- Vous pouvez détecter les applications soit par le titre de la fenêtre (
match_wm_name_contains
), soit par sa classe (match_wm_class_contains
). Quand possible, utilisez la classe (car par exemple le titre de la fenêtre de Firefox change selon les sites visités, mais classe reste Firefox).- Pour trouver la classe d'une fenêtre, taper dans un terminal:
xprop -notype WM_NAME WM_CLASS
et cliquer sur la fenêtre de l'application. Utilisez une des valeurs deWM_CLASS
. - Lister toutes les fenêtres:
wmctrl -l
- Vérifier les déclenchements: lancer XSuspend de la manière suivante dans un terminal:
G_MESSAGES_DEBUG=xsuspender xsuspender
- Entendre ce qui est dit au micro sur les haut-parleurs ou écouteurs:
- Si pas installé, faire
sudo apt install pavucontrol
- Activer :
pactl load-module module-loopback latency_msec=1
- Désactiver :
pactl unload-module module-loopback
Limiter la température du processeur. Vous avez des problèmes de refroidissement ou plus simplement vous voulez allonger la durée de vie de votre ordinateur ? Il est possible de limiter la température du CPU. Le principe est de réduire la fréquence du CPU de manière à maintenir la température en dessous du seuil que vous lui aurez fixé.
- Si vous avez un processeur Intel, le contrôle de température est accessible via
/sys
:- Afficher le seuil actuel :
cat /sys/bus/pci/drivers/proc_thermal/0000:00:04.0/tcc_offset_degree_celsius
- La valeur retournée est le nombre de degrés en dessous de la valeur critique à partir de laquelle il va commencer à réduire la fréquence (throttling).
- Chez moi, elle affiche 2. La température max est généralement 100° sur les processeurs. Il se limitera donc à 100-2 = 98° C.
- Changer la valeur : Si on veut le limiter à 70°, il faut donc faire:
sudo bash -c "echo 30 >| /sys/bus/pci/drivers/proc_thermal/0000:00:04.0/tcc_offset_degree_celsius"
- Voir la température actuelle :
sensors
mais les environnements de bureau ont bien souvent des applets pour afficher la température.
- Si vous avez un processeur AMD (ou tout autre CPU), vous pouvez utiliser ce script qui va effectuer grosso-modo la même chose:
- Page du logiciel : https://github.com/Sepero/temp-throttle
- Script à télécharger : https://github.com/Sepero/temp-throttle/blob/stable/temp_throttle.sh
- Penser à faire un petit
sudo apt install cpufrequtils
avant d'utiliser le script (il utilise cpufreq-set). - Lancez-le en root en spécifiant la température. Exemple:
sudo ./temp_throttle.sh 70
- Notez que l'ajustement de la température n'est pas immédiat. Le script commence par mettre le processeur à sa fréquence max puis la descend progressivement jusqu'à atteindre la température désirée. Il remontera aussi progressivement la fréquence si la température est 5° en dessous de la température que vous avez fixée.
- En complément de ces deux astuces, passez le governor de votre CPU en mode "Conservative" au lieu de "Schedutil" ou "Performance". Le CPU aura moins tendance à monter en fréquence à la moindre sollicitation (Utilisez les applets de contrôle de fréquence de votre environnement de bureau).
- Notez que d'autres facteurs peuvent provoquer la chauffe de votre ordinateur, comme le GPU. Conseil: Dans les jeux, activez la synchronisation verticale et limitez à 60 fps (images par seconde). C'est généralement largement suffisant pour les jeux et évite de faire tourner le GPU à fond pour calculer 160 fps ou plus.
Changer le governor de votre CPU : Le governor est un algorithme qui va adapter la fréquence de vos CPU à la demande. Faire monter la fréquence des CPU est utile pour calculer plus vite, mais consomme plus de courant et fait plus chauffer les CPU. Il est donc utile de monter en fréquence pour avoir de bonnes performances, mais redescendre vite quand le CPU ne fait pas grand chose afin de ne pas consommer inutilement.
- Il en existe plusieurs. Voici les principaux:
- On-demand : Va faire monter rapidement la fréquence du CPU si des processus l'exigent. Re-descend assez vite aussi.
- Schedutil : Ce governor est plus près du CPU et répondra plus vite que On-demand au sollicitations très brèves. Il montera et descendra plus vite en fréquence que On-demand (C'est souvent le governor par défaut.)
- Performance fera tourner le CPU au max de ses performances. Ce mode est peu utile étant donné que Schedutil fera aussi bien, mais sans gaspiller d'énergie.
- Powersave le fera tourner à sa vitesse minimale pour économiser de la batterie.
- Conservative va essayer de ne pas monter inutilement en fréquence au moindre pic. Cela permet quand même d'avoir les performances max, mais de revenir à des fréquences minimales dès que possible. C'est le governor à utiliser si vous voulez limiter la chauffe inutile de votre CPU sans être gêné pour les performances.
- Les environnements de bureau ont généralement une applet qui permet de changer facilement le governor.
- Vous pouvez aussi le faire en ligne de commande:
- Voir la liste des governors disponibles pour votre CPU/noyau :
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
- Voir le governor actuellement utilisé:
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
- Choisir un autre governor:
echo "conservative" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
- Pour choisir quel governor avoir au démarrage de la machine:
- Installez cpufrequtils :
sudo apt install cpufrequtils
- Créez le fichier
/etc/default/cpufrequtils
contenant:# valid values: userspace conservative powersave ondemand performance # get them from cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors GOVERNOR="conservative"
Piloter les réglages de votre moniteur externe depuis Linux : La plupart des moniteurs externe fabriqués ces 10 dernières années supportent la norme DDC/CI. Il est donc possible de piloter leur réglages (luminosité, contraste, source…) depuis Linux sans avoir à manipuler les boutons de votre moniteur.
- Installation:
sudo apt install ddcutil
- Lister les réglages accessibles:
sudo ddcutil capabilities
- Par exemple pour la luminosité, c'est le réglage numéro 10 :
sudo ddcutil capabilities | grep "Feature: 10"
- Prenons pour exemple la luminosité (réglage n°10):
- Lire la valeur (cela vous affichera également les valeurs acceptées):
sudo ddcutil getvcp 10
- Changer la luminosité à 70%:
sudo ddcutil setvcp 10 70
- Vous avez bien entendu accès potentiellement à d'autres réglages, selon votre moniteur. Exemples (bien sûr cela dépend des moniteurs):
Feature: 12 (Contrast) (Contraste) Feature: 14 (Select color preset) (Température de couleur) Feature: 60 (Input Source) ...
- Il existe une interface graphique qui marche plus ou moins bien pour y accéder aussi : https://github.com/digitaltrails/vdu_controls ou encore le paquet gddccontrol (
sudo apt install gddccontrol
).
Tester vos supports (clés USB, microSD, SSD, etc.) : Il peut être utile de tester vos supports USB pour être sûr qu'ils ne sont pas défectueux ou qu'ils ne mentent pas sur leur capacité (Certains supports annoncent une grande capacité, mais ont en réalité une capacité plus faible et les écritures bouclent. Vous ne le verrez pas au début.)
- Pour réaliser ce test, votre support doit être vide.
- Vous aurez besoin des outils f3 :
sudo apt install f3
- Pour tester votre support, dans l'ordre:
- Formattez votre support (de préférence en FAT, car ext3/ext4 conservent une zone réservée, ce qui empêche de tester le support en intégralité).
- Lancez f3write :
f3write /media/utilisateur/VotreSupport
et attendez. Il va créer plusieurs fichiers de 1 Go jusqu'à remplir le support. (Cela peut durer longtemps).
- Une fois terminé, la ligne Average writing speed vous donnera une idée réaliste de la vitesse d'écriture de votre support. (Notez que la valeur n'est pas forcément exacte et peut être influencée par l'activité sur votre ordinateur durant l'écriture, ainsi que par les limites du hub/controlleur USB sur lequel vous avez branché votre clé).
- Débranchez la clé et rebranchez-la. (Certaine clés frauduleuses comptent sur le cache du système d'exploitation pour masquer leur vraie nature).
- Maintenant testez la lecture :
f3read /media/utilisateur/VotreSupport
- La ligne Data LOST doit être à zéro. Si ce n'est pas le cas, alors votre support n'est pas fiable. Vous ne devriez pas l'utiliser pour stocker des données.
- La ligne Average Reading speed vous donnera une idée réaliste de la vitesse de lecture de votre support.
- Documentation officielle des outils f3 (avec des exemples) : https://fight-flash-fraud.readthedocs.io/en/latest/usage.html
-
- Les avantages ? Un serveur web sans avoir besoin d'ouvrir un port dans votre firewall/routeur, sans avoir besoin de révéler votre véritable adresse IP, sans avoir de nom de domaine à vous, non censurable (ni par IP, ni par nom de domaine), et accessible même si vous êtes derrière un NAT/routeur. Bien sûr ceux qui consultent la page doivent utiliser le navigateur TOR.
- Installer le nécessaire:
sudo apt install tor pip3 install --user onionshare-cli
- Placer votre contenu dans
~/www
(Un fichierindex.html
n'est pas obligatoire. Si vous n'en avez pas, il présentera la liste des fichiers.) - Lancer le serveur:
onionshare-cli --public --persistent ~/tor-website.json --website ~/www
- L'adresse en .onion du serveur va s'afficher : Vous pouvez la partager.
- Si vous changez des fichiers dans
~/www
, vous devrez redémarrer le serveur (CTRL+C pour l'arrêter). - Le serveur n'est pas super-véloce, mais c'est suffisant pour distribuer quelques fichiers.
- Explication des options:
--website
: Demande à OnionShare de fonctionner comme un serveur web pour partager le répertoire que vous lui indiquez.--public
pour autoriser une connexion sans clé (comme un simple serveur web).--persistent
: Permet de spécifier un fichier de configuration de manière à ce que votre serveur ait toujours la même adresse (il va créer le fichier s'il n'existe pas).
- Si vous voulez loguer les accès dans un fichier, ajoutez ceci en fin de ligne de commande :
2>&1 | tee access.log
- Pour changer l'adresse de votre serveur TOR, arrêtez-le et supprimez le fichier
~/tor-website.json
- En utilisant plusieurs fichiers de config json différents, vous pouvez sans problème lancer plusieurs serveurs TOR sur votre ordinateur, chaucun servant un répertoire différent avec sa propre adresse en .onion.
- Si vous n'êtes pas à l'aise avec la ligne de commande, vous pouvez bien sûr passer par l'interface graphique : https://onionshare.org/
- Forcer le lancement d'un programme sur un écran ou un autre (pratique par exemple si vous lancez des jeux avec Wine qui se mettent en plein écran) :
DISPLAY=:0.0 nomDuProgramme
-
- Installation :
sudo apt install s-tui
- Pensez à cocher la case "UTF-8" pour avoir des graphiques plus précis.
- Cela marche dans un terminal, donc même à distance via une connexion ssh ou sur un RaspberryPi.
- Si vous voulez charger un peu votre CPU pour voir jusqu'où monte la température, installez le paquet "stress" (
sudo apt install stress
) et dans s-tui cochez la case "Stress"
- N'oubliez pas CommandLineFu.com qui est une intarissable source d'astuces pour Linux.
bat (page officielle) est un
cat
amélioré, avec coloration syntaxique et même support Git. Il utilise aussiless
pour faire la pagination.- Installation :
sudo apt install bat
sur les distributions récentes, ou bien téléchargez le package pour votre distribution (recommandé) : https://github.com/sharkdp/bat/releases - Note: Sous Ubuntu et dérivés, à cause d'un conflit, l'exécutable d'appelle
batcat
. Pour éviter cela, installez directement le .deb comme indiqué ci-dessus.
fzf (page officielle) est un fantastique outils de recherche qui fait gagner un temps considérable. Il permet de faire une recherche approximative.
- Installation:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf ~/.fzf/install
- Utilisation:
- Recherche de répertoires (à partir du répertoire actuel): Alt+C, choisissez, pressez ↵ Entrée. Vous êtes dedans.
- Recherche dans votre historique bash : Ctrl+R
- Recherche de fichier: Commencez à taper une commande en terminal (
cat
ou autre) puis Ctrl+T pour rechercher un fichier à partir du répertoire actuel.- Vous pouvez aussi faire, par exemple
cat **
puis presser la touche TAB. - Ça marche bien sûr également avec
xdg-open
pour ouvrir des pdf, fichiers LibreOffice, etc.
- Vous pouvez également piper n'importe quoi dans fzf pour rechercher dedans (
cat *.txt | fzf
) - Par défaut fzf affichera en premier les résultats qui correspondent exactement à ce que vous avez tapé, puis les résultats proches.
-
- Voir la liste des connexion :
nmcli con show
- Voir la config DNS d'une connexion :
nmcli con show NOMCONNEXION | grep dns
- Changer les DNS :
nmcli connection modify NOMCONNEXION ipv4.dns "185.222.222.222,45.11.45.11"