walk-hoary

Archives pour la catégorie Aide mémoire

Faire des recherches sous linux

Afficher tous les fichiers contenu dans le répertoire courant (en donnant les chemin relatif au répertoire courant)

Recherche de fichier avec find

Par faignantise, on utilise des fois ceci pour cherche un fichier qui contient bateau dans son nom. Ça a l’avantage d’être très explicite mais nous nous retrouvons parfois avec des répertoire qui comportent aussi « bateau ».

find /var/log | grep "bateau"

Voici quelque chose de plus élégant :

find -name *bateau*

Ou tous les fichier qui finissent par .log

find -name *.log

Rechercher un contenu

Recherche tous les fichiers qui contienne l’expression « bateau »

grep "bateau" -r *

Voici des options très utiles :

  • -i pour être insensible à la case
  • -a pour cherche dans les fichiers binaires
  • -n pour afficher le nom du fichier avec son numéro de ligne
  • -c pour afficher le nombre d’occurance dans le fichier
  • -o n’affiche que l’occurance trouvée
grep  -rino "bateau" *

Combinons les deux recherche

Cherche l’expression bateau dans les fichiers qui se termine par .log

find -name *.log -exec grep -ino "bateau" {} \;

Pas à suivre, vous perdez le nom du fichier, préférez l'outil grep seul.

Vous l’aurez compris, vous pouvez utiliser cela pour supprimer par exemple des fichiers qui correspondent à une recherche. Par exemple, supprimer les fichier qui commence par toto dans le répertoire /tmp :

find /tmp -name toto* -exec rm {} \;

Motion sous linux

Le logiciel motion sous GNU/Linux est un démon qui permet de faire des captures vidéo sur du long terme à partir d’une webcam.

Voici quelques fonctions sympas :

  • Créer une vidéo accéléré du ciel, d’une plante ou d’un escargot en accéléré
  • Capturer et envoyer sur un FTP l’image d’une webcam à intervalle régulière
  • Enregistrer les séquences de mouvement devant une webcam
  • Se connecter à motion via le web pour contrôler ou visualiser sa webcam
  • Avoir 8 webcams (ou plus) qui captent en même temps sur la même machine
  • Traquer et suivre avec une webcam motorisée les mouvements
  • Enregistrer les événements dans une base de données

Je vais vous préciser ici les options de base pour permettre les 3 fonctions ci dessous (Je pars de la config du paquet de Debian Squeeze) :

  1. Créer une image toute les 10s
  2. Créer un film d’une semaine de capture avec 1 minute capturée = 1 frame donc 1 journée capturée = 1 minutes de vidéo environ.
  3. Créer autant de séquences vidéo à 5 FPS que de détections de mouvement avec une image associée
# Pour le point 3 : On définit le framerate à 5FPS
framerate 5
# Je fixe la sensibilité à 1000 pixel pour la captation de mouvement
threshold 1000
# Je capture 3 frames de buffer avant une captation de mouvement
pre_capture 3
# Je clos les captation de mouvement 5 secondes si plus rien de bouge devant la webcam
gap 5
# Je décide d'avoir une image qui correspond aux premiers instant de detection de mouvement
output_normal first

# Point 2 : Je capture une frame toute les 60 secondes pour la vidéo en accélérée
ffmpeg_timelapse 60
# Je fait réinitialiser le film accéléré tout les lundi
ffmpeg_timelapse_mode weekly-monday
# Je fixe la qualité des vidéo à 15/31 (2 étant le plus fort)
ffmpeg_variable_bitrate 15
# Je définis la compression en mpeg4
ffmpeg_video_codec mpeg4

# Pour le point 1 : Je définis 1 capture image toutes les 10 secondes
snapshot_interval 10

Tags: , , ,

Ajouter la clé d’un dépôt à votre système APT

Parfois, il arrive de devoir ajouter des dépôts non officiels à la distribution. Pour cela, j’ai l’habitude d’éditer directement le fichier /etc/apt/sources.list

Et bien sûr cela provoque un message à chaque update du style :

W: Erreur de GPG : http://archives.unpaquetexemple.com squeeze Release : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 0123456789ABCDEF

Une solution simple est de l’ajouter comme cela (en ayant remplacé la clé donnée par le Warning ci précédant) :

gpg --keyserver pgpkeys.mit.edu --recv-key 0123456789ABCDEF
gpg -a --export C514AF8E4BA401C3 | apt-key add -

Tags: , , , ,

Booter en PXE via USB ou CD-ROM

Certaines cartes mère ne permettent pas le boot PXE. Une solution existe : GPXE.

GPXE est bootable sur de mutiples supports : USB, CD-ROM… et permet d’éffectuer un boot réseau.

  • Rendez vous sur la page http://rom-o-matic.net/gpxe/gpxe-1.0.1/contrib/rom-o-matic/build.php
  • Choisissez le type d’image souhaité (usb pour les clés, iso pour les cdrom)
  • Ajoutez les commandes suivantes (Adapatez l’ip à celui de votre serveur tftp)
dhcp net0
set next-server 10.9.0.1
set filename pxelinux.0
autoboot

Tags: , , ,

Limitation de bande passante

Aujourd’hui je vous ressort 2 outils qui peuvent bien dépanner : wondershaper et trickle.
Ils ont pour fonction de limiter la bande passante réseau ; le premier limite au niveau de l’interface, le second au niveau du programme.

Wondershaper

Il se contente juste de limiter le débit en kb/s d’une ou plusieurs de vos interfaces

Pour limiter à 10Mbps en download et 280Kbps en upload :
#wondershaper eth0 10000 280

Pour limiter à 56kbps (Rhaaa les bon vieux modem RTC…) :
#wondershaper eth0 56

Pour supprimer ces limites (Elle disparraissent au reboot) :
#wondershaper clear eth0

Trickle

Il s’agit d’un programme qui va lancer votre programme à votre place en limitant son débit réseau en Ko/s. Il n’est donc pas possible de limiter le débit avec twickle si votre programme est déjà lancé.

Effectuer un téléchargement à 30 Ko/s
$trickle -d 30 wget http://test-debit.free.fr/8192.rnd

Lancer firefox avec une connexion de 50Ko/s en download et 3Ko/s en upload
$trickle -u 3 -d 50 firefox

Lancer sans limitation initiale ; cela est pratique dans l’optique de changer le debit plus tard
$trickle firefox

Modifier le débit commun à chaque programme lancé par trickle avec tricked
$trickled -u 5 -d 20

Tags: , , ,

Quelques astuces bash

Il arrive souvent de vouloir manipuler des process par des petits scripts automatisés. J’ai condensé ici quelques mémos qui me servent occasionnelement.

Lancer mpd si celui ci n’est pas lancé :

if [ -z $(pidof mpd) ]; then
	mpd &
fi

Mettre en priorité CPU basse un programme déjà lancé (19 = la plus basse, -20 = la plus haute)

renice -n 19 -p $(pidof mpd)

Mettre en priorité IO basse un programme (7 = la plus basse, 0 = la plus haute)

ionice -n 7 -p $(pidof mpd)

Tags: , , ,

Lire une video en utilisant la carte graphique

Les pc actuels sont assez puissant pour ne pas avoir besoin d’aide à la décompression h264 mais parfois si.

Si vous avez une carte graphique acceleratrice, pour aurez peu être la chance de pouvoir décoder votre video h264.

Pour cela, il suffira de lancer votre video avec mplayer :

mplayer -vo vdpau -vc ffh264vdpau maVideo.mp4

Il vous faudra au préalable évidement utiliser un driver pour votre carte graphique (nvidia ou nouveau par exemple) et avoir la librairie libvdpau1.

 

Pour flash, j’ai du également forcer la décompression hardware dans le fichier /etc/adobe/mms.cfg (Il est à créer comme son répertoire) :

EnableLinuxHWVideoDecode=1
OverrideGPUValidation=0

Tags: , ,

Dupliquer une arborscence

Voici une synthaxe pour dupliquer une arborescence (avec seulement les répertoire).

rsync  -a --include='*/' --exclude='*' REPERTOIRE_SOURCE/ REPERTOIRE_DESTINATION/

PS: Les commentaires sont à nouveau ouverts si vous avez des questions, remarques, insultes et dons de maisons…

 

Tags: , ,

Spectrum, une passerelle multi-protocoles pour ejabberd

Depuis un moment, je testais quelques passerelles pour lier mon compte jabber perso aux différents protocoles existants sans trouver mon bonheur.

Je suis recement tombé sur spectrum, et j’en suis satisfait. Il gère quelques protocoles usuels et plus ! De plus sa configuration est assez simple ; voyez vous même la page wiki.

Page wiki du projet

Tags:

Gestion des scripts de démarrage init.d

Sous Debian ou Ubuntu par exemple, init gère aussi les scripts de demarrage et d’arret de vos services placés dans /etc/init.d

Un runlevel ?
Votre système évolue sur des runlevel allant de 0 à 6.
0 = Système arreté
1 à 2 = Système en mode single
3 à 5 = Système en mode multi-utilisateur (3 atteint par défaut chez debian)
6 = redemarrage du système

Les scripts ?
Ceux si sont généralement placés dans /etc/init.d/ .
Suivant le runlevel, les scripts (Qui sont des liens vers /etc/init.d/) du répertoire /etc/rcX.d/ sont appelés suivant un ordre conventionnel :
MNNnnnnn où M vaut S ou K pour start et kill si le passage du runlevel se fait en descendant ou en montant, NN est la priorité du script, 01 sera executé avant 02.. nnnn est le nom que l’on retrouve dans /etc/init.d/

exemple
/etc/rc3.d/S30mpd sera executé lorsque l’on passera du runlevel 2 à 3 après tous les autres script de priorité inférieur à 30 de ce repertoire.
/etc/rc1.d/K14mpd sera executé au passage du runlevel 2 à 1.

Comment ajouter un script toto
Placez votre script toto dans /etc/init.d/
Pour ajouter les liens afin qu’il démarre : update-rc.d toto defaults
Pour retirer les liens : update-rc.d toto remove

Tags: , ,

Je n'aime pas les boîtes noires.