linux

monitoring

infos système

hostnamectl
inxi -F
inxi -ACSxx

audio

inxi -A

état batterie

upower -i $(upower -e | grep BAT)

(voir capacity)

quel processus écoute un port

sudo ss -lnp 'sport = :80'

quel processus utilise un appareil

fuser -mv /mnt/device
sudo lsof | grep /mnt/efi

liste processus

sudo ss -tulnp

check systemd général

systemctl --user status
systemctl list-units --failed

config journaux

/etc/systemd/journald.conf

voir freedesktop.org et securiteinfo.com

pour économiser les SSD :

sudo apt remove rsyslog

moniteur processus

htop

détails boot

systemd-analyze time
systemd-analyze blame --no-pager
systemd-analyze plot > ~/SystemdAnalyzePlot.svg

optimisation

espace disque

df -h
ncdu

taille répertoires

du -sh *

tester vitesse disque

sudo hdparm -tT /dev/nvme0n1
sudo hdparm -tT /dev/sda

réseau

page réseaux

gestion fichiers

systèmes de fichier

df --output=target,fstype,source

répertoires personnels

définis dans ~/.config/user-dirs.dirs

compresser

fichier

pigz fichier

sur place, en gzip, multithread

répertoire

tar -c --use-compress-program=pigz -f sortie.tar.gz repertoire

décompresser

tar -xvf *.tar.gz

doublons

rdfind

copie

rsync -avP from/ to

le / à la fin du premier répertoire permet de déplacer son contenu (copie telle quelle, pas dans un sous rep)

recherche

fzf

lister récursif fichiers plus récents en dernier

find -printf "%TY-%Tm-%Td %TT %p\n" | sort -n

renommer contenu pour backup

mv ressource{,.bak}

renommer lot de fichiers

rename [options] 's/[élément du fichier]/[remplacement]/' [fichier]
rename 's/Désenchantée.S02E0/Désenchantée.S01E1/' *

lister permissions d'un chemin

namei -l <path>
namei -l $PWD

supprimer fichiers vides

find . -size  0 -print0 |xargs -0 rm

remplacer du contenu dans un fichier

sed -i -e 's/àremplacer/remplacé/g' hello.txt

différences entre fichier / répertoire

virer les caractères spéciaux des noms des fichiers

rename 's/[^a-zA-Z0-9.]//g' *

créer support bootable

sudo dd bs=4M status=progress if="nom.iso" of=/dev/"device"
sync

lister les fichiers modifiés depuis 30 jours

find . -type f -mtime -30 -exec ls -l {} \; 2>&1 | grep -v "Permission denied"

inode

remettre tous les fichiers modifiés en 1990

find * -exec touch -t 199001010000 {} \;
while read fichier;do echo "$fichier"; date -d @$(stat "$fichier" -c %Y) +%Y%m%d%H%M.%S; done < <(find .) > /tmp/original_dates.txt
while read fichier;do echo "$fichier"; date -d @$(stat "$fichier" -c %Y) +%Y%m%d%H%M.%S; done < <(find .) > original_dates.txt

+1 heure

while read fichier;do echo "$fichier"; date -d @$(($(stat "$fichier" -c %Y)+3600)) +%Y%m%d%H%M.%S; done < <(find .) > original_dates.txt

copier le fichier original_dates.txt sur le serveur distant

cat original_dates.txt | (while read FILE && read DATE; do touch -t $DATE "$FILE"; done)

migrations

APT

l'idée est de récupérer la liste des paquets installés manuellement sur l'ancienne machine, et de les comparer avec les paquets installés sur la nouvelle.

donc j'entre cette commande sur l'ancienne :

list="apt list"; for p in $(apt-mark showmanual); do list+=" $p"; done; echo "$list | grep -vE 'install|i386'"

et je copie son retour, qui commence par apt list.

ce retour est la commande à passer sur la nouvelle machine pour avoir la liste des paquets qui étaient installés manuellement sur l'ancienne machine et qui ne sont pas installés sur la nouvelle. (SSH est bien pratique pour ces copier-coller entre deux machines, sinon on peut coller la commande dans un fichier texte.)

à partir de là je gère manuellement pour voir ce que je réinstalle avec apt install.

GNOME

rdp

systemctl --user status gnome-remote-desktop.service
gsettings list-keys org.gnome.desktop.remote-desktop.rdp

voir gsettings --help (l'autocomplétion marche)e

monter depuis un compte en ligne

gio mount davs://nextcloud.bugcore.net/remote.php/webdav < $HOME/.config/gio/.secret

.secret :

user
password

autoriser mot de passe courts

/etc/security/pwquality.conf

minlen = 3
dictcheck = 0
sercheck = 0

thèmes GTK

personnalisation

afficher les couleurs

colortest-16
colortest-16b
colortest-256
colortest-8

shell

ctrl + r
history | grep command
find . -name "fichier"

macOS sur linux (docker)

docker run -it \
    --device /dev/kvm \
    -p 50924:10022 \
    -e GENERATE_UNIQUE=true \
    -e DEVICE_MODEL="iMacPro1,1" \
    -e WIDTH=1600 \
    -e HEIGHT=900 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -e "DISPLAY=${DISPLAY:-:0.0}" \
    -e "USERNAME=kro" \
    -e "PASSWORD=8606" \
    -e GENERATE_UNIQUE=true \
    -e MASTER_PLIST_URL='https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom.plist' \
    sickcodes/docker-osx:auto

graphisme

compresser fonts

convertir otf en woff

sfnt2woff police.otf

convertir otf ou ttf en woff2

sudo apt install woff2
woff2_compress police.otf

réparation

sudo eopkg check
sudo eopkg check | grep Cassé | awk '{print $5}'

monter le système depuis un support externe pour le réparer avec solus.

ubuntu-fr

httrack

httrack https://forum.ubuntu-fr.org -*search.php* -*viewtopic.php?pid=* -*misc.php* -*.org/dev/* -*.org/GNOME/* -*.org/usr/* -*.org/home/* -*.org/forum.ubuntu-fr.org/* -*.org/sites/* -*.org/11.04/* -*.org/\!/* -*.org/http_/* -*.org/https_/*