Aller au contenu | Aller au menu | Aller à la recherche

Tag - howto

Fil des billets

jeudi, janvier 22 2009

Utiliser le gestionnaire de versionnement GIT

J'ai mis longtemps à choisir un VCS et voilà j'ai fait mon choix ce sera GIT. Bazaar à l'air sympa et a les mêmes caractéristiques à peu près. Enfin ce qui m'interesse surtout c'est la gestion décentralisée!

Configuration des infos utilisateur

$ git config --global user.name "Your Name Comes Here"
$ git config --global user.email you@yourdomain.example.com

Initialiser le repertoire pour travailler avec GIT

cd  ~projects/mywebsite
git init
git add.
git commit -m "Import initial"

Avec ceci nous avons un environnement de travail prêt avec une branche créée "master" par défaut. Pour gérer les branches il suffit de faire un git branch

Travailler à plusieurs sur le même serveur en ayant chacun son répertoire de travail

git clone ~projects/mywebsite ~projects/fry-work
git clone ~projects/mywebsite ~projects/leela-work

Vous pouvez configurer chaque repertoire de travail dans les vhosts de apache afin d'avoir un site propre à chaque développeur.

Mettre à jour le site principal (trunk)

cd ~projects/fry-work
git commit -a -m "Les modifs de Fry!"
cd ~projects/mywebsite
git pull ~projects/fry-work master

Et voilà !

Sources et infos :

mercredi, janvier 14 2009

Envoyer un fichier via FTP en ligne de commande

En modifiant un peu le script suivant vous pourrez envoyer un fichier en ftp facilement et automatiquement. Il suffit juste de le mettre dans le crontab et ainsi on peut faire une mise à jour d'une image provenant d'une webcam ou alors uploader sa sauvegarde tous les jours.

#!/bin/sh
cd $HOME/directory
HOST='ftp.xxx.com'
USER='login'
PASSWD='pass'

ftp -n -v $HOST  EOT
ascii
user $USER $PASSWD
prompt
put myfile.jpg /www/images/myfile.jpg
quit
EOT
#if you want to sleep ;-)
#sleep 12

mardi, avril 29 2008

Faire un message d'absence avec Qmail

Le fichier dot qmail (.qmail) du repertoire utilisateur permet d'executer des commandes et redirections lors de la réception d'email. Ce fichier doit être placé ici : /var/vpopmail/domains/mydomain.com/user1/.qmail

Voir la documentation officielle ici : http://www.qmail.org/man/man5/dot-qmail.html

Dans l'exemple ci-dessous nous renverrons un message à l'expediteur tout en en stockant le message dans la boite mail de destination.

Le fichier .qmail:

| cat .email | sed s/"\!SENDER\!"/$SENDER/g | /var/qmail/bin/qmail-inject
/var/vpopmail/domains/mydomain.com/user1/.maildir/

L'email de réponse .email

From: "User 1" <user1@mydomain.com>
To: !SENDER!
Subject: Automatic response

You would rather like to send messages to user2@mydomain.com.
Thank you.

Et voilà, l'expéditeur sera averti de l'absence de la personne, mais l'email sera quand même receptionné. A vous de personnaliser le message bien sûr!

mercredi, mars 19 2008

Pure-ftp

Ajout de l'utilisateur

pure-pw useradd toto -d /export/ftp/toto/ -t 60 -N 2048 -y 3 -u 21 -g 21

-d directory -t limitation de la bande passante en download à 60ko/s -N 2048Mo en limite -y nombre de connexions simultanées 2 ou 3 -u uid 21=ftp -g gid 21=ftp Mise à jour de la DB

pure-pw mkdb

Verification des options de l'utilisateur

pure-pw show toto

Test de la connexion a faire coté client. Vérification des connexions sur le serveur

watch -n 1 pure-ftpwho

mardi, décembre 11 2007

FFmpeg

Aide sur ffmpeg

ffmpeg  -i input.ogg -ar 22050 -ab 56 -aspect 4:3 -b 200 -r 12 -f flv -s 320x240 -acodec mp3 -ac 1 output.flv

Sans audio mpeg2

ffmpeg  -i input.ogg -an -aspect 4:3 -b 200 -r 15 -s 320x240 -target pal-dvd output.mpg

Conversion en flash

ffmpeg  -i input.ogg output.swf

Options importantes:

-an : no audio
-target: pal-dvd
-b: bitrate video
-s: resolution
-aspect: aspect
-f: codec

mercredi, octobre 31 2007

e-mail en japonais...

Envoyer les titres des emails correctement dans un codage autre que ISO-8859. Voir explication ci-dessous:

Now we have an encoded subject, but our mail reader won't know that. So we need to tell it by formatting our subject as follows: "=?" charset "?" encoding "?" encoded-text "?=" , where charset is the original character set and encoding is either "Q" for Quoted-Printable or "B" for Base64.

Examples:
The subject containing the Quoted-Printable ISO-8859-1 string "Voilà une message", is written as:
Subject: =?ISO-8859-1?Q?Voil=E0_une_message?=
The Base64 version of the ISO-8859-1 string is:
Subject: =?ISO-8859-1?B?Vm9pbOAgdW5lIG1lc3NhZ2U=?=
The Quoted-Printable version of the UTF-8 string is:
Subject: =?UTF-8?Q?Voil=C3=A0_une_message?=
The Base64 version of the UTF-8 string is:
Subject: =?UTF-8?B?Vm9pbMOgIHVuZSBtZXNzYWdl?=

"Raw" non-encoded subjects can work and modern mail clients handle it properly, but I found that at least using utf-8 as encoding, the spam analizers complain stating "BAD HEADER Non-encoded 8-bit data". To prevent this, and taking the info above, I decided to use base64, which at least seems to have specific functions (and because it works, of course). So, one could use the following code:

Donc voici ce qu'il faut faire pour tout encoder en base_64:

<?php
...
$charset='UTF-8';
$subject='Subject with extra chars: áéíóú';
$encoded_subject="=?$charset?B?".base64_encode($subject)."?=
";
$to=mail@foo.com;
$body='This is the body';
$headers="From: ".$from."
"
    . "Content-Type: text/plain; charset=$charset; format=flowed
"
    . "MIME-Version: 1.0
"
    . "Content-Transfer-Encoding: 8bit
"
    . "X-Mailer: PHP
";
mail($to,$encoded_subject, $body,$headers);

?>

Solution trouvé sur php.net.

mardi, août 28 2007

Seq

Comment générer une suite de chiffres très facilement avec un format particulier?

seq -s ',' -f 01021501C%04g 16 20

va génerer:

01021501C0016,01021501C0017,01021501C0018,01021501C0019,01021501C0020

Comment faire plus facile??

Completement RAID

Et oui heureusement que j'avais un RAID1 car un de mes 2 disques vient de me lacher sur un de mes serveurs. Alors voici la manip pour tout remettre en ordre.

1) Acheter un disque si vous n'aviez pas prévu le disque de spare...

2) Copie de la table de partition du disque A vers le nouveau disque B

sfdisk -d /dev/sda | sfdisk /dev/sdb

3) Si le disque contenait déjà un raid, il faut effacer la signature

mdadm --zero-superblock /dev/sdb

4) Ajouter le disque au raid existant (hot add) et réitérer pour les partitions suivantes

Juste avant il faut marquer comme défaillant le disque existant

mdadm --manage /dev/md1 --fail /dev/sdb1
mdadm -a /dev/md1 /dev/sdb1
mdadm -a /dev/mdX /dev/sdbX

Et normalement notre gentil mdadm répond: "hot added /dev/sdb1"

5) Il reste plus qu'à regarder (watch) l'avancement avec un petit

watch -n 1 cat /proc/mdstat

Autre commandes utiles:

Avoir plus d'infos sur le raid

mdadm -D /dev/md0

Stopper un raid

umount /dev/md1
mdadm -stop /dev/md1

Enlever une partition du raid

mdadm -r /dev/md1 /dev/sda1

vendredi, juillet 13 2007

Satané erreur 13 du vendredi 13 !!

Ce matin alors que je voulais créer une nouvelle base de données mysql pour faire quelques essais, mon mysqladmin me répondit la chose suivante:

10:57:08 root@xxx mysql# mysqladmin create SANDBOX
mysqladmin: CREATE DATABASE failed; error: 'Ne peut créer la base 'SANDBOX' (Erreur 13)'

Erreur 13??? Mais qu'est ce que cela peut bient être? Aucune information de plus... sympa mysql. Un petit coup de google et pas grand chose non plus...

Finalement après quelques recherches, il s'agissait d'une chose toute simple, j'ai déplacé mon répertoire de données mysql et j'avais oublié de remettre les droits sur le répertoire. Bref un petit coup de

chown mysql mysql && chgrp mysql mysql

et ça remarche.

En espérant que ça aide certains :)

mardi, juillet 3 2007

Petits problèmes et conseils pour Ubuntu 7.10

Config clavier xorg.conf

Votre clavier est passé en qwerty suite à une mise à jour de xorg? Voici la solution

SAMBA:

Parcque partager ses fichiers c'est mieux! http://doc.ubuntu-fr.org/installation/monterpartagewindows

en ligne de commande

mount //serveur/partage /media/partage/ -o username=bob,iocharset=utf8,users,user,rw,uid=bob,gid=users

dans fstab:

//serveur/partage   /media/partage  smbfs defaults,user,users,iocharset=utf8,codepage=850,dmask=755,fmask=644,rw,credentials=/root/.smbcredentials,uid=bob,gid=users 0 0

crédentials

username=bob
password=marley

VirtualBox:

La virtualisation simplifiée avec VirtualBox

Bip système

Pour supprimer le bip dans le terminal, créer un fichier .inputrc dans le home de l'utilisateur avec le contenu suivant:

set bell-style visible

mardi, mars 20 2007

GNU Screen tips et le .screenrc

Screen est un multiplexeur de terminal. Je vais vous donner quelques tips sympa pour utiliser au mieux cet outil merveilleux.

Si vous ne connaissez pas cet outil, je vous laisse le découvrir en lisant ceci ou allant sur la homepage du projet

Lancement de screen

Lancement classique

screen

Reprendre une session existante

screen -rd

Lister les sessions existantes

screen -ls

Reprendre une session parmi plusieurs

screen -rd <num> #seulement le premier chiffre suffit

Lancer une session en mode collaboratif

screen -x

.screenrc

Problèmes d'escape? utilisez les bind suivant

bindkey -b -d kb stuff ^H
bindkey -d -k kb stuff "\010"

Voir également http://www.linuxquestions.org/questions/showthread.php?threadid=132819

Voici mon .screenrc complet

startup_message off
# send CTRL-H when use backspace
bindkey -b -d kb stuff ^H
# set terminal type
#term vt100
# set a big scrolling buffer
defscrollback 5000
caption always "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= @%H - %LD %d %LM - %c"
# screen visual bell message
vbell_msg " Dinggg "
# utf-8 for new windows
defutf8 on
# utf-8-aware in the 2 ways
utf8 on on

Tips

Toutes les commandes commencent pas CTRL-a abregé sur les docs pas C-a

Quelques commandes basiques:

  • C-a C création d'un nouveau terminal
  • C-a 2 permet de sélectionner le terminal 2
  • C-a " permet de voir la liste des terminaux ouverts
  • C-a a permet de switcher avec le dernier terminal ouvert
  • C-a d permet de détacher screen
  • C-a A permet de renommer le terminal courant

Quelques commandes sympa:

  • C-a S split le screen en horizontal, ça s'appelle les régions
  • C-a <tab> permet de naviguer entre les régions
  • C-a X permet de fermer toutes les régions et de revenir au comportement par défaut
  • C-a : active la ligne de commande interne à screen. exemple tapper resize 30 pour changer la taille d'une région
  • C-a <esc> permet de passer en mode copy
  • <space> pendant le mode copy set le début de la copie, rappuyer sur <space> à la fin de la sélection. Pour utiliser ce buffer il faut faire C-a ]

Ressources:

Le Gentoo wiki : énorme documentation doc http://gentoo-wiki.com/TIP_Using_screen