Conversion flac vers mp3

Dans le but de pouvoir lire des fichiers de ma bibliothèque musicale sur un appareil n’étant pas en mesure de lire le format flac, j’ai cherché à résoudre le problème de la conversion d’un fichier audio au format flac vers le format mp3. Après recherche, voici la commande que j’obtiens en utilisant ffmpeg :

ffmpeg2.8 -y -i tangerine.flac -codec:a libmp3lame -ab 320k -map_metadata 0 -id3v2_version 3 -write_id3v1 1 tangerine.mp3

Étape suivante pour rendre la conversion plus pratique, on applique la commande à tous les fichiers flac du répertoire à l’aide d’une boucle for :

for f in *.flac; do ffmpeg -i "$f" -acodec libmp3lame -ab 320k -map_metadata 0 -id3v2_version 3 -write_id3v1 1 "${f%.flac}.mp3"; done

Enfin, dernière amélioration, on exécute la commande pour tous les fichiers finissant par .flac présent dans le répertoire courant et dans tous les sous-répertoires :

find -name "*.flac" -exec ffmpeg2.8 -y -i {} -acodec libmp3lame -ab 320k -map_metadata 0 -id3v2_version 3 -write_id3v1 1 {}.mp3 \;

A noter que pour cette dernière commande, le nom du fichier traité sera de la forme Tangerine.flac.mp3. A l’issue de cette dernière commande, nous disposons donc des fichiers flac et de leur copie encodée en mp3. Ayant travaillé sur une copie de mes fichiers musicaux, je peux donc me débarrasser des fichiers flac pour ne conserver que les nouveaux fichiers :

find -name "*.flac" -exec rm {} \;

Il ne reste plus qu’à copier les fichiers restants sur le support destiné à l’appareil.

[ArchLinux] Downgrade d’un package

Il est possible d’installer une ancienne version d’un package en utilisant le cache de pacman, si celui-ci n’a pas été nettoyé depuis la mise à jour précédente. Par exemple, pour revenir à la version 5.6.0-1 de npm, on utilisera la commande:

pacman -U /var/cache/pacman/pkg/npm-5.6.0-1-any.pkg.tar.xz

Et on attendra la correction du bug 19989 pour réinstaller une version 5.7.x.

[git] Retenir temporairement les infos d’authentification

Une configuration que je trouve plutôt utile, lorsque je modifie un dépôt git sur une machine où je ne souhaite pas mettre en place de clé ssh. A partir de la version 1.7.9 de janvier 2012 de Git, il est donc possible de demander la mise en cache des informations d’authentification (login, mot de passe), afin de ne pas avoir à les ressaisir en permanence.

La configuration s’effectue via la commande suivante, qui aura pour effet de conserver les infos en cache pour une durée de 15 minutes :

git config --global credential.helper cache

Si on désire augmenter la durée de cache, à une heure par exemple, on ajoute le paramètre timeout :

git config --global credential.helper "cache --timeout=3600"

Source: git-crendential-cache

Changer de shell par défaut

Une commande bien utile et comme toujours en provenance du Wiki Arch Linux, à savoir: chsh.

Pour lister les shells installés :

chsh -l

Pour changer de shell :

chsh -S chemin-complet-vers-le-shell

chemin-complet-vers-le-shell correspond à l’un des chemins renvoyés par la commande précédente.

 

Et pour ceux qui s’interrogent, je passe de bash à zsh, advienne que pourra !

Bloquer une IP avec iptables

Depuis deux jours, un petit malin (quarante-six point cent soixante-douze point quatre-vingt-onze point quinze) tente sans succès des injections SQL sur le serveur via WordPress. Félicitations à lui, il gagne un blocage IP!

Pour bloquer une IP avec iptables, on utilisera donc la commande suivante:

iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP

Dans ce cas-là, c’est un blocage total qui sera effectué. Il est possible d’être plus précis pour ne bloquer qu’un port particulier pour un protocole spécifique avec les options, respectivement, --destination-port et -p. Ce qui nous donne par exemple pour le port 80 sur tcp :

iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --destination-port 80 -j DROP

Enfin, si éventuellement, on se décide à débloquer l’adresse IP, l’option -D à la place de -A fera l’affaire :

iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP

À noter également la commande permettant de visualiser les règles iptables configurées :

iptables -L

Bloquer une IP est une solution facile à mettre en œuvre et (très) efficace. Si de telles attaques devaient reprendre depuis une autre IP, je me verrais dans l’obligation de créer une règle fail2ban afin de bloquer dynamiquement les nouvelles tentatives d’attaque.