Ici sont listées quelques commandes utiles avec leurs paramètres qui me sont le plus souvent utiles, on est au coeur du concept de l'aide mémoire.
# voir toutes les infos uname -a # voir le hostname uname -n #voir le type de processeur (cible pour compilation) uname -p # des infos sur le CPU cat /proc/cpuinfo # sur la RAM cat /proc/meminfo #voir le type de RAM dmidecode --type 17
# voir l'espace occupé df -h # voir les infos des partitions (Id, type système de fichiers, ..) blkid # En root # afficher les partitions (sous format arborescent, mais pas tous les id --> blkid) lsblk # en root # créer, supprimer, modifier des partitions (notamment le type pour pouvoir ensuite formater ntfs --> ext4 par exemple) fdisk /dev/sda # sans préciser le numéro, on agit sur le disque) # formater une partition avec un système de fichier particulier mkfs.ext4 /dev/sda2 # éditer le label d'une partition e2label /dev/sda2 LABEL_NAME
top # ou htop # à installer depuis les dépôts
bmon
Voir aussi ssh
ainsi, le port_distant du serveur est accessible sur la machine locale sur le port_local
ssh user@domain.tld -L port_local:localhost:port_distant # -L clientport:host:hostport # je suppose que host est vis-à-vis du serveur
ntpdate fr.pool.ntp.org
des explications viendront peut-être un jour
Editer le fichier /etc/hostname
# créer un screen screen -S nom # se détacher d'un screen ctrl + a + d # lister les screens screen -ls # se rattacher à un screen screen -r nom # se rattacher à un screen avec possiblité de plusieurs vues en simultané screen -x nom
# pour resoudre temporairement et sans reboot le [screen is terminating] lorsque screen est executé par un user non-root # For a fix without reboot (if you can't reboot right now): sudo mount -o remount,gid=5,mode=620 /dev/pts
blkid (en tant que root) liste les partitions /dev/sdxx leur LABEL, leur UUID et le type de système de fichier formaté etx4
Il faut commencer par récupérer le fichier .iso de votre distribution, ensuite on puet utiliser “dd” :
dd if=<fichier> of=/dev/sdx bs=4M; sync
Avec :
<fichier>
le nom de l'image à écrire, par exemple “netinst.iso” ;<périphérique>
est le périphérique correspondant à la clef USB, par exemple /dev/sda ou /dev/sdb (et pas /dev/sda1 ou autre partition, il faut pointer le périphérique)bs=4M
indique à dd de lire et écrire des blocs de 4 mégaoctets pour améliorer les performances. La valeur par défaut est de 512 octets, ce qui rend l'opération beaucoup plus lente ;sync
à la fin permet de s'assurer que toutes les écritures sont réalisées avant la fin de la commande.## Créer un utilisateur adduser [OPTIONS] utilisateur # Les OPTIONS intéressantes peuvent être : # --no-create-home : ne crée pas de répertoire home # --ingroup nomGroupe : par défaut, l'utilisateur est créé dans un groupe # qui porte son nom, on peut choisir de le créer dans un autre groupe ## Créer un groupe addgroup groupe ## Ajouter un utilisateur déjà existant à un groupe déjà existant usermod -G groupe utilisateur ## Supprimer un utilisateur deluser [OPTIONS] utilisateur # les OPTIONS intéressantes peuvent être : # --remove-home : supprime le répertoire personnel # --remove-all-files : supprime tous les fichiers possédés par l'utilisateur # --backup : sauvegarde les fichiers ds une archive placée à la racine "/" ## Supprimer un utilisateur d'un groupe deluser utilisateur groupe
On peut trouver la liste des utilisateurs et des groupes dans les fichiers suivants :
/etc/passwd
/etc/group
## Changer le propriétaire d'un fichier/rep chown [-R] path # -R : recursive, pour les dossiers et fichiers contenus ds ces dossiers # path : nom du fichier ou du répertoire ## Changer les droits d'accès chmod [-R] ugoa +-= rwx path chmod [-R] 777 path # -R : recursive, pour les dossiers et fichiers contenus ds ces dossiers # ugoa : user group other all # +-= : pour ajouter, enlever, fixer à # rwx : read write execute (aussi nécessaire pour parcourir un dossier un dossier) # path : nom du fichier ou du répertoire
## Commandes en cli via firewall-cmd ## ETAT # pour connaitre l'état de la zone par défaut (= actuelle probablement) : firewall-cmd --list-all ## SERVICES (= entrées pré-configurées) # liste des services supportés firewall-cmd --get-services # ajouter un service (à la zone par défaut) firewall-cmd --add-service=<nomService> # enlever un service : --remove-service= ## PORT # pour ajouter un port firewall-cmd --add-port=8888/tcp ou udp # pour enlever un port --remove-port=
C'est tout simple, il suffit d'utiliser la touche PRINTSCREEN
ou IMPRIME ECRAN
selon le clavier que vous possédez :
PRINTSCREEN
pour prendre une capture de tout le bureauALT
+ PRINTSCREEN
pour prendre une capture de la fenêtre activeSHIFT
+ PRINTSCREEN
pour prendre une capture d'une zone délimitée avec la sourisfind -name "*.pdf" -printf '%f\n' | sort | gawk 'BEGIN{ a=1 }{ printf "mv \"%s\" \"EMAIL %02d - %s\"\n", $0, a++, $0}' | bash
avec ssh et un port custom, c'est tout simple :
rsync -e 'ssh -p 2222' user@server:path/file destination # ou rsync -port 2222 source user@destination:path/
Pour afficher des infos utiles sur quels fichiers sont transférés, et pourquoi :
rsync -ah --info=stats2,name1,del --out-format="%o %i %n" OneDrive_1_23-06-2021 backup_test_rsync/
Autres options à regarder/surveiller
rsync --safe-links : ne pas suivre les liens hors de l'arborescence renseignée --mkpath : crée les dossiers à la destination s'ils sont manquants, évite les erreurs et les plantages
C'est un utilitaire de l'ancienne époque (avant systemd) qui permet de programmer des executions récurrentes. Il semble encore supporté à l'heure de systemd (il y a un binding ?), surement car il est assez simple et extrêmement populaire.
Les règles cron s'écrivent dans le crontab avec la commande crontab -e
. On peut afficher les règles écrites avec crontab -l
. Il y a un crontab par utilisateur, et les uns ne voient pas celles des autres.
Attention, l'interpréteur par défaut semble être /bin/sh
, je vous encourage donc à spécifier des chemins absolus vers vos programmes. La commande which zpool
peut vous donner le chemin absolu de cette commande.
L'horaire de l'execution se programme avec m h DayOfMonth Mon DayOfWeek. on peut mettre un chiffre pour programmer l'execution à 5h par exemple. l'étoile *
permet de signifier “n'importe quel” (ou tous). On peut aussi configurer toutes les 5 minutes avec */5
.
Par défaut, crontab envoie des emails en cas d'erreurs. On peut rediriger les sorties vers des fichiers avec » /path/to/log_file
et même rediriger les erreurs (sorite 2) vers la sortie standard (sortie 1) avec 2>&1
.
# exemple de crontab # m h dom mon dow command # ZFS : scrub = check et répare les erreurs (si possible car redondance) 30 0 * * 1 /sbin/zpool scrub Abathur >> /root/log_scrub_Abathur 2>&1
depuis un terminal (mode user, pas besoin de root)
# Activer le loopback pactl load-module module-loopback latency_msec=1 # Désactiver le loopback pactl unload-module module-loopback
C'est vraiment pour du debug, Linux devrait gérer ça tout seul !
Depuis un terminal (en mode root)
ip link set enp4s0 up ip link set enp4s0 down