Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

« Debian » : différence entre les versions

De AJLSM
Aller à la navigation Aller à la recherche
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 74 : Ligne 74 :


== Les erreurs ==
== Les erreurs ==
=== Créer les vignettes ===
Les vignettes peuvent être vu dans le navigateur, mais cela ne signifi pas pour autant qu'elles sont créer dans le répertoire ${pleade.images.preparees}.
Pour créer les vignettes dans le répertoire ${pleade.images.preparees} :
* la propriété ${pleade.images.preparees.copier} doit avoir la valeur true;
* le répertoire ${pleade.images.preparees} doit avoir des permissions en écriture.
Les vignettes sont créées lors de la visualisation d'un document EAD. Le processus de création d'une vignette implique que le chemin de répertoires de l'image originale soit créer dans le répertoire ${pleade.images.preparees}. Ceci sous-entends que le masque umask du propriétaire du répertoire ${pleade.images.preparees} permettent la lecture et l'écriture des vignettes :
<syntaxhighlight lang="bash">
$ cd /usr/local/docs/pleade-social-media/
# chown -R pleade:pleade images-preparees
# su pleade
$ chmod -R 766 images-preparees
$ nano ~/.profile
* Modifier le umask avec la valeur 011
$ source ~/.profile
$ umask
0011
</syntaxhighlight>


=== Publier des documents EAD ===
=== Publier des documents EAD ===
Ligne 1 049 : Ligne 1 074 :
# visudo -c
# visudo -c
/etc/sudoers: parsed OK
/etc/sudoers: parsed OK
</syntaxhighlight>
Lorsqu'un utilisateur souhaite utiliser la commande sudo sans en avoir la permission,
on obtient un message tel que :
<syntaxhighlight lang="bash">
$ sudo rmdir repertoire
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
[sudo] password for user:
user is not in the sudoers file.  This incident will be reported.
</syntaxhighlight>
</syntaxhighlight>


Ligne 1 068 : Ligne 1 110 :


Source : [http://wiki.debian.org/fr/sudo Root sudo]
Source : [http://wiki.debian.org/fr/sudo Root sudo]


=== Configuration de la commande sudo : PATH not set ===
=== Configuration de la commande sudo : PATH not set ===
Ligne 1 088 : Ligne 1 131 :


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"</syntaxhighlight>
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
</syntaxhighlight>
 
<syntaxhighlight lang="bash">
# visudo -c
# visudo -c
/etc/sudoers: parsed OK
/etc/sudoers.d/README: parsed OK
$ sudo test.sh
ok
</syntaxhighlight>


== NAS ==
== NAS ==

Dernière version du 30 mai 2013 à 10:40


Pleade Social Média en démonstration

[modifier | modifier le wikicode]

TODO : Le fichier de mots de passes : internals/pleade-social-media.asc

La démonstration disponible sur houat2 : http://pleade-social-media.ajlsm.com.

sFTP avec Filezilla :

  • Hôte : 94.23.193.135
  • Type d'identification : normale.
  • Identifiant : ajlsm
  • Mot de passe : voir fichier internals/pleade-social-media.asc

L'application Web doit être dans le répertoire /home/www/pleade-social-media/webapp.

Le fichier de configuration Apache pour le projet pleade-social-media /etc/httpd/conf.d/pleade-social-media.ajlsm.com.conf :

<VirtualHost *:80>

  ServerName   pleade-social-media.ajlsm.com

  #DocumentRoot "/var/www/maintenance"

  #Activation page de maintenance
  #Alias /maintenance.html /home/www/ad52/maintenance.html
  RewriteCond %{REQUEST_URI} !maintenance.html
  #RewriteCond %{REMOTE_ADDR} !82.225.177.85

  ProxyPass / ajp://localhost:8009/pleade-social-media/
  ProxyPassReverse / ajp://localhost:8009/pleade-social-media/

  #RewriteRule ^/(.*) http://94.23.193.135/maintenance.html [L]

</VirtualHost>

Social Média TODO

[modifier | modifier le wikicode]
image : vignette, peut faire jusqu'à 3Mo   
       
          EAD          dc
title :   unittitle    dc:title../reseaux/images/
date :    unitdate     dc:terms coverage (temps ou lieu)
content : scopecontent ???

Applications utiles

[modifier | modifier le wikicode]

ed : éditeur

Meld : comparaison d'arborescences de fichiers.

apt-get install meld

A voir :

  • zsh
  • rssh
  • sshfs
  • gprename
  • grsync
  • unisson
  • polly-twitter
  • debian-goodies



Créer les vignettes

[modifier | modifier le wikicode]

Les vignettes peuvent être vu dans le navigateur, mais cela ne signifi pas pour autant qu'elles sont créer dans le répertoire ${pleade.images.preparees}.

Pour créer les vignettes dans le répertoire ${pleade.images.preparees} :

  • la propriété ${pleade.images.preparees.copier} doit avoir la valeur true;
  • le répertoire ${pleade.images.preparees} doit avoir des permissions en écriture.

Les vignettes sont créées lors de la visualisation d'un document EAD. Le processus de création d'une vignette implique que le chemin de répertoires de l'image originale soit créer dans le répertoire ${pleade.images.preparees}. Ceci sous-entends que le masque umask du propriétaire du répertoire ${pleade.images.preparees} permettent la lecture et l'écriture des vignettes :

$ cd /usr/local/docs/pleade-social-media/
# chown -R pleade:pleade images-preparees
# su pleade
$ chmod -R 766 images-preparees
$ nano ~/.profile
* Modifier le umask avec la valeur 011
$ source ~/.profile
$ umask
0011


Publier des documents EAD

[modifier | modifier le wikicode]

La liste déroulant contenant des documents EAD n'existe pas.

Le paramètre pleade.ead-docs-dir définit dans le fichier pleade-libre/src/webapp/WEB-INF/properties/pleade-admin.properties n'a pas une valeur correcte.


L'identifiant spécifié pour l'objet « fr.gouv.culture.sdx.document.XMLDocument@1fa17f0 » n'est pas valide ! Il est nul ou vide.

Les erreurs EAD : les documents

[modifier | modifier le wikicode]

Avec la valeur <property name="pleade.ead-docs-dir" value="${basedir}/pleade-social-media/src/webapp/exemples/social-media"/>

Pour les documents d'exemples suivants :

$ tree exemple 
exemples/
└── social-media
    ├── AJLSM_TEST_IMG.xml
    ├── docs
    │   ├── DVD-1.pdf
    |   ...
    ├── frajlsm-pleade-test-01-cn.xml
    ├── frajlsm-pleade-test-01-fr.xml
    ├── frajlsm-pleade-test-02-cn.xml
    ├── frajlsm-pleade-test-02-fr.xml
    ├── frajlsm-pleade-test-img-cn.xml
    ├── frajlsm-pleade-test-img-fr.xml
    └── images-test
        ├── images
        │   ├── FRAD044_E_002_015_001.JPG
        │   ├── FRAD044_E_002_015_002.JPG
        │   ├── FRDAF_esclavage_image002.JPG
        │   └── FRDAF_esclavage_image003.JPG
        ├── minutes-notariales
        |   ...
        ├── series
        │   └── serie-01
        │       └── pleade01.jpg
        ├── SS_Y_445
        │   ├── SHDMV__MV_SS_Y_445__0001__T.JPG
        │   ...
        └── vieux_velos.jpg

Les documents EAD sont en dehors du cadre de classement :

File plan

Inventories of research published on this site are organized with the help of a file plan. You can access to the documents browsing the above file plan.
  Document de test pour les images dans Pleade 3.4 • 2003-2011New...
  Document EAD de test pour PLEADENew...
  Document test - Les liens vers les séries d'images • 1898-1923New...
  Pleade 3.4 图像测试文档 • 2003-2011New...
  PLEADE - EAD测试文档New...
PLEADE 的第二个EAD测试文档New...
Second document EAD de test pour PLEADENew...
Documents d'exemple
...


Les erreurs EAD : les médias

[modifier | modifier le wikicode]

Erreur de lien vers une image ou une série d'images.

Modifier les lignes suivantes dans le fichier /usr/local/workspace-spe/dev/xml/applications.xml :

L'application Pleade Social Média contient des exemples de document EAD dans le répertoire pleade-media-social/src/webapp/exemples/social-media. Aussi les images des documents EAD sont dans le répertoire pleade-media-social/src/webapp/exemples/social-media/images-test.

Dans un document EAD, l'attribut href d'un élément pointant vers une image doit être pris en compte. Par exemple, pour la valeur d'attribut href="images_test/vieux_velos.jpg", l'image vieux_velos.jpg doit être dans le répertoire pleade-media-social/src/webapp/exemples/social-media/images-test

Ainsi, l'élément suivant causera une erreur Erreur de lien vers une image ou une série d'images. <daoloc title="De vieux vélos !" href="images_test/vieux_velos.jpg" />

<property name="pleade.img-server.racines" value="${basedir}/pleade-social-media/src/webapp/exemples/social-media:${basedir}/pleade-social-media/src/webapp/exemples/social-media/images-test"/>

<sedpropertyfile file="app/build/pleade-libre/src/webapp/WEB-INF/properties/pleade-admin.properties" 
property="pleade.img-server.racines" value="{$pleade.img-server.racines}" />

TODO Pour les vidéos, les mp3, ...

http://pitcairn/functions/ead/relative/ file:/usr/local/workspace-spe/pleade-social-media/src/webapp/exemples/social-media/docs/test.flv

Les erreurs SDX

[modifier | modifier le wikicode]

SDX - Application - Base de documents : « ead », base de document indéfinie pour cette application : « org.pleade3.demo ».

Il faut supprimer les répertoires datadir; temp et works.

Les erreurs Java

[modifier | modifier le wikicode]

Suite à une publication, l'interface de Pleade indique :

java.lang.NullPointerException

Vérifier que le nom de la station de travail est correcte :

$ hostname
pitcairn

Vérifier que Postgresql est installé :

$ psql --version
psql (PostgreSQL) 9.1.9

Si Postgresql n'est pas installé, alors faire la modification suivante dans le fichier /usr/local/workspace-2.0/tomcat/webapps/pleade-entreprise/WEB-INF/properties/pleade-admin.properties :

pleade.sdx-database=
pleade.sdx-ead-repository=
pleade.sdx-eac-repository=

Ainsi, c'est la base HSQL qui sera mise en oeuvre.

Les logs catalina.out retournent les lignes suivantes :

resolving entity
java.lang.NullPointerException
	at org.apache.cocoon.www.module_eadeac.xsp.ead_publish_xsp.generate(org.apache.cocoon.www.module_eadeac.xsp.ead_publish_xsp:1447)

On peut vérifier si l'erreur est causée par Pleade libre, Pleade entreprise ou Pleade Social Media, en construisant une de ces applications et vérifiant si elles fonctionnent.

ant stop clean build.pleade-libre start
ant stop clean build.pleade-entreprise start
ant stop clean build.pleade-social-media start

Résultat de publication

test: Ils existent des verrous sur les index. Vérifier qu'une publication ou un moissonnage OAI n'est pas en cours.

Origine possible de l'erreur :

  • manque de ressource : par exemple accès au disque dur ou garbage collector saturé;
  • il existe une autre publication en cours;
  • il existe un lock, concrétisé par un fichier build/exe/module-eadeac/datadir/*.lck, définit par la configuration.

Dans les logs :

Error lockfile: context://module-eadeac/datadir/pleade_index.lck 
   - Tue Mar 05 09:31:28 CET 2013 **

Pour sortir de ce cas de figure :

  • dans un premier temps, on supprime le fichier de lock pleade_index.lck puis on vérifie à chaud si ce lock était bien à l'origine de l'erreur;
  • dans un second temps, on arrête Apache Tomcat, puis on supprime les répertoires build/exe/module-eadeac/datadir, ainsi que les sous-répertoires temp et work du répertoire $TOMCAT_HOME/webapps;
  • on redémarre Apache Tomcat.

Allumer le verrouillage numérique

[modifier | modifier le wikicode]

On décommente les lignes suivantes dans le fichier /etc/zsh/zlogin :

# Pour les ordinateurs avec un pavé numérique...
# Active le pavé numérique quand on se logue en console
case "`tty`" in /dev/tty[1-6]*)-
    setleds +num
esac

On installe le paquet numlockx :

# apt-get install numlockx

Si lors de l'installation du paquet, apt-get vous demande Enable NumLock automatically ? : répondez Oui.

Si on utilise GDM, il faut ajouter le script de lancement de numlockx au script de lancement de GDM :

# more /etc/X11/Xsession.d/55numlockx >> /etc/gdm3/PreSession/Default

Enfin, on redémarre GDM.

gnome-terminal

[modifier | modifier le wikicode]
gnome-terminal --geometry 128x34+42-66

gnome-terminal --tab-with-profile=transparent -x bash -c "read-cocoon-date-logs.sh" 

gnome-terminal --geometry 128x34+42-66 --tab-with-profile="t" --title=cocoon-date-logs -e cocoon-date-logs.sh --tab-with-profile="t" --title=cocoon-logs -e cocoon-logs.sh

Pour connaitre le numéro de version de Debian sur un poste :

$ cat /etc/debian_version
7.0

$ cat /etc/issue
Debian GNU/Linux 7.0 \n \l

Pour faire le lien avec le nom de la version :

Debian Releases

Apporter des modifications à une copie de travail

[modifier | modifier le wikicode]

Voici un aperçu des cinq sous-commandes Subversion les plus utilisées pour faire des modifications sur l'arborescence :

Marquer le fichier, le répertoire ou le lien symbolique truc pour ajout :

$ svn add truc

Lors de la prochaine propagation, truc devient un fils de son répertoire parent. Notez que si truc est un répertoire, tout ce qui se trouve à l'intérieur de truc est marqué pour ajout.

Pour ajouter truc uniquement :

$ svn add truc --depth empty

Marquer le fichier, le répertoire ou le lien symbolique truc pour suppression :

$ svn delete truc

Quand vous propagez vos modifications, truc est complètement supprimé de votre copie de travail et du dépôt.



Les mots-clés

[modifier | modifier le wikicode]
  • svn : logiciel de gestion de versions. Un logiciel de gestion de versions permet l'édition collaborative et le partage de données.
  • dépôt : serveur de fichiers, lieu de stockage central des données.
  • stratégies de gestion : modèle verrouiller-modifier-libérer ou modèle copier-modifier-fusionner
  • verrou (lock) : permet de bloquer l'accès à un fichier du dépôt.
  • fichier périmé (out of date) : copie de travail d'un fichier plus ancienne que sa version sur le dépôt.
  • fichier fusionné, fusion : fichier du dépôt résultant de la fusion de deux copies de travail de ce fichier.
  • état de conflit, conflit : situation caractérisée par l'impossibilité d'une fusion.
  • répertoire administratif : répertoire .svn
  • extraire (check out) : crée une copie de travail à partir d'un dépôt.
  • propagation (commit ou check in, et parfois en français, archivage ou livraison) : action de publication de fichiers d'une copie de travail dans le dépôt.
  • mise à jour (update) : mise à jour d'une copie de travail,
  • révision : état de l'arborescence du système de fichiers du dépôt. La révision N représente l'état du système de fichiers du dépôt après la N-ième propagation.
  • révision de travail : la révision sur laquelle un fichier de travail est basé.
  • révisions mixtes : copie de travail contenant des fichiers et des répertoires avec un mélange de différents numéros de révision.

La version de svn

[modifier | modifier le wikicode]

La version du client svn est a choisir en fonction de la version du serveur svn. Par exemple, les sources d'un dépôt construit avec svn 1.7 n'est plus compatible avec svn 1.6. Dans le cas, où l'on plusieurs client svn, il est donc préférable qu'ils soient compatibles avec une même version.

Pour connaître la version de svn :

$ svn --version
svn, version 1.6.17 (r1128011)
    compilé Apr 18 2013, 20:26:08

Par défaut, Debian Wheezy propose svn 1.6.17.

A vérifier : Pour Eclipse, la version de Svn semble correspondre avec celle de Subversion. Pour svn 1.6 : SVN - http://subclipse.tigris.org/update_1.6.x Pour svn 1.7 : SVN - http://subclipse.tigris.org/update_1.8.x


Installer svn 1.7 sous Debian Wheezy

[modifier | modifier le wikicode]

Le script Bash suivant permet l'installation de svn version 1.7.9 : (Source :http://blog-del-gato.blogspot.fr/)

#!/bin/bash
#http://ymartin59.free.fr/wordpress/index.php/2012/11/25/how-to-install-subversion-1-7-from-wandisco-repository-on-debian-wheezy/
apt-get install equivs

cat > libdb4.8-control-wheezy <<EOF
### Commented entries have reasonable defaults.
### Uncomment to edit them.
# Source: <source package name; defaults to package name>
Section: misc
Priority: optional
# Homepage: <enter URL here; no default>
Standards-Version: 3.9.2

Package: libdb4.8
Version: 4.8.30-fake
Maintainer: Yves Martin <guess@free.fr>
# Pre-Depends: <comma-separated list of packages>
Depends: db4.8-util
# Recommends: <comma-separated list of packages>
# Suggests: <comma-separated list of packages>
# Provides: <comma-separated list of packages>
# Replaces: <comma-separated list of packages>
Architecture: all
# Copyright: <copyright file; defaults to GPL2>
# Changelog: <changelog file; defaults to a generic changelog>
# Readme: <README.Debian file; defaults to a generic one>
# Extra-Files: <comma-separated list of additional files for the doc directory>
# Files: <pair of space-separated paths; First is file to include, second is destination>
#  <more pairs, if there's more than one file to include. Notice the starting space>
Description: Link to new package name db4.8-util
EOF

equivs-build libdb4.8-control-wheezy
apt-get install db4.8-util
dpkg -i libdb4.8_4.8.30-fake_all.deb

wget -q -O - http://opensource.wandisco.com/wandisco-debian.gpg | sudo apt-key add -
echo "deb http://opensource.wandisco.com/debian/ squeeze svn17" > /etc/apt/sources.list.d/wandisco-subversion.list
apt-get update
apt-get install subversion subversion-tools

Pour vérifier la version de svn :

# svn --version
svn, version 1.7.9 (r1462340)
    compilé Apr 25 2013, 14:44:34

Création d'un nouveau projet

[modifier | modifier le wikicode]

Projet déjà existant au sein d'un dépôt

[modifier | modifier le wikicode]

Récupérer les données d'un projet : checkout

$ cd /usr/local/workspace
$ svn co svn+ssh://groche@192.168.123.16/home/svn/pleade-libre/trunk
Enter passphrase for key '/home/greg/.ssh/id_rsa':
Enter passphrase for key '/home/greg/.ssh/id_rsa':
A    trunk/README.PARAMETERS
A    trunk/output
...
A    trunk/build.xml
U   trunk

Révision 24507 extraite.

Les sources du répertoire trunk sont appelées copie de travail. Le résultat de la commande indique la liste des fichiers récupérés et le numéro de la dernière révision, soit 24507. La copie de travail se trouve dans le répertoire dont le nom est la dernière sous-chaîne de svn+ssh://groche@192.168.123.16/home/svn/pleade-libre/trunk après le dernier caractère "/".

L'option info de la commande svn fournit des informations supplémentaires :

$ cd trunk/
$ svn info
Chemin : .
URL : svn+ssh://groche@192.168.123.16/home/svn/pleade-libre/trunk
Racine du dépôt : svn+ssh://groche@192.168.123.16/home/svn
UUID du dépôt : 821c4372-602f-458a-929c-9a67f14f9944
Révision : 24507
Type de nœud : répertoire
Tâche programmée : normale
Auteur de la dernière modification : jlarvers
Révision de la dernière modification : 24504
Date de la dernière modification: 2013-05-23 07:45:13 +0200 (jeu. 23 mai 2013)

Pour créer une copie de travail dans le répertoire workspace/pleade-libre :

$ cd /usr/local/workspace
$ svn co svn+ssh://groche@192.168.123.16/home/svn/pleade-libre/trunk pleade-libre
$ ls pleade-libre/
ant.bat  build.xml      changes-v3.txt  legal  output        pleade.properties  README.PARAMETERS
ant.sh   ChangeLog.csv  jsdoc-toolkit   lib    pleade-image  README             src


La mise en cache du mot de passe

[modifier | modifier le wikicode]

Ne fonctionne pas.

svn --username groche --password jpkvid5h co svn+ssh://192.168.123.16/home/svn/pleade-libre/trunk pleade-libre

Beaucoup de serveurs sont configurés pour demander une authentification à chaque requête.

Pour désactiver la mise en cache du mot de passe pour un appel donné d'une commande particulière, passez l'option --no-auth-cache sur la ligne de commande :

$ svn commit -F log_msg.txt --no-auth-cache

Pour désactiver de façon permanente la mise en cache, vous pouvez ajouter la ligne store-passwords = no à votre fichier de configuration Subversion sur votre machine locale.

touch ~/.subversion/auth/config chmod 600 ~/.subversion/auth/config [auth] store-auth-creds = yes

Import d'un projet déjà existant en local  : import

[modifier | modifier le wikicode]

On importe dans le repository les fichiers locaux du projet :

cd /usr/local/workspace/
$ svn import pleade-social-media svn+ssh://groche@192.168.123.16/home/svn/pleade-social-media/trunk  -m 'Initial import'
Enter passphrase for key '/home/greg/.ssh/id_rsa': 
Ajout          pleade-social-media/src
Ajout          pleade-social-media/src/webapp
...
Ajout   (bin)  pleade-social-media/lib/ant-launcher.jar
Ajout   (bin)  pleade-social-media/lib/ant.jar

Révision 24512 propagée.

Chaque ligne débutant par Ajout indique l'ajout d'un fichier dans le repository. L'opération se termine par l'affichage du numéro de la révision.

On peut retrouver la notification de l'opération dans la journalisation. Elle contient le numéro de la révision r24512, l'identifiant de l'utilisateur, la date de l'opération, ainsi que le nombre de ligne du message : 1 ligne. Viens enfin, le message indiqué par l'option -m de svn.

$ svn log svn+ssh://groche@192.168.123.16/home/svn/pleade-social-media/trunk
Enter passphrase for key '/home/greg/.ssh/id_rsa': 
------------------------------------------------------------------------
r24512 | groche | 2013-05-23 10:12:57 +0200 (jeu. 23 mai 2013) | 1 ligne

Initial import

On peut vérifier le résultat de l'importation des sources du projet dans le repository :

$ svn ls svn+ssh://groche@192.168.123.16/home/svn/pleade-social-media/trunkEnter passphrase for key '/home/greg/.ssh/id_rsa': 
.classpath
.project
.settings/
ant.bat
ant.sh
build.xml
lib/
pleade-social-media.properties
src/
tmp.txt

Récupération de la dernière version d'un projet : update

[modifier | modifier le wikicode]

Avant de travailler sur les fichiers du projet, il faut s'assurer que l'on est bien synchronisé avec le dépôt, c'est à dire que la copie de travail correspond bien à la dernière révision en cours. Pour cela, il faut effectuer un update à l'aide de la commande svn update :

$ svn update
Enter passphrase for key '/home/greg/.ssh/id_rsa': 
U    src/webapp/module-eadeac/xsl/cdc-results.xsl
...

Référence externe actualisée à la révision 24530.

Actualisé à la révision 24530.

Chaque ligne débutant par le caractère U indique une mise à jour d'un fichier dans notre copie de travail, vraisemblablement modifié par quelqu'un d'autre depuis notre dernier update.


Mise à jour des modifications dans le dépôt : commit

[modifier | modifier le wikicode]

Une fois qu'on a modifié des fichiers, il faut basculer ces modifications au sein du dépôt pour qu'elles soient accessibles aux autres utilisateurs.

$ cd /usr/local/workspace/
$ svn commit -m "Essai de commit."


Les outils de svn

[modifier | modifier le wikicode]

Aide intégrée

[modifier | modifier le wikicode]

Une aide est intégrée à l'interface en ligne de commande. Pour obtenir de l'aide générale, et notamment la liste des commandes possibles, il suffit de faire :

svn help

Pour obtenir de l'aide sur une commande particulière, utiliser :

svn help <nom de la commande>

Informations sur la copie de travail

[modifier | modifier le wikicode]

Pour obtenir des informations sur la copie de travail en cours, on peut utiliser svn info :

$ svn info
Chemin : .
Chemin racine de la copie de travail : /usr/local/workspace-spe/pleade-social-media
URL : svn+ssh://192.168.123.16/home/svn/pleade-social-media/trunk
Racine du dépôt : svn+ssh://192.168.123.16/home/svn
UUID du dépôt : 821c4372-602f-458a-929c-9a67f14f9944
Révision : 24546
Type de nœud : répertoire
Tâche programmée : normale
Auteur de la dernière modification : groche
Révision de la dernière modification : 24546
Date de la dernière modification: 2013-05-23 19:13:57 +0200 (jeu. 23 mai 2013)


Voir l'historique des modifications d'un projet ou d'un fichier

[modifier | modifier le wikicode]

La commande svn log permet d'afficher l'historique d'un projet entier :

$ svn log svn+ssh://groche@192.168.123.16/home/svn/pleade-social-media/trunk
Enter passphrase for key '/home/greg/.ssh/id_rsa': 
------------------------------------------------------------------------
r24550 | groche | 2013-05-24 17:07:00 +0200 (ven. 24 mai 2013) | 1 ligne

Mise en oeuvre de la notion de surcharge.

...

------------------------------------------------------------------------
r24515 | groche | 2013-05-23 10:40:22 +0200 (jeu. 23 mai 2013) | 1 ligne

Suppression les fichiers de configuration d'un projet eclipse.
------------------------------------------------------------------------
r24512 | groche | 2013-05-23 10:12:57 +0200 (jeu. 23 mai 2013) | 1 ligne

Initial import


La commande svn log <filename.ext> permet d'afficher l'historique d'un fichier donné en paramètre :

$ svn log svn+ssh://groche@192.168.123.16/home/svn/pleade-social-media/trunk/src/webapp/module-social-media/module-social-media.xmap
Enter passphrase for key '/home/greg/.ssh/id_rsa': 
------------------------------------------------------------------------
r24550 | groche | 2013-05-24 17:07:00 +0200 (ven. 24 mai 2013) | 1 ligne

Mise en oeuvre de la notion de surcharge.
------------------------------------------------------------------------
r24547 | groche | 2013-05-24 11:58:59 +0200 (ven. 24 mai 2013) | 1 ligne

Modifications de documents EAD et ajout du répertoire d'images serie-07
------------------------------------------------------------------------
r24512 | groche | 2013-05-23 10:12:57 +0200 (jeu. 23 mai 2013) | 1 ligne

Initial import
------------------------------------------------------------------------

La commande svn blame permet d'obtenir des informations sur un fichier ligne par ligne, avec la révision et l'auteur correspondants :

$ svn blame svn+ssh://groche@192.168.123.16/home/svn/pleade-social-media/trunk/src/webapp/module-social-media/module-social-media.xmap
Enter passphrase for key '/home/greg/.ssh/id_rsa': 
 24512     groche <?xml version="1.0" encoding="UTF-8"?>
 24512     groche <!--
...
 24512     groche     </map:handle-errors>
 24512     groche 
 24512     groche   </map:pipelines>
 24512     groche 
 24512     groche </map:sitemap>
 24512     groche


Voir le statut de la copie de travail

[modifier | modifier le wikicode]

La commande svn status permet d'avoir des informations sur l'état de la copie de travail depuis le dernier update :

$ svn status -v
             24546    24546 groche       .
             24546    24512 groche       ant.bat
             24546    24512 groche       ant.sh
?                                        bin
             24546    24512 groche       build.xml
...
             24546    24512 groche       src/webapp/theme/js/pleade/module/eadeac
             24546    24512 groche       src/webapp/theme/js/pleade/module/eadeac/EadContentManager.js


Pour le fichier module-social-media.xmap en particulier, on obtient :

$ svn status -v | grep module-social-media.xmap          
             24550    24550 groche       src/webapp/module-social-media/module-social-media.xmap


Parcourir le dépôt

[modifier | modifier le wikicode]

La commande svn list permet d'afficher le contenu du dépôt à distance :

$ svn list svn+ssh://groche@192.168.123.16/home/svn/pleade-social-media/trunk/
Enter passphrase for key '/home/greg/.ssh/id_rsa': 
ant.bat
ant.sh
build.xml
lib/
pleade-social-media.properties
src/


Utiliser les propriétés

[modifier | modifier le wikicode]

Les propriétés sont des attributs attachés à un ou plusieurs fichiers du dépôt et qui permettent des comportements particuliers. Sans entrer dans le détail, on ne citera que deux types de propriétés.

Tout d'abord, la propriété svn:ignore permet de retirer explicitement certains fichiers du contrôle de version. Par exemple, si votre éditeur de texte enregistre systématiquement une copie de sauvegarde de vos fichiers avec l'extension .bak, il peut être intéressant de systématiquement mettre de côté ces fichiers en positionnant la propriété correspondante :

$ svn propset svn:ignore *.bak .
property 'svn:ignore' set on '.'

Sous Eclipse, on peut définir svn:ignore pour un répertoire ou fichier donné :

Click droit sur le répertoire ou le fichier >> Team >> Add to svn:ignore.

L'icône en forme de cylindre jaune à côté de l'icône du répertoire ou du fichier disparaît.

Cependant, si le fichier a déjà été commité vers le dépôt, alors cette option n'est plus disponible. On devra alors nécessairement le supprimer du dépôt, puis nettoyer la copie de travail. On pourra ainsi ajouter le drapeau svn:ignore.


Une autre utilisation intéressante concerne l'utilisation de mots-clés. Ceux-ci sont des identifiants insérés dans les fichiers du projet et qui seront remplacés au moment du commit par des informations propres à Subversion, comme le nom du fichier, le numéro de révision, l'auteur et la date de la dernière modification, etc. Par exemple, si vous insérez la chaîne $Id$ dans votre fichier, celle-ci sera automatiquement remplacée par un résumé de ces informations :

$Id: pleade-aggregate-social-media.xsl 24552 2013-05-24 16:47:04Z groche $

Pour que ces mots-clés fonctionnent, il faut positionner la propriété svn:keywords de manière adéquate pour les fichiers concernés :

$ svn propset svn:keywords "Id" index.htm
property 'svn:keywords' set on 'index.htm'

Eclipse >> Onglet Navigator >> click droit sur le nom du fichier >> Entrée Team >> Sous-entrée Set Property... >> Property name : svn:keywords >> Enter the text property : Id

Il est possible d'associer une propriété à tous les fichiers d'une arborescence, en faisant hériter cette propriété.

Eclipse >> Onglet Navigator >> click droit sur le nom du fichier >> Entrée Team >> Sous-entrée Set Property... >> Boîte de dialogue "Set Property", cocher "Set property recursively".




http://dev.nozav.org/intro_svn.html http://maverick.inria.fr/~Xavier.Decoret/resources/svn

$ cd /usr/local/workspace $ mkdir pleade-libre-old $ svn co svn+ssh://groche@192.168.123.16/home/svn/pleade-libre/trunk A trunk/README.PARAMETERS A trunk/ChangeLog.csv A trunk/legal ... Révision 24331 extraite. Révision 24331 extraite. $ cd trunk/ $ svn merge -r 24331:23938 svn+ssh://groche@192.168.123.16/home/svn/pleade-libre/trunk --- Fusion inverse de r24331 à r23939 dans '.' : U src/java/org/pleade/acting/SimpleFileCreator.java U src/script-pre-traitement/bin/traitement_img.sh D src/script-pre-traitement/processImage ... U src/webapp/commons/admin/xsl/users.xsl D src/webapp/commons/xsp/get-request-queries.xsp

Faire de même pour pleade-entreprise-old.

Installation Pleade

[modifier | modifier le wikicode]

L'ajout du fichier de configuration pour Apache Tomcat :

$ cd /usr/local/apache-tomcat-6.0.36/conf/Catalina/localhost
$ touch pleade-entreprise.xml
$ echo '<?xml version="1.0" encoding="utf-8"?>' > pleade-entreprise.xml
$ echo '<Context docBase="/usr/local/apache-tomcat-6.0.36/webapps/pleade-entreprise"/>' >> pleade-entreprise.xml
$ more pleade-entreprise.xml 
<?xml version='1.0' encoding='utf-8'?> 
<Context docBase="/usr/local/apache-tomcat-6.0.36/webapps/pleade-entreprise"/>

L'ajout d'un sous-domaine dans le fichier /etc/hosts :

$ head -4 /etc/hosts
127.0.0.1	localhost
127.0.1.1	pitcairn.ile	pitcairn
127.0.1.1       pleade-libre.pitcairn.ile pitcairn
127.0.1.1       pleade-entreprise.pitcairn.ile pitcairn

La configuration de l'hôte virtuel pleade-entreprise.pitcairn.ile de Apache HTTP, passe par la création du fichier /etc/apache2/sites-available/pleade-entreprise.pitcairn.ile :

$ :>/etc/apache2/sites-available/pleade-entreprise.pitcairn.ile

La configuration est la suivante :

$ cat /etc/apache2/sites-available/pleade-entreprise.pitcairn.ile
<VirtualHost *:80>

  ServerName pleade-entreprise.pitcairn.ile
  ServerAdmin groche@ajlsm.com

  DocumentRoot /usr/local/apache-tomcat-6.0.36/webapps/pleade-entreprise/

  AddDefaultCharset utf-8

  # IIPimage server
  ProxyPass /cgi-bin/iipsrv.fcgi http://localhost/cgi-bin/iipsrv.fcgi
  ProxyPassReverse /cgi-bin/iipsrv.fcgi http://localhost/cgi-bin/iipsrv.fcgi
  #ProxyPass /fcgi-bin/iipsrv.fcgi http://localhost/fcgi-bin/iipsrv.fcgi
  #ProxyPassReverse /fcgi-bin/iipsrv.fcgi http://localhost/fcgi-bin/iipsrv.fcgi

  ProxyPass / ajp://localhost:8009/pleade-entreprise/
  ProxypassReverse / ajp://localhost:8009/pleade-entreprise/

  # Extremely verbose
  RewriteLogLevel 9
  RewriteLog ${APACHE_LOG_DIR}/pleade-entreprise.log

  # Log file
  ErrorLog ${APACHE_LOG_DIR}/pleade-entreprise-error.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn
  CustomLog ${APACHE_LOG_DIR}/pleade-entreprise-access.log combined

</VirtualHost>

La vérification de la syntaxe :

$ sudo apachectl configtest
Syntax OK

L'activation de l'hôte virtuel pleade-entreprise.pitcairn.ile de Apache HTTP :

$ sudo a2ensite pleade-entreprise.pitcairn.ile
[sudo] password for greg: 
Enabling site pleade-entreprise.pitcairn.ile.
Run '/etc/init.d/apache2 reload' to activate new configuration!
$ sudo /etc/init.d/apache2 reload
Reloading web server config: apache2.

Arrêter Tomcat 6.0 à partir du PID

[modifier | modifier le wikicode]

Le fichier $TOMCAT_HOME/tomcat.pid est créé au démarrage de Tomcat. Il contient le PID du processus de Tomcat :

cat $TOMCAT_HOME/tomcat.pid 
6891

Ce fichier est supprimé à l'arrêt de Tomcat.

Pour arrêter Tomcat :

cat $TOMCAT_HOME/bin/catalina.pid | xargs kill -9


Arrêter Tomcat :

$TOMCAT_HOME/bin/catalina.sh stop

Définir la variable d'environnement CATALINA_BASE dans ~/.profile :

CATALINA_BASE=/usr/local/apache-tomcat-6.0.36

Créer le fichier $TOMCAT_HOME/bin/setenv.sh :

CATALINA_PID="$CATALINA_BASE/bin/catalina.pid"

Redémarrer Tomcat :

$TOMCAT_HOME/bin/catalina.sh start

Pour arrêter Tomcat :

cat $TOMCAT_HOME/bin/catalina.pid | xargs kill -9


Erreurs à l'arrêt du serveur

[modifier | modifier le wikicode]
$ catalina.sh stop
Using CATALINA_BASE:   /usr/local/apache-tomcat-6.0.36
Using CATALINA_HOME:   /usr/local/apache-tomcat-6.0.36
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.36/temp
Using JRE_HOME:        /usr/local/jdk1.6.0_39
Using CLASSPATH:       /usr/local/apache-tomcat-6.0.36/bin/bootstrap.jar
Using CATALINA_PID:    /usr/local/apache-tomcat-6.0.36/bin/catalina.pid
15 mars 2013 11:22:47 org.apache.catalina.startup.Catalina stopServer
GRAVE: Catalina.stop: 
java.net.ConnectException: Connection refused
	at java.net.PlainSocketImpl.socketConnect(Native Method)

Arrêter Tomcat :

cat $TOMCAT_HOME/bin/catalina.pid | xargs kill -9

Supprimer le fichier catalina.pid :

rm -f $TOMCAT_HOME/bin/catalina.pid

Démarrer Tomcat :

$TOMCAT_HOME/bin/catalina.sh start


Vérifier si Apache Tomcat est démarré

[modifier | modifier le wikicode]
netstat -a | grep "LISTEN"
tcp        0      0 localhost.localdom:7634 *:*                     LISTEN     
tcp        0      0 localhost.locald:domain *:*                     LISTEN     
tcp        0      0 *:ssh                   *:*                     LISTEN     
tcp        0      0 localhost.localdoma:ipp *:*                     LISTEN     
tcp        0      0 localhost.lo:postgresql *:*                     LISTEN     
tcp        0      0 localhost.localdom:smtp *:*                     LISTEN     
tcp        0      0 *:http                  *:*                     LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN     
tcp6       0      0 ip6-localhost:smtp      [::]:*                  LISTEN     
tcp6       0      0 localhost.localdom:8005 [::]:*                  LISTEN     
tcp6       0      0 [::]:8009               [::]:*                  LISTEN     
tcp6       0      0 [::]:http-alt           [::]:*                  LISTEN

Apache Tomcat et JAVA_OPTS

[modifier | modifier le wikicode]

A compléter

JAVA_OPTS="-Dfile.encoding=UTF-8 -Xmx2500m -XX:MaxPermSize=128m -XX:NewSize=300m -Djava.awt.headless=true -server -Duser.language=fr -Duser.region=FR"

  • -Xmx2500m : défini l'allocation mémoire, 2500m signifi 2.5Go;
  • -Duser.language=fr et -Duser.region=FR : permettent de forcet la locale de Tomcat.


Voir : UTF-8

L'installation de la commande :

# apt-get update
# apt-get install sudo

La commande sudo doit être setuid root :

# chmod 4755 `which sudo`

Le test de la commande sudo :

# exit
$ locate /etc/hosts
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny

La commande visudo permet d'éditer le fichier de configuration /etc/sudoers :

# visudo 
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL

# Allow members of group sudo to execute any command
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d

La validation du fichier de configuration :

# visudo -c
/etc/sudoers: parsed OK

Lorsqu'un utilisateur souhaite utiliser la commande sudo sans en avoir la permission, on obtient un message tel que :

$ sudo rmdir repertoire

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for user: 
user is not in the sudoers file.  This incident will be reported.

Pour avoir la permission d'utiliser la commande sudo, un utilisateur doit appartenir au groupe sudo.

Pour ajouter un utilisateur user au groupe sudo :

# adduser user sudo
Ajout de l'utilisateur « user » au groupe « sudo »...
Ajout de l'utilisateur user au groupe sudo
Fait.
# groups user
greg : user cdrom floppy sudo audio dip video plugdev scanner bluetooth netdev

L'utilisateur user se verra affecter au groupe sudo à l'ouverture de sa prochaine session utilisateur.

Source : Root sudo


Configuration de la commande sudo : PATH not set

[modifier | modifier le wikicode]

Certaines commandes ne sont pas disponibles dans le PATH de l'utilisateur :

# cd /usr/sbin
# touch test.sh
# echo "#!/bin/bash" > test.sh
# echo '#!/bin/bash' > test.sh
# echo 'echo "ok"' >> test.sh
# chmod 744 test.sh

$ sudo test.sh
sudo: test.sh: command not found

On peut ajouter un chemin :

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# visudo -c
# visudo -c
/etc/sudoers: parsed OK
/etc/sudoers.d/README: parsed OK
$ sudo test.sh
ok

L'administrateur du NAS doit avoir préalablement créer un compte.

L'installation du paquet smbfs afin de disposer du système de fichier de Samba et des utilitaires du paquet cifs-utils :

$ sudo apt-get update
$ sudo apt-get install smbfs cifs-utils

Les paquets supplémentaires suivants seront installés : cifs-utils, samba-common et samba-common-bin.

L'installation de l'utilitaire backintime pour le bureau Gnome :

$ sudo apt-get install backintime-gnome

Alternativement, le paquet backintime-kde est utilisé pour le bureau KDE.

La création du fichier des données de connexion /home/greg/.naspwd au NAS :

$ cd ~
$ :>.naspwd
$ echo username=greg > .naspwd
$ echo password=******** >> .naspwd
$ more .naspwd 
username=greg
password=********
$ sudo chmod 600 ~/.naspwd
$ sudo chown $(whoami):$(whoami) ~/.naspwd
$ ls -al ~/.naspwd
-rw------- 1 greg greg 32  2 mai   11:48 /home/greg/.naspwd

Note : chown $(whoami):$(whoami) suppose que l'utilisateur courant à le même login que l'utilisateur du NAS.

La création du point de montage du NAS :

$ sudo mkdir /media/nas
$ ls -al /media/nas
total 8
drwxr-xr-x 2 root root 4096  2 mai   09:08 .
drwxr-xr-x 5 root root 4096  2 mai   10:17 ..

Le montage du système de fichier du NAS  :

$ su -
# sudo mount.cifs //192.168.123.3/homes /media/nas --verbose -o user=greg,pass=********,credentials=/home/greg/.naspwd
mount.cifs kernel mount options: ip=192.168.123.3,unc=\\192.168.123.3\homes,user=greg,pass=********
# ls /media/nas
admin  ctate  elopez  greg  mdia
# exit
  • //192.168.123.3/homes : chemin réseau vers le dossier partagé. On peut utiliser un nom d'hôte à la place d'une IP; par exemple nas plutôt que 192.168.123.3, ce nom d'hôte doit être configuré dans le fichier /etc/hosts;
  • /media/nas : chemin du point de montage;
  • credentials=/home/greg/.naspwd : le chemin et le fichier des données de connexion.

Le démontage du système de fichier du NAS  :

$ sudo umount /media/nas
$ ls /media/nas/

Le montage automatique lors du démarrage de Debian s'effectue en ajoutant au fichier /etc/fstab la ligne suivante :

//192.168.123.3/homes /media/nas cifs credentials=/home/greg/.naspwd,iocharset=utf8,codepage=cp850,noperm,auto 0 0

Le montage manuel du système de fichier du NAS à partir du fichier /etc/fstab :

$ sudo mount -a
$ ls /media/nas/
admin  ctate  elopez  greg  mdia

Enfin, dans Gnome, l'application Backintime est disponible à partir du menu :

Barre d'outils >> Applications >> Outils système >> Back In Time.

La configuration de l'application Backintime :

Barre de menu >> Préférences

Onglet Général >> Dossier pour les sauvegardes >> Autre... >> /media/nas/greg

Le répertoire /media/nas/greg/backintime est alors créé par l'application.

Onglet Inclure >> Ajouter ... les répertoires à sauvegarder >> Valider.

Le lancement de la sauvegarde par l'application Backintime :

Barre de menu >> Sauvegarder

La barre de tâche indique le fichier en cours de sauvegarde : En cours : Sauvegarder (rsync: ...)

Source : Chapitre 20. Utiliser des médias de stockage

Raccourcis bash en mode Emacs

[modifier | modifier le wikicode]

CTRL + a : déplace le curseur en début de ligne (équivalent à la touche début).

CTRL + e : (end) déplace le curseur en fin de ligne (équivalent à la touche fin).

ALT + f : (forward) avance le curseur d'un mot.

ALT + b : (backward) recule le curseur d'un mot.

CTRL + x CTRL + x : (car x est en forme de croisement) alterne le curseur avec son ancienne position.

Couper / Coller

[modifier | modifier le wikicode]

CTRL + l : efface le contenu de l'écran (équivalent à la commande clear).

CTRL + k : efface le contenu de la ligne après le curseur et le place dans le presse-papier.

CTRL + u : efface le contenu de la ligne avant le curseur et le place dans le presse-papier.

CTRL + w : efface le mot avant le curseur et le place dans le presse papier.

ALT + u : (uppercase) transforme le mot courant en majuscules à partir du curseur et avance d'un mot.

ALT + l : (lowercase) transforme le mot courant en minuscules à partir du curseur et avance d'un mot.

ALT + c : (capitalize) met la lettre sous le curseur en majuscule et avance d'un mot.

CTRL + y : (yank) ajoute le contenu du presse-papier à partir de la position du curseur. ALT + del : coupe le mot avant le curseur.

ALT + d : (delete) coupe le mot après le curseur.

CTRL + x CTRL + e : (editor car reprend la variable $EDITOR du shell) édite la ligne courante dans votre éditeur de texte.

Historique et recherche

[modifier | modifier le wikicode]

CTRL + p : (previous) rappelle la commande précédente (équivalent à la touche flèche du haut).

CTRL + n : (next) rappelle la commande suivante (équivalent à la touche flèche du bas).

CTRL + r : (research) rappelle la dernière commande contenant les caractères spécifiés (équivalent à vim ~/.bash_history). Un 2e CTRL + r rappelle la prochaine commande antérieure correspondant à la recherche. CTRL + s : rappelle la commande suivante de la recherche (attention à ne pas l'exécuter depuis un terminal car cette commande déclencherait son XOFF). CTRL + o : exécute la commande trouvée dans la recherche.

TAB : auto-complète un mot à partir de la position du curseur.

CTRL + c : envoie le signal SIGINT à la tâche au premier plan, ce qui a pour effet de l'interrompre.

CTRL + d : ferme le shell courant (équivalent de la commande exit).

CTRL + z : envoie le signal SIGTSTP à la tâche au premier plan ce qui a pour effet de la suspendre. Pour la réafficher on peut entrer fg 'nom du processus'.

CTRL + _ : annule la dernière modification.

ALT + r : annule les changements et remet la ligne telle qu'elle était dans l'historique.


Voir http://mw.ajlsm.com/wiki/AJLSM_Mots_de_passe


La commande cron

[modifier | modifier le wikicode]

La commande cron permet d’exécuter des programmes à des temps déterminés.

Pour ce faire, le daemon cron inspecte par défaut les répertoires /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly et /etc/cron.monthly.

Ce comportement de cron est décrit dans le fichier /etc/crontab.

Lancer une tâche avec cron

[modifier | modifier le wikicode]

Vous disposez donc de 2 manières d’exécuter une tâche ou un job :

  • soit en ajoutant le programme dans un des répertoires /etc/cron.*y;
  • soit en insérant une entrée dans le fichier /etc/crontab.

Par défaut, le fichier /etc/crontab comprends deux parties. La première partie définit un ensemble de variables. La seconde partie définit un ensemble d'entrée.

$ more /etc/crontab 
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
# m h dom mon dow user	command
17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

Dans la première partie, les variables sont :

  • SHELL : définit le shell dans lequel sera executé cron. Si ce dernier n’est pas spécifié, le shell par défaut de l’utilisateur sera sélectionné grâce au fichier /etc/passwd;
  • PATH : un ensemble de chemins absolus de répertoires d'éxecutables; La variable d'environnement PATH du super utilisateur a la même valeur par défaut;
  • MAILTO : envoi la sortie de la commande, s’il y en existe une, par mail à l’utilisateur indiqué. Si la variable MAILTO n’est pas spécifiée, alors la sortie de la commande sera envoyée par mail au propriétaire de la commande;
  • HOME : définit le répertoire home de cron. Si la variable HOME n’est pas spécifiée, le répertoire home de l’utilisateur sera choisit grâce au fichier /etc/passwd.

La seconde partie décrit à quels instants seront exécutés les commandes des répertoires /etc/cron.*y. La syntaxe d’une entrée est la suivante : mm hh jj MMM JJJ utilisateur commande.

  • m (minute, de 0 à 59) : représente les minutes;
  • h (hour, de 0 à 23) : représente l’heure;
  • dom (day of month, de 1 à 31) : représente le numéro du jour du mois;
  • mon (month, de 1 à 12, ou de Jan à Dec) : représente le numéro du mois; ou l’abréviation du nom du mois : jan, feb, mar, apr, …
  • dow (day of week, de 0 à 7, ou de Sun à Sat) : représente l’abréviation du nom du jour ou le chiffre correspondant au jour de la semaine; ainsi 0 représente le dimanche, 1 représente le lundi, …, dimanche peut aussi etre représenté par le chiffre 7.

Pour chaque unité de temps, on peut utiliser :

  • l'astérisque * : pour définir une fréquence; telle que « tous les jours » ou « toutes les minutes »;
  • le slash / : pour définir une période; par exemple */3 pour indiquer « tous les 3 jours » ou « toutes les 3 minutes »;
  • le caractère – : pour spécifier un intervalle de temps; par exemple 1-10 signifit « les 10 premiers jours » ou « les 10 premières minutes »;
  • la virgule , : pour spécifier plusieurs valeurs de temps; par exemple 1,15 signifie « le 1er jour et le 15ème jour » ou « la 1ère minute et la 15ème minute », etc.

Exemples :

* 12 1-15,17,20-25 * * root backupMySQL.sh

lance la commande backupMySQL.sh tous les lundi entre le 1er et le 15 et entre le 20 et 25 du mois (inclus) et le 17 de tous les mois.

* 12 10-16/2 * * root backupMySQL.sh

équivaut à

* 12 10,12,14,16 * * root backupMySQL.sh

Pour ne pas envoyer le mail de la sortie au super utilisateur ni aucun utilisateur, on peut rediriger la sortie vers /dev/null. :

* * * * *       /sbin/ping -c 1 192.168.0.1 > /dev/null

Par défaut, un email est envoyé à l'utilisateur définit par la variable MAIL, soit par défaut, le super utilisateur.

Pour envoyer la sortie d'une commande par mail à l’utilisateur désiré :

commande | mail -s "sujet du mail" user@nowhere.org

Pour rediriger la sortie standard vers un fichier de journalisation :

commande >> file.log

Pour rediriger la sortie standard et les erreurs :

commande >> file.log 2>&1

Pour enfin renvoyer le fichier de journalisation par mail en créant une nouvelle entrée cron :

MAILTO=user@nowhere.org,user2@somewhere.org

mail -s "Le fichier de journalisation" < file.log


La commande crontab

[modifier | modifier le wikicode]

Le programme crontab est utilisé pour installé, lister ou désinistaller les entrées utilisées par cron. Chaque utilisateur peut avoir son propre crontab; et ces fichiers seront dans le répertoire /var/spool/cron/crontabs, ils n'ont pas à être éditer directement.

If the /etc/cron.allow file exists, then you must be listed therein in order to be allowed to use this command. If the /etc/cron.allow file does not exist but the /etc/cron.deny file does exist, then you must not be listed in the /etc/cron.deny file in order to use this command. If neither of these files exists, then depending on site-dependent configuration parameters, only the super user will be allowed to use this command, or all users will be able to use this command. For standard Debian systems, all users may use this command.

If the -u option is given, it specifies the name of the user whose crontab is to be tweaked. If this option is not given, crontab examines "your" crontab, i.e., the crontab of the person executing the command. Note that su can confuse crontab and that if you are running inside of su you should always use the -u option for safety's sake.

The first form of this command is used to install a new crontab from some named file or standard input if the pseudo-filename ``- is given.

The -l option causes the current crontab to be displayed on standard output.

The -r option causes the current crontab to be removed.

The -e option is used to edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables. The specified editor must edit the file in place; any editor that unlinks the file and recreates it cannot be used. After you exit from the editor, the modified crontab will be installed automatically.


Instead of the first five fields, one of eight special strings may appear:

string         meaning
------         -------
@reboot        Run once, at startup.
@yearly        Run once a year, "0 0 1 1 *".
@annually      (same as @yearly)
@monthly       Run once a month, "0 0 1 * *".
@weekly        Run once a week, "0 0 * * 0".
@daily         Run once a day, "0 0 * * *".
@midnight      (same as @daily)
@hourly        Run once an hour, "0 * * * *".


Sources : http://www.pantz.org/software/cron/croninfo.html http://www.debian-administration.org/articles/56

http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO.html#toc10

Changer pour le terminal 2 :

$ chvt 2

Indiquer au gestionnaire de console d'effacer l'écran au bout de nn mimutes d'inactivité :

$ setterm -blank nn

Pour annuler l'effet de setterm :

$ setterm 0

The s option of xset(1) will set the X screensaving parameters :

$ xset s 10 blanks the screen after 10 minutes.

Pour annuler l'action de l'économiseur d'écran de X :

$ xset s off

Afficher le contenu de l'écran de /dev/ttyN :

$ sudo cat /dev/vcsN (virtual console screen)

/dev/vcsN ne contient pas de caractère de nouvelle ligne ou d'attributs, tel que la couleur. Pour un affichage lisible, le terminal d'affichage doit donc avoir le même nombre de lignes et de colonnes que /dev/ttyN. Sinon, /dev/vcsaN permet de donner le nombre de ligne, le nombre de colonnes ainsi que l'emplacement du curseur. (`virtual console screen with attributes')

Pour modifier l'état des LED du clavier :

$ setleds ...

Le plugins Adobe Flash

[modifier | modifier le wikicode]

http://get.adobe.com/flashplayer/

1 cd /Downloads 2 tar xvf install_flash_player_11_linux.x86_64.tar.gz

Now copy extracted file of plugin into specific directory: 1 cp libflashplayer.so /usr/lib/mozilla/plugins/

Change working directory: 1 cd ./usr/bin/

Finally copy last thing: 1 cp flash-player-properties /usr/local/bin