Table des matières
Logiciels pour Linux
Vous trouverez sur cette page une collection d'informations diverses sur les logiciels pour Linux au DIRO. Les premières sections donnent quelques détails sur des logiciels fréquemment utilisés et la dernière donne finalement une liste plus étendue des logiciels principaux sur les stations Linux au DIRO.
Desktop par défaut
Pour les utilisateurs d'un poste de travail, le desktop à utiliser est KDE. C'est le seul desktop qui supporté par l'équipe de soutien informatique. Les autres desktops comme GNOME et twm sont disponibles afin de démontrer une certaine variété au niveau des environnements mais ils ne sont pas supportés. L'usager les utilise tel quel sans aucune garantie au niveau du soutien.
Préparation de documents et suite bureautique
LaTeX
Le système TeX est un environnement de préparation de documents beaucoup utilisé dans le monde scientifique. LaTeX est un ensemble de macros simplifiant l'utilisation de TeX.
Usage
Soit un fichier LaTeX toto.tex
. Voici les commandes à taper pour produire un fichier PostScript :
latex toto.tex # ceci produit un fichier toto.dvi dvips -o toto.ps toto.dvi
Il est ensuite possible d'imprimer toto.ps
.
Problèmes fréquents
- L'usager redéfinit dans son
.cshrc
ou.profile
certaines variables d'environnement essentielles au fonctionnement correct de TeX (par exempleTEXINPUTS
ouBSTINPUTS
). Si l'usager se trouve dans cette situation, TeX ne trouvera plus ses fichiers. Pour résoudre ce problème, l'usager doit éliminer ses redéfinitions ou encore s'assurer qu'elles se terminent par un deux-points :, par exemplesetenv TEXINPUTS /mon_répertoire_maison/tex:
dans le
.cshrc
ou, pour le.profile
, ainsi :export TEXINPUTS=/mon_répertoire_maison/tex:
- Le document contient des caractères accentués. Dans le préambule du document, il faut s'assurer d'avoir ajouter la ligne
\usepackage[utf-8]{inputenc}
ou, si le document est encodé en ISO-Latin-1, la ligne
\usepackage[latin1]{inputenc}
- Le document est écrit dans le vieux style LaTeX 2.09 plutôt que LaTeX2e. La commande
\documentstyle
est remplacée par\documentclass
et certaines options sont devenus des packages. Ex.:\documentstyle[isolatin1,francais]{article}
devient
\documentclass{article} \usepackage[latin1]{inputenc} \usepackage[francais]{babel}
Produire du PostScript et du PDF portable
Pour produire directement un fichier PDF à partir d'un fichier LaTeX, utilisez la commande :
pdflatex fichier.tex
Ceci crée fichier.pdf
. Si le fichier PDF produit ne s'imprime pas bien ou ne s'affiche pas complètement, utilisez plutôt les deux étapes suivantes :
- produire un fichier PS portable (avec des polices vectorielles) à partir d'un document DVI :
dvips -Ppdf fichier.dvi
ceci crée
fichier.ps
; - produire un fichier PDF à partir du PS :
ps2pdf fichier.ps fichier.pdf
ceci crée
fichier.pdf
.
Images
La commande latex
ne reconnait que les images (ou figures) dans le format EPS. Le programme gimp
peut être utilisé pour convertir des images en format PostScript encapsulé pour les inclure dans un document LaTeX. Cependant, il est souvent plus simple d'utiliser la commande convert
de la suite ImageMagick. Ex.: La commande suivante convertit l'image figure.png
en figure.eps
:
convert -quality 100 figure.png EPS2:figure.eps
D'un autre côté, la commande pdflatex
ne reconnait pas les fichiers EPS mais seulement ceux du format PDF, JPEG, PNG et peut-être quelques autres.
Références
LaTeX : A Document Preparation System, Second Edition by : Leslie Lamport ISBN : 0-201-52983-1, 1994.
The LaTeX Companion by : Michel Goossens, Frank Mittelbach, Alexander Samarin part of the Tools and Techniques for Computer Typesetting ISBN : 0-201-54199-8, 1994.
The LaTeX Graphics Companion Illustrating documents with TeX and PostScript by : Michel Goossens, Sebastian Rahtz, Frank Mittelbach part of the Tools and Techniques for Computer Typesetting ISBN : 0-201-85469-4, 1997.
Suite bureautique LibreOffice
LibreOffice est une suite de bureautique similaire et relativement compatible à Microsoft Office. Elle inclut, entre autres, un traitement de texte, un chiffrier, un logiciel de dessin et un logiciel de présentation. Pour l'instant, seule la version anglaise est installée.
Sur les stations Linux du DIRO, LibreOffice est accessible via le menu de KDE sous la rubrique Office.
Si l'icône n'est pas dans la barre au bas de l'écran ou dans le menu, on peut démarrer la suite avec la commande suivante :
libreoffice [nom-de-fichier]
où [nom-de-fichier]
est un paramètre optionnel indiquant un document à ouvrir. La suite peut lire plusieurs format de Microsoft (.doc
, .rtf
, .xls
, .ppt
parmi d'autres). Il est possible de lancer un module particulier directement en choisissant le choix approprié dans le menu de KDE ou avec la commande appropriée :
- Traitement de texte :
libreoffice --writer [nom-de-fichier]
- Chiffrier :
libreoffice --calc [nom-de-fichier]
- Dessin :
libreoffice --draw [nom-de-fichier]
- Présentation :
libreoffice --impress [nom-de-fichier]
Pour imprimer, assurez vous que le document est en format US Letter et que les propriétés de l'imprimante indiquent aussi que le papier est en format US Letter.
Programmation
Java
Plusieurs versions sont disponibles.
- Pour utiliser la version courante du JDK de Sun, taper la commande :
inclure jdk
avant d'appeler
javac
oujava
. <html><!– Encore pertinent? Sur les machines Solaris 9, il ne faut pas taper la commande inclure –></html> - Pour utiliser le JDK 1.1 de Sun, taper plutôt la commande :
inclure jdk-1.1
- Pour utiliser la version JDK 1.2 de Sun, taper la commande :
inclure jdk-1.2
- Pour utiliser la version JDK 1.3 de Sun, taper la commande :
inclure jdk-1.3
- Pour utiliser la version JDK 1.4 de Sun, taper la commande :
inclure jdk-1.4
- Pour utiliser la version JDK 1.5 de Sun, taper la commande :
inclure jdk-1.5
Cette instruction va ajouter en tête de votre PATH
le chemin vers les commandes de la version désirée du JDK. Vous aurez alors accès au compilateur javac
et aux autres outils du JDK.
Bibliothèque Voyager 2.0.2 de ObjectSpace pour Java
Pour utiliser la bibliothèque Voyager 2.0.2 :
inclure voyager-2.0.2
avant d'appeler javac
. Les modules sont compatibles avec JDK 1.1.
Bibliothèque JGL Version 3.1.0 de ObjectSpace pour Java
Pour utiliser la bibliothèque JGL 3.1.0 :
inclure jgl-3.1.0
avant d'appeler javac
. Les modules sont compatibles avec JDK 1.1. Si vous utilisez les extensions de Voyager, consultez aussi la section ci-dessus.
Prolog
La version du langage Prolog disponible au DIRO est GNU Prolog. Pour l'utiliser, taper la commande :
gprolog
L'aide est disponible dans le répertoire /usr/share/doc/gprolog-docs-1.3.0 .
Lisp
Allegro est un environnement de développement en Lisp. Avant de l'utiliser, tapez la commande :
inclure allegrocl
Pour lancer la version récente du logiciel, version « case-insensitive », tapez :
alisp
Pour la version « case-sensitive », tapez :
mlisp
Fureteur Web
Firefox
Firefox est le fureteur Web recommendé au département. Il est possible de le lancer à partir des icones dans la barre d'outils de KDE au bas de l'écran ou à partir du menu de KDE. Sinon, il peut-être lancé avec la commande suivante :
firefox &
Il y a une règle simple à suivre pour éviter tout problème de profil avec Firefox: utiliser un et un seul profil. Dans l'environnement UNIX du DIRO, il n'y a a priori rien de particulier à faire pour garantir ceci puisque le profil de Firefox réside dans le compte UNIX de l'usager qui réside sur un serveur central. Malgré tout, il peut arriver de temps à autre qu'au démarrage de Firefox, il demande si l'usager veut créer un nouveau profil ou utiliser un profil existant. Ceci se produit lorsque Firefox ne s'est pas fermé correctement à la dernière exécution ou si une autre instance du logiciel est active sur une autre machine où l'usager est branché. Peu importe la cause, il est important de ne pas créer de nouveau profil. Le mieux est de quitter Firefox et, si la situation correspond au deuxième cas, aller fermer l'autre instance. Pour le premier cas (Firefox mal fermé), l'usager doit ouvrir une fenêtre de terminal puis taper :
cd .mozilla/firefox ls
Dans ce qui sera affiché, il devrait y avoir un répertoire dont le nom commence ou se termine par default
(avant ou après un .
), ou sinon un répertoire avec un nom plutôt étrange. Soit <default-rep>
le nom de ce répertoire, l'usager doit ensuite taper :
rm <default-rep>/lock
Finalement, l'usager peut relancer Firefox.
Calculs numériques et scientifiques
Mathematica
Mathematica est un logiciel pour faire du calcul scientifique. Il inclut les fonctionnalités suivantes :
- Calculatrice numérique et symbolique
- Système de visualisation pour des fonctions et données
- Environnement pour l'analyse de données
- etc.
La version 11.3 est disponible.
Vous pouvez exécuter Mathematica en mode graphique avec la commande
mathematica
ou en mode terminal avec la commande
math
Matlab
Matlab (MathWorks) est un logiciel pour faire du calcul numérique et de la visualisation. Il inclut les fonctionnalités suivantes :
- Analyse numérique
- Calcul matriciel
- Traitement de signal
- Graphiques
- etc.
Pour lancer le logiciel Matlab, la commande est
matlab
Changez de salle d'ordinateurs si vous obtenez le message d'erreur
Error: Your computer processor is missing the SSE2 instructions that are required for MATLAB to run correctly.
Bases de données
Oracle
Le logiciel Oracle est uniquement disponible sur le serveur oracle.iro.umontreal.ca
sous Linux pour l'enseignement. Pour utiliser le logiciel, il faut :
- d'abord avoir un compte Oracle (nom d'usager et mot de passe); le nom d'usager est le même que pour se brancher sur UNIX, la recette du mot de passe est donné par le professeur ou le démonstrateur.
- pour lancer l'interpréteur SQL, taper la commande :
sqlplus usager@ORACLE
ou
sql+ usager@ORACLE(Recommandée)
et taper son mot de passe Oracle.
MySQL
Plus d'information sur le logiciel MySQL.
Systèmes de gestion de versions
Subversion
Le logiciel Subversion est le remplaçant de CVS. Sa gestion est centralisée.
Préparation
Clé ssh pour l'administration
Faire parvenir votre clé ssh publique pour vous donner l'accès aux fichiers de gestions des dépôts de votre laboratoire. Si vous n'en avez pas déjà une, dans un terminal, utliser la commande
ssh-keygen -b 1024 -t dsa
et faite retour de chariot aussi souvent que nécessaire pour accepter toute les réponses par défaut. Ensuite, envoyez le fichier .ssh/id_dsa.pub au DIRO.
Récupération du répertoire des fichiers de configurations
Dans un terminal, utilisez la commande
svn co svn+ssh://svnadmin@subversion/configs
Pour importer une copie de travail du répertoire des fichiers de gestion. Ce répertoire contient 3 fichiers:
- dav_svn.authz : contient les règles d'accès
- dav_svn.passwd : contient les paires usager:motdepasse
- repolist : contient les noms des dépôts, un par ligne, et rien d'autre
Gestion
Ajout d'un utilisateur
Demander à l'utilisateur de créer une paire nomusager:motdepasse avec la commande
htpasswd -n -d nomusager
et de vous en envoyer le résultat, par exemple
comptetest:DxXlx6xXa83w6
Ajouter au fichier dav_svn.passwd et matérialiser ce changement en faisant un commit, i.e.
svn commit -m "Ajout usager ..."
Création d'un dépôt
Éditer le fichier repolist et y ajouter, sur une ligne, le nom désiré du dépôt. Ensuite, faire un commit pour matérialiser la création
svn commit -m "Ajout du depot ..."
Attention: Ce fichier ne doit pas contenir de commentaire ou de ligne blanche. Uniquement une liste des nom des dépôts, un par ligne.
Gestion des règles d'accès aux dépôts
Dans le fichier dav_svn.authz, créer ou modifer les groupes dans la rubrique [groups], i.e.
[groups] nomdegroupe1 = usager1,usager2,usager3 nomdegroupe2 = usager2,usager4
Ensuite, ajouter ou modifier une rubrique [nomdedepot:/], par exemple:
[nomdedepot:/] @nomdegroupe2 = rw @nomdegroupe1 = r * =
Note: pour donner uniquement l'accès en lecture à tous les usagers du dav_svn.passwd, utiliser la règle
[nomdedepot:/] * = r
Ensuite, matéraliser les règles par un commit
svn commit -m "Modification regles acces ..."
Utilisation
Clonage d'un dépôt
À partir d'un terminal, dans le répertoire où on veut mettre la copie de travail du dépôt
svn checkout https://subversion.iro.umontreal.ca/nomdulab/nomdudepot
Mercurial
Le logiciel Mercurial (hg) utilise une gestion décentralisée.
Dans la description qui suit, la variable $lab doit être substitué par le nom du laboratoire et la variable $hgadm par le nom de l'usager administrateur créé par le DIRO au moment de la création de la zone de dépôts pour le laboratoire (habituellement hg suivi du nom du lab).
Préparation
Clé ssh pour l'administration
Faire parvenir votre clé ssh publique pour vous donner l'accès aux fichiers de gestions des dépôts de votre laboratoire. Si vous n'en avez pas déjà une, dans un terminal, utliser la commande
ssh-keygen -b 1024 -t dsa
et faite retour de chariot aussi souvent que nécessaire pour accepter toute les réponses par défaut. Ensuite, envoyez le fichier .ssh/id_dsa.pub au DIRO.
Récupération du répertoire des fichiers de configurations
Dans un terminal, utilisez la commande
hg clone $hgadm@version.iro.umontreal.ca:hgadmin
Pour importer une copie de travail du dépôt des fichiers de gestion hgadmin. Le répertoire a cette structure:
- access.conf: contient les règles d'accès.
- keys/: répertoire contenant les clés ssh publiques des utilisateurs, organisées en sous-répertoires tenant lieu de groupes.
Gestion
Ajout d'un utilisateur
Demander à l'usager de vous envoyer une clé publique ssh. Ajouter le fichier de la clé dans un sous-répertoire du répertoire keys sous le nom $usager. Dire à hg qu'il y a un nouveau fichier, commettre les changements et les pousser sur le serveur.
hg add hg commit -m "ajout usager $usager" hg push
Création de groupes
Utiliser la commande mkdir pour créer un sous-répertoire keys/$groupe et y mettre les clés publiques ssh de ceux qui doivent en faire partie. On peut même créer un arborescence plus profonde (i.e. groupe, sous-groupe, sous-sous-groupe, etc.), si cela est nécessaire.
Groupes prédéfinis
Deux sous-répertoires de keys/ ont des accès prédéfinis sur tous les dépôts (avec une exception pour hgadmin). Il se peut que ces sous-répertoires n'existent pas encore lors du premier clonage de hgadmin, il suffit alors de les créer avec un mkdir si on veut les utiliser.
- keys/root/: tous les accès possibles sur tous les dépôts
- keys/users/: accès en lecture et écriture sur tous les dépôts excepté hgadmin
Le fichier access.conf
Une description des différentes options du fichier access.conf se trouve ici.
Attention: Lorsque le fichier access.conf est modifié, il doit être commit et repoussé sur le serveur.
hg commit -m "Modifications configurations..." hg push
Gestion des règles d'accès
Le fichier access.conf contient les règles qui définissent les accès pour les différents dépôts. Chaque règle a la forme
accès repo=glob user=glob
où
- accès est un des types suivants:
- init: donne les droits de lire, écrire et créer de nouveaux dépôts
- write: donne les droits de lire et écrire
- read: donne les droits de lire
- deny: refuse tous droits
- repo=glob: chemin relatif menant à un ou plusieurs dépôts
- user=glob: chemin (à partir de keys) menant à une ou plusieurs clés
Les expressions glob pour les chemins utilisent * pour représenter un ou plusieurs caractères excluant le /, et ** pour représenter un ou plusieurs caractères incluant le /. Donc, par exemple, repo=labs/* attrape les dépôts labs/aaaa et labs/bbbb mais pas labs/cccc/dddd, alors que repo=labs/** les attrape tous.
Par exemple, les trois règles pour les groupes prédéfinis sont
init user=root/** deny repo=hgadmin write user=users/**
Comme il n'y a aucune condition repo=… dans les règles 1 et 3, elles s'appliquent à tous les dépôts, et de même l'absence de condition user=… dans la 2 fait qu'elle s'applique à tous les utilisateurs.
Création de dépôts
Si un utilisateur est dans le groupe root ou s'il possède le droit init sur un répertoire de dépôt, alors il peut pousser un nouveau dépôt (vide ou non). Si le dépôt n'existe pas encore
hg init $nom_repo
Puis le pousser (à la racine des dépôts, par exemple)
hg clone $nom_repo $hgadm@version.iro.umontreal.ca/$nom_repo
Utilisation
Clonage d'un dépôt
hg clone $hgadm@version.iro.umontreal.ca:$nom_repo
Git
Le logiciel Git utilise une gestion décentralisée.
Au cours de ce document, $lab doit être substitué par le nom du laboratoire et $gitadmin par le nom de l'usager administrateur créé par le DIRO au moment de la création de la zone de dépôts pour le laboratoire (habituellement git suivi du nom du lab).
Préparation
Clé ssh pour l'administration
Faire parvenir votre clé ssh publique pour vous donner l'accès aux fichiers de gestions des dépôts de votre laboratoire. Si vous n'en avez pas déjà une, dans un terminal, utliser la commande
ssh-keygen -b 1024 -t dsa
et faite retour de chariot aussi souvent que nécessaire pour accepter toute les réponses par défaut. Ensuite, envoyez le fichier .ssh/id_dsa.pub au DIRO.
Récupération du répertoire des fichiers de configurations
Dans un terminal, utilisez la commande
git clone $gitadmin@version.iro.umontreal.ca:gitolite-admin.git
pour importer une copie de travail du répertoire des fichiers de gestion. Le répertoire a cette structure:
- conf/gitolite.conf: contient les groupes d'utilisateurs et les règles d'accès.
- keydir/: répertoire contenant les clés ssh publiques des utilisateurs.
Gestion
Ajout d'un utilisateur
Demander à l'usager de vous envoyer une clé publique ssh. Ajouter le fichier de la clé dans le répertoire keydir sous le nom $usager.pub. Dire à git qu'il y a un nouveau fichier, commettre les changements et les pousser sur le serveur.
git add keydir git commit -m "ajout usager $usager" git push origin master
Le fichier conf/gitolite.conf
La description complète du fichier conf/gitolite.conf se trouve ici.
Attention: Lorsque le fichier conf/gitolite.conf est modifié, il doit être commit et repoussé sur le serveur.
git add conf/gitolite.conf git commit -m "Modifications configurations..." git push origin master
Gestion des groupes d'utilisateurs
Ajouter, dand le fichier conf/gitolite.conf, des lignes comme celle-ci:
@groupe1 = $usager1 $usager2 ...
Gestion des règles d'accès et création de dépôts
Pour chaque dépôt, il doit exister dans le conf/gitolite.conf un bloc
repo $nom_repo RW+= @admin RW = @contrib $usager5 ... R = @all
où les permissions sont R (read), W (write) et + (rewind, i.e. non-fast forward push). Le groupe @all est un groupe spécial qui inclut automatiquement tous les usagers dont la clé est valide. On peut donner des permissions spécifiques à une branches en la nommant, i.e. RW branch$ = @groupe..
Lors du push, tous les dépôts nommés dans le fichier seront créés s'ils n'existent pas encore.
Utilisation
Clonage d'un dépôt
git clone $gitadmin@version.iro.umontreal.ca:$reponame.git
Logiciels disponibles au DIRO
Plusieurs logiciels du domaine public et commerciaux sont disponibles sur les stations du département. Voici une liste des principaux logiciels utilisés au DIRO sur les stations Linux :
Logiciel | Description |
---|---|
aspell | Correcteur orthographique. Usage (pour le français et de l'aide): aspell --lang fr [fichier] aspell --help |
cluster | Réservation de machines parallèles |
cplex | Outil de programmation linéaire CPLEX. Pour l'utiliser le logiciel CPLEX, il faut taper les commandes (environnement de recherche seulement) : cplex (pour lancer le logiciel) |
ddd | Débogueur |
eclipse | Éditeur et environnement de développement Java. |
emacs | Éditeur et environnement de programmation |
Firefox | Fureteur pour le Web |
gcc | Collection de compilateurs GNU GCC |
gdb | Débogueur |
gimp | Manipulation d'images et conversion de formats |
gv | Visualisateur PostScript sous X11 |
IntelliJIDEA | Éditeur et environnement de développement Java. |
Java | Java Development Kit (javac , java ) |
LaTeX | Système de préparation de documents (i.e. traitement de texte) |
LibreOffice | Suite de bureautique |
Lisp | Environnement de développement Allegro Common Lisp |
Mathematica | Calculs scientifiques |
Matlab | Calculs numériques |
Myrinet | Réservation de machines parallèles |
MySQL | Base de données relationnelle |
Oracle | Gestionnaire de bases de données |
Perl | Langage Perl |
PHP | Langage PHP |
procmail | Filtre pour le courrier électronique |
Prolog | Langage de programmation Prolog |
vacation | Avis d'absence automatique – courriel |
Virus Scan | Logiciel antivirus (man clamscan ) |
xfig | Logiciel de dessin vectoriel sous X11 |
Logithèque
La Logithèque de l'université offre aussi quelques rares logiciels pour Linux.