dimanche, octobre 20, 2013

Creer une image d'un systeme déjà installé pour VirtualBox & Vagrant


Article pour Linux

1/ CREER UNE IMAGE VDI D'UN SYSTEM

* Prérequis : Avoir VirtualBox installer et dans le path

Exemple donné avec un systeme windows installé sur une  partition /dev/sda3

# creation de l'image
sudo -s cat /dev/sda3 | VBoxManage convertfromraw stdin /home/store/image.vdi $(expr 512 '*' $(cat /sys/block/sda/sda3/size))

# settings des droits
UID=mon_user
sudo chown $UID:vboxusers /home/store/image.vdi
sudo chmod u+rw,g+rw /home/store/image.vdi

Puis utiliser ce disque virtuel vdi pour constituer une nouvelle VM dans Virtual Box

Il faut ensuite restaurer le boot, étant donné que la plupart du temps la partition bootable n'est pas la partition dont on a fait l'image

# utilisation de boot-repair
télécharger l'ISO de boot-repair depuis http://sourceforge.net/p/boot-repair-cd/home/Home/
monter cet ISO en tant que CD dansla nouvelle VM précédement créer et booter dessus
utiliser  boot-repair pour restaurer le boot, par exemple installer GRUB pour linux ou restaurer la MBR pour windows

aide : https://help.ubuntu.com/community/Boot-Repair

2/PACKAGING VAGRANT

* Prérequis : Avoir vagrant installer et dans le path

Pour packager le vdi sous forme de box vagrant :

vagrant package --base image.vdi


mardi, juin 25, 2013

lundi, juin 24, 2013

CMake : Compiling for different hardware architectures


  • GCC (on Linux) or Sun Studio
Use compile option -m32 (force 32-bit build), -m64 (force 64-bit build)
  • Windows, Visual Studio generator
Use cmake -G "Visual Studio 9 2008 Win64" path_to_source_dir to compile 64-bit (x64)
  • Mac OS X
Use CMAKE_OSX_ARCHITECTURES CMake variable. You can set more than a single architecture to create universal binary, e.g
 cmake "-DCMAKE_OSX_ARCHITECTURES=i386;pcc" path_to_source 
will build universal binary with 32-bit intel / 32-bit powerpc.
cmake "-DCMAKE_OSX_ARCHITECTURES=x86_64" path_to_source 
will create x86_64 binary.

  • NMake Makefiles
    for 64 bits use the right SetEnv ou vsvarsall.bat command line and then
    cmake path to source -G "NMake Makefiles"
    nmake

mardi, juin 18, 2013

Git basic


Creer une archive zip à partir d'un tag ou d'une branche

git archive --format zip --prefix=root_folder_name/ --output /full/path/to/zipfile.zip TAG_NAME|BRANCH_NAME

Exemple avec projet hemeshgui pour creer une archive de release d'une v0.3-alpha
cd hemeshgui
git archive --format zip --prefix=hemeshgui/ --output ../hemeshgui-v0.3-alpha.zip v0.3-alpha
---------------------------------

jeudi, mai 30, 2013

Sync Github and Bitbucket


user github and bitbucket : paul
Github git repo : https://github.com/paul/app1
Bitbucket git repo : https://bitbucket.org/paul/app1

clone github repo
$git clone https://github.com/paul/app1.git
$cd app1

create new 'sync' branch and switch on it
$git checkout -b sync
$git branch

add new remote repo under name 'bitbucket'
$git remote add bitbucket https://bitbucket.org/paul/app1
$git remote -v

push the content of the sync branch on a new sync branch in 'bitbucket' repository
$git push -u bitbucket sync

Now do some change in 'sync' branch

to push changes in bitbucket just do
$git status
$git push

to update the github version
$git checkout master
$git branch
$git pull

to merge change (put sync branch content into master branch content)
$git checkout master
$git branch
$git merge sync
$git status

push any change to github
$git checkout master
$git branch
$git push
$git status


NOTE : https://gist.github.com/jcaraballo/1982605


vendredi, mai 24, 2013

Taille des repertoires et fichiers d'une arborescence

Pour afficher la taille occupee par des répertoires et des fichiers d'une arborescence linux


tree -h --du /path/to/folder

vendredi, avril 26, 2013

How to convert an arraybuffer to string in javascript


arrayBufferToString : function (arrayBuffer) {
var binary_string = '';
bytes = new Uint8Array(arrayBuffer);
for (var i = 0; i < bytes.byteLength; i++) {
    binary_string += String.fromCharCode(bytes[i]);
}
return binary_string;
},

XMLHttpRequest send binary data


XMLHttpRequest.prototype.binarySend = function(string) {
   var bytes = Array.prototype.map.call(string, function(c) {
     return c.charCodeAt(0) & 0xff;
   });
   this.send(new Uint8Array(bytes).buffer);




lundi, octobre 01, 2012

Configuration de nano


Pour configurer nano

editer /etc/nanorc pour tout le systeme

ou ~/.nanorc pour son user

AFFICHER LE NUMERO DE LA LIGNE PAR DEFAUT
ajouter :
set const

mardi, février 08, 2011

Ajouter un depot PPA du launchpad

Exemple avec https://launchpad.net/~stebbins/+archive/handbrake-releases
sudo add-apt-repository ppa:handbreake-releases
sudo apt-get update

Si il ya un problème, par exemple de proxy, on peut utiliser la méthode suivante :


W: Erreur GPG : http://ppa.launchpad.net lucid Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 8771ADB0816950D8


wget http://keyserver.ubuntu.com:11371/pks/lookup\?op=get\&search=0x8771ADB0816950D8 -O- | sudo apt-key add -

mercredi, décembre 01, 2010

Commande Find

Pour rechercher tous les fichiers se terminant par .c dans le répertoire /usr, vous taperez :
find /usr -name " *.c " -print

Pour connaître les derniers fichiers modifiés dans les 3 derniers jours dans toute l'arborescence (/), vous devez taper :
find / -mtime 3 -print

Vous pouvez chercher dans toute l'arborescence, les fichiers ordinaires appartenant à olivier, dont la permission est fixée à 755, on obtient :
find / -type f -user olivier -perm 755 -print

Recherche des fichiers qui obéissent à la fois à la condition a pour nom core et à la condition a une taille supérieure à 1Mo.
find . \  (-name core -a size +2000 \  ) -print

Exemple recherche des fichiers ayant pour nom core, suivi de l'effacement de ces fichiers.
find . -name core -exec rm '{}' \;

En tapant cette commande vous allez rechercher dans le répertoire courant tous les fichiers normaux (sans les répertoires, fichiers spéciaux), et rechercher dans ces fichiers tous ceux contenant la chaîne toto.
find . -type f -print | xargs grep toto
find / -type f ! -path '/proc/*' ! -path '/sys/*'  -print | xargs grep toto


http://www.funix.org/fr/unix/grep-find.htm

mercredi, octobre 13, 2010

iptables chaines et filtres


NOTES :
- Au premier routing, le traffic passe par INPUT ou FORWARD selon qu'il est destiné à la machine locale ou non
- PREROUTING, INPUT, FORWARD, OUTPUT et POSTPROCESSING sont des "chaines"
- mangle, nat, filter sont des "tables"

Connexion à UltraVPN en OpenVPN - Ubuntu 10.10 - Offre Gratuite


PARTIE 0 : INFORMATION SUR ULTRAVPN


- Connexion Open VPN gratuite 
- IP obtenue américaine
- Provider VPN français. (Service en réalité fourni par Lynanda)
- Ports P2P bloqués, et autres nombreux ports TCP 
- Débit lent



PARTIE 1 : CONFIGURATION DE LA CONNEXION

1.Installation paquet ubuntu
sudo apt-get install openvpn


2.Récupération certificat UltraVPN

sudo mkdir /etc/openvpn/ultravpn
sudo wget -O /etc/openvpn/ultravpn/UltraVPN_conf.tar.gz http://ia311024.us.archive.org/0/items/UltraVPN_Config/UltraVPN_conf.tar.gz
sudo tar -xzf /etc/openvpn/ultravpn/UltraVPN_conf.tar.gz -C /etc/openvpn/ultravpn/
sudo cp /etc/openvpn/ultravpn/UltraVPN.crt /etc/openvpn

3.Création fichier d'authentification avec le compte ultravpn

sudo nano /etc/openvpn/ultravpn.user
USER
PASSWORD

sudo chmod 600 /etc/openvpn/ultravpn.user

4.Création de fichiers de configuration pour UltraVPN

* Serveurs :
Les serveurs vpn disponibles sont :
Pour UltraVPN:
    * servers443.ultravpn.fr 443
    * servers24.ultravpn.fr 24
    * servers21.ultravpn.fr 21
    * servers54.ultravpn.fr 54
    * servers24.ultravpn.net 24
    * servers443.ultravpn.net 443


On peut soit
- créer un fichier de configuration par serveur pour pouvoir utiliser plusieurs tunnels à la fois
- lister les serveurs dans un même fichier de configuration ce qui met en place le "failover". Cad que le client essaye de se connecter aux serveurs dans l'ordre. (L'option remote-random dans la configuration permet d'essayer les serveurs dans un ordre aléatoire)

* Fichier de configuration pour UltraVPN :
Dans cet exemple, un seul fichier de configuration pour tous les serveurs

sudo nano /etc/openvpn/ultravpn.conf


client
dev tun
proto udp
hand-window 15
remote servers443.ultravpn.fr 443
remote servers24.ultravpn.fr 24
remote servers21.ultravpn.fr 21
remote servers54.ultravpn.fr 54
remote servers24.ultravpn.net 24
remote servers443.ultravpn.net 443
remote-random
resolv-retry infinite
nobind
persist-key
persist-tun
persist-remote-ip
ca UltraVPN.crt
auth-user-pass /etc/openvpn/ultravpn.user
comp-lzo
verb 3
log /var/log/openvpn.log

* Fichier de configuration de openvn :
sudo nano /etc/default/openvpn
AUTOSTART="none"

* Lancement et vérification état de la connexion du client vers le serveur VPN :

sudo service openvpn restart ultravpn
sudo service openvpn status ultravpn
sudo more /var/log/openvpn.log


5.Ajustements

* Ajouter/enlever cette connexion au boot de la machine :
sudo nano /etc/default/openvpn
Enlever "none" dans AUTOSTART et mettre le nom du fichier de configuration du tunnel
AUTOSTART="ultravpn"




PARTIE 2 : ROUTAGE



à remplir


REFERENCES

UltraVPN : 
https://www.ultravpn.fr/forum/index.php?topic=204.0

OpenVPN :
http://www.vogelweith.com/debian_server/10_openvpn.php#x1-60002
http://matu.tv/2009/09/creation-dune-passerelle-vpn-a-laide-dopenvpn-clientserveur/
http://blog.nicolargo.com/2010/10/installation-dun-serveur-openvpn-sous-debianubuntu.html

mardi, octobre 12, 2010

Connexion à Vyprvpn en PPTP - Ubuntu 10.10 - Offre Vyprvpn ou Offre Giganews

[EN COURS DE REDACTION]

PARTIE 1 : CONFIGURATION DE LA CONNEXION


0. Cas particuliers des FAI

Pour la freeboxV6 : testé avec aucune configuration particulère effectuée
Pour numericable : testé avec le routeur/modem Castelnet 30Mo, il faut activer l'option PPTP PassThrough dans l'administration. (IPSec PassThrough étant désactivé lors de mon test)


1. Installation paquet ubuntu
sudo apt-get install pptp-linux

correction d'un bug de pptpsetup, apparemment encore présent dans pptp-linux 1.7.2-5 :
Le script pptsetup n'écrit pas le double \\ dans le fichier /etc/ppp/chap-secrets mais un seul \
Correctif :
sudo sed -i 's/= "\$DOMAIN\\\\"/\= "$DOMAIN\\\\\\\\"/g' /usr/sbin/pptpsetup'



2. Création des fichiers de configuration de tunnels PPTP

Les serveurs vpn disponibles sont pour Vyprvpn :
    * us1.vyprvpn.com OU us1.vpn.goldenfrog.com pour Los Angeles, CA
    * us2.vyprvpn.com OU us2.vpn.goldenfrog.com pour Washington, DC
    * eu1.vyprvpn.com OU eu1.vpn.goldenfrog.com pour Amsterdam
    * uk1.vyprvpn.com OU uk1.vpn.goldenfrog.com pour Londres [Nouveau Serveur 2011]
    * hk1.vyprvpn.com OU hk1.vpn.goldenfrog.com pour Hong Kong

Dans le cas de l'offre Vyprvpn groupée à l'offre Giganews :
    * us1.vpn.giganews.com pour Los Angeles, CA
    * us2.vpn.giganews.com pour Washington, DC
    * eu1.vpn.giganews.com pour Amsterdam
    * uk1.vpn.giganews.com pour Londres [Nouveau Serveur 2011]
    * hk1.vpn.giganews.com pour Hong Kong


Pour créer la configuration d'un client PPTP, on va utiliser le script pptpsetup qui se charge pour nous de modifier les fichiers de configuration adéquats.

* Syntaxe :
sudo pptpsetup --create NOM_TUNNEL --server IP_VYPRVPN --domain NOM_DOMAINE --username USER--password PASSWORD --encrypt
NOM_TUNNEL : nom au choix
NOM_DOMAINE : nom de domaine du provider VPN : NE PAS UTILISER pour Vyprvpn
IP_VYPRVPN : un des serveurs VyprVPN

* Exemple pour VyVPRN :
sudo pptpsetup --create us1vyprvpn_ppt --server us1.vpn.giganews.com  --username USER --password PASSWORD --encrypt

On peut créer autant de tunnels que de serveurs vpn Vyvprvpn

* En cas d'erreur relative à MPPE (cryptage) :
Si vous avez une erreur en à la création des tunnels :
sudo modprobe ppp-compress-18

* Pour effacer un tunnel :
sudo pptpsetup --delete us1vyprvpn_ppt


3. Ouverture et fermeture des tunnels

* Syntaxe :
sudo pon NOM_TUNNEL
sudo poff NOM_TUNNEL

* Exemple :
sudo pon us1vyprvpn_ppt
sudo poff us1vyprvpn_ppt

* Mode debug :
sudo pon us1vyprvpn_ppt debug dump logfd 2 nodetach


4. Ajustements


* Numero d'interface pppX:

Pour que les tunnels se voient attribués toujours le même numéro d'interface (ppp0, ppp1, etc...),
il faut préciser le numéro dans le fichier /etc/ppp/peers correspondant avec le mot clé unit en l'ajoutant à la fin du fichier.
Sinon, par défaut, les tunnels se voient attribués un numéro en fonction de leur ordre d'activation.

exemple pour associer ppp1 au tunnel eu1vyprvpn_ppt :
sudo nano /etc/ppp/peers/eu1vyprvpn_ppt
unit 1




* Autoreconnect :
Pour que les tunnels se reconnectent automatiquement en cas d'échec
sudo nano /etc/ppp/options
ajouter le mot clé
persist
Ou ajouter ce mot clé seulement aux tunnels désirés dans les fichiers présents dans /etc/ppp/peers

* Démarrage automatique :
Pour que les tunnels démarrent au boot du systeme
sudo nano /etc/network/interfaces
ajouter la section suivante pour chaque tunnel

auto NOM_INTERFACE
iface NOM_INTERFACE inet ppp
        provider NOM_TUNNEL



auto us1ppp0
iface us1ppp0 inet ppp
       provider us1vyprvpn_ppt



auto eu1ppp1
iface eu1ppp1 inet ppp
       provider eu1vyprvpn_ppt




Pour piloter manuellement les tunnels, il faut alors utiliser les commandes
sudo ifdown us1ppp1
sudo ifup us1ppp1
Pour désactiver le démarrage automatique d'un tunnel, il faut commenter la ligne auto us1pp1
NOTE : les interfaces crées sont alors "ppp0" pour  us1ppp0 et "ppp1" pour eu1ppp1. Le nom est toujours ppp et le numéro dépend de l'ordre d'activation (ou d'une option dans /etc/peers, cf ci dessus)

* Bug MTU
https://bugs.launchpad.net/ubuntu/+source/network-manager-pptp/+bug/294564
Connexion interrompue dès que du traffic traverse le tunnel
Si c'est le cas ajouter dans /etc/ppp/options
MTU 1500




PARTIE 2 : ROUTAGE


[a remplir]



REFERENCES :

PPTP :
http://ubuntuforums.org/showthread.php?t=1443735
http://pptpclient.sourceforge.net/howto-ubuntu.phtml

VyprVPN :
https://www.goldenfrog.com/FR/support/vyprvpn/vpn-setup

MPPE et PPTP :
http://ubuntuforums.org/showthread.php?t=75676
http://pptpclient.sourceforge.net/howto-diagnosis.phtml#mppe_kernel

Routage :
http://pptpclient.sourceforge.net/routing.phtml
http://blog.dantesk.net/post/2010/04/23/Routage-d-une-application-spécifique-a-travers-un-réseau-VPN
http://www.hleroy.com/post/2009/10/29/IPREDATOR-sur-Dedibox-/-Free-:-configurer-le-policy-routing

Connexion à Vyprvpn en OpenVPN - Ubuntu 10.10

[EN COURS DE REDACTION]


PARTIE 0 : INFORMATION SUR VYPRVPN



Les bénéficiaires d'un accès VyprVPN via l'offre diamond de Giganews, ne peuvent pas accèder au vpn en openvpn. Ils doivent se rabbatre sur du PPTP.

PARTIE 1 : CONFIGURATION DE LA CONNEXION

1.Installation paquet ubuntu
sudo apt-get install openvpn


2.Récupération certificat VyprVPN 

Offre VyprVPN en openvpn :
sudo wget -O /etc/openvpn/ca.vyprvpn.com.crt https://www.goldenfrog.com/downloads/ca.vyprvpn.com.crt

3.Création fichier avec le compte vyprvpn

sudo nano /etc/openvpn/vyprvpn.user
USER
PASSWORD

sudo chmod 600 /etc/openvpn/vyprvpn.user

4.Création de fichiers de configuration pour VyprVPN

* Serveurs :
Les serveurs vpn disponibles sont :
Pour Vyprvpn :
    * us1.vyprvpn.com OU us1.vpn.goldenfrog.com pour Los Angeles, CA
    * us2
.vyprvpn.com OU us2.vpn.goldenfrog.com pour Washington, DC
    *
eu1.vyprvpn.com OU eu1.vpn.goldenfrog.com pour Amsterdam
    *
hk1.vyprvpn.com OU hk1.vpn.goldenfrog.com pour Hong Kong

On peut soit
- créer un fichier de configuration par serveur pour pouvoir utiliser plusieurs tunnels à la fois
- lister les serveurs dans un même fichier de configuration ce qui met en place le "failover". Cad que le client essaye de se connecter aux serveurs dans l'ordre. (L'option remote-random dans la configuration permet d'essayer les serveurs dans un ordre aléatoire)

* Fichier de configuration pour VyprVPN :
Dans cet exemple, un fichier de configuration différent par serveur
sudo nano /etc/openvpn/us1.vyprvpn.conf


client
dev tun
proto udp
remote us1.vyprvpn.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
persist-remote-ip
ca ca.vyprvpn.com.crt
tls-remote  us1.vyprvpn.com
auth-user-pass /etc/openvpn/vyprvpn.user
comp-lzo
verb 3
log /var/log/openvpn.log

* Fichier de configuration de openvn :
sudo nano /etc/default/openvpn
AUTOSTART="none"

* Lancement et vérification état de la connection du client vers le serveur VPN de VyprVPN

sudo service openvpn restart us1.vyprvpn
sudo service openvpn status us1.vyprvpn
sudo more /var/log/openvpn.log



5.Ajustements

* Ajouter/enlever cette connexion au boot de la machine :
sudo nano /etc/default/openvpn
Enlever "none" dans AUTOSTART et mettre le nom du fichier de configuration du tunnel AUTOSTART="us1.vyprvpn"



PARTIE 2 : ROUTAGE

à remplir

REFERENCES

VyprVPN :
https://www.goldenfrog.com/FR/support/vyprvpn/vpn-setup

OpenVPN :
http://www.vogelweith.com/debian_server/10_openvpn.php#x1-60002
http://matu.tv/2009/09/creation-dune-passerelle-vpn-a-laide-dopenvpn-clientserveur/
http://blog.nicolargo.com/2010/10/installation-dun-serveur-openvpn-sous-debianubuntu.html

dimanche, octobre 10, 2010

Configuring anonymous public shares with Samba 3

Exemple :
#/etc/samba/smb.conf
[public]
        comment = Public Shares
        browsable = yes
        path = /data/pub
        public = yes
        writable = no
        write list = user_who_can_write
        guest ok = yes 
 
[global]
        #...
        guest account = nobody            
        map to guest = Bad Password 
 
 
---

AND

This will create the user with no password :
# smbpasswd -an nobody





http://micheljansen.org/blog/entry/182

mercredi, mai 19, 2010

Bug maven 2.x "plugin does not exist or no valid" (ie: The plugin 'org.codehaus.mojo:sonar-maven-plugin' does not exist or no valid version could be found)

maven sometimes stop working with plugin

The bug is well known and often appear when using Hudson and Sonar together.

The bug is about corrupt metadata xml file of local maven repository.
http://docs.codehaus.org/display/MAVENUSER/FAQs-1#FAQs-1-novalidversion
http://jira.codehaus.org/browse/MNG-2408

- A simple work around is to erase the local maven repository
- The best work around is to use -U while using mvn.

In the context of hudson/sonar, just set in -U to the additional properties in the global configuration of the Sonar plugin for Hudson
>Add Sonar
>Nom : sonar2.0.1
>URL : http://host:16080/sonar
>URL du serveur public : http://host:16080/sonar
>URL BDD : jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
>Nom user BDD : xxx
>Mot de passe BDD : xxx
>Driver BDD : com.mysql.jdbc.Driver
>Additional properties : -U

jeudi, mai 13, 2010

Sacred 2

Partie en réseau local mais sur internet (via hamachi) :
- utiliser un réseau local constitué avec hamachi (testé avec la version 2.0.2.85)
- bien configurer hamachi (cad connexion hamachi devant les autres et métrique de la connexion a 10 )
tutorial : http://www.hamachifrance.com/forum/tutoriels-jeux-hamachi/149-tuto-configurer-hamachi-pour-xp-vista-et-7-a.html
- Aucun routage de port nécessaire vers la machine serveur à travers le réseau hamachi

Patchs officiels :
http://update.sacred2.com/apache2-default/

Hamachi

Toutes les versions :
http://www.filehippo.com/download_hamachi


Configuration de Hamashi sur win XP, vista, win7 :
http://www.hamachifrance.com/forum/tutoriels-jeux-hamachi/149-tuto-configurer-hamachi-pour-xp-vista-et-7-a.html

Dungeon Siege 2 et hamachi et resolution

http://logmeinwiki.com/wiki/Hamachi:Dungeon_Siege_2




Pour jouer en résolution plus élevée que la résolution standard, modifier l icone de lancement est ajoutée a la fin de la commande
height=1050 width=1680