avr 12

conky exemple

conky est un utilitaire magique qui permet d’encombrer son bureau Ubuntu à loisir. Ca permet d’avoir des informations utiles concernant ses ressources,etc…



Installation

apt-get install conky

Paramétrage

On crée un fichier du type .conkyrc dans son répertoire home.

exemple :

own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
use_xft yes
on_bottom yes
xftfont Comic sans MS:size=9
xftalpha 0.8
update_interval 1.0
total_run_times 0
own_window yes
own_window_transparent yes
double_buffer yes
minimum_size 280 5
draw_shades no
draw_outline no
draw_borders no
stippled_borders 8
border_margin 4
border_width 1
default_color #4582B5
default_shade_color black
default_outline_color black
alignment top_right
gap_x 8
gap_y 50
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale no
use_spacer no

TEXT
${color white}Bonjour Maitre
${color white}Nous sommes le : ${time %A %d %B %Y} - ${time %H:%M:%S}
$nodename - $sysname $kernel on $machine
$stippled_hr
${color #e49c16}Uptime:$color $uptime ${color #FFFFFF}- Load:$color $loadavg
${color #e49c16}CPU Utilise :${color #FFFFFF} $cpu% ${color #ffc11f}${cpubar}
${color white}${cpugraph ffc11f 8b4b0b}
${color #e49c16}Memoire RAM :${color #FFFFFF} $mem/$memmax - $memperc% ${color #ffc11f}${membar}
${color #e49c16}Utilisation du Swap :${color #FFFFFF} $swap/$swapmax - $swapperc% ${color #ffc11f}${swapbar}
${color #e49c16}Processus : $color $processes ${color #FFFFFF}En cour : $color $running_processes
$color$stippled_hr
${color #e49c16}Reseau : ${color #FFFFFF}IP Locale ${addr eth0} - IP Publique ${execi 1800 ~/scriptip.sh}
${color #e49c16}Download :${color white} ${downspeed eth0} k/s${color white} ${offset 80}${color #e49c16}Upload:${color white} ${upspeed eth0} k/s
${color #FFFFFF}${downspeedgraph eth0 32,150 8b4b0b ffc11f} ${color #FFFFFF}${upspeedgraph eth0 32,150 ffc11f 8b4b0b}
$color$stippled_hr
${color #e49c16}Espace Disque:
${color #FFFFFF}Root: ${color #FFFFFF}${fs_free /}/${fs_size /} ${color #ffc11f}${fs_bar /}
${color #FFFFFF}Data: ${color #FFFFFF}${fs_free /DATA/}/${fs_size /DATA/} ${color #ffc11f}${fs_bar /DATA/}
${color #FFFFFF}Sauvegarde: ${color #FFFFFF}${fs_free /SAUVEGARDE/}/${fs_size /SAUVEGARDE/} ${color #ffc11f}${fs_bar /SAUVEGARDE/}
${color #FFFFFF}Raid: ${color #FFFFFF}${fs_free /media/raid/}/${fs_size /media/raid/} ${color #ffc11f}${fs_bar /media/raid/}

Ci dessous, vous trouverez une copie du fichier scriptip.sh qui est appelé dans ce fichier de configuration pour déterminer l’adresse IP publique.

#!/bin/bash
#voir ip derriere routeur
wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1 > ip
cat ip

Démarrage de conky

depuis un terminal ou directement depuis alt + F2

conky -c .conkyrc

nov 27

Entre machine Linux, on peut se passer de Samba et y préférer NFS.

Installation

sur le poste serveur :

installation

$ apt-get install nfs-kernel-server portmap

Configuration

La configuration des répertoires exportables se fait dans le fichier /etc/exports

/ubuntu *(ro,sync,no_root_squash)
/home *(rw,sync,no_root_squash)

On peut remplacer * par un nom de hostname.

Démarrage du serveur NFS

$ /etc/init.d/nfs-kernel-server start

Sur le poste Client

La commande mount est utilisée pour cela.

$ sudo mount -t nfs example.hostname.com:/ubuntu /local/ubuntu

(A noter que le point de montage /local/ubuntu doit exister!)

Une alternative consiste à utiliser le fichier /etc/fstab file.
The general syntax for the line in /etc/fstab file is as follows:

example.hostname.com:/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,intr

nov 27

Si vous voulez jouer (avoir le droit d’écrire, et suppression) un peu avec les partitions ntfs, il vous suffit d’installer ntfs-3g ainsi que ntfs-config (utilitaire graphique qui permet d’activer ou désactiver) l’écriture sur les partitions ntfs.

sudo apt-get install ntfs-3g ntfs-config

J’ai testé la chose et n’ai rencontré pas de soucis jusqu’à maintenant.

nov 27

XDMCP permet une connexion X distante. C’est pas vraiment raisonnable d’utiliser cela en dehors d’un réseau sécurisé (au minimum un firewall).
Visiblement, on ne peut pas utiliser SSH pour crypter les connexions TCP et UDP de XDM (si j’ai bien compris, SSH ne gère pas nativement UDP).
XDMCP utilise le port UDP 177 et TCP le port 6000 .

Les configurations de XDMCP dependent du gestionnaire de fenêtre utilisé : gnome ou kde par exemple.

Pour KDE

Editez le fichier kdmrc situé normalement dans le répertoire /etc/kde3/kdm/.
Cherchez la section correspondante à Xdmcp

[Xdmcp]
Enable=true
Willing=/etc/kde3/kdm/Xwilling
Xaccess=/etc/kde3/kdm/Xaccess

avec par exemple pour le fichier /etc/kde3/kdm/Xaccess

192.168.1.15 CHOOSER BROADCAST
192.168.1.15

192.168.1.15 étant l’IP que j’autorise.

Pour Gnome

Editez le fichier gdm.conf sirué dans /etc/gdm.

[xdmcp]
Enable=true
MaxPending=4
MaxPendingIndirect=4
MaxSessions=16
MaxWait=15
MaxWaitIndirect=15
PingIntervalSeconds=15
Port=177

Si l’on veut sécuriser un peu, il va falloir ajouter les hotes autorisés dans le fichier /etc/hosts.allow.

Sous feisty, la version Desktop ne contient pas les fameux fichiers hosts.allow, hosts.deny,….. Il faut pour cela installer tcpd.

Le principe des fichiers hosts.allow et hosts.deny est le suivant :

  • Le premier fichier lu est hosts.allow, puis hosts.deny.
  • Si une requête est autorisée dans le fichier hosts.allow alors elle est acceptée, quelque soit le contenu du fichier hosts.deny.
  • Si une requête ne satisfait aucune règle, que ce soit dans hosts.allow ou hosts.deny alors elle est autorisée.

En un mot si vous ne mettez rien dans hosts.deny, alors vous n’avez rien fait.

Si l’on veut autoriser la machine dont l’ip est 192.168.1.15 à ouvrir des sessions distantes, on peut ecrire dans hosts.allow

gdm: 192.168.1.15

nov 25

Il est possible de lancer des applications X distantes à travers un tunnel SSH

Il suffit de lancer depuis un terminal X la commande de connexion SSH à un host distant du style ssh user@monserveur-distant.
ensuite, on lance par exemple xterm& et une fenêtre apparait alors….

Facile

Sur le poste client, il faut aller modifier le fichier /etc/ssh/ssh_config de façon à authoriser le ForwardX11.
Il suffit de mettre

ForwardX11 yes.

On relance le serveur ssh et le tour est joué…

nov 25

Quand on veut installer des paquets “testing” sur une distribution Debian “stable” par exemple, on peut utiliser la technique “package pinning” avec APT sans mettre tous les paquets en “testing”.

Une des utilités est de pouvoir remplacer certains paquets par la version disponible dans une autre release. On peut aussi remplacer certains paquets officiels par d’autres non officiels, sans pour autant casser toutes les dépendances de la distribution.
Le principe repose sur un ordre de priorité que l’on donne aux differents paquets.

Tout se joue dans le fichier /etc/apt/preferences

Mixer plusieurs distributions

Dans notre exemple, on va donner priorité la plus haute aux paquets de la “Stable” comme ci-dessous.

# Tous les paquets de la cible testing ont une priorité de 200
# le a=testing est là pour dire à apt quelle archive utiliser
Package: *
Pin: release a=testing
Pin-Priority: 300

# Les paquets de la cible stable reste avec un priorité supérieure, pour
# éviter que les paquets de testing remplacent tous ceux de stable.
Package: *
Pin: release a=stable
Pin-Priority: 900

Si l’on veut installer un paquet de la “testing”, on devra alors lancer la commande apt :

apt-get install -t testing monpaquet

Remplacer certains paquets

J’ai besoin pour une application spécifique (par exemple nagios-nrpe-server), d’utiliser les paquets de la “testing” en place de ceux de la “stable”.

# Tous les paquets de la cible testing ont une priorité de 200
# le a=testing est là pour dire à apt quelle archive utiliser
Package: *
Pin: release a=testing
Pin-Priority: 300

# Les paquets de la cible stable reste avec un priorité supérieure, pour
# éviter que les paquets de testing remplacent tous ceux de stable.
Package: *
Pin: release a=stable
Pin-Priority: 900
#
# Paquets speciaux forcés sur testing
Package: nagios-nrpe-server
Pin: release a=testing
Pin-Priority: 991

Pour installer ce fameux nagios-nrpe-serve, plus besoin de spécifier “-t testing” à la commande apt, il suffit de faire classiquement :

apt-get install nagios-nrpe-server

nov 25

Il suffit d’éditer le fichier /etc/apt/apt.conf et de lui ajouter ces lignes magiques :

APT::Periodic::Update-Package-Lists “1″;
APT::Periodic::Download-Upgradeable-Packages “0″;
APT::Periodic::AutocleanInterval “0″;
APT::Periodic::Unattended-Upgrade “0″;

Ca automatise les update des listes des sources d’Apt.

nov 25

commande pour effacer fichiers + vieux de 15jours

find mon-repertoire/ -ctime +15 -exec rm -fr {} \;

Attention cette fonction est récursive

nov 25

Activation du mode SSL pour Apache

a2enmod ssl

Création des certificats

On va créer un certificat autosigné pour un site désormais célèbre toto.
Pour cela, on crée un répertoire du genre __sslconf__.

testing:~# mkdir sslconf

testing:~# cd sslconf/

testing:~/sslconf# openssl req -config /etc/ssl/openssl.cnf -new -out toto.csr

Generating a 1024 bit RSA private key
…++++++
writing new private key to ‘privkey.pem’
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:PARIS
Locality Name (eg, city) []:PARIS
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MOI
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:MOI
Email Address []:moi@moi.fr

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Une fois terminée cette opération, on obtient alors deux nouveaux fichiers comme indiqué ci-dessous.

testing:~/sslconf# ls -l
total 2
-rw-r–r– 1 root root 660 2007-02-20 19:37 toto.csr
-rw-r–r– 1 root root 963 2007-02-20 19:37 privkey.pem

Maintenant, on doit créer une “pass phrase”.

testing:~/sslconf# openssl rsa -in privkey.pem -out toto.key
Enter pass phrase for privkey.pem:
writing RSA key

On se crée un certificat valable pour 3650 jours!!

testing:~/sslconf# openssl x509 -in toto.csr -out toto.crt -req -signkey toto.key -days 3650

Signature ok

subject=/C=FR/ST=PARIS/L=PARIS/O=MOI/CN=MOI/emailAddress=moi@moi.fr

Getting Private key

testing:~/sslconf# openssl x509 -in toto.crt -out toto.der.crt -outform DER

Copie des certificats pour Apache

testing:~/sslconf# cp toto.crt toto.key /etc/apache2/

Configuration APACHE

# Modifier le fichier /etc/apache2/ports.conf

On rajoute la ligne “Listen 443″ à ce fichier pour obtenir

Listen 80
Listen 443

# reste a modifier le fichier /etc/apache2/mods-available/ssl.conf

on rajoute au debut les deux lignes suivantes :

SSLCertificateFile /etc/apache2/toto.crt

SSLCertificateKeyFile /etc/apache2/toto.key

On relance Apache et le tour est joué.