Linux Wiki


Back to Msoft Website docs

Modifier la taille d'images dans un répertoire

1.15.2006

taille, script, sh, repertoire, image

En utilisant la fonction "convert":


#!/bin/bash

if [ $# -ne 1 ]
then
echo "Usage: './resizePictures.sh taille' avec la taille sous la forme largeurxhauteur (640x480)."
exit -1
fi

rep=resized-$1

if [ -d "$rep" ]; then
echo "Repertoire $rep existe. Je ne le crée pas."
else
echo "Repertoire $rep n'existe pas. Je le crée."
mkdir $rep
fi

if [ 'ls *JPG' ]; then
for i in *.JPG
do
let "n += 1"
done

echo "$n fichiers *.JPG existent. Je les converti."

for i in *.JPG
do
if [ -e $rep/$i ]; then
echo "Le fichier $i existe deja dans le repertoire $rep."
else
taille=`identify $i | awk '{print $3}'`
echo "Le fichier $i($taille) sera converti en $1 et enregistre dans le repertoire $rep."
convert -geometry $1 $i $rep/$i
fi
done
else
echo "Aucun fichiers *.JPG n'existent. Je ne fait rien."
fi

if [ 'ls *jpg' ]; then
for i in *.jpg
do
let "n += 1"
done

echo "$n fichiers *.jpg existent. Je les converti."

for i in *.jpg
do
if [ -e $rep/$i ]; then
echo "Le fichier $i existe deja dans le repertoire $rep."
else
taille=`identify $i | awk '{print $3}'`
echo "Le fichier $i($taille) sera converti en $1 et enregistre dans le repertoire $rep."
convert -geometry $1 $i $rep/$i
fi
done
else
echo "Aucun fichiers *.jpg n'existent. Je ne fait rien."
fi


Pour l'exécution:


chmod +x resizePictures.sh
cd Pictures
./resizePictures.sh 1024x768

Scripts SH pour modifier les noms de fichiers.

nom, fichier, modifier, script, sh, espace, underscore

Remplacer les espaces par des underscores


#!/bin/sh

for i in * ;
do
a=`echo $i | tr "[:blank:]" "_"`
mv "$i" "$a"
done


Remplacer les underscores par des espaces


#!/bin/sh

for a in * ;
do
b=$(echo $a | sed 's/_/ /g');
mv "$a" "$b";
done

Appliquer les drivers OpenGL à un nouveau kernel lorsque les pilotes sont déja installés.

1.14.2006

driver, kernel, opengl, installer, installation, nouveau

Lorsque on a démarré sur un nouveau kernel et que les drivers OpenGL ne sont pas pris en compte. Pour voir si les drivers sont pris en compte, il suffit de faire:


# glxgears


Si le nombre FPS affiché est inférieur à 500, les drivers ne sont pas pris en compte.

Si les pilotes ainsi que les fichies sources du kernel sont présents, il suffit de faire en tant que root:


# cd /lin/modules/fglrx/build_mod/
# ./make.sh
# cd ../
# ./make_install.sh


Si tout s'est bien passé, il suffit de rédemarrer et de refaire le test précédent.

Installation serveur CVS

1.05.2006

Mots-clé: cvs, installation, serveur, cvsd, pserver, authentification

Installation

Première chose à faire: installer le paquet du serveur CVS:


# apt-get install cvsd


Pour les clients, c'est le paquet cvs qu'il faut installer.

Préparation du jailroot

Maintenant, choisissez un emplacement pour le jailroot du serveur CVS. Ce jailroot contiendra le repository (le dossier ou sont stockées les sources de l'application que vous developpez), ainsi qu'un ensemble minimal de fichiers de configuration utilisés par le daemon cvsd. L'emplacement le plus logique pour ce jailroot est /var/lib/cvsd/.

Pour préparer ce jailroot:


# mkdir /var/lib/cvsd
# cvs -d /var/lib/cvsd/root init
# cvsd-buildroot /var/lib/cvsd
# cd /var/lib/cvsd
# mkdir -p var/lock


Configuration de cvsd

Il nous faut maintenant configurer cvsd de la façon suivante:


# nano -w /etc/cvsd/cvsd.conf


Recherchez et remplacez les lignes suivantes:

# Utilisateur et groupe pour le daemon cvsd

Uid cvsd
Gid cvsd


# Emplacement du rootjail

RootJail /var/lib/cvsd


# Port d'écoute (2401 par défaut)

Listen * 2401 # or whatever port you'd like it to listen on, up to you


# Emplacement du repository (dans le jailroot)
# ici il s'agit du répertoire /var/lib/cvsd/repository

Repos /root


Dans le cas où on veut ajouter plusieurs répertoire "jailroot", il faut procéder comme suit:

Repos /dossier1
Repos /dossier2


Veillez bien à ce qu'il y ai un retour charriot à la fin du fichier. C'est fini pour ce fichier de configuration.

Création des utilisateurs

Il ne reste plus qu'à créer des utilisateurs pour votre serveur:


# cvsd-passwd /var/lib/cvsd/root NOM_UTILISATEUR


On vous demandera un mot de passe. Pour autoriser l'accès à votre serveur en anonyme, créez simplement un utilisateur anonymous, et laissez un mot de passe vide.

Il faut maitenant donner des droits de lecture ou d'écriture à vos utilisateurs. Cela se fait avec les fichiers /var/lib/cvsd/root/CVSROOT/readers et /var/lib/cvsd/root/CVSROOT/writers

Rajoutez les utilisateurs à qui vous voulez donner des droits de lecture seulement dans le fichier readers


# touch /var/lib/cvsd/root/CVSROOT/readers
# chown cvsd:cvsd /var/lib/cvsd/root/CVSROOT/readers
# nano /var/lib/cvsd/root/CVSROOT/readers


un utilisateur par ligne, veillez bien à ce qu'il y ai un retour charriot à la fin du fichier.

Rajoutez les utilsateurs à qui voulez donner les droits d'écriture et de lecture dans le fichier writers. Il n'est pas possible de donner les droits d'écriture seulement.

Exemple de /var/lib/cvsd/root/CVSROOT/readers


guest
anonymous
john


Lancement du serveur

Avant de lancer le serveur CVS, n'oubliez pas de changer les permissions de fichiers dans votre jailroot (TRES IMPORTANT !):


# chown -R cvsd:cvsd /var/lib/cvsd
# chmod -R 775 /var/lib/cvsd/var


Une fois cela fait, vous pouvez enfin lancer le serveur CVS:


# /etc/init.d/cvsd start


et le rajouter au démarrage si vous voulez:


# rc-update add cvsd default


Test en local

1. Initialisez la variable globale CVSROOT


# export CVSROOT=:pserver:NOM_USER@localhost:/root


2. Authentifiez vous sur le serveur


# cvs login


En cas de problème référez vous aux Notes plus bas.

3. Importez ou synchronisez quelques fichiers. (voir man cvs)

4. Déconnectez vous


# cvs logout


Notes

N'oubliez pas d'ouvrir le port 2401 sur votre firewall.

Le paquet cvsd-1.0.2 a un problème avec la commande cvsd-buildroot qui ne copie pas toutes les librairies nécessaires dans le jailroot. Si vous rencontrez cette erreur:

cvs [login aborted]: reading from server: Connection reset by peer

Utilisez les commandes suivantes pour résoudre le problème:


# cp /lib/ld-* /var/lib/cvsd/lib/
# cp /lib/libdl.so.2 /var/lib/cvsd/lib/


Création des fichiers .cvsroot

Dans le dossier home de chaque utilisateur se connectant au serveur CVS, il faut créer un fichier $HOME/.cvsroot comme suit:


# touch $HOME/.cvspass
# chmod 700 $HOME/.cvspass