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 pdf
> 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).
iw reg get
. Si vous ne voyez pas Country: FR
c'est que ce n'est pas correctement réglé.sudo iw reg set FR
, mais cela ne persiste pas au redémarrage.REGDOMAIN
dans le fichier /etc/default/crda
. Mettez:REGDOMAIN=FR
sudo progress -m
-M
, progress ne quittera pas et attendra un autre processus.--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.tar cvfz archive.tgz dossier/
tar cvf - dossier/ | pigz > archive.tgz
tar cvf archive.tgz -I pigz dossier/
tar xvf archive.tgz
tar cvfz archive.tgz dossier/ --exclude=*.mp3
tar cvfz archive.tgz dossier/ --exclude=chemin/relatif
sudo apt install pigz pbzip2
.bashrc
mettre:alias gzip='pigz' alias bzip2='pbzip2'
sudo apt install lzop
tar --lzop -cvf archive.tar.lzo dossier/
tar xvf archive.tar.lzo
findmnt
: il va tout afficher de manière hiérarchique.lsblk
sudo fdisk -l
sudo inxi -Po
sudo gparted
(outils graphique)sudo bash -c 'echo "vm.swappiness=10" >> /etc/sysctl.conf'
sudo sysctl -p
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 faites cat /proc/swaps
)./etc/fstab
:tmpfs /tmp tmpfs defaults,relatime,mode=1777,nosuid,size=4196M 0 0
sudo netstat -pntul
sudo ss -pntul
python3 -m http.server 5555
python -m SimpleHTTPServer 5555
http://adresseip:5555/
Lancer une tâche de fond avec la priorité CPU et disque minimale (afin qu'elle ralentisse le moins possible les autres programmes):
.bashrc
:alias ni='nice -n 19 ionice -c3'
ni
:ni tar cvfz monarchive.tgz monrepertoire/
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)/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 faites sudo crontab -e
et ajoutez la ligne:@reboot /opt/scripts/monscript.sh
sudo apt install sysdig sysdig-dkms
; essayez: sudo sysdig proc.name=cat
et de faire un cat dans une autre fenêtre)./etc/init.d
), d'autres par Upstart (scripts dans /etc/init
) et d'autres par systemd. La plupart des distributions récentes utilisent systemd.sudo service --status-all
(+ démarré, - non démarré, ? status inconnu)sudo service <servicename> start
/ sudo service <servicename> stop
sudo update-rc.d <servicename> enable
/ sudo update-rc.d <servicename> disable
sudo initctl list
sudo initctl stop <servicename>
/ sudo initctl start <servicename>
<servicename>.override
contenant le mot "manual". Exemple: sudo bash -c 'echo "manual" > /etc/init/avahi-daemon.override'
sudo systemctl list-unit-files --type=service
sudo systemctl start <servicename>
/ sudo systemctl stop <servicename>
sudo systemctl enable <servicename>
/ sudo systemctl disable <servicename>
sudo systemctl disable NetworkManager-wait-online.service
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:
sudo apt install firejail
(ou voir site officiel).firejail --net=none monprogramme
#!/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"
find . -type f -print0 | xargs -0 md5sum | grep -v "./md5sums" | sort -k2 > md5sums
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)sort -k2
permet de trier par les noms de fichier.md5sum * | sort -k2 > md5sums
md5sum -c md5sums
find . -type f -print0 | xargs -0 -L1 -P4 md5sum | sort -k2 | grep -v "./md5sums" | sort -k2 > md5sums
-P4
permet de lancer 4 calculs de md5 en parallèle.-maxdepth 1
juste avant -type f
.sudo apt download filezilla
par exemple: Cela va créer un fichier .tar .gz contenant tous les .deb nécessaires, ainsi que le fichier install.sh
.partclone
sur clé USB afin de faire des images de mes partitions./cdrom
(copier sur le bureau pour pouvoir utiliser).sudo apt autoremove
/var/cache/apt/archives/
.sudo apt autoclean
.sudo apt clean
dpkg -l | grep "^ii" | awk ' {print $2} ' | xargs sudo apt-get -y --force-yes install --reinstall --download-only
~/.fonts
fc-cache -fv
pulseaudio -k
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):
~/.config/caja/scripts/
et le rendre exécutable.#!/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
/
) en conservant les droits (vers mon disque dur externe en ext4 également):sudo rsync -av --owner --progress --delete --exclude-from='excludes-backup.txt' / /destination
/proc /sys /dev /media /mnt /cdrom /tmp /run /var/tmp /var/run /home/sebsauvage/.steam/steam/steamapps /home/sebsauvage/.local/share/Trash *.!qB
sudo touch /forcefsck
et redémarrez.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
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:
ro quiet splash
et remplacez par ro quiet splash rw init=/bin/bash
passwd monlogin
sudo fdisk -l
(ou lancez gparted
) 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
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, pas Utilman.exe
).
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
du --max-depth=1 -h
ncdu
!Remplir l'espace vide par des zéros pour empêcher la récupération des fichiers (ou alléger une machine virtuelle):
sudo apt install secure-delete
sfill -fllvz /lerépertoire
sudo swapoff -a sudo sswap -fllvz /dev/sda5
cat /etc/*-release
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 un man inxi
pour voir toutes les options.sudo inxi -M
ou encore les barettes de RAM avec leur numéro de série: sudo inxi -m -xx
.sudo lshw -C network
sudo apt install sshfs
mkdir pointdemontage sshfs utilisateur@machine.com: pointdemontage
sshfs utilisateur@machine.com:/repertoire/distant pointdemontage
sshfs utilisateur@machine.com: pointdemontage -p 33000
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:
sudo rm -rf /usr/share/games/fortunes/*
sudo cp citation-celebre.com* /usr/share/games/fortunes
fortune
fortune
directement dans votre ~/.bashrc
(ou si vous préférez:fortune | cowsay
)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).
sudo apt-get install exfat-fuse exfat-utils
sudo apt install fslint
sudo apt install gdmap
et lancez-le.ncdu
.~/.local/share/
~/.config/
sudo iotop
sudo iotop -b -o | grep \%
sudo watch -n 1 "(ps aux | awk '\$8 ~ /D/ { print \$0 }')"
watch "egrep '(Dirty|^Cached:)' /proc/meminfo"
vous pouvez voir en temps reél:
Convertir un dossier de *.flac (et ses sous-répertoires) en mp3:
find -name "*.flac" -exec ffmpeg -i {} -acodec libmp3lame -ab 128k {}.mp3 \;
sudo apt install xbacklight
xbacklight -inc 10
xbacklight -dec 10
sudo apt install variety
ou installer à la main les paquets "variety-slideshow" et "variety" (Site officiel, Paquets sur Launchpad).sudo apt install backintime-gnome
).sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2000000
sudo chmod 0600 /swapfile
sudo e4defrag -v /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
/etc/fstab
:/swapfile none swap sw 0 0
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):RESUME=UUID=388a79ac-27b7-42f5-ac13-…
remplacez par RESUME=none
sudo update-initramfs -u
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target sudo systemctl restart systemd-logind.service
sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
/etc/systemd/logind.conf
, décommenter les deux lignes suivantes:HandleLidSwitch=lock HandleLidSwitchDocked=lock
sudo apt install tlp
man tlp
ou voir le fichier /etc/default/tlp
pour changer les réglages.sudo apt install kazam
w
sudo vipw
et mettre un #
devant son login.sudo pkill -u utilisateur mate-session
(mate-session ou le processus visible quand vous faites w
).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
mkdir temp sudo mount -o loop,offset=67755520 recalbox.img temp/
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):
sudo apt install qemu-kvm qemu-utils
sudo modprobe nbd
sudo qemu-nbd -c /dev/nbd0 disk.vdi
>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
mkdir part sudo mount /dev/nbd0p2 part/
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…)
sudo fdisk -l
ou inxi -Po
dd
copie "bêtement" tous les octets (y compris les secteurs où il n'y a pas de fichiers). pigz
compresse comme gzip
mais plus rapidement. pv
permet de voir la progression.sudo dd if=/dev/sda2 | pv | pigz > image.dd.gz
zcat image.dd.gz | pv | sudo dd of=/dev/sda2
partclone
est un peu plus intelligent que dd
: 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.man partclone
ou apropos partclone
.partclone.vfat
. Par contre pour exfat, il faut prendre partclone.exfat.sudo partclone.ext4 -c -d -s /dev/sda2 | pigz > image.partclone.gz
zcat image.partclone.gz | sudo partclone.restore -d -o /dev/sda2
zcat image.partclone.gz | sudo partclone.info -s -
zcat image.partclone.gz | sudo partclone.chkimg -s -
partimage
. Il n'est pas compatible ext4.sudo dd if=/dev/sda of=mbr.bin bs=512 count=1
sudo dd if=mbr.bin of=/dev/sda
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.
cat image.partclone.gz.* | pigz -d | sudo partclone.restore -d -o /dev/sda2
dd
et partclone
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:sudo fsarchiver savedir -v --zstd=3 archive.fsa /monRépertoireÀSauvegarder/
sudo fsarchiver restdir -v archive.fsa destination/
--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.)--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
)
/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.#!/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/
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.
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
xhost -
pour refermer les droits de connexion au serveur X.identify -verbose votreimage.jpg | grep Quality
pdftocairo -png fichier.pdf
-jpeg
, -tiff
…-r
, par exemplepdftocairo -r 600 -tiff fichier.pdf
pdfimages -all fichier.pdf images
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 -l
pour voir les types de logs supportés.find . | egrep "\.(cbz|cbr|pdf|epub)$" | wc -l
Youtube-dl est un fantastique logiciel pour télécharger une vidéo qui vous intéresse. Il supporte YouTube, Vimeo et des centaines de sites (arte.tv, etc.).
youtube-dl https://www.youtube.com/watch?v=dQw4w9WgXcQ
sudo apt purge youtube-dl
)sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl
sudo youtube-dl -U
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
yt-dlp --list-extractors
yt-dlp https://youtube.com/watch?v=dQw4w9WgXcQ
yt-dlp -F https://youtube.com/watch?v=dQw4w9WgXcQ
yt-dlp -f ID https://youtube.com/watch?v=dQw4w9WgXcQ
sudo yt-dlp -U
youtube-dl --extract-audio --audio-format mp3 https://www.youtube.com/watch?v=dQw4w9WgXcQ
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
:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT=""
sudo update-grub
sudo nethogs
sudo apt install iptraf-ng
sudo iptraf-ng
Couper automatiquement les applications de P2P si vous coupez votre VPN ou qu'il tombe:
#!/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
arp-scan
(sudo apt install arp-scan
): sudo arp-scan 192.168.0.0/24
arp -an
convert -limit memory 1 -limit map 1 -fuzz 5% -layers Optimize input.gif output.gif
gifsicle -O3 --lossy=80 -o output.gif input.gif
--lossy
(par exemple --lossy=200
ou --lossy=800
) : Cela compressera encore mieux, au détriment de la qualité d'image.sudo apt install snoopy
/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
#!/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
lslogins -u
last
lftp ftp://login:password@votreserveurftp.com -e "mirror -e -c -R --ignore-time --verbose=1 /répertoirelocal /répertoiredistant/ ; quit"
~/.lftp/rc
, mettez:set cmd:parallel 1 set net:connection-limit 1 set xfer:parallel 1 set ftp:sync-mode true
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:
sudo apt install jmtpfs
sudo usermod -a -G plugdev monlogin sudo usermod -a -G fuse monlogin
sudo jmtpfs -o allow_other répertoire
sudo umount répertoire
sudo apt install seahorse
et lancez-le.flatpak list
flatpak uninstall --unused
#!/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
chmod +x remove-old-snaps
sudo ./remove-old-snaps
S'installer rapidement un serveur web avec apache:
sudo apt install apache2 php7.2 libapache2-mod-php7.2
/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
/etc/apache2/apache2.conf
, dans la section <Directory /var/www/>
, remplacez AllowOverride None
par AllowOverride All
..htaccess
contenant: php_value memory_limit 2048M
par2 c -r10 protection *
-R
si vous voulez aussi prendre en compte les sous-répertoires.par2 v protection.par2
par2 r protection.par2
error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
apt-file
:sudo apt install apt-file
sudo apt-file update
>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
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'option fsck.mode=skip
.
locales=fr_FR.UTF-8 keyboard-layouts=fr
xinput list
xinput disable "AT Translated Set 2 keyboard"
xinput enable "AT Translated Set 2 keyboard"
sudo apt install usbtop
sudo modprobe usbmon
sudo usbtop
diff -qr /répertoire1 /répertoire2
-q
pour n'afficher que les différences.-r
pour traiter les sous-répertoires.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.sudo progress -M
.sudo apt install meld
)./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:
find ~/.cache/ -depth -type f -mtime +365
find ~/.cache/ -type f -mtime +365 -delete
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).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épondre y
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.)
cat /proc/sys/kernel/random/uuid
sudo tune2fs /dev/sdb1 -U 5ace2c0b-fc93-4481-a983-d1ed9fa2e523
ou
sudo tune2fs /dev/sdb1 -U random
sudo blkid /dev/sdb1
snap list
snap remove blender
core18
doit être supprimé en avant-dernier, et snapd
en dernier.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]
mettez line_height=1;1;
. (source)
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 paquet printer-driver-escpr
pour les imprimantes Epson (qui n'est pas installé par défaut).
make CFLAGS_EXTRA=-DENABLE_DEDUPE
(ce flag active la compilation avec l'option déduplication, utile pour l'option -B
avec btrfs)../jdupes
).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
systemd-analyze plot > boot.svg
et ouvrez le fichier .svg
systemd-analyze blame
>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
graphical.target
) a démarré en 3.727s (on voit le @3.727s
).postgresql@12-main.service
), on voit:+2.646s
) et elle a été lancée 1.077s après le démarrage du système (@1.077s
)dconf reset -f /org/gnome/
(cela va réinitialiser les réglages du bureau stockés dans ~/.config/dconf/user
)
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):
cp /usr/share/doc/xsuspender/examples/xsuspender.conf ~/.config/xsuspender.conf
~/.config/xsuspender.conf
pour geler les applications de votre choix.only_on_battery = false
[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).[Pidgin] match_wm_class_contains = Pidgin resume_every = 1 resume_for = 1 downclock_on_battery = 2
resume_every=1
et resume_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.downclock_on_battery=2
(pas besoin de beaucoup de puissance CPU pour faire fonctionner cette application).[Eclipse] match_wm_class_contains=Eclipse suspend_delay = 1 resume_every=3 resume_for=2 suspend_subtree_pattern=.*
resume_every=3
), je le laisse travailler pendant 2 secondes (resume_for=2
).suspend_subtree_pattern=.*
permet de geler aussi tous les processus fils issus d'Eclipse.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).xprop -notype WM_NAME WM_CLASS
et cliquer sur la fenêtre de l'application. Utilisez une des valeurs de WM_CLASS
.wmctrl -l
G_MESSAGES_DEBUG=xsuspender xsuspender
sudo apt install pavucontrol
pactl load-module module-loopback latency_msec=1
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é.
/sys
:cat /sys/bus/pci/drivers/proc_thermal/0000:00:04.0/tcc_offset_degree_celsius
sudo bash -c "echo 30 >| /sys/bus/pci/drivers/proc_thermal/0000:00:04.0/tcc_offset_degree_celsius"
sensors
mais les environnements de bureau ont bien souvent des applets pour afficher la température.sudo apt install cpufrequtils
avant d'utiliser le script (il utilise cpufreq-set).sudo ./temp_throttle.sh 70
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.
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
echo "conservative" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
sudo apt install cpufrequtils
/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.
sudo apt install ddcutil
sudo ddcutil capabilities
sudo ddcutil capabilities | grep "Feature: 10"
sudo ddcutil getvcp 10
sudo ddcutil setvcp 10 70
Feature: 12 (Contrast) (Contraste) Feature: 14 (Select color preset) (Température de couleur) Feature: 60 (Input Source) ...
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.)
sudo apt install f3
f3write /media/utilisateur/VotreSupport
et attendez. Il va créer plusieurs fichiers de 1 Go jusqu'à remplir le support. (Cela peut durer longtemps).
f3read /media/utilisateur/VotreSupport