walk-hoary

Archives pour la catégorie GNU/Linux

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: , ,

Etherpad – bloc note multi-utilisateur en ligne

Etherpad est un traitement de texte en ligne très léger à la manière de google doc.

Il vous permet de travailler en temps réel avec d’autres utilisateur sur un même document à la manière de google doc.Ceci tout en donnant juste un lien aux personnes qui doivent rédiger ou visualiser le document en question.

L’interface est minimaliste, l’acces se fait par un simple lien commun pour tous, une couleur par personne représente les modifications, un chat y est intégré, des exports pdf, doc txt sont possible et un historique des modifications est conservé.

Pour y acceder : http://pad.qth.fr

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: , ,

Être averti des connexions SSH

Vous avez un serveur SSH, il peut être  interessant d’être notifié lorsque quelqu’un se connecte sur votre serveur / votre machine.

Remplacez votre@email par l’email voulu.

Voici un bout de code à mettre à la fin de votre ~/.bashrc des comptes concernés :

SSH_CONNECTION_CLIENT_IP=`echo $SSH_CONNECTION | cut -d" " -f1`
SSH_CONNECTION_CLIENT_HOSTNAME=`host $SSH_CONNECTION_CLIENT_IP | cut -d" " -f5`
SSH_CONNECTION_CLIENT_PORT=`echo $SSH_CONNECTION | cut -d" " -f2`
SSH_CONNECTION_SERVEUR_IP=`echo $SSH_CONNECTION | cut -d" " -f3`
SSH_CONNECTION_SERVEUR_HOSTNAME=`host $SSH_CONNECTION_SERVEUR_IP | cut -d" " -f5`
SSH_CONNECTION_SERVEUR_PORT=`echo $SSH_CONNECTION | cut -d" " -f4`
SSH_CONNECTION_LOGIN=`whoami`
SSH_CONNECTION_HOST=`hostname`
SSH_CONNECTION_HEURE=`date`
SSH_CONNECTION_LOAD=`cat /proc/loadavg`
SSH_CONNECTION_OS=`cat /proc/version | cut -d"#" -f1`
SSH_CONNECTION_LISTWHO=`who`
echo -e "Accès Shell sur $SSH_CONNECTION_LOGIN@$SSH_CONNECTION_HOST depuis $SSH_CONNECTION_CLIENT_IP ($SSH_CONNECTION_CLIENT_HOSTNAME)
------------------------------------
IP client     : $SSH_CONNECTION_CLIENT_IP :$SSH_CONNECTION_CLIENT_PORT ($SSH_CONNECTION_CLIENT_HOSTNAME)
IP Serveur    : $SSH_CONNECTION_SERVEUR_IP :$SSH_CONNECTION_SERVEUR_PORT ($SSH_CONNECTION_SERVEUR_HOSTNAME)
Heure serveur : $SSH_CONNECTION_HEURE
Load average  : $SSH_CONNECTION_LOAD
OS            : $SSH_CONNECTION_OS
Connexions    :
$SSH_CONNECTION_LISTWHO
------------------------------------" | mail -s "Accès Shell sur Accès Shell sur $SSH_CONNECTION_LOGIN@$SSH_CONNECTION_HOST depuis $SSH_CONNECTION_CLIENT_IP ($SSH_CONNECTION_CLIENT_HOSTNAME)" votre@email &

Tags: , ,

Créer un patch

Voici deux commandes toutes simples lorsque vous souhaitez diffuser une modification d’un code ou l’appliquer :

Vous souhaitez diffuser une modification d’un code

Soit monFichier.php un fichier modifié en ayant pris soin d’avoir sa version « normale » disons sous le nom monFichier.php.original et monPatch.diff le patch de sortie que va être crée.

diff -c monFichier.php.original monFichier.php > monPatch.diff

Vous souhaitez appliquer un patch

patch < monPatch.diff

A retenir

Vous pouvez concaténer les patch dans un seul fichier (Et donc les visualiser par un editeur de texte).

L’option -p pour patch permet de situer où appliquer le patch. (-p 1 : repertoire courant, -p 0 : repertoire courant et recursivement les autres, -p 2 : appliquer dans le repertoire courant en ignorant le premier niveau dans le patch…).

Vous pouvez gzipper pour gagner en place tel que

diff gnagna1.c gnagna2.c > gzip gnagna.diff.gz

et

zcat gnagna.diff.gz | patch

Tags: , ,

Je n'aime pas les boîtes noires.