Xen role : serveur postgresql

Voici mon role Xen pour l’installation d’une machine virtuelle servant de serveur postgreSQL. Pour plus d’explication sur l’installation de postgres : voir ici.

Les étapes :

  1. Execution du role default
  2. Installation des paquets postgresql
  3. Déménagement du cluster postgresql
  4. Configuration de postgresql

Le rôle :

#!/bin/sh
prefix=$1

# Source our common functions - this will let us install a Debian package.
if [ -e /usr/lib/xen-tools/common.sh ]; then
 . /usr/lib/xen-tools/common.sh
else
 echo "Installation problem"
fi

# Execute default
. /etc/xen-tools/role.d/default

# Installation des paquets
installDebianPackage ${prefix} postgresql
installDebianPackage ${prefix} postgresql-client

# Démangement du cluster maitre
chroot ${prefix} pg_dropcluster 8.4 main
chroot ${prefix} pg_createcluster -d /home/postgres/data 8.4 main

# Configuration
cp /etc/xen-tools/skel/pg_hba.conf ${prefix}/etc/postgresql/8.4/main/pg_hba.conf
chroot ${prefix} cp -p /etc/postgresql/8.4/main/postgresql.conf            \
                       /etc/postgresql/8.4/main/postgresql.conf.1
sed s/"#listen_addresses = 'localhost'"/"listen_addresses = '*'"/          \
                 ${prefix}/etc/postgresql/8.4/main/postgresql.conf.1       \
                 > ${prefix}/etc/postgresql/8.4/main/postgresql.conf

Ce qu’il reste à faire :

  1. Création des utilisateurs postgresql : createuser
  2. Création des base de données.

PS: désolé pour les multi-lines j’ai pas trouvé de solutions.

Catégories:Mes roles Tags:, ,

Les roles Xen – script de post-installation de machine virtuelle

Cette article traitera de l’utilisation des rôles dans la création de machine virtuelle Xen, il fait suite à mes 2 précedents articles sur Xen traitant de l’installation puis de la création d’un domU.

Les roles Xen sont en quelque sorte des scripts de post-installation que xen-create-image utilisera pour finaliser l’installation de vos machines virtuelles.
Pour utiliser les rôles, rien de plus simple :

# xen-create-image --hostname=machine --ip 192.168.1.100 --role=default

L’ensemble des rôles sont stockés dans /etc/xen-tools/role.d/ et vous pouvez en ajouter autant que vous le souhaitez.
La création des rôles est assez simple, pour vous le prouver vous trouverez ci-dessous mon rôle default :

#!/bin/sh
prefix=$1

# Import de fonction d’installation de paquets debian
if [ -e /usr/lib/xen-tools/common.sh ]; then
. /usr/lib/xen-tools/common.sh
else
echo “Installation problem”
fi

# Installation des paquets qui me sont nécessaires par defaut
chroot ${prefix} /usr/bin/apt-get update
chroot ${prefix} /usr/bin/apt-get -y -f upgrade
installDebianPackage ${prefix} openssh-server
installDebianPackage ${prefix} bash-completion
installDebianPackage ${prefix} vim
installDebianPackage ${prefix} less
installDebianPackage ${prefix} ntp
installDebianPackage ${prefix} sudo

# Création de monutilisateur
chroot ${prefix} useradd -d /home/monutilisateur -p “mon mot de passe crypter” -m -s /bin/bash -U monutilisateur

# Configuration de ssh
cp /etc/xen-tools/skel/sshd_config ${prefix}/etc/ssh/
mkdir ${prefix}/home/monutilisateur/.ssh
cp /etc/xen-tools/skel/ssh/domU_keys ${prefix}/home/monutilisateur/.ssh/authorized_keys
chroot ${prefix} chmod -R 600 /home/monutilisateur/.ssh
chroot ${prefix} chmod 700 /home/monutilisateur/.ssh

# Personnalisation de mon utilisateur
cp /etc/xen-tools/skel/.bashrc_user ${prefix}/home/monutilisateur/.bashrc
cp /etc/xen-tools/skel/.vimrc ${prefix}/home/monutilisateur/
chroot ${prefix} chown -R monutilisateur:monutilisateur /home/monutilisateur

# Personnalisation de charlie root
cp /etc/xen-tools/skel/.bashrc_root ${prefix}/root/
cp /etc/xen-tools/skel/.vimrc ${prefix}/root/
chown -R root:root ${prefix}/root

# Install and configuration de sudo en utilisant le role sudoers
. /etc/xen-tools/role.d/sudoers
chroot ${prefix} usermod -a -G sudo monutilisateur

Une fois ce rôle exécuté, je me retrouve avec une machine offrant un serveur SSH avec authentification par clef et mon environnement tout prêt pour de nouvelles aventures.

Postgresql: Installation et configuration

Installation à partir du paquet de votre distribution

# pacman -S postgresql       // Pour archlinux
# apt-get install postgresql // Pour debian

Par défaut, l’ensemble des bases de données seront enregistrées dans /var/lib/postgres (qui est partition assez limité chez moi), nous allons donc la changer pour les mettre dans /home/postgres :

  • Sous archlinux, créer /home/postgres, affecter le path à l’utilisateur postgres puis modifier la variable PGROOT du fichier /etc/conf.d/postgres tels que :

    # mkdir /home/postgres
    # chown postgres:postgres /home/postgres
    # vi /etc/conf.d/postgres
    PGROOT="/home/postgresql"

  • Sous debian, il faut supprimer le cluster (espace de données) créer par l’installation du paquet puis en créer un à l’emplacement désiré, /home/postgres.

    # pg_dropcluster 8.4 main
    # pg_createcluster -d /home/postgres 8.4 main

Configuration de l’interface d’écoute listen_addresses.

  • Sous Archlinux : /var/lib/postgres/data/postgresql.conf
  • Sous Debian : /etc/postgresql/8.4/main/postgresql.conf

listen_addresses = '192.168.1.*'

Configuration des droits et modes de connexions.

  • Sous Archlinux : /var/lib/postgres/data/pg_hba.conf
  • Sous Debian : /etc/postgresql/8.4/main/pg_hba.conf

local   all         postgres                          ident
local   all         all                               md5
host    all         all         127.0.0.1/32          md5
host    all         all         192.169.1.0/24        md5

Lors de l’installation, un user postgres a été créé lors de l’installation  du paquet. Il ne nous reste qu’à nous connecter sur cet utilisateur pour créer notre nouvel utilisateur.

# su - postgres
$ createuser -s monadmin -P

L’option -s permet de spécifier que c’est un superuser. Lorsque vous créez des utilisateurs non administrateur ne mettez pas cette option.

Création d’un domU Xen

Cette article fait suite à l’article installation de Xen.

La création d’un domU s’appuie sur le paquet xen-tools qui fournit un outil que l’on va utiliser xen-create-image.

On va tout d’abord mettre les valeurs désirées par défaut pour nos prochaines machines virtuelles dans le fichier /etc/xen-tools/xen-tools.confs

dir = /home/xen # Emplacement des fichiers sur l’hôte
install-method = debootstrap # Methode d’installation (Debian)
size = 4Gb # Taille de disque
memory = 128Mb # RAM
swap = 128Mb # SWAP
fs = ext3 # Filesystem EXT3
dist = `xt-guess-suite-and-mirror –suite` # Selectionne la version Debian de l’hôte
image = sparse # Attribut l’espace disque en fonction du besoin.
gateway = 192.168.1.1
netmask = 255.255.255.0
broadcast = 192.168.1.255
passwd = 1 # Demande le mot de passe a attribuer au root
kernel = /boot/vmlinuz-`uname -r`
initrd = /boot/initrd.img-`uname -r`
mirror = `xt-guess-suite-and-mirror –mirror`
ext3_options = noatime,nodiratime,errors=remount-ro
serial_device = hvc0 # accès à la console
disk_device = xvda #

Toutes les valeurs mises dans le fichier précédent peuvent être modifiées dans la ligne de commande de création de la machine.

Nous allons maintenant passé à la création de notre première machine virtuelle

# xen-create-image –hostname=machine –ip 192.168.1.100

Pour démarrer la machine :

# xm create machine.cfg

Pour accédez à la console de la machine :

# xm console machine

Pour sortir de la console, CTRL + ] ou CTRL + ALT GR + ).

Pour arreter la machine correctement :

# xm shutdown machine

Pour arreter la machine brutalement :

# xm destroy machine

Une machine arrêtée ne consomme aucune ressource sur le système hôte, hormis de l’espace disque. Si vous avez besoin de cette place vous pouvez supprimer complètement une machine avec la commande suivante :

# xen-delete-image machine

Catégories:Xen Tags:, , , , ,

Installation de Xen

Xen est outils de virtualisation, il permet sur le même serveur hôte (dom0) de créer x machines virtuelles domU (x dépendant de votre serveur hôte).

Nous allons tout d’abord commencer par l’installation des paquets nécessaires, les dépendances requises seront installées automatiquement.

xen-hypervisor-4.0-i386 Outils gérant les ressources des machines virtuelles
xen-linux-system-2.6.32-5-xen-686 Noyau du dom0
xen-tools Outils d’aide à la création des machines virtuelles

# apt-get install xen-hypervisor-4.0-i386 xen-linux-system-2.6.32-5-xen-686 xen-tools

Une fois l’installation des paquets effectuée, nous allons dire à Xen d’utiliser notre machine hôte (aussi appelé dom0) en mode bridge. Décommentez dans /etc/xen/xend-config.sxp la ligne suivante :

(network-script network-bridge)

Une petite modification est à effectuer si vous avez grub2  / grub-pc d’installé. Nous allons modifier l’ordre de recherche des noyaux.

# mv /etc/grub.d/10_linux /etc/grub.d/20_linux
# mv /etc/grub.d/20_linux_xen /etc/grub.d/10_linux_xen
# update-grub
# reboot

Voila notre serveur est prêt à recevoir des machines virtuelles, voir Création d’un domU Xen.

Catégories:Xen Tags:, , , ,

Mes bashrc

Le bashrc est un script lancé automatiquement au début d’une nouvelle session bash.
Vous devez les enregistrer dans votre /$HOME/.bashrc

Voici mon bashrc utilisateur :

# If not running interactively, don’t do anything
[[ $- != *i* ]] && return

eval `dircolors -b`
alias ls=’ls -h –color=auto’
alias ll=’ls -l’

export GREP_COLOR=”1;33″
alias grep=’grep –color=auto’
set show-all-if-ambiguous on

PS1=’\[\e[m\][\[\e[1;34m\]\u@\h\[\e[m\] \[\e[0;34m\]\w\[\e[m\]\[\e[m\]]\[\e[1;32m\]\$\[\e[m\] ‘

Pour le root vous prenez le même et on remplace la ligne PS1:

PS1=’\[\e[m\][\[\e[1;34m\]\u@\h\[\e[m\] \[\e[0;34m\]\w\[\e[m\]\[\e[m\]]\[\e[1;34m\]\$\[\e[m\] ‘

Ces fichiers vont certainement évoluer avec le temps, je tacherai donc de les mettre à jour régulièrement.
Si vous aussi vous voulez partager vos bashrc, les commentaires sont ouverts.

Catégories:Linux Tags:, , ,

Linux: Regarder la TNT avec une HVR-1110

Regarder la TNT sur son PC, pourquoi ? Pour faire de son PC un HTPC (PC de salon) ou encore pour avoir un bruit de fond, à vous de vous trouver une raison. Comme d’habitude, je vais aller direct au but.

Première étape, savez vous quel carte tuner vous utilisé :

lspci | grep

Si vous obtenez une ligne tel que :

03:07.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)

Vous êtes au bon endroit, sinon vous devez avoir une ancienne carte avec le driver cx88 ou une carte qui n’a rien a voir avec le titre de l’article … et au revoir.

Pour ceux qui ont bien une carte avec le chipset SAA7131 ou SAA7134, vous devez, tout d’abord, installer le driver de la carte HVR-1110 si il n’est pas déjà dans /lib/firmware que vous trouverez ici, avec les commandes suivantes :

wget http://perso.orange.fr/tomlohave/linux/dvb-fe-tda10046.fw
mv dvb-fe-tda10046.fw /lib/firmware

Charger le firmware en mémoire :

modprobe saa7134

Ensuite installer le paquet linuxtv-dvb-apps ou dvb-apps ou encore dvb-utils</> oudvb selon votre distribution. Ce paquet vous apportera des outils très nécessaires pour la suite tels que scan et dvbscan.

Ensuite, essayez de trouver le fichier de fréquences correspondant à votre ville ici.

Personnellement, sur Laval le fichier n’était pas bon, mais je dois être dans une configuration spéciale, sur Angers ?

Mon fichier sur Laval :

T 570166000 8MHz AUTO NONE QAM64 8k AUTO NONE
T 770166000 8MHz AUTO NONE QAM64 8k AUTO NONE
T 650166000 8MHz AUTO NONE QAM64 8k AUTO NONE
T 762166000 8MHz AUTO NONE QAM64 8k AUTO NONE
#T 674166000 8MHz AUTO NONE QAM64 8k AUTO NONE
T 714166000 8MHz AUTO NONE QAM64 8k AUTO NONE

Une fois votre fichier récupéré, on va faire un scanne des multiplex pour avoir les chaines :

scan fr-Laval > channels.conf

Vous devriez obtenir quelque chose du genre :

>>> tune to: 570166000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

0×0000 0×0101: pmt_pid 0x006e GR1 — France 2 (running)
0×0000 0×0104: pmt_pid 0×0136 GR1 — France 5 (running)
0×0000 0×0105: pmt_pid 0x01fe GR1 — France O (running)
0×0000 0×0106: pmt_pid 0×0262 GR1 — LCP (running)
0×0000 0×0119: pmt_pid 0x00d2 Nat — France 3 (running)
0×0000 0x01ff: pmt_pid 0x03f2 (null) — (null) (running)

Si ce n’est pas le cas et que vous obtenez plus quelque chose du genre :

>>> tune to: 690000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_AUTO:HIERARCHY_NONE
WARNING: >>> tuning failed!!!
>>> tune to: 690000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_AUTO:HIERARCHY_NONE (tuning failed)

C’est que vos fréquences ne sont pas bonnes.

  • Première solution, rajouter 166000 au différentes valeurs (ne me demandez pourquoi, je ne sais pas peut etre un décalage en fréquencesur cette carte) et réessayez.

Exemple:

T 570000000 8MHz AUTO NONE QAM64 8k AUTO NONE

devient

T 570166000 8MHz AUTO NONE QAM64 8k AUTO NONE

  • Seconde solution, allez voir les fréquences des chaines de votre TV ou celle de votre voisin et copiez les dans votre fichier en rejoutant ou pas 166000.
  • Sinon vous trouverez certaines fréquences ici.

Une fois votre channels.conf créé,

vlc -vvv channels.conf

Bon visionnage ;)

Archlinux: Installer des paquets à partir d’AUR

Oui, je sais il existe yaourt mais j’aime bien savoir ce que je fais (enfin au minimum savoir pourquoi ça ne marche pas).

Après l’installation des pré-requis,

# pacman -S base-devel

Après avoir téléchargé le tar.gz,

$ wget http://aur.archlinux.org/packages/nom_du_paquet/nom_du_paquet.tar.gz

Après l’avoir décompressé,

$ tar xzvf nom_du_paquet.tar.gz

Il faut construire le paquet :

$ cd nom_du_paquet
$ makepkg -s

Puis l’installer,

# pacman -U nom_du_paquet-version-arch.pck.tar.xz

Et voila le paquet est tout simplement installé.

Source : https://wiki.archlinux.org/index.php/Arch_User_Repository

Gnome 3 : Changer l’application par défaut selon l’extension

Après quelques problèmes avec l’ouverture d’image au format SVG qui s’ouvrait automatiquement avec Gimp au lieu d’Inkscape. J’ai trouvé une solution pour changer ce phénomène. La solution se trouve dans le fichier ~/.local/share/applications/mimeapps.list.
Mon fichier ressemble à :

[Default Applications]
text/html=userapp-Firefox-1ATJXV.desktop
application/x-extension-htm=userapp-Firefox-1ATJXV.desktop
application/x-extension-html=userapp-Firefox-1ATJXV.desktop
...
[Added Associations]
...
image/jpeg=eog.desktop;gimp.desktop;
image/svg+xml=inkscape.desktop;gimp.desktop;

Comme nous pouvons le voir il y a 2 sections : [Default Applications] et [Added Associations].

  • Default Applications permet de présenter l’application par défaut lors qu’aucune association n’est faite.
  • Added Associations permet de définir les applications à lancer selon leur ordre d’apparition. Par exemple pour les fichiers SVG, il lanceIinskape et si il ne le trouve pas, il lance Gimp.

Et voila, un problème de réglé.

source: http://astuces.absolacom.com/ubuntu/changer-les-applications-par-defaut-dans-gnome/

Convertir des RAW en JPEG

Je prends régulièrement des photos au format RAW (enfin CR2 : format RAW de chez Canon), mais le fait de les trier et ranger n’est pas toujours choses facile. De plus leurs visualisation au sein d’un explorateur de fichier nécessite bien trop de temps pour faire le premier nettoyage.

Alors avant tout rangement je commence par les convertir en JPEG, non pas pour les traiter mais pour faire un premier tri à coups de corbeille.
Pour convertir facilement des RAW en JPEG, il vous faudra installer ufraw. La commande pour convertir est la suivante :

ufraw-batch --out-type=jpeg --compression=85 --wb=camera --rotate=camera *.CR2

  • out-type permet de spécifier le format de sortie (formats supportés : ppm, tiff, tif, png, jpeg, jpg, fits).
  • compression désigne le pourcentage de compression apporté (accepte de 0 à 100).
  • wb sélectionne la balance des blancs à utiliser.
  • rotate vous permet d’avoir vos image correctement orienter selon les données EXIF (accepte camera ou auto).