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 :
- Execution du role default
- Installation des paquets postgresql
- Déménagement du cluster postgresql
- 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 :
- Création des utilisateurs postgresql : createuser
- Création des base de données.
PS: désolé pour les multi-lines j’ai pas trouvé de solutions.
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
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.
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* ]] && returneval `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 onPS1=’\[\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.
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).