Outils pour utilisateurs

Outils du site


logiciel:linux

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 exemple TEXINPUTS ou BSTINPUTS). 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 exemple
    setenv 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 :

  1. produire un fichier PS portable (avec des polices vectorielles) à partir d'un document DVI :
    dvips -Ppdf fichier.dvi

    ceci crée fichier.ps;

  2. 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]

[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 ou java. <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 :

  1. 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.
  2. 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

  • 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.

logiciel/linux.txt · Dernière modification : 2020-01-08 21:42 de royjuli