Outils pour utilisateurs

Outils du site


php-bash:aide-memoire

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
php-bash:aide-memoire [2021/02/28 12:31] – [Aide mémoire Linux] cyrillephp-bash:aide-memoire [2022/11/28 19:25] – [Retrouver la date de mise à jour d'un logiciel] cyrille
Ligne 2: Ligne 2:
  
 ====== Aide mémoire Linux ====== ====== Aide mémoire Linux ======
 +
 +===== Pourquoi ne pas lancer des applis X via le compte root (si non prévues) =====
 +
 +
 +__Traduction d'un extrait d'archlinux__
 +
 +//
 +**Exécuter des applications GUI en tant que root
 +
 +"Avertissement: toutes les méthodes suivantes ont des implications en matière de sécurité dont les utilisateurs 
 +doivent être conscients. Comme l'a dit Emmanuele Bassi, un développeur GNOME: «il n'y a pas de * vraies * raisons 
 +technologiques justifiées pour lesquelles quiconque devrait exécuter une application GUI en tant que root. 
 +En exécutant des applications GUI en tant qu'administrateur, vous exécutez littéralement des millions de lignes
 +de code qui n'ont pas été audités correctement pour s'exécuter avec des privilèges élevés; vous exécutez 
 +également du code qui touchera des fichiers dans votre $ HOME et peut changer leur propriété sur le système 
 +de fichiers; connectez-vous, via IPC, à encore plus de code en cours d'exécution, etc. ouvrent une faille 
 +de sécurité massive et béante [...]. "**//
 +
 +__Sources__
 +
 +  * https://bugzilla.gnome.org//show_bug.cgi?id=772875#c5
 +  * https://wiki.archlinux.org/title/Running_GUI_applications_as_root
 +
  
 Quelques liens : Quelques liens :
Ligne 13: Ligne 36:
   * [[https://www.cyberciti.biz/linux-news/linux-kernel-5-0-released-how-to-install/|Compiler un kernel 5]]   * [[https://www.cyberciti.biz/linux-news/linux-kernel-5-0-released-how-to-install/|Compiler un kernel 5]]
   * [[https://www.cyberciti.biz/faq/linux-unix-creating-a-manpage/|Créer ses pages de man]]   * [[https://www.cyberciti.biz/faq/linux-unix-creating-a-manpage/|Créer ses pages de man]]
 +  * [[http://www.pingouin-land.com/howto/Man-Page.html|Structuration d'une page de man]]
 +  * [[http://www.linuxfocus.org/Francais/November2003/article309.shtml|Structuration d'une page de man]]
   * [[https://www.cyberciti.biz/faq/redirecting-stderr-to-stdout/|Gestion des redirections]]   * [[https://www.cyberciti.biz/faq/redirecting-stderr-to-stdout/|Gestion des redirections]]
  
Ligne 673: Ligne 698:
 <code | download> <code | download>
 # fsck /dev/sdXY # fsck /dev/sdXY
 +</code>
 +
 +
 +===== Crontab sans notification mail =====
 +
 +Par défaut, lorsqu'une tâche cron est exécutée, cron envoie des notifications par courrier électronique au compte utilisateur. 
 +
 +Pour désactiver les notifications par e-mail, ajoutez<code>
 +> /dev/null 2>&1
 +</code> à la commande dans la tâche cron. 
 +
 +Cela redirige toute la sortie de la tâche cron vers le périphérique **/dev/null**. 
 +
 +Par exemple, la tâche cron suivante n'envoie pas de notifications par courrier électronique:
 +
 +<code>
 +15 * * * Sun     ${HOME}/bigtask.sh > /dev/null 2>&1
 +</code>
 +
 +Pour reprendre la réception des notifications par e-mail des tâches cron, supprimez simplement **> /dev/null 2>&1** de la commande.
 +
 +
 +
 +===== FLAC TO MP3 =====
 +
 +**Avec ffmpeg**
 +<code>
 +parallel ffmpeg -i {} -qscale:a 0 {.}.mp3 ::: ./*.flac
 +</code>
 +
 +
 +**Avec lame**
 +
 +<code>
 +#!/bin/bash
 +
 +for a in ./*.flac; do
 +  # give output correct extension
 +  OUTF="${a[@]/%flac/mp3}"
 +
 +  # get the tags
 +  ARTIST=$(metaflac "$a" --show-tag=ARTIST | sed s/.*=//g)
 +  TITLE=$(metaflac "$a" --show-tag=TITLE | sed s/.*=//g)
 +  ALBUM=$(metaflac "$a" --show-tag=ALBUM | sed s/.*=//g)
 +  GENRE=$(metaflac "$a" --show-tag=GENRE | sed s/.*=//g)
 +  TRACKNUMBER=$(metaflac "$a" --show-tag=TRACKNUMBER | sed s/.*=//g)
 +  DATE=$(metaflac "$a" --show-tag=DATE | sed s/.*=//g)
 +
 +  # stream flac into the lame encoder
 +  flac -c -d "$a" | lame -V0 --add-id3v2 --pad-id3v2 --ignore-tag-errors \
 +    --ta "$ARTIST" --tt "$TITLE" --tl "$ALBUM"  --tg "${GENRE:-12}" \
 +    --tn "${TRACKNUMBER:-0}" --ty "$DATE" - "$OUTF"
 +done
 +</code>
 +
 +
 +===== WMA TO MP3 =====
 +
 +**En une ligne**
 +<code>find . -iname "*.wma" -execdir bash -c 'NAME="{}" && ffmpeg -y -i "$NAME" -ab 192k "${NAME/.wma/.mp3}" && rm "$NAME"' \;</code>
 +
 +**En script**
 +
 +
 +<code | download>
 +#!/bin/bash
 + for i in *.wma; do
 +            j="${i%.wma}"
 +            soundconverter -b -m audio/mpeg -s .mp3 "$j.wma" && rm -f "$j.wma"  && echo "$i réencodé en mp3."
 + done
 +</code>
 +===== Redimensionner des images =====
 +
 +<code>
 +for f in *.jpeg ; do convert $f -resize 50% new_$f; done
 +</code>
 +
 +
 +===== Chercher [dans] les logs =====
 +
 +Avec systemd, nous avons obtenu journalctl qui permet facilement un filtrage à grain fin comme celui-ci:
 +
 +<code>
 +sudo journalctl --since "2 days ago"   
 +sudo journalctl --since "2019-03-10" --until "2019-03-11 03:00"
 +sudo journalctl -b # last boot 
 +sudo journalctl -k # kernel messages
 +sudo journalctl -p er # by priority (emerg|alert|crit|err|warning|info|debug)
 +sudo journalctl -u sshd # by unit 
 +sudo journalctl _UID=1000 # by user id
 +</code>
 +===== Fonction bash pour la gestion des couleurs =====
 +
 +<code | download>
 +
 +#!/bin/bash
 +
 +couleur_rouge () {
 +    echo -e "\e[91m $@ \033[0m"
 +
 +
 +echo  "Une phrase avec un $(couleur_rouge mot) voilà"
 +</code>
 +
 +Et pour le référenciel des couleurs et bien plus : https://misc.flogisoft.com/bash/tip_colors_and_formatting
 + 
 +
 +===== Retrouver la date de mise à jour d'un logiciel =====
 +
 +
 +<code | download>
 +grep installed /var/log/dpkg.log | grep <LE PAQUET>
 +</code>
 +
 +Exemple, avec VLC
 +
 +
 +<code | download>
 +grep installed /var/log/dpkg.log | grep vlc
 +2022-01-26 16:39:29 status half-installed libvlccore9:amd64 3.0.16-1+b5
 +2022-01-26 16:39:29 status half-installed libvlc5:amd64 3.0.16-1+b5
 +2022-01-26 16:39:29 status half-installed vlc:amd64 3.0.16-1+b5
 +2022-01-26 16:39:29 status half-installed vlc-bin:amd64 3.0.16-1+b5
 +2022-01-26 16:39:29 status half-installed libvlc-bin:amd64 3.0.16-1+b5
 +2022-01-26 16:39:40 status half-installed vlc-plugin-base:amd64 3.0.16-1+b5
 +2022-01-26 16:39:41 status half-installed vlc-plugin-skins2:amd64 3.0.16-1+b5
 +2022-01-26 16:39:41 status half-installed vlc-plugin-qt:amd64 3.0.16-1+b5
 +2022-01-26 16:39:41 status half-installed vlc-plugin-video-output:amd64 3.0.16-1+b5
 +2022-01-26 16:41:11 status half-installed vlc-plugin-access-extra:amd64 3.0.16-1+b5
 +2022-01-26 16:41:11 status half-installed vlc-plugin-notify:amd64 3.0.16-1+b5
 +2022-01-26 16:41:11 status half-installed vlc-plugin-samba:amd64 3.0.16-1+b5
 +2022-01-26 16:41:11 status half-installed vlc-plugin-video-splitter:amd64 3.0.16-1+b5
 +2022-01-26 16:41:12 status half-installed vlc-plugin-visualization:amd64 3.0.16-1+b5
 +2022-01-26 16:41:54 status installed libvlccore9:amd64 3.0.16-1+b6
 +2022-01-26 16:41:54 status installed vlc-plugin-qt:amd64 3.0.16-1+b6
 +2022-01-26 16:42:48 status installed vlc-plugin-notify:amd64 3.0.16-1+b6
 +2022-01-26 16:42:48 status installed vlc-plugin-samba:amd64 3.0.16-1+b6
 +2022-01-26 16:42:49 status installed vlc-plugin-skins2:amd64 3.0.16-1+b6
 +2022-01-26 16:42:50 status installed vlc-plugin-video-splitter:amd64 3.0.16-1+b6
 +2022-01-26 16:42:50 status installed libvlc5:amd64 3.0.16-1+b6
 +2022-01-26 16:42:51 status installed vlc-plugin-visualization:amd64 3.0.16-1+b6
 +2022-01-26 16:42:51 status installed vlc-plugin-access-extra:amd64 3.0.16-1+b6
 +2022-01-26 16:42:53 status installed libvlc-bin:amd64 3.0.16-1+b6
 +2022-01-26 16:42:55 status installed vlc-bin:amd64 3.0.16-1+b6
 +2022-01-26 16:44:03 status installed vlc-plugin-video-output:amd64 3.0.16-1+b6
 +2022-01-26 16:44:04 status installed vlc-plugin-base:amd64 3.0.16-1+b6
 +2022-01-26 16:44:04 status installed vlc:amd64 3.0.16-1+b6
 +2022-01-26 16:44:05 status installed libvlc-bin:amd64 3.0.16-1+b6
 +
 +</code>
 +
 +
 +===== Retrouver la date de mise à jour d'un logiciel =====
 +
 +<code | download>
 +awk '/^Upgrade:/{getline;d=$2" "$3}END{print d}' /var/log/apt/history.log
 +</code>
 +
 +
 +===== fsck : régler le laps de temps de verif système =====
 +    Pour connaître le réglage par défaut de la vérification
 +    de ta partition sda1 par exemple,
 +
 +
 +<code | download>
 +    # LANG=C tune2fs -l /dev/sda1 | egrep -i "mount count|Check interval|Last|Next"
 +</code>
 +
 +    Pour lancer la vérification avec fsck tous les 20 montages de la partition sda1,
 +
 +
 +<code | download>
 +    # tune2fs -c 20 /dev/sda1
 +</code>
 +
 +    Pour lancer la vérification avec fsck tous les 20 jours de la partition sda1,
 +
 +<code | download>
 +    # tune2fs -i 20d /dev/sda1
 </code> </code>
php-bash/aide-memoire.txt · Dernière modification : 2024/06/13 18:34 de cyrille