V 1.1.3 

     Cette Faq (Frequently Asked Questions) répond aux questions des étudiants d'Epita et d'Epitech les plus souvent posées, et conserve un nombre incalculable d'infos officielles qui ont été postées dans les news, mais qui ne sont écrites nul par ailleurs...
Certaines informations concernent plutôt les nouveaux arrivants (isup, ispé, tek1, tek2, ...), tandis que d'autres sont suceptibles d'intéresser tout le monde.

La version la plus récente de cette Faq est sur le Net: http://www.epita.fr:8000/faq (ou http://www.epita.fr:8000/epifaq).
Un newsgroup est dédié à celle-ci: epita.faq, postez-y donc tout commentaire, question, correction, etc.
Le mainteneur de cette Faq est actuellement Jeff (jeff@epita.fr).
< Changelog > < TODO > < Thanks >
 

1) Salles Machines et Serveurs
2) Le Réseau d'Epita-Epitech, ses Sites Web, la LS
3) News et Mail
4) Le Compte et ses Fichiers
5) Stockage de données: Disquettes, Zips, Goinfres, ...
6) Divers
7) Le Domain Public (DP) d'Epita-Epitech
 
< Toute la Faq > < Dernières Entrées > < Dernières Modifications >

1) Salles Machines et Serveurs  AJOUTER
1.0) Quels sont les OS installés dans les salles machines ?  EDITER

Pour le savoir, éxécutez:

$ uname -sr

La majorité des salles sont équipées du système Unix NetBSD version 1.6, sauf la salle sm-03 (quelles sont les salles machines accessibles) qui sont des Sparcs sous SunOS 5.8. Sinon, les salles sm-p07, sm-p09 et sm-p10 sont parfois sous Windows NT, et parfois sous NetBSD.

Note: SunOS 5.8 est souvent appelé Solaris 8, voir parfois Solaris 2.8, mais il y a quelques nuances entre ces termes... Examinez donc l'historique des versions de solaris ou bien la FAQ Solaris 2.x pour plus d'informations...

1.1) Quelles sont les salles machines accessibles ?  EDITER

Dans le bâtiment principal (rue Voltaire), on a:

  • Au rez-de-chaussée:
    • sm-03: Position: coin sud-est du bâtiment. Configuration: Sparc 500MHz, 128MB, moniteurs 19 pouces.
  • Au 1er étage:
    • sm-14: Position: coin nord-est du bâtiment. Configuration: Athlon 1GHz, 256MB, moniteurs 17 pouces.
    • sm-15: Voir sm-14. Position: petite partie de la sm-14 derrière la cloison vitrée, à l'extrème nord-est du bâtiment.
  • Au 2ème étage:
    • sm-20: Voir sm-21. Position: petite partie de la sm-21 derrière la cloison vitrée, à l'extrème nord-ouest du bâtiment.
    • sm-21: Position: coin nord-ouest du bâtiment. Configuration: Celeron 400 à 600MHz, 64MB à 128MB, moniteurs 17 pouces.
    • sm-22: Position: coin sud-ouest du bâtiment. Configuration: Celeron ou Pentium III 400MHz à 800MHz, 128 à 512 MB, moniteurs 17 pouces.
    • sm-23: Position: coin sud-est du bâtiment. Configuration: Celeron 400 MHz, 128MB, moniteurs 17 pouces.
    • sm-24: Position: coin nord-est du bâtiment. Configuration: Celeron 400 à 600MHz, 128MB, moniteurs 17 pouces.
    • sm-25: Voir sm-24. Position: petite partie de la sm-24 derrière la cloison vitrée, à l'extrème nord-est du bâtiment.

Et dans le bâtiment secondaire (rue Pasteur), on a:

  • sm-p07: Position: au nord par rapport aux 2 autres salles machines du même bâtiment. Configuration: Celeron 300 à 400MHz, 128MB, moniteurs 17 pouces.
  • sm-p09: Position: entre les 2 autres salles machines du même bâtiment. Configuration: Celeron 300 à 400MHz, 128MB, moniteurs 17 pouces.
  • sm-p10: Position: au sud par rapport aux 2 autres salles machines du même bâtiment. Configuration: (pas d'informations).
  • sm-p20: Position: à la place de l'ancienne IP20, derrière le secrétariat de l'IPSA. Configuration: (pas d'informations).

En plus des salles machines, des labos existent, voir que sont les labos ? qui a le droit d'y accéder ?.

1.2) Que sont les labos ? Qui a le droit d'y accéder ?  EDITER

Les labos sont des salles machines disposant de racks (ie, vous y amenez votre disque dur), réservées à certains niveaux (ing2, ept2, ..) et normalement destinées à la réalisation de TPs, projs, etc. Ils se situent principalement au 1er étage du bâtiment rue Voltaire. Voici un extrait d'une news officielle décrivant la chose:

From: Fabrice Martinelli <fabrice@metaram.epita.fr>
Subject: Utilisation des laboratoires racks premier etage
Newsgroups: epita.adm.adm,epita.adm,epita.general,epita.adm.a2,epitech.adm,epitech.adm.adm,epitech.general,epita.systeme
Date: 07 Feb 2002 22:56:41 +0100
Message-ID: <tlsn8dj6qu.fsf@metaram.i-did-not-set--mail-host-address--so-shoot-me>

Je rappelle que:

  • L'accès au labo CISCO est exclusivement réservé aux epitechs 2,3,4,5 et aux EPITA 4ème et 5ème année.
  • L'accès au labo SRS est exclusivement réservé aux epitechs 2,3,4,5 et aux EPITA en spécialisation SRS.
  • L'accès au labo MULTISPE est exclusivement réservé aux EPITA en spécialisation autre que SRS.

Les étudiants de certaines promotions disposent d'une IP fixe pour chaque lab auquel ils ont droit d'accéder, les autres doivent utiliser le DHCP. Pour connaître votre IP, utilisez par exemple nslookup:

Pour Epita:
$ nslookup martin-f.lab-cisco.epita.fr
$ nslookup martin-f.lab-sr.epita.fr
$ nslookup martin-f.lab-mspe.epita.fr
Pour Epitech:
$ nslookup martin-f.lab-cisco.epitech.net
$ nslookup martin-f.lab-sr.epitech.net
$ nslookup martin-f.lab-mspe.epitech.net

Attention: n'oubliez par de remplacer l'underscore par un tiret dans vos requêtes !

Note: suite aux travaux effectués pendant l'été 2002, le labo MULTISPE a été déplacé pour y laisser place à un nouveau labo, le MID-LAB. Et actuellement (sept. 2002), les machines du MID-LAB et du labo SRS sont temporairement sur le sous-réseau du labo CISCO (il faut donc utiliser nslookup *.lab-cisco.* et non nslookup *.lab-sr.* pour le labo SRS).

1.3) Comment fonctionnent les digicodes ?  EDITER

Des digicodes sont installés un peu partout à Epita-Epitech. Voici une news d'un des membres du bocal expliquant leur fonctionnement:

From: badi@epita.fr
Subject: Uilisation du Digicode
Newsgroups: epita.adm.adm, epitech.adm.adm, epitech.adm.adm.ept1, epitech.adm.adm.ept2, epitech.adm.adm.ept3, epitech.adm.adm.ept4, epitech.adm.adm.ept5, ipsa.adm.adm, epita.systeme
Date: 22 Apr 2002 12:41:23 +0200
Message-ID: <tju1q4uib0.fsf@fantasia.i-did-not-set--mail-host-address--so-shoot-me>

L'expérience du lab cisco s'étant révélée positive, le digicode va sous peu être utilisé dans différents endroits de l'école:

  • Aux 2 Entrées Assos, coté Voltaire,
  • Aux 2 Entrées de l'EPITA,
  • En Salle Sun,
  • Au Lab Console,
  • Au Lab SR,
  • Au Lab Multispe,
  • Au Lab Cisco.

Chacun de ces digicode sera bien sur exploité selon les besoins appropriés, c'est-à-dire qu'il comportera des restrictions et des permissions particulières. Par exemple:

  • Certains seront activés / desactivés en permanence, d'autres seront actifs pendant un laps de temps.
  • La notion de master (responsable de salle) pourra être présente ou non.
  • Des groupes ou des utilisateurs particuliers seront autorisés / interdis par certains digicodes.

Dans l'ensemble, l'utilisation de chacun des digicodes sera détaillée soit par news, soit à l'aide d'une notice. Un identifiant a été attribué à chacun d'entre vous, il sera mailé sous peu, pour ceux l'ayant égaré. Pour toute question, remarque, un newsgroup a été créé epita.systeme.digix, il y aura aussi sous peu une faq dans www.epita.fr:8000/~digix/

L'identifiant dont il est question s'appelle pwd_num. En cas de problèmes divers (perte de ce pwd_num...) vous pouvez mailer digix@epita.fr. Concernant le fonctionnement des digicodes, voici une explication détaillée:

  • Pour entrer, vous devez tout d'abord vous identifier au digicode. Pour cela, tapez simplement votre uid# (l'uid suivit de dièse) et votre pwd_num# (pwd_num suivit de dièse). Ensuite:
    • Soit le digicode émet un petit 'glok', vous pouvez entrer.
    • Soit le digicode vous demande si vous voulez devenir responsable (master) de la salle (cela signifit normalement que la salle est vide, et qu'elle requiert un responsable): WaNNa BE MasTeR? A: YES B: NO. Vous avez le choix entre:
      • Taper A: vous devenez le master et vous pouvez entrer dans la salle.
      • Taper B: vous refusez d'être master, dans ce cas, la porte ne s'ouvre pas.
  • Pour sortir, vous devez simplement appuyer sur le bouton situé sur la porte.
    • Si vous n'étiez pas master, il n'y a rien d'autre à faire de particulier.
    • Si vous étiez master, vous devez taper votre uid# et votre pwd_num#. Le digicode demande alors le nouveau master: New MASTER Menu. UID:|. Deux possibilités:
      • Soit il n'y a plus personne dans la salle (vous étiez le dernier occupant), alors tapez simplement # pour indiquer qu'il n'y a plus de master.
      • Soit vous trouvez une personne de la salle souhaitant devenir le nouveau master, dans ce cas, il tape son uid# et son pwd_num#. Il est maintenant le nouveau master.

Vous avez des problèmes, questions ou autres ? Passez au bocal.

1.4) Quelles sont les règles à respecter pour la clim ?  EDITER

Petite citation de Philix:

From: Philix <philix@epita.fr>
Subject: A LIRE - IMPORTANT
Newsgroups: epita.adm.adm, epitech.adm.adm, epita.general, epitech.general, epita.adm, epitech.adm
Date: 24 Apr 2002 12:01:12 +0200
Message-ID: <u3pu0ptnyv.fsf@epita.fr>

Il est formellement interdit de toucher aux climatiseurs des salles machines et des bloques sur le toit. Toute personne déroguant à cette règle sera sévèrement punie. Certains, voulant arrêter la clim, ont détruit les interrupteurs locaux !

Règles à respecter:

  • Lorsque la climatisation est en marche, les fenêtres doivent être fermées (sinon elle ne sert à rien)
  • Si vous voulez monter/baisser/arrêter la clim, vous devez soit:
    • venir au bocal
    • envoyer un mail à radm@epita.fr

Merci de votre comprehension.

1.5) Qu'est-ce-qu'une Alpha ?  EDITER

En dehors des machines disponibles dans les salles machines, il y a des "Alphas", en salle serveur (au sous-sol du bâtiment principal, rue Voltaire). On les appelle "Alphas", car c'est le nom de leur processeur. On n'y a pas accès physiquement, mais on peut se loguer à distance dessus (comment utiliser ssh). Les Alphas disponibles sont:

daneel
aurora
guiscar
elijah
robbie
gaia
solaria

Elles servent principalement à acceuillir les connections venant de l'extérieur (ssh, ...) et de plateforme de dévelopement (pour les ingés et les teks).

1.6) Qu'est-ce-qu'une Sun ?  EDITER

Les stations de travail Sun sont les machines qui se trouvent en sm-03 (quelles sont les salles machines accessibles). L'architecture de ces stations de travail est très différente de l'architecture PC classique. Je ne peux pas vraiment en dire plus dans cette Faq, car il y aurait trop de choses à dire ;-).

1.7) Qu'est-ce-que les serveurs Sun ?  EDITER

De la même façon qu'il existe les Alphas (qu'est-ce-qu'une Alpha), Epita-Epitech dispose de 3 serveurs Sun entreprise 250 (situés en salle serveur, donc): UltraSparc 2, 400MHz, 2 MB de cache, 2 GB de ram et que du scsi 3 ! Il s'agit de:

totec
paynal
atlaua
1.8) A qui doit-on signaler les claviers défectueux, les souris qui ne marchent plus, les problèmes de configuration des machines, etc ?  EDITER

Envoyez donc un mail à radm@epita.fr (c'est un alias vers chacun des responsables du bocal), qui a été créé exactement pour se genre de problèmes. Dans le sujet, indiquez le nom de la machine, sans fautes de frappes, car les personnes qui s'occupent de ce genre de problèmes ne perdront pas leur temps à retrouver le nom exact ! Pour éviter ca, faite un copier/coller de la sortie de la commande:

$ hostname

Mettez aussi quelques mots dans le sujet décrivant rapidement le problème: "clavier mal mappé", "souris sans boule", ... Dans le corps du message décrivez le plus précisément possible ce qui ne va pas. Par exemple: "Touche X ne marche plus", et non pas un truc style "clavier en fin de vie".

Le temps de réaction est généralement très rapide: pour un simple problème de clavier, il peut-être changé en 24 ou 48 heures !

1.9) Comment supprimer les beeps très désagréables (surtout ceux des SPARCs ;-)) ?  EDITER

De manière générale, il faut utiliser cette commande, pour interagir directement sur le serveur X:

$ xset b off

Note: les SPARCs sont les machines situées en salle Sun, qui tournent sous Solaris (quels sont les OS installés dans les salles machines ?). Sous Solaris, ceci peut aussi marcher:

$ set nobeep
Si les messages netsoul continuent a beeper, essayez ceci :
$ xset b 0 0 0
1.10) Comment se loguer sur une autre machine ? Comment utiliser ssh ?  EDITER

Il existe plusieurs utilitaires pour se loguer sur une machine distante: ssh, telnet, rsh, rlogin, etc. Mais l'utilitaire ssh (secure shell) est le moyen préféré de le faire, notamment à cause de ses nombreuses qualités: authentification des users et des hosts, transferts de fichiers, sécurisation par chiffrement, etc. Voici ci-dessous quelques exemples d'utilisation.

Se loguer depuis une machine du réseau Epita-Epitech sur la machine elijah (une Alpha en salle serveur, qu'est-ce-qu'une Alpha) sans changer d'identité (en conservant le même login):

$ ssh elijah

Se loguer depuis une machine du réseau Epita-Epitech sur la machine sh (une banale machine en sm-21, quelles sont les salles machines accessibles) sous une autre identité (login: poss_r):

$ ssh poss_r@sh

Se loguer depuis une machine du réseau Epita-Epitech sur lescampeurs.org (une machine extérieure au réseau Epita-Epitech, sur le Net) sous le login after (Note: pour que la commande ci-dessous marche, veuillez lire avant comment se connecter à l'extérieur):

$ runsocks ssh after@lescampeurs.org
$ runsocks ssh -p 2002 jeff@dev.netbsd.org

Se loguer depuis une machine extérieure au réseau Epita-Epitech sur Epita (voir note ci-dessous), avec le login urban_a:

$ ssh -p 42 urban_a@telnet.epita.fr

Explication de la commande ci-dessus: depuis une machine sur le Net, on ne peut se loguer en ssh à Epita que sur la machine telnet.epita.fr. Une fois la connection établie, on se retrouve en fait sur une Alpha quelconque (qu'est-ce-qu'une Alpha). Quant à l'option -p, elle sert à indiquer une connection sur le port 42, port sur le lequel le daemon sshd (le "serveur ssh") est configuré pour attendre les connections. Si -p n'est pas précisé, alors la connection est tentée sur le port standard (22).

1.11) Comment éviter d'avoir à taper son password quand on se logue avec ssh ?  EDITER

Le meilleur système d'authentification qui existe à l'heure actuelle sont les clés ssh, grâce à elles, plus besoin de taper son password, elles vous authentifient à sa place. La procédure de mise en place des clés ssh est simple, loguez vous sur un PC (soit en salle machine, soit à distance avec ssh), puis générez une clé avec:

$ ssh-keygen -t rsa1 -N ''

Acceptez le fichier proposé par défaut pour stocker la clé. Note: l'option -N '' permet de choisir une passphrase vide, ce n'est pas un problème de sécurité puisque la clé (normalement cryptée par la passphrase) est stockée sur votre compte, qui est normalement sécurisé (ie qui possède des bons droits). La clé générée est une clé RSA, utilisable avec le protocole ssh 1.x. La version 2.0 de ce protocole peut utiliser des clés RSA ou DSA, générons donc une deuxième clé (de type DSA):

$ ssh-keygen -t dsa -N '' -d

Il faut ensuite spécifier que vous voulez autoriser l'accès aux clés que vous venez de générer:

$ cat ~/.ssh/identity.pub >> ~/.ssh/authorized_keys
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys2

Ça doit être bon... Essayez de vous loguer en ssh sur une machine à Epita-Epitech, normalement, ssh ne vous demande aucun password. Au passage, il est fortement recommender d'utiliser la version 2 du protocole ssh, notamment pour des raisons de sécurité:

$ echo "Protocol 2" >> ~/.ssh/config

Si vous êtes curieux, vous aurez remarqué qu'il y a 4 nouveaux fichiers dans ~/.ssh:

identity.pub
Votre clé publique RSA
identity
Votre clé privée RSA
id_dsa.pub
Votre clé publique DSA
id_dsa
Votre clé privée DSA

Les clés privées ne doivent rester lisibles que par vous ! Vérifiez bien que les droits sont bons. Si vous voulez effacer toute la configuration ssh, faites:

$ rm -rf ~/.ssh/
1.12) Où peut-on voir, ce que les caméras des salles machines filment ?  EDITER

Ici: sv-cam.epita.fr. Utilisez le login guest et le pass guest. Malheureusement, le bocal ne maintient plus ce site depuis environ début 2002, et le service n'est plus accessible.

1.13) Est-ce vrai que la salle machine sm-23 est censée être une salle calme ?  EDITER

Oui, Nicolas Sadirac le confirme:

Je rappelle que la salle SM-23 est réputée salle sans bruit hors TP. Cela veux dire que quand vous allez dans cette salle vous vous engagez à faire le moins de bruit possible. Si vous y êtes dérangé par un pollueur sonore vous pouvez lui demander de changer de salle ; si il refuse demandez l'assistance du bocal.
1.14) Qu'est-ce-que le dump ?  EDITER

Le parc informatique d'Epita-Epitech est immense, vous vous doutez bien que les administrateurs système n'utilisent pas, pour chaque machine du parc, la procédure classique d'installation d'un OS à partir de son cd... Au lieu de cela, les machines sont "dumpées": c'est une procédure qui prend quelques dizaines de minutes par machine, au cours de laquelle chacune éxécute un script qui créé le MBR, partitionne le disque dur, le formate, reçoit par le réseau un dump (gros fichier .tar.gz, comment utiliser tar et gzip) qui contient tous les fichiers à installer, le décompresse, fait de même avec quelques autres .tar.gz additionnels, et installe le programme de bootstrap disk (avec installboot).

Le dump contient donc tous les fichiers d'un disque dur d'une machine de référence, sur laquelle l'OS a été installé et configuré à la main. La machine de référence en question est paul (située au bocal). Vous pouvez vous loguer dessus et ainsi tester le prochain dump qui sera disponible en salle machine. Le bocal commence à préparer chaque année un dump en juin-juillet (c'est à cette période que vous pouvez effectuer des requêtes concernant l'installation de nouveaux programmes), et l'effectue en août. Le reste de l'année, les salles machines sont en général redumpées en moyenne tous les 2 mois, pour corriger des probèmes de configuration, ou des failles de sécurité.

1.15) Pourquoi les Sparcs des salles Sun ont-elles une configuration si différente des NetBSD (pas de mtools, etc) ?  EDITER

La réponse est simple: à Epita-Epitech, le réseau est volontairement très hétérogène afin que nous ayons une expérience avec l'informatique la plus enrichissante possible. Les Sparcs sont là, notamment pour cette cause. Et Nicolas Sadirac le dit clairement: "Le but sur ces machines c'est d'avoir la conf la plus proche possible d'un env std Sun [environnement standard Sun]".

1.16) Quelles sont les règles particulières à respecter dans les labs ?  EDITER

Voici une news de Nicolas Sadirac:

From: Nicolas Sadirac <rn@epita.fr>
Newsgroups: epitech.adm.adm,epita.adm.adm
Subject: utilisation des salles rack
Date: 17 Sep 2002 15:38:26 +0200
Message-ID: <ofawrb1p.fsf@epita.fr>

Je vous rappelle que les salles racks sont des lieux de travail et de ce fait doivent rester calmes. Donc toute personne ou groupe qui nuit au calme se verra interdire l'acces a ces salles.

De plus il est strictement interdit de jouer, de downloader, de riper, de chater, de regarder des DVD ou DIVX ... en journee (avant 20h). seul le travail est le bienvenu en journee dans ces salles.

2) Le Réseau d'Epita-Epitech, ses Sites Web, la LS  AJOUTER
2.0) Quelle est la configuration du réseau Epita-Epitech ?  EDITER

Un étudiant de la spé TCOM (promo 2002) a réalisé un excellent travail de description et de cartographie du réseau, notamment en utilisant SNMP (Simple Network Management Protocol). Allez voir son travail ici: www.epita.fr:8000/~thiel_f/TCOM/.

Jeff a aussi fait un graphique du réseau (moins détaillé, mais plus à jour), disponible ici: www.epita.fr:8000/www/images/image-reseau.jpg.

2.1) Quelle est la taille de la bande passante de la LS ? Que signifie LS ? Par qui est-elle gérée ?  EDITER

Tout d'abord, LS ne veut pas dire "Liaison Satellite", mais "Liaison Spécialisée". La LS relie le réseau Epita-Epitech au reste du monde, au réseau des réseau, au Net.

Avant juillet 2002, la LS était une liaison radio entre Epita-Epitech et le site de Concorde-Lafayette (Paris, rue Balzac). Cette liaison radio nous donnait un point d'accès au réseau ATM de Landtel, lui-même relié au backbone de l'opérateur WorldCom par l'intermédiaire d'une STM-1 (155 Mbits/s).

Depuis, Epita-Epitech fonctionne avec plusieurs LS:

  • 2 Mbits/s Colt: pour l'accès a l'école depuis l'extérieur
  • 4 Mbits/s Belgacom (bientôt 9telecom): pour le socks
  • 5 ADSLs: pour le proxy http

La 2 Mbits/s COLT devrait disparaître bientôt, la 4 Mbits/s Belgacom par contre vient d'arriver et permet donc la réouverture toute récente du socks.

Voir aussi quelle est la configuration du réseau Epita-Epitech.

2.2) Où obtenir des statistiques sur le réseau, les utilisateurs closés, etc ?  EDITER

Là: www.epita.fr:8000/~sadm/.

2.3) Peut-on perdre des mails quand la LS est down ?  EDITER

Réponse courte: non.

Réponse longue: la LS, gérée par Landtel (quelle est la taille de la bande passante de la LS ? que signifie LS ? par qui est-elle gérée ?), rencontre parfois quelques difficultés techniques, le traffic est alors interrompu. En particulier, les DNS et MX (Mail eXchanger) principaux sont inaccessibles. Heureusement, en plus de la LS principale, Epita-Epitech dispose d'une LS "de secours" chez l'opérateur Colt. Et c'est sur cette LS de secours que sont accessibles un DNS tertiaire et un MX tertiaire. Grâce à eux, aucun mail ne devrait être perdu !

2.4) Comment, de manière générale, sortir de l'école en utilisant le socks et le proxy ?  EDITER

Aucune connection directe vers l'extérieur n'est autorisée, il faut passer soit par le socks, soit par le proxy, cela dépend du service et du port que l'on veut utiliser. Le socks et le proxy sont accessibles en utilisant votre login et votre password dit "socks".

2.5) Comment configurer son browser pour surfer sur le web (utilisation de: http, https, ftp et gopher) ?  EDITER

Depuis Epita-Epitech, il faut passer par un proxy (serveur proxy, ports 3128 et 3129) pour utiliser les protocoles http, https, ftp et gopher.

Le proxy du port 3128 dispose d'un cache bien paramétré, il est donc optimisé pour des temps de latence faibles (donc pour un surf rapide); cependant, afin de ne pas "tuer" les performances de ce proxy, la taille des fichiers uploadés et downloadés est limité à quelques MB (en cas de dépassement, le proxy indique: "The request or reply is too large"). Quand au proxy du port 3129, celui-ci est justement dédié aux uploads/downloads de gros fichiers.

Cependant, le proxy (ports 3128 et 3129) est configuré de telle sorte qu'on ne peut pas l'utiliser avec les sites locaux (Epita-Epitech et ceux hébergés par EPI): si l'on tente une connection HTTP vers un de ces hosts en passant par le proxy, ce dernier renvoie un message d'erreur (Access Denied). Donc si vous rencontrez ce symptôme, c'est qu'il ne faut pas passer par le proxy avec l'host qui héberge le site sur lequel vous tentez de surfer ! Il faut donc configurer son browser afin d'utiliser le proxy par défaut pour tous les hosts, sauf ceux qui sont hébergés localement. Il y a 2 moyens de le faire: manuellement ou automatiquement.

Configuration manuelle

L'inconvénient de cette méthode, c'est que justement, elle est manuelle, et il faudra rentrer à la main tous les hosts qui ne nécessitent pas de passer par le proxy. Et cette liste est longue, vu que EPI héberge beaucoup de sites... Néanmoins, c'est la seule méthode utilisable avec, par exemple, Opéra, qui une fois de plus montre ses faiblesses, car il ne supporte pas la configuration du proxy automatique.

Exemple de configuration manuelle de Mozilla: allez dans Edit, Preferences, Advanced, Proxies, Cochez "Manual proxy configuration", et remplissez les lignes FTP Proxy, Gopher Proxy, HTTP Proxy et SSL Proxy avec "proxy" et "3128" pour le port. Dans le champ "No Proxy for", mettez-y les données suivantes:

epita.fr epita.net epitech.net sda.cc epi.net prologin.org epita.edu bsde.net 3ie.org planet-startup.com educplanet.com abacus.fr feat.fr cyberpark.cc cades.fr cristal.asso.fr francegastronome.com francegastronome.fr bordeaux.iseg.fr toulouse.iseg.fr nantes.iseg.fr lille.iseg.fr strasbourg.iseg.fr lyon.iseg.fr iseg.fr isg.fr isefac.fr 10.227.42.177 10.227.42.247 163.5.255.42 163.5.255.250

Attention ! Il y a une exception: la liste ci-dessus indique qu'il ne faut pas utiliser le proxy pour les hosts du domaine epita.fr, alors qu'en réalité, c'est vrai sauf pour entreprises.epita.fr. Mais il n'existe pas de moyen d'indiquer manuellement un telle exception à Mozilla (ou Netscape). Il y a 2 workarounds: soit vous modifier temporairement la liste ci-dessus afin de ne pas inclure epita.fr, soit vous utilisez la configuration automatique du proxy.

Exemple de configuration manuelle de Netscape: allez dans Edit, Preferences, Advanced, Proxies, Manual proxy configuration, View, et remplissez les lignes FTP proxy, Gopher Proxy, HTTP proxy et Security Proxy avec "proxy" et "3128" pour le port. Dans le champ "No proxy for", mettez-y les mêmes données que pour Mozilla.

Exemple de configuration manuelle d'Opera: allez dans File, Preferences, Network, Proxy servers, cochez HTTP, HTTPS, FTP et Gopher, puis inscrivez pour chaque ligne "proxy" et "3128" pour le port. Cochez aussi "Do not use proxy on", et mettez-y les données suivantes:

*.epita.*, *.epitech.*, www.sda.cc, 3ie.org, *.3ie.org, *.epi.net, www.prologin.org, www.bsde.net, www.planet-startup.com, *.educplanet.com, www.abacus.fr, www.feat.fr, www.cyberpark.cc, www.cades.fr, www.cristal.asso.fr, *.francegastronome.*, *.iseg.fr, *.isg.fr, *.isefac.fr, 10.227.42.177, 10.227.42.247, 163.5.255.42, 163.5.255.250

Vous remarquerez au passage qu'Opera ne gere pas une liste de domaines mais une liste de machines. Pour exlure un domaine entier, on est donc oblige de faire du globbing en utilisant l'étoile, par exemple *.epita.fr, mais on préfère utiliser *.epita.* qui matche *.epita.fr, *.epita.edu, *.epita.com, ...

Configuration automatique

Mozilla et Netscape supportent la configuration automatique du proxy. Pour cela, il suffit de cocher "Automatic proxy configuration URL" au lieu de "Manual proxy configuration", et d'indiquer l'URL suivante:

http://www.epita.fr:8000/proxy.pac

C'est tout ! Cette méthode est bien entendue à privilégier par rapport à la configuration manuelle.

2.6) Comment configurer son client ftp (utilisation de: ftp) ?  EDITER

Concernant le ftp, si vous n'avez besoin que de downloader, un browser quelconque peut suffire (Mozilla, Netscape, Opéra, ...). Et pour une utilisation occasionnelle de la fonctionnalité d'upload du protocole, Netscape peut vous dépanner (Menu File, puis "Upload File..."). Si si, puisqu'on vous le dit ! Pour cela, voir comment configurer son browser. Mais si vous avez besoin de fonctionnalités plus avancées, il faudra passer par un vrai client ftp qui supporte le protocole ftp-over-http-proxy (ou hftp). Ci-dessous, des exemples de configuration de lftp et de wget.

Configuration de lftp

Lftp, un client ftp installé par les DPs: (/u/dp/public/arch/*/bin/lftp) se configure ainsi à Epita-Epitech:

  1. Mettre les lignes ci-dessous dans ~/.lftp/rc (ne faites pas de copier/coller direct, pensez à remplacer login par votre login et passwd_socks par votre password socks !)
    set hftp:proxy "http://login:passwd_socks@proxy.epita.fr:3129"
    set http:proxy "http://login:passwd_socks@proxy.epita.fr:3129"
  2. Puis lancer lftp ainsi:
    $ lftp hftp://ftp.kernel.org
    Note: il n'y a pas d'erreur, les URLs FTP doivent commencer par hftp et non pas par ftp.

Configuration de wget

Wget, installé de base sur le dump (qu'est-ce-que le dump ?), est un client permettant de faire du ftp et du http en ligne de commande. Sa configuration consiste en un simple fichier ~/.wgetrc:

http_proxy = http://proxy.epita.fr:3129/
ftp_proxy = http://proxy.epita.fr:3129/
no_proxy= epita.fr,epitech.net
proxy_user = login
proxy_passwd = passwd_socks
use_proxy = on
passive_ftp = on

N'oubliez pas de remplacer login et passwd_socks par votre login et votre mot de passe socks.

2.7) Peut-on se connecter à l'extérieur (utilisation de: ssh, cvs, telnet, irc, napster, icq, ...) ?  EDITER

Bien sûr. Mais toutes les connexions vers l'extérieur doivent utiliser le serveur socks d'Epita-Epitech (protocole socks5, serveur socks, port 1080). Pour configurer l'utilisation du socks, vous devez éxécuter:

$ setenv SOCKS5_PASSWD ~/.socks
$ setenv SOCKS5_USER $USER
$ echo -n 'pass_socks' > $SOCKS5_PASSWD
$ chmod 600 $SOCKS5_PASSWD

Mais il se trouve que la première commande est déjà éxécutée dans votre fichier ~/.login (qui est par défaut un lien vers le .login standard), donc vous ne devriez pas avoir besoin de l'éxécuter. Quand à la deuxième commande, placez-là donc dans votre ~/.mylogin (créez-le s'il n'existe pas). Et concernant les 2 dernières commandes, il suffit de les éxécuter une bonne fois pour toute: le password est stocké dans le fichier ~/.socks et les droits de ce fichier sont ajustés de telle sorte que personne d'autre que vous ne pourra lire de fichier.

Puis chaque application doit être "socksifiée", ie: lancée avec runsocks, exemple pour xchat (un client irc):

$ runsocks xchat

Au lieu du traditionnel:

$ xchat

Note: certaines applications n'ont pas besoin d'être socksifiées, car elles sont déjà socks-aware. Leur nom commence souvent par un r (comme remote), comme rping, rtelnet, rtraceroute, rwhois, etc.

2.8) Pourquoi, à Epita-Epitech, ne faut-il pas configurer les browsers pour utiliser un cache sur notre compte ?  EDITER

Votre compte est sur un serveur de fichier nfs, donc l'intérêt du cache est néant puisque le browser y accédera en passant par le réseau, qui est beaucoup plus lent par rapport à un accès disque local. Et de toute facon, le proxy, par lequel tous les browsers passent, rendrait ce type de cache inutile, puisqu'il joue lui-même le rôle de cache.

Il faut donc le désactiver, en mettant à 0 la taille maximale du cache et/ou en effaçant le path du répertoire jouant le rôle de cache. Ou alors, une solution intéressante est de le paramétrer pour utiliser le répertoire /tmp qui lui, est sur le disque local.

2.9) Je n'arrive pas à utiliser le socks pour me connecter à l'extérieur, pourtant toute ma conf est okay !  EDITER

Dans 90% des cas, le problème est pourtant bien dû à une faute de l'utilisateur. La plus courante étant d'avoir un retour de ligne ('\n') à la fin de son fichier ~/.socks. Pour le vérifier:

$ cat -e ~/.socks

Si un $ apparait à la fin du mot de passe, c'est qu'il y a un retour de ligne. Virez-le, par exemple avec:

$ echo -n 'pass_socks' > ~/.socks
2.10) Les emplois du temps sont-ils disponibles sur le web ?  EDITER

Désormais fermée, la sda n'assure plus la maintenance du serveur d'emploi du temps Class-Ex. Cependant, vous pouvez le retrouver sur le site d'educpl@net, entreprise ouvrant dans l'e-learning, et ce à l'adresse suivante: http://www.educplanet.com/class-ex/
Attention: ce service est gracieusement hébergé par Educpl@net, ne leur tenez par rigueur si le service n'est pas accessible 24/7.

Oui, la SDA (www.sda.cc) maintient www.sda.cc/class-ex/, aussi accessible depuis www.epita.fr:8000/edt/. Benoit Guerin, à qui on doit principalement ce service précise que: "En cas d'indisponibilité du service, envoyez un mail à class-ex@sda.cc, le service sera rétabli dans les 12 heures au maximum par le responsable de la maintenance". Epitech dispose en plus de son propre site dédié aux emplois du temps: www.epitech.net/edt/.

2.11) Comment créer un site web à Epita-Epitech ?  EDITER

Tout est expliqué sur la page de WCube: www.epita.fr:8000/~www/site/webecole/lapage.php.
Leur site web: www.epita.fr:8000/~www/ contient un tas d'autres informations que vous trouverez intéressantes.

Si vous avez des pages PHP, veuillez suivre les quelques conseils apportés ici: www.epita.fr:8000/~jeff/script-php.txt.

Il est possible de réclamer un compte MySQL, la procédure est détaillée ici: mysql a l'ecole).

Vous avez aussi accès aux logs d'erreur (le fichier error_log d'apache) et au access log par l'intermédiaire de www.epita.fr:8000/www/error/.

2.12) Comment restreindre l'accès à mon site hégergé à Epita-Epitech ? Comment faire marcher les .htaccess ?  EDITER

Le système des fichiers .htaccess permet de restreindre l'accès à un site web de multiples façons (password, filtre sur IP, etc). Toute la documentation pour mettre en place un tel mécanisme peut se trouver sur le site de WCube: www.epita.fr:8000/www/site/webecole/htaccess.php. Voir aussi où est l'utilitaire htpasswd.

2.13) Où est l'utilitaire htpasswd ?  EDITER

htpasswd n'est pas installé sur le dump de base (qu'est-ce-que le dump). Mais, on peut le trouver sur le compte de WCube:

~www/mbin/htpasswd

Par contre, il se trouve bien dans le path standard sur emeri (le serveur http):

$ where htpasswd
/usr/sbin/htpasswd

Cependant, on peut se passer assez facilement de ce programme, pour peu que l'on sache comment sont organisés les fichiers .htpasswd: ils sont constitués de lignes, dont chacune a la syntaxe suivante:

login:digest

digest est ce qu'on appelle une "digest value": elle est calculée à partir du mot de passe et d'une autre chaine de caractère quelconque appelée salt. Pour générer une nouvelle ligne dans votre fichier .htpasswd, ou pour en créer un s'il n'existe pas déjà, vous pouvez utiliser ceci:

$ perl -e 'print "login:", crypt("passwd","salt"), "\n"' >> .htpasswd
  • login est le login
  • passwd est le password
  • salt est une chaîne quelconque

Certaines implémentations de crypt() requiert parfois que salt soit une chaine d'au moins 2 caractères de long. Pour plus d'informations, voir man crypt.

2.14) Pourquoi mes connexions ssh,nntp,www vers l'école passe mal avec mon ADSL alors que vers d'autres sites ca marche très bien  EDITER
Ce genre de problèmes est souvent lié à un MTU (Maximum Transmission Unit,
taille maximale d'un packet IP) trop grand.

Celui ci devrait être au maximum de 1492 octets.

Pour changer cette valeur sous Linux, c'est très simple:
# ifconfig eth0 mtu 1492

Pour Microsoft Windows NT4/2000/XP, c'est un peu plus compliqué,
reportez vous sur cette page:
http://www.dslvalley.com/dossiers/mtu.html
ou la procédure est expliqué en détail

Ceux qui désirent des infos plus poussés sur ce problème de MTU, se
dirigeront sur cette page:
http://christian.caleca.free.fr/pppoe/mtu_mss_etc.htm
ou tout est très bien expliqué.

2.15) Ou sont les serveurs mysql ? Comment s'y connecter ?  EDITER
Il y a actuellement deux serveurs mysql :
  • Un pour les etudiant il s'apelle sql-server (10.42.1.110)
  • Un pour les guest, les assos, les labos, les Spe et l'adm il est sur emeri (10.42.1.61)

Pour demander un compte mysql :
http://www.epita.fr:8000/~mysql/php/askbdd.php
Il y a une interface web connue permettant d'administrer tout ca, c'est PhpMyAdmin
Une version modifiée et securisée se trouve ici :
http://www.epita.fr:8000/myadmin/

Vous ne pouvez pas vous logger sur sql-server (pour raison de securité et de stabilité)
par contre , un client mysql est dispo sur toutes les machines (y compris emeri)
mysql -u 'login' -p 'password' -h 'sql-server'

Pour tout complément d'information : mysql@epita.fr
2.16) Peut on utiliser ICQ a l'EPITA ?  EDITER
Oui.
Il vous suffit de vous connecter sur le serveur ICQ en http securise :
Serveur : 64.12.200.89
port : 443
ICQ permet en effet ce type de connexion. En outre, Le https passe par le proxy http, soit dit en passant par proxy.epita.fr:3128.
Pour les autres services tels que MSN, la marche a suivre est identique, a la difference pres que certains ne supportent pas l'https, il vous faudra vous contenter du http.
Le https ne fait que crypter les donnees envoyees (genre.. le mot de passe.) il est docn interessant de l'utiliser autant que possible pour ce genre de services.
3) News et Mail  AJOUTER
3.0) Comment lire et poster des news depuis Epita-Epitech ?  EDITER

Utilisez un client news configuré pour accéder au serveur NNTP (serveur de news) "news" sur le port standard (119). Sous NetBSD, il est possible d'utiliser un de ces clients: gnus (dans emacs), xrn, pan, netscape ou pine. Et sous Solaris: gnus (dans emacs) ou netscape. Une alternative est d'utiliser Epinews: qu'est-ce-que epimail, nocc et epinews. Voir aussi la question qui détaille comment configurer Emacs pour lire et poster news et mail. N'oubliez pas de faire vos tests dans epita.test ou epitech.test !

3.1) Comment lire et poster des news depuis l'extérieur d'Epita-Epitech (depuis chez soi, par exemple) ?  EDITER

Pour dépanner, Epinews suffit (qu'est-ce-que epimail, nocc et epinews). Sinon, utilisez un client news configuré pour accéder au serveur NNTP (serveur de news) "news.epita.fr" sur le port standard (119). Sous Linux ou autre Unix, les clients news les plus réputés sont par exemple gnus (dans emacs), slrn, ou encore sylpheed.

Si vous utilisez un client news standard, vous ne pouvez pas poster, car le serveur est configuré de telle sorte qu'il refuse les posts quand la connection vient de l'extérieur. Pour remédier au problème, il existe 3 solutions:

  1. Soit vous vous loguez à Epita-Epitech depuis chez vous en utilisant ssh (comment utiliser ssh) et vous lancez un client news sur la machine distante.
  2. Soit vous mettez en pratique le ssh tunneling, parfois appelé port forwarding. Cette méthode est pratique, car vous êtes libre d'utiliser votre client news préféré sur votre machine locale.
  3. Soit vous utilisez un client NetSoul (les principaux sont listés ici: http://www.epita.fr:8000/netsoul/) qui va vous connecter au serveur ns-server.epita.fr, et ce dernier va indiquer au server de news que vous êtes authorisé à poster.

La dernière solution est de loin la plus pratique, utilisez-là de préférence. Sinon, voici comment mettre en place une solution de ssh tunneling sous un Unix et sous Windows:

Ssh Tunneling depuis un Unix

Dans un terminal, lancez cette commande (on peut changer certains paramètres, mais ceux présentés devraient suffir):

$ ssh -L 4242:news.epita.fr:119 -p 42 your_login@telnet.epita.fr sleep 60

Puis, à partir d'un autre terminal, ou à partir de votre window manager, vous n'avez plus qu'à lancer votre client news pour se connecter sur le serveur localhost, port 4242.

Note: dans la ligne de commande, sleep 60 indique que ssh va ouvrir le tunnel et va éxécuter la commande sleep 60, qui va donc durer 60 secondes. Puis au bout des 60 secondes, il va vouloir fermer le tunnel, mais comme entre temps, vous aurez lancé votre client news, ssh va détecter que le tunnel est utilisé par un autre process, et va le laisser ouvert. Il finira par fermer le tunnel une fois que plus aucune application ne l'utilisera, donc normalement, une fois que vous quitterrez votre client news. Le terminal d'origine à partir duquel vous avez lancé ssh va alors redevenir libre.

Avec le protocole ssh version 2, il est possible d'utiliser une autre méthode beaucoup plus souple, puisqu'elle ouvre tout simplement le tunnel, sans éxécuter de commande, en attendant qu'une application l'utilise, et quitte après que la dernière connection soit fermée. On peut bien sûr la mettre en background (avec un & à la fin):

$ ssh -N -L 4242:news.epita.fr:119 -p 42 your_login@telnet.epita.fr

Ssh Tunneling depuis Windows

Downloadez SecureCRT ( www.vandyke.com/products/securecrt/). Créez une connexion configurée ainsi:

host: telnet.epita.fr
login: your_login
port: 42

Vérifiez maintenant si cela fonctionne correctement en tentant de vous connecter au serveur. Allez ensuite dans le menu option, session options, puis forwarding. Faites 'add' et complétez les champs ainsi:

name: news
port: 119
Cochez "Destination host is different from the ssh server"
Hostname: news
Port: 119

Et cliquez sur 'OK'. Faites bien attention à vous déconnecter puis à vous reconnecter. Vous pouvez maintenant configurer n'importe quel client news (Outlook, ...) en utilisant le serveur 127.0.0.1, port 119. Note: pour Outlook, n'entrez pas de login/password.

Et n'oubliez pas de faire vos tests dans epita.test ou epitech.test !

3.2) Comment configurer Emacs pour lire et poster news et mails ?  EDITER

Rajouttez ces lignes dans votre fichier ~/.myemacs (créez-le s'il n'existe pas):

(setq user-full-name "i_am_a_epifaq_fan")
(setq user-mail-address "adresse@mail.com")
(setq smtpmail-default-smtp-server "smtp.epita.fr")
(setq send-mail-function 'smtpmail-send-it)
(load-library "smtpmail")
(custom-set-variables '(mail-signature t))

Ensuite, créez-vous un fichier ~/.signature, elle sera insérée automatiquement dans vos mails et vos news (si cela n'est pas automatique, alors un petit C-c C-w permet de l'insérer manuellement. Note: si vous ne savez pas ce que signifit le C-c C-w ci-dessus, ou les M-x ci-dessous, vous serez plus à l'aise après avoir lu la syntaxe de description des touches sous Emacs. Finallement, vous pouvez envoyer un mail avec :

M-x mail

lire vos mails avec :

M-x rmail

lire et poster des news avec :

M-x gnus

Faire une petite partie de Tetris avec :

M-x tetris

Pour plus d'infos sur gnus: qu'est-ce-que gnus.

3.3) Comment lire son mail depuis l'extérieur d'Epita-Epitech (depuis chez soi, par exemple) ?  EDITER

Rien de plus simple ! Il suffit d'utiliser le serveur POP pop.epita.fr (en s'identifiant avec son login et son password unix) et votre serveur SMTP habituel (celui de votre provider, etc). Je pense que vous saurez configurer votre client mail préféré en utilisant ces paramètres... Remarque: on ne peut pas se connecter au serveur POP depuis le réseau local Epita-Epitech, mais seulement depuis l'extérieur. Autrefois, il n'y avait pas cette restriction, mais depuis que certaines personnes ont abusé de cette ressource (genre checkaient leur mail automatiquement toutes les minutes), le bocal a décidé de couper l'accès POP en interne.

3.4) Qu'est-ce-que gnus ?  EDITER

Avant de lire ce qui va suivre, il est indispensable de connaître la syntaxe de description des touches sous Emacs.

Gnus est un package d'Emacs conçu principalement pour lire et poster des news. Avant de pouvoir le lancer, il faut avoir configurer Emacs correctement (comment configurer Emacs pour lire et poster news et mails). Ensuite, lancez-le ainsi dans Emacs:

M-x gnus

Une fois lancé, gnus vous affiche le "group buffer" qui contient une liste des newsgroup. Il affiche normalement seulement les newsgroups auquels vous avez suscribé et qui contiennent des news non lues. Tapez A A pour obtenir la liste de tous les newsgroups disponibles sur le serveur (ceci peut prendre un certain temps). Déplacez le curseur sur un newsgroup et appuyez sur u pour vous (un)suscriber de ce newsgroup. Il est aussi possible de taper directement U nom.du.newsgroup pour suscriber au newsgroup nom.du.newsgroup (il y a la complétion automatique avec la touche TAB).

Vous êtes normalement maintenant toujours dans le "group buffer". Déplacez le curseur sur le nom d'un newsgroup et appuez sur RETURN pour le sélectionner. Deux cas peuvent se présenter: soit le newsgroup contient peu d'articles, dans ce cas vous vous retrouvez directement dans le "summary buffer", soit il en contient un certain nombre et on vous demande le nombre de news à downloader du serveur. Dans ce dernier cas, appuyez sur RETURN pour tout downloader.

Maintenant vous vous retrouvez dans le "summary buffer" qui liste les news du newsgroup sélectionné. Appuyez sur SPACE pour lire et avancer de news en news, ou bien sur d (Delete) pour marquer la news courante comme étant lue. Pour répondre à la news courante, utilisez F (Follow-up). Un buffer s'ouvre, pour écrire votre réponse. Puis, C-c C-c poste votre news, ou C-x k kille le buffer. Dans le "summary buffer", il faut utiliser a pour poster une simple news (et non pas répondre à une news existante). q quitte et kille le "summary buffer" et vous ramène dans le "group buffer".

De nouveau dans ce "summary buffer", vous pouvez utiliser c (Catch up) pour marquer toutes les news du newsgroup courant comme étant lues. Et q, à l'instar du "summary buffer" kille le "group buffer" et quitte gnus.

Tout ce qui a été présenté ici est une description très rapide des commandes de bases de gnus. Pour plus d'information, voir:

$ info gnus
3.5) Quels sont les newsgroups à lire ?  EDITER

Vous devez lire (des informations importantes y sont postées), au moins 2 newsgroup. Selon si vous êtes à Epita ou à Epitech, il s'agit de:

epita.systeme + epita.adm.adm
  ou
epita.systeme + epitech.adm.adm

Il est tout de même fortement conseillé de lire aussi ceux-ci (choisissez ceux-qui correspondent à votre niveau/école):

epita.adm
epita.adm.isup
epita.adm.ispe
epita.adm.a1
epita.adm.a2
epita.adm.a3
epitech.adm
epitech.adm.ept1
epitech.adm.ept2
epitech.adm.ept3
epitech.adm.ept4
epitech.adm.ept5
epitech.adm.adm.ept1
epitech.adm.adm.ept2
epitech.adm.adm.ept3
epitech.adm.adm.ept4
epitech.adm.adm.ept5

Voir aussi le reste qui traîne dans les hiérarchies epita.adm.* et epitech.adm.*...

3.6) Quelles sont les interdictions relatives aux news ?  EDITER

Il y en a principalement 2: primo, il est interdit de poster en HTML/MIME (il faut le faire en plain text, texte brut, sans fichier joint, sans e-card, etc), et secundo, il est interdit de poster dans les newsgroups suivants:

epita.adm.adm
epitech.adm.adm
epita.systeme
epita.systeme.digix
epita.systeme.netsoul
epita.systeme.question

En théorie, si l'une des 2 interdictions ci-dessus est enfreinte, vous pouvez vous ramasser un close compte, ou bien avoir à effectuer des TIGs (qu'est-ce-que les TIGs et les close-comptes). En pratique, peu de personnes sont sanctionnées.

Certains s'amusent parfois à un petit jeu bien rigolo: si une personne oublie de se déloguer, ou de se zlocker (qu'est-ce-que zlock), ils postent une news de son compte (en son nom, donc) dans epita.adm.adm avec un sujet du style "Je suis un gros nul"... Vous avez été prévenu ;-)

3.7) Quelles sont les règles qu'il est conseillé de suivre dans les news ?  EDITER

Il y a certaines règles qu'il est conseillé de respecter dans les news, notamment afin de faciliter le confort de leur consultation. En voici quelques-unes:

  • Quand vous répondez à un message, faites-le en dessous et non au dessus de celui-ci. Il est bien plus facile de suivre une conversation quand les réponses se suivent dans l'ordre chronologique.
  • Essayez de ne pas poster en plus de 70 colonnes, mais en tout cas, jamais en plus de 80 colonnes. Il faut se rendre compte d'une chose: la très grande majorité des gens lisent les news avec un client possédant une largeur de 80 colonnes, et le résultat n'est vraiment pas joli quand cette limite est dépassée. Si vous utilisez Emacs, M-q fait automatiquement le formatage d'un paragraphe en 70 colonnes par défaut (pour changer cette valeur par défaut, faites C-u <num> C-x f, quelle est la syntaxe de description des touches sous emacs).
  • Utilisez des minuscules et des majuscules. LES MAJUSCULES DONNENT L'IMPRESSION QUE VOUS CRIEZ.
  • Soyez concis, sans être excessivement bref. Lorsque vous répondez à un message, citez suffisamment de texte original pour être compris, mais pas plus. Il est extrêmement de mauvais goût de répondre simplement à un message, en reprenant tout le message reçu : supprimez tout ce qui est hors propos. web.ukonline.co.uk/g.mccaughan/g/remarks/uquote.html est un très bon document sur les conventions de "quoting" (pas d'équivalent en français).
  • Pensez aussi à enlever les signatures, qui sont souvent bien trop longues. La vôtre ne devrait pas dépasser 4 lignes.

Les conseils ci-dessus sont un exemple de ce que l'on peut trouver dans la Netiquette (formellement RFC 1855):

3.8) Qu'est-ce-que epimail, nocc et epinews ?  EDITER

L'asso WCube d'Epita à conçue epimail (aussi connu sous le nom de nocc), une interface web qui vous permet de consulter votre mailbox @epita.fr ou @epitech.net, et d'envoyer des mails.
Vous pouvez l'utiliser depuis n'importe quelle machine disposant d'un browser.

Dans le même genre, il existe epinews, qui permet d'accéder au serveur de news d'Epita, et de de lire et poster à volonté, et ce, même depuis chez soi !

3.9) Les mails que j'envoie avec mutt ne sont jamais reçus !  EDITER

Il existe un bug dans certaines versions du client mail mutt: si votre signature ne se termine pas avec un retour à la ligne ('\n'), il se passe des choses étranges. Alors vérifiez donc que vous avez ce '\n' à la fin de votre signature.

3.10) Doit-on dire "autant pour moi", ou "au temps pour moi" ?  EDITER


Cette question se pose (de façon inexplicable) très souvent dans les
news, d'où sa présence dans la Faq.




Et bien la réponse est "au temps pour moi". Pour plus d'infos, voir

http://www.academie-francaise.fr/langue/questions.html#au_temps
et

http://perso.wanadoo.fr/langue-fr/faq/faq.htm#au_temps
.



3.11) Doit-on dire "la gent féminine" où "la gente féminine" ?  EDITER

Cette interrogation préoccupe une majorité des personnes à Epita-Epitech ;-) Voilà donc la réponse...

Il ne faut pas confondre le nom "gent" et l'adjectif "gent". L'adjectif s'accorde. On dit "une gente damoiselle, un gent damoiseau". Par contre, le nom est évidemment invariable. On écrit "la gent féminine". Et ça se prononce comme le prénom "Jean".

3.12) Qu'est-ce-que crossposter ?  EDITER

Lorsque vous voulez poster une news dans plusieurs newsgroups en même temps, il ne faut pas faire un post dans chaque newsgroup, car les personnes la liront plusieurs fois (une fois pour chaque newsgroup). Au contraire, il faut la "crossposter", ie la poster en une seule fois dans plusieurs newsgroups. Généralement, un croospost se fait très facilement: il suffit d'indiquer dans le champ "Newsgroup:" la liste de ceux-ci, séparés par des virgules. Exemple:

Newsgroups: epita.test,epitech.test
3.13) Y a-t-il un quota sur les mailbox ?  EDITER
Oui, il y a bien une limite sur la taille d'une mailbox.
La limite est fixée a 10 Mo. Au dela de cette taille, une alerte vous est envoyée régulierement (par mail) tant que la taille de la mailbox n'est pas repassée en dessous de la limite.
Cette alerte vous informe entre autres que si cette taille passe la barre des 30 Mo, alors celle-ci sera détruite.
4) Le Compte et ses Fichiers  AJOUTER
4.0) Comment changer son password unix, socks ou ppp ?  EDITER

Utilisez ypb_password [password|pwd_socks|pwd_ppp]. Par exemple, pour changer le pass socks:

$ ypb_password pwd_socks

Le nouveau password sera actif dans journée ou au pire, le lendemain. D'autre part, il faut laisser écouler au moins 24 heures entre 2 changements d'un même password. Si on essaie de le re-changer sans avoir attendu 24 heures, le programme affichera "Trop tôt limace" ;-)

4.1) Comment obtenir un compte "tout neuf", comme lors de sa création ?  EDITER

Attention ! Les commandes suivantes vont effacer l'intégralité de votre compte, pour le recréer tel qu'il était lors de sa création !

Bon, c'est parti:

$ cd ~
$ rm -rf ~
$ mkdir trash
$ mkdir mbin
$ mkdir mtmp
$ ln -s ../.env/.??* .
$ mkdir .ns
$ chmod 700 .ns
$ ln -s /usr/local/libexec/ns_user_cmd .ns
$ ln -s /usr/local/libexec/ns_*lock .ns

Note: si on est très pointilleux, on remplacera le rm -rf ~ (qui tente d'effacer le home directory, mais qui échoue puisqu'on n'a pas les droits d'écriture sur ~/..) par un rm -rf ..?* .[!.]* * qui lui, ne n'essaiera pas d'effacer le home directory. Mais de toute façon, le résultat est le même, alors si vous ne comprenez pas, ne tenez pas compte de cette note =:-)

Voilà, vous avez à nouveau un compte tout propre ! Ces commandes sont tirées du script /nfs/school/defs/.env/mkusers_env, utilisé pour créer de nouveaux comptes.

4.2) Qu'est-ce-que les TIGs et les close-comptes ?  EDITER

Afin de punir une personne ayant enfreint le règlement, le bocal peut décider:

  • d'infliger un TIG (Travail d'Intérêt Général), comme préparer une salle machine pour des examems, nettoyer les écrans, etc.
  • de fermer le compte de la personne en question. On dit alors qu'elle est close compte. La plupart du temps, c'est pour une durée d'une semaine. Il faut se présenter au bocal pour se faire retirer le close compte.

Note: Afin de connaître la raison de votre close compte, vous pouvez soit aller sur le site de sadm (où obtenir des statistiques sur le réseau, les utilisateurs closés, etc) soit utiliser la commande suivante, qui donne un tas d'infos, dont la raison du close compte, si l'utilisateur passé en paramètre est closé:

$ ypb_cat login
4.3) Que faire en cas de problème de configuration du compte sous Windows NT ?  EDITER

Aucun paramètre NT (fond d'écran, ligne de commande dans la boite "executer", etc) n'est sauvegardé sur votre compte quand vous vous déloguez ? Le message d'erreur "Impossible d'accéder aux paramètres de l'utilisateur" s'affiche au lancement et à la fermeture de Telnet ? La solution est ci-dessous...

Ce problème vient de votre conf NT qui a été corrompue, et ne peut plus être utilisée. Il faut donc l'effacer. Pour cela, quittez toutes vos sessions NT. Ensuite, une fois logué dans une salle machine sous NetBSD ou Solaris, effacez la conf NT avec:

$ rm -rf ~/smb

Dorénavant, la prochaine fois que vous vous loguerez sous NT, voyant que vous n'avez pas de conf, il vous en recréera une (avec les paramètres par défaut).

Il est très important d'effacer le répertoire ~/smb lorsqu'aucune session NT n'est ouverte. Par exemple, si vous effectuez cette opération depuis une fenêtre telnet depuis NT, cela n'aura aucun effet. Explication: lorsque vous vous loguez sous NT, l'OS load votre conf ~/smb sur le disque local de la machine, puis utilise celle-ci, quoique vous fassiez avec votre ~/smb. Ce n'est que lorsque vous vous déloguez que la conf du disque local sera ré-écrite vers ~/smb, même si vous l'aviez effacée...

4.4) Que faire en cas de problème de configuration du compte sous Solaris (les machines sun) ?  EDITER

Si vous avez un problème de configuration sous Solaris (impossibilité de se loguer, ...), vous pouvez effacer entièrement votre conf avec:

$ rm -rf ~/.TTauthority
$ rm -rf ~/.dt
4.5) Mon password ne marche plus, pourquoi ?  EDITER

Cette réponse s'applique à tous les types de passwords: unix, ppp, et socks.

Avant tout, réessayez au moins 4 ou 5 fois de le taper, afin d'être sûr que ce n'est pas de votre faute... Ensuite, procédez par étapes:

  • Vérifiez que toutes les touches du clavier marchent. Ca à l'air con, mais c'est un problème qui arrive (beaucoup) trop souvent.
  • Dans le même genre, vérifiez que caps-lock n'a pas été enclenché :)
  • Si vous aviez un ou plusieurs caractères pourcentage % dans votre pass, essayez de le taper sans ces caractères. Ou si vous aviez 2 % côte-à-côte, taper votre pass avec 1 seul % au lieu de 2. L'explication ? Indice: si vous connaissez le langage C et la famille de fonctions *printf(), vous ne devriez pas avoir de mal à trouver l'origine du bug...
  • Si c'est votre pass socks qui ne marche plus, il se peut que le serveur soit en train de remettre à jour sa base de donnée de passwords. Dans ce cas, la seule chose à faire est de patienter au maximum 1 heure, au delà de cette période, il devrait refonctionner.

Si malgré tout çà, le problème n'est toujours pas résolu, votre pass a très probablement été changé, soit par un membre du bocal, soit par quelqu'un ayant pris connaissance de votre pass, et l'ayant volontairement changé (comment changer de password). La seule chose à faire est de passer au bocal et de demander que l'on vous imprime votre profil utilisateur (on devrait vous demander votre carte d'étudiant pour justifier de votre identité), qui contient toutes les informations sur votre compte, notamment tous vos passwords. Si vous vous appercevez qu'un de vos pass a été changé et que le bocal n'en est pas à l'origine, alors changez-le immédiatement (comment changer de password).

4.6) Qu'est-ce-que les quotas ?  EDITER

L'espace disque étant limité sur les serveurs de fichiers, chaque utilisateur se voit imposé des quotas à respecter. On peut les vérifier à tout moment avec la commande quota:

$ quota -v
Disk quotas for user bevand_m (uid 13034):
  Filesystem   blocks    quota    limit   grace   files   quota   limit   grace
/nfs/s1/space        0        1        1               0       1       1
/nfs/s2/space        0        1        1               0       1       1
/nfs/s3/space    49395    75000   100000            2603    4000    5000
/nfs/s4/space        0        1        1               0       1       1
/nfs/s5/space        1*       1   200000   7days       1*      1    5000   7days
/nfs/s6/space        0        1        1               0       1       1
/nfs/s7/space        0        1        1               0       1       1

Explication: quota affiche une ligne pour chaque filesystem sur lesquels un quota a été paramétré. La première colonne indique le répertoire où a été monté le filesystem (le path par lequel on peut accéder aux fichiers). Ici, il y a 7 filesystems, et chacun sont des serveurs de fichiers nommés s1 à s7. Pour savoir sur lequel se trouve votre compte, faites pwd (Print Working Directory) lorsque vous êtes à la racine de votre compte (~):

$ cd ~
$ pwd
/nfs/s3/space/users/a2/bevand_m

Après la première colonne, quota affiche 8 autres colonnes: 4 sont consacrées à la taille des fichiers et les 4 autres, au nombre de fichiers.

La taille des fichiers (4 premières colonnes)

Note: dans ces colonnes, toutes les valeurs affichées sont exprimées en nombre de blocks (dans notre cas, 1 block = 1 kB).

  • La colonne blocks correspond au nombre total de blocks occupés par les fichiers vous appartenant sur le filesystem en question. Une petite étoile après la valeur indique que la valeur de la colonne suivante a été dépassée.
  • La colonne quota donne la limite "soft" du nombre de blocks que l'on vous a attribué. Voir l'explication de la colonne grace pour savoir ce qui se passe si vous dépassez la limite.
  • La colonne limit donne la limite "hard" du nombre de blocks que l'on vous a attribué. Vous ne pouvez pas la franchir: toutes les tentatives de dépassement sont physiquement impossibles, car toute tentative d'écriture de données échoue.
  • La colonne grace est normalement vide. Mais si vous dépassez la limite "soft", alors un compteur de temps, initialisé à 7 jours, y apparaitra et se décrémentera de jours en jours. Durant cette période, vous êtes libre de continuer à écrire ou effacer des données. Il est cependant de plus en plus fortement conseillé de résoudre le problème au fur et à mesure que le compteur s'approche de zéro :). Mais quand, justement, il parvient à zéro, vous ne pouvez plus rien écrire, et êtes condamnés à faire le ménage sur votre compte :). Tout redeviendra normal une fois que vous serez repassé en dessous de la limite "soft". La grace exprime donc la durée pendant laquelle vous pouvez stagner entre la limite "soft" et la limite "hard".

Le nombre de fichiers (4 dernières colonnes)

Note: dans ces colonnes, toutes les valeurs affichées sont exprimées en nombre de fichiers.

La colonne files correspond au nombre total de fichiers vous appartenant sur le filesystem en question. Une petite étoile après la valeur indique que la valeur de la colonne suivante a été dépassée. Quant aux autres colonnes, elles ont la même signification que celle utilisées pour la taille des fichiers. Le principe est simplement appliqué au nombre de fichier au lieu de leur taille.

4.7) Dans mes quotas, je vois que des fichiers m'appartiennent sur un autre filesystem. Où se trouvent-ils ?  EDITER

Si c'est sur le serveur de fichier s5, cela signifit tout simplement que vous avez des fichiers sur le /sgoinfre (qu'est-ce-que le goinfre). Si c'est dans un autre filesystem, c'est probablement que vous avez déposé des fichier sur le compte d'une autre personne. Mais si ! Vous ne vous souvenez pas de ce .cor que vous avez déposé sur le compte ~corewar pour ce projet ?

4.8) J'ai installé un programme sur mon compte, et j'aimerais bien pouvoir lire les mans qui l'accompagnent. Comment faire ?  EDITER

Supposons que vous ayez installé le programme sur votre compte, dans ~/root. Si des mans sont fournis, ils ont été installés dans l'arborescence ~/root/man/. Ce répertoire doit contenir des sous-répertoires man[1-8] qui eux, contiennent les manpages. De tels fichiers se lisent généralement avec la commande suivante:

$ nroff -mandoc manpage | less -s

Mais est possible de les lire directement avec la commande man: soit en modifiant (ou en créant) la variable d'environnement MANPATH, soit en utilisant l'option -m de man.

Modification de MANPATH

Ajoutez ceci dans votre ~/.mytcshrc (voir a quoi sert le fichier xyz qui est présent sur mon compte):

if ($HOSTTYPE == 'NetBSD') then
   setenv MANPATH ${HOME}/root/man:/usr/share/man:/usr/X11R6/man:/usr/pkg/man:/usr/local/man
else if ($HOSTTYPE == 'alpha') then
   setenv MANPATH ${HOME}/root/man:/usr/share/man:/usr/dt/share/man:/usr/local/man
else if ($HOSTTYPE == 'sun4') then
   setenv MANPATH ${HOME}/root/man:${MANPATH}
endif

Utilisation de l'option -m

Cette méthode est à déconseiller, car elle est peu portable: l'option -m est supportée uniquement avec le man de NetBSD.

L'option -m permet donc d'indiquer à man un ou plusieurs répertoires supplémentaires où les manpages doivent être cherchées. Il est pratique de faire un alias "man" pour utiliser cette option. Il suffit alors de rajoutter cette ligne dans le ~/.mytcshrc:

alias man "man -m ${HOME}/root/man"

Attention: comme expliqué plus haut, sur Alpha (qu'est-ce-qu'une Alpha) et sur Sun (qu'est-ce-qu'une Sun), man ne supporte par l'option -m. Pensez donc à utiliser \man au lieu de man sur ces machines. Au passage, il est également possible de créer une base de données whatis personnelle en éxécutant la commande:

$ /usr/libexec/makewhatis ~/root/man

et en utilisant les commandes d'interrogations man -k (apropos) et man -f (whatis). Ceci marche même en ayant défini man comme alias comme ci-dessus.

4.9) A quoi sert le fichier XYZ qui est présent sur mon compte ?  EDITER

Lorsque votre compte a été créé, plusieurs fichiers, liens et répertoires ont été créés par défaut dans celui-ci. Voici une description de l'utilité de chacun d'entre eux.

  • ~/.tcshrc: c'est normalement un lien vers le .tcshrc standard d'Epita-Epitech (les fichiers de conf standard sont dans ~/../.env). Ce fichier est interprété par le shell tcsh au lancement de celui-ci. Tcsh étant le shell par défaut, ce fichier est donc interprété à chaque fois que vous ouvrez un terminal, ou que vous vous loguez à distance (comment se loguer sur une autre machine).
  • ~/.mytcshrc: ce fichier peut ne pas exister, c'est à vous de le créer si vous le souhaitez. Etant donné que .tcshrc est un lien vers le fichier standard, on ne peut pas le modifier directement. C'est pour cette raison qu'un mécanisme à été mis en place: à la fin du .tcshrc, ce dernier vérifie si un .mytcshrc existe, et le cas échéant, il l'interprète. Donc si vous souhaitez éxécuter des commandes au lancement du shell, ajouttez-les à ce fichier.
  • ~/.login: c'est normalement un lien vers le .login standard d'Epita-Epitech. Ce fichier est interprété par tcsh au lancement de celui-ci, mais uniquement s'il est lancé en tant que "login shell". Normalement, un login shell devrait être le premier shell lancé lors de l'ouverture de la session utilisateur, mais en pratique, les window managers ou les terminaux sont parfois mal configurés et lancent systématiquement des login shells... Pour savoir si le shell que vous avez sous la main est un login shell, faites:
    $ echo $0
    Si le premier caractère est un tiret, alors c'est un login shell.
  • ~/.mylogin: ce fichier peut ne pas exister, c'est à vous de le créer si vous le souhaitez. Etant donné que .login est un lien vers le fichier standard, on ne peut pas le modifier directement. C'est pour cette raison qu'un mécanisme à été mis en place: à la fin du .login, ce dernier vérifie si un .mylogin existe, et le cas échéant, il l'interprète. Donc si vous souhaitez éxécuter des commandes au lancement d'un login shell, ajouttez-les à ce fichier.
  • ~/.emacs: c'est normalement un lien vers le .emacs standard d'Epita-Epitech. C'est le fichier de configuration d'Emacs, un éditeur de texte (entre autres ;-)).
  • ~/.myemacs: ce fichier peut ne pas exister, c'est à vous de le créer si vous le souhaitez. Etant donné que .emacs est un lien vers le fichier standard, on ne peut pas le modifier directement. C'est pour cette raison qu'un mécanisme à été mis en place: à la fin du .emacs, ce dernier vérifie si un .myemacs existe, et le cas échéant, il l'interprète. Rajouttez donc vos lignes de configuration d'Emacs dans ce fichier.
  • ~/.plan: c'est à vous qu'il appartient de créer ce fichier. Voir comment obtenir des informations sur un nom ou un login.
  • ~/.project: c'est à vous qu'il appartient de créer ce fichier. Voir comment obtenir des informations sur un nom ou un login.
  • ~/.xsession: c'est normalement un lien vers le .xsession standard d'Epita-Epitech. C'est le fichier de démarrage de la session X (session graphique).
  • ~/.Xdefaults: c'est normalement un lien vers le .Xdefaults standard d'Epita-Epitech. C'est le fichier spécifiant les "ressources" graphiques: on peut y paramétrer l'aspect visuel de certaines applications.
  • ~/.forward: créer ce fichier vous permettra de forwarder automatiquement tous les mails que vous recevez @epita.fr ou @epitech.net. Voir comment utiliser le fichier ~/.forward.
  • ~/smb: ce dossier remplace l'ancien ~/nt, il sert au stockage de la conf NT, créée automatiquement lorsque vous vous loguez en salle NT.
4.10) A quoi servent les fichiers .nfs* ? Pourquoi est-ce que je ne peux pas les effacer ?  EDITER

Une fois qu'un programme a ouvert un fichier, il a besoin d'avoir une garantie que celui-ci sera disponible jusqu'à ce qu'il le ferme. C'est pour cette raison que lorsqu'on tente d'effacer un fichier sur un serveur nfs (serveur de fichier) alors qu'un autre programme l'a ouvert mais pas encore fermé, le serveur ne l'efface pas réellement, mais le renomme en .nfs*. Par la suite, le serveur nfs refuse purement et simplement d'effacer un fichier .nfs*. Il le fera par contre normalement automatiquement quand le fichier en question sera fermé. Note: il est parfois possible de forcer l'effacement d'un fichier .nfs* en le faisant depuis une autre machine (comment se loguer sur une autre machine).

4.11) Quand j'essaie de me loguer sur une machine, je me fais immédiatement déloguer ! Que se passe-t'il ?  EDITER

Il y a principalement 2 causes possibles: soit vous êtes close-compte (qu'est-ce-que les TIGs et les close-comptes), soit vous avez trafiqué votre ~/.xsession, et vous avez tout cassé ;-). Que faire ? Dans le premier cas, attendez 1 semaine, et dans le deuxième, demandez gentiment à une personne à côté de vous de vous prêter un terminal, afin de vous loguer avec ssh sur une machine (comment se loguer sur une autre machine) pour recréer le ~/.xsession en tant que lien vers le .xsession standard:

$ cd ~
$ ln -sf ../.env/.xsession
4.12) Comment utiliser le fichier ~/.forward ?  EDITER

Ce fichier vous permet par exemple de faire forwarder tous les mails que vous recevez dans votre mailbox @epita.fr ou @epitech.net vers une autre adresse. Il suffit d'écrire, dans ~/.forward, les adresses email vers lesquelles vont être forwardées les mails. Par exemple:

alt.email0@your.isp0.com
alt.email1@your.isp1.com

Attention: pour continuer à recevoir aussi les mails dans votre mailbox @epita.fr ou @epitech.net, il faut aussi placer votre login seul dans une ligne.

4.13) D'où viennent les fichiers nommés test un peu partout sur mon compte ?  EDITER

Ces fichiers sont créés par la commande ns_logs. En effet, celle-ci crée un fichier test dans le répertoire courant à partir duquel elle est lancée. C'est un défaut de conception qui sera sans doute corrigé dans une prochaine version. Il est bien sûr tout à fait possible d'effacer manuellement ces fichiers sans causer de dommages irréversibles :).

4.14) Je viens de changer de groupe (ispe -> a1, etc) et pleins de problèmes sont apparus (Netscape ne sauvegarde plus les bookmarks, etc) !  EDITER

Certaines applications ont sans doute sauvegardé des paths absolus (/u/ept2/...) dans des fichiers de conf, et depuis que vous avez changé de groupe, elles ne s'y retrouvent plus ! Le cas est bien connu avec Netscape. Il faut donc corriger tous les paths erronés. Par exemple, si vous étiez en ept2 et que vous êtes passé en ept3, commencez par faire une recherche sur la chaîne "/ept2/" sur l'intégralité de votre compte (il faut utiliser le GNU grep qui supporte l'option -r):

$ grep -rn /ept2/ ~

En théorie, peu de fichiers devraient matcher, et le remplacement manuel des occurences de ept2 par ept3 devrait se faire assez rapidement. Si c'est trop long, et si vous êtes sûr de vouloir remplacer toutes les occurences dans tous les fichiers, vous avez toujours la possibilité de réaliser un petit script qui fait le travail à votre place :)

4.15) Comment faire pour qu'un nom de fichier commençant par un tiret, passé en argument à une commande, ne soit pas interprété comme une option ?  EDITER

Une solution qui marche dans tous les cas est de rajoutter, par exemple, "./" devant le nom de fichier:

$ rm -rf ./-z
$ mv ./--toto toto

Il existe une autre solution qui fonctionne avec les programmes qui utilisent getopt(3) (presque tous le font) pour parser leur ligne de commande: cette fonction interprète l'argument -- comme un marqueur empêchant de reconnaître la suite des arguments comme des options. Exemples:

$ rm -rf -- -z
$ mv -- --toto toto
4.16) Comment faire pour utiliser un autre shell que tcsh à l'école ?  EDITER

Si vous voulez utiliser -par exemple- zsh, ajouttez les lignes suivantes dans votre .mylogin (ou .login si vous préférez customizer ce fichier au lieu de conserver le lien vers ../.env/.login):

setenv SHELL "`which zsh`"
exec "$SHELL" --login

Ensuite, il va falloir modifier le fichier .xsession (attention, si vous avez la conf par défault, c'est un lien vers ../.env/.xsession, dans ce cas effacez-le et recopiez directement le fichier sur votre compte pour effectuer la modification). Rajouttez la ligne suivante juste après l'initialisation du path (set path=...):

setenv SHELL "`which zsh`"

Remarque: les shells disponibles peuvent être trouvés en fouillant /bin/*sh et le compte dp (voir qu'est ce que le DP): /u/dp/public/arch/`uname -m`-`uname -s`/bin/*sh.

4.17) Comment faire pour passer dans le groupe 'old' ?  EDITER

Le groupe 'old' est le groupe des élèves diplomés d'EPITA qui veulent conserver leur compte (fichiers, adresse mail, site web, ...).

Pour passer dans le groupe 'old', il faut donc commencer par être diplomé. Ensuite, il suffit de mailer radm.

5) Stockage de données: Disquettes, Zips, Goinfres, ...  AJOUTER
5.0) Comment utiliser tar et gzip pour compresser et décompresser des données ?  EDITER

La commande tar permet de rassembler plusieurs fichiers ou répertoires en un seul fichier appelé tarball ou tarfile, à qui on donne conventionellement l'extension .tar. Il est important de noter qu'un tarball n'est pas compressé. Au passage: une autre convention très largement respectée, est de faire en sorte que chaque fichier xyz.tar corresponde au tarball du répertoire xyz. Ensuite, si on veut compresser le tarball, on le fait la plupart du temps avec gzip, l'utilitaire de compression standard dans le monde Unix, qui ajoutte l'extension .gz (parfois .z) aux fichiers compressés avec celui-ci. Un tarball compressé est donc normalement identifié par son extension .tar.gz, quelques fois abrégé en .tgz ou .taz.

Remarque 1: Le format de fichier .gz n'a rien à voir avec le format .zip !
Remarque 2: Le célèbre Winzip sait décompresser les .gz, et détarer les .tar.

Petite démo: commencez par rassembler tous les fichiers dans un répertoire, disons 42sh. Puis, tarez-le et gzipez-le:

$ tar cvf 42sh.tar 42sh
$ gzip 42sh.tar

Vous avez maintenant un 42sh.tar.gz. Note: à part dans quelques rares cas, il est possible d'utiliser une seule ligne de commande au lieu des deux précédentes:

$ tar cvzf 42sh.tar.gz 42sh

Pour décompresser, vous avez le choix entre:

$ gunzip 42sh.tar.gz
$ tar xvf 42sh.tar

Ou plus court:

$ tar xvzf 42sh.tar.gz

Pour plus d'infos, voir man tar et man gzip (comment obtenir de l'aide).

5.1) Comment utiliser les lecteurs de disquettes sous NetBSD ?  EDITER

Il y a deux solutions: soit vous mountez le lecteur grâce à mount, soit vous utilisez les mtools avec la lettre de lecteur a:. Mais puisque nous ne disposons plus, actuellement, à Epita-Epitech, des droits suffisant pour utiliser mount, il n'y a que les mtools qui peuvent vous rendre ce service (comment utiliser les mtools).

5.2) Comment utiliser les lecteurs zip sous NetBSD ?  EDITER

Exactement comme pour les disquettes (comment utiliser les disquettes), il y a deux solutions: mount ou les mtools. Et pour la même raison, il n'y a que les mtools qu'il est possible d'utiliser.

Cependant, les mtools ont besoin d'un fichier de conf spécial ~/.mtoolsrc pour pouvoir travailler correctement avec un lecteur zip. Son contenu doit être le suivant:

drive z:
file="/dev/sd0d"
partition=4
mtools_skip_check=1

Note: le .mtoolsrc ci-dessus est notamment le fichier officiel donné par le bocal pour utiliser les mtools sur la machine sh, qui disposait autrefois d'un lecteur Zip 100MB.

Puis, vous pouvez utiliser votre zip avec les mtools (comment utiliser les mtools), exactement de la même façon que les disquettes, mais la lettre de lecteur est z: au lieu de a:.

5.3) Quelles sont les machines disposant de lecteurs zip ?  EDITER

Les voici:

Zip 250MB: garfield (sm-14_r3p14)
Zip 250MB: yoda (sm-21_r1p14)
Zip 100MB: distille (sm-23_r1p6)
Zip 100MB: sayyadina (sm-23_r4p18)

Note: la syntaxe de description de la position des machines (sm-x_rypz) est la même que celle utilisée notamment par la commande ns_hwho (liste de toutes machines qui sont "up").

5.4) A quels problèmes peut-on s'attendre en utilisant les lecteurs zip ?  EDITER

Premièrement, lors de l'utilisation d'un zip 100MB avec un lecteur 250MB, la vitesse tombe parfois en dessous de 1 MB par minute en écriture. On ne peut malheureusement rien y faire...

Deuxièment, ce message d'erreur peut parfois apparaître:

$ mdir z:
init: non-existant partition
Cannot initialize 'Z:'

Vérifiez tout d'abord que vous avez le bon ~/.mtoolsrc (comment utiliser les lecteurs zip). Si le fichier est correct, et si le message d'erreur apparaît toujours, alors essayez un par un les workarounds suivant (un seul à la fois !) :

  1. Placez la ligne définissant partition en commentaire (avec un # en début de ligne), dans votre ~/.mtoolsrc
  2. Mettez la valeur de partition à 0
  3. Essayez toutes les valeurs pour partition à partir de 1 jusqu'à tomber sur une qui marche (c'est souvent une valeur >= 5)

Troisièmement, si une fois chez vous, l'explorateur de Windows ne liste aucun fichier sur le zip, mais indique pourtant bien que des données sont présentes sur le zip (l'espace libre indiqué n'est pas de 100%), alors rebootez sous un OS moins buggé (j'entends par là, un Unix), et lisez vos fichiers soit en mountant le zip, soit en utilisant les mtools.

5.5) Qu'est-ce-que les mtools ? Comment les utiliser ?  EDITER

Les mtools sont un ensemble d'utilitaires permettant, depuis un système Unix, d'accéder aux disques MS-DOS (d'où le 'm' dans mtools), comme les disquettes et les zips. Avant d'aller plus loin, sachez que la gestion des répertoires avec les mtools n'est pas très pratique, car toutes les versions des mtools ne supportent pas la copie récursive des répertoires. Donc un conseil: pour transférer des données sur une disquette, tarez tout, ou zippez tout dans un seul fichier, avant de le placer sur disquette (comment utiliser tar et gzip).

Ci-dessous quelques exemples d'utilisation des mtools...

Affichons le contenu du répertoire courant d'une disquette:

$ mdir a:
 Volume in drive A has no label
 Volume Serial Number is 1A07-456F
Directory for A:/

siteweb      <DIR>     10-20-2001  22:19  siteweb
42SHTA~1 GZ       1153 10-20-2001  22:29  42sh.tar.gz
        2 files               1 153 bytes
                          1 454 592 bytes free

Comme vous le voyez, le répertoire courant est A:/ (affiché après Directory for...). Notez au passage que les mtools gèrent les noms courts (qui sont case-insensitive), comme "42SHTA~1.GZ", et les noms longs, comme "42sh.tar.gz" (qui eux sont case-sensitive). Il est bien sûr préférable d'utiliser les noms longs...

Copions maintenant 42sh.tar.gz de la disquette vers le répertoire courant:

$ mcopy a:42sh.tar.gz .

Il est copié, vérifions-le avec ls:

$ ls -la
total 4
drwx--x--x    2 bevand_m a2            512 Oct 20  2001 .
drwx--x--x    3 bevand_m a2            512 Oct 20 22:51 ..
-rw-------    1 bevand_m a2           1153 Oct 20  2001 42sh.tar.gz

On va se déplacer dans le répertoire siteweb de la disquette:

$ mcd a:/siteweb

Voici le contenu du répertoire courant de la disquette (a:/siteweb):

$ mdir a:
 Volume in drive A has no label
 Volume Serial Number is 1A07-456F
Directory for A:/siteweb

.            <DIR>     10-20-2001  22:19
.           <DIR>     10-20-2001  22:19
INDEX~1  HTM       723 10-20-2001  22:28  index.html
TOP~1    HTM       723 10-20-2001  22:46  top.html
        4 files               1 446 bytes
                          1 453 568 bytes free

Copions maintenant tous les fichiers du répertoire courant de la disquette (2 fichiers) vers le répertoire courant:

$ mcopy a:'*' .

On peut vérifier avec un ls qu'ils ont bien été copiés:

$ ls -la
total 6
drwx--x--x    2 bevand_m a2            512 Oct 20  2001 .
drwx--x--x    3 bevand_m a2            512 Oct 20 22:51 ..
-rw-------    1 bevand_m a2           1153 Oct 20  2001 42sh.tar.gz
-rw-------    1 bevand_m a2            723 Oct 20  2001 index.html
-rw-------    1 bevand_m a2            723 Oct 20  2001 top.html

Pour effacer une disquette, la méthode la plus rapide et la plus simple est de la formatter:

$ mformat a:
$ mdir a:
 Volume in drive A has no label
 Volume Serial Number is 6C8F-5AF9
Directory for A:/

No files
                          1 457 664 bytes free

Supposons que l'on ai un tas de fichiers dans le répertoire 42sh que l'on souhaite copier sur la disquette, comme je le disais, le moyen le plus simple de les transférer est avant tout de les "tarer" et de les compresser (comment utiliser tar et gzip). Une fois 42sh.tar.gz créé, il ne reste plus qu'à le copier sur la disquette:

$ mcopy 42sh.tar.gz a:
$ mdir a:
 Volume in drive A has no label
 Volume Serial Number is 6C8F-5AF9
Directory for A:/

42SHTA~1 GZ       1153 10-20-2001  23:05  42sh.tar.gz
        1 file                1 153 bytes
                          1 456 128 bytes free

Voilà, il est copié. J'espère que vous saurez vous débrouiller avec ces quelques exemples... N'oubliez pas de consutler le man des mtools (comment obtenir de l'aide).

5.6) Qu'est-ce-que le goinfre ?  EDITER

On devrait plutôt demander qu'est-ce-que sont les goinfres. Car il y en a plusieurs: chaque machine dispose d'un goinfre local /goinfre, et il existe aussi un goinfre global /sgoinfre, accessible par tout le monde depuis n'importe quelle machine. Les goinfres sont des espaces de stockage importants utilisés par exemple pour l'échange de fichier inter-étudiant. Le quota sur le goinfre global est très élevé: 200MB. Concernant le goinfre local, il n'y a tout simplement pas de quota: on peut donc utiliser au maximum tout l'espace disque de la machine !

Attention: /sgoinfre est effacé tous les soirs à 23h00, et le goinfre local /goinfre (de chaque machine sous NetBSD) est, lui, effacé tous les jours à 03h15 ! Note: le goinfre local est comme son nom l'indique, local, c'est à dire que pour accéder au goinfre d'une machine donnée, il faut le faire en étant logué sur cette machine !

6) Divers  AJOUTER
6.0) Où puis-je trouver de l'aide sur les commandes, et en général ?  EDITER

Quand on découvre un nouvel OS, commme NetBSD ou Solaris, les premiers pas sont toujours difficiles... Heureusement, dans le monde Unix, il existe un tas de systèmes d'aide. Examinons-en quelques uns.

Le plus important est sans doute les pages "man", ou manpages (manuel), disponibles sur tous les systèmes Unix, que l'on peut consulter avec la commande man. Les informations qu'on y trouve couvrent des domaines larges: commandes utilisateurs, formats de fichiers, tables ascii/iso-8859, etc. Par exemple, pour lire le manuel de la commande ls, il suffit de faire:

$ man ls

Et de la même façon, vous pouvez lire le manuel de la commande man avec:

$ man man

Il existe aussi un browser graphique des manpages:

$ xman

La tendance actuelle est plutôt de migrer le système man vers le système info. Son principe de fonctionnement est identique, mais info permet de faire des choses plus évoluées: les manuels sont organisés en une arborescence de pages qui peut être parcourue par des menus, on peut suivre des liens, etc. D'ailleurs, il est plutôt conseillé d'utiliser info par rapport à man pour deux raisons: primo, certains packages n'installent plus de manpages, mais uniquement des fichiers infos, et secundo, si info ne trouve pas le fichier info correspondant, il va automatiquement rechercher la manpage et vous l'afficher dans son interface. Pour apprendre à se servir d'info:

$ info info

Appuyez ensuite sur h pour vous laisser guider par un tutorial très bien fait.

Deux autres sources d'informations très précieuses sont les FAQs et les HOWTOs: ce sont les documents les plus denses en information et les plus utiles qu'il puisse exister. On les trouve très facilement sur le Net, par exemple, une recherche dans www.google.com sur les termes "netbsd faq" vous conduira à coup sûr vers la FAQ NetBSD (la première réponse donnée par google est effectivement la bonne). D'ailleurs, en passant, oubliez tous les moteurs de recherche que vous connaissiez jusqu'à présent, google est le seul dont vous avez réellement besoin. Quant aux HOWTOs, ce sont des documents qui couvrent chacun un domaine particulier (Quake-HOWTO, Assembly-HOWTO, CD-Writing-HOWTO, etc). Bien qu'étant orientés Linux, ils contiennent souvent des informations valables pour tout système Unix.

Si vous avez du mal à trouver une FAQ, www.faqs.org en recensce un nombre incalculable. Certaines FAQs ne sont pas présentes dans leur dernière version, mais ce site peut être utilisé comme point de départ pour trouver la source originale de l'information. Les HOWTOs sont maintenus par www.linuxdoc.org, le site officiel du titanesque "Linux Documentation Project". Réservez-lui une place de choix dans vos bookmarks !

6.1) Pourquoi ne peut-on pas accéder au site XYZ alors que c'est possible depuis l'extérieur ?  EDITER

Un administrateur système peut décider de refuser une connexion réseau si celle-ci est en provenance d'une certaine source. Par exemple, il n'y a pas si longtemps, les admin sys de ratp.fr refusaient les connexions en provenance de notre proxy (plus précisément, toute la classe B 163.5.0.0/16 était bannie, et ce dans les 2 sens: eux ne pouvaient pas accéder à epita.fr). Pourquoi ? Des petits malins ont sans doute joués aux apprentis hacker avec ratp.fr, et cette dernière a décidé d'arrêter le jeu... La solution à ce genre de problème est d'utiliser les services d'un pseudo proxy comme www.anonymizer.com ou www.the-cloak.com.

6.2) Je me suis fait déloguer tout seul cette nuit ! Qu'est-ce-qu'il se passe ?  EDITER

Des ondes électromagnétiques en provenance de certains pulsars situés dans la banlieu interstellaire de notre système solaire sont émises sur plusieurs bandes de fréquence, notamment celle de 2.457 GHz. Or, il ce trouve que cette fréquence est multiple de la fréquence de résonnance du silicium, matière principale utilisée dans la conception des cpus. Conséquence: ces signaux radio perturbent le fonctionnement du composant, les registres subissent des effets de bit-flip, et des raising edges parasites apparaissent sur le signal d'horloge. Les fondeurs de cpus ont donc dotés leurs composants de mécanismes permettant de détecter ces perturbations, comme le calcul de crc (câblé en hard) sur les registres ou encore comme le placement de compteurs de cycles d'horloge en différents points. Quand une perturbation est détectée, le cpu stoppe l'alimentation de presque toutes ses parties fonctionnelles et les place en mode idle pendant quelques millisecondes, afin de ne pas subir plus de dégâts des signaux parasites de 2.457 GHz. Ensuite, le cpu réactive l'alimentation de ses parties idle'ing, et génère une exception, un handler définit par l'OS est donc éxécuté, et dans le cas de la plupart des systèmes Unix, celui-ci kille tous les process sauf ceux appartenant au root (ce qui a pour effet de déloguer les users), afin de continuer à fonctionner avec un minimum de process, diminuant ainsi la probabilité d'éxécuter un process corrompu par ces ondes électromagnétiques.

Comment ça vous ne me croyez pas ? ;-) Bon, si vous voulez la vraie explication, la voici: chaque nuit, à 03h20, tous les utilisateurs des salles machines sont délogués, dans le but, entre autres, de killer tous les zlocks (qu'est-ce-que zlock).

6.3) Comment faire une capture d'écran ou simplement d'une seule fenêtre?  EDITER

Utilisez xwd: c'est un utilitaire X permettant de "dumper" l'image d'une fenêtre. Il écrit le dump sur la sortie standard. Lancez-le:

$ xwd > img.xwd

Puis cliquez sur la fenêtre à dumper (ou bien en dehors d'une fenêtre pour faire une capture de l'écran totale), et vous avez maintenant le fichier dump correspondant img.xwd. Il est possible de le visionner avec la commande xwud qui lit sur son entrée standard le fichier dump:

$ xwud < img.xwd

Le fichier img.xwd peut aussi être traité par d'autres utilitaires (The Gimp, ...). Pour plus d'informations, lisez le man respectif de ces commandes.

6.4) Quelle est la syntaxe de description des touches sous Emacs ?  EDITER

On vous a dit de faire M-x iso-accents-mode ou C-x C-s ou encore C-x k, mais vous ne savez pas ce que cela signifit ? Ne vous inquiétez pas, vous êtes en train de lire ce qui va vous sauver ;-) Je ne vais faire que vous traduire la partie du tutoriel Emacs qui répond à cette question. By the way, je pense que le tutoriel en entier vous sera d'une très grande aide. Donc une fois que vous comprendrez la syntaxe de description des touches sous Emacs, vous n'aurez qu'à faire C-h t pour le lire. Voici la traduction du début de ce tutoriel:

Les commandes Emacs s'éxécutent généralement avec la touche CONTROL (parfois labellée CTRL ou CTL) ou la touche META (parfois labellée EDIT ou ALT). Plutôt que d'écrire cela en entier à chaque fois, nous utiliserons les abréviations suivantes:
  • C-<chr> signifit: maintenir la touche CONTROL appuyée pendant la frappe du caractère <chr>. Ainsi, C-f correspond à: maintenir la touche CONTROL appuyée et taper f.
  • M-<chr> signifit: maintenir la touche META ou EDIT ou ALT appuyée pendant la frappe du caractère <chr>. S'il n'y a pas de touche META, EDIT ou ALT, alors presser puis relâcher la touche ESC, puis taper <chr>.

Quelques exemples plus "complexes":

  • C-x k: maintenir la touche CONTROL appuyée pendant la frappe de x, puis (après avoir relâché la touche CONTROL), taper k.
  • M-C-s: maintenir les touches META et CONTROL appuyées pendant la frappe de s.
  • C-x C-s: maintenir la touche CONTROL appuyée pendant la frappe de x, relâcher la touche CONTROL, puis maintenir une nouvelle fois la touche CONTROL appuyée et frapper s. Note: il n'est pas obligé de relâcher la touche CONTROL entre la frapper de x et de s.
  • M-x iso-accents-mode: maintenir la touche META appuyée pendant la frappe de x, puis (après avoir relâché la touche META), taper en toutes lettres iso-accents-mode et taper RETURN.

Maintenant, c'est le moment de finir de lire le turoriel Emacs: C-h t !
Note:
Dans la conf. par défaut de l'epita, le C-h est rebindé en backspace.
Dans ce cas, le tutoriel (qui est hautement conseillé dans ses premiers pas avec Emacs) est accessible en faisant :
<F1> t

6.5) Comment faire des accents avec les claviers qwerty ?  EDITER

Il existe un tas de claviers qwerty différents, les 2 plus répandus étant les claviers US (United States) et GB (Great Britain). Les GB sont reconnaissables au symbole de la livre sterling présent sur la touche '3'. Il est important de préciser qu'au niveau software, donc indépendamment du clavier, on peut appliquer la map de son choix ('us', 'gb', 'fr', ...). Le choix de cette map s'effectue, dans un environnement X Window, soit en modifiant le fichier de configuration du serveur X, soit en utilisant setxkbmap. Cette petite mise au point étant terminée, on peut passer aux choses sérieuses.

Faire des accents avec une map GB

Cette map offre par défaut un moyen de faire des accents (les touches sont labellées en utilisant le symbole présent sur un clavier GB):

AltGr-; e => é
AltGr-# e => è
AltGr-[ e => ë
AltGr-' e => ê
AltGr-= c => ç
AltGr-s => ß

Faire des accents avec une map US

On ne peut pas :) En fait, il faut utiliser une map dérivée de cette dernière, la map 'us_intl' (us internationale):

$ setxkbmap us_intl

Dorénavant, il vous sera possible d'utiliser ces dead-keys: ` ~ ^ ' ". Exemple:

'e => é
`e => è
"e => ë
^e => ê
~c => ç
"s => ß

Pour revenir à la map par défaut d'un clavier US, faites:

$ setxkbmap us

Détails supplémentaires

Normallement, tout devrait marcher correctement dans n'importe quelle application gérant un des jeu de caractères ISO-8859 (8 bits). En pratique, cela correspond à quasiment toutes les applications sauf les shells, qui eux, ont parfois besoin d'être reconfigurés. La plupart d'entre-eux utilisent la lib readline pour gérer la ligne de commande. Il suffit donc de configurer cette dernière pour influencer sur tous les shells l'utilisant. Ceci se fait en crééant le fichier de conf ~/.inputrc. Il doit contenir:

set input-meta on
set convert-meta off
set output-meta on

Les programmes utilisant la lib readline sont: bash, gdb, lftp, ...

6.6) Qu'est-ce-que zlock ?  EDITER

zlock est un petit utilitaire qui lock la machine sur laquelle vous êtes logué physiquement. Lorsque vous le lancez, une fenêtre apparaît et une fois que vous avez cliqué dedans, la machine est lockée: personne d'autre que vous ne peut la délocker pour l'utiliser, car vous seul (en tappant votre password) pouvez la délocker. Le lock ne peut être enlevé que par 2 autres moyens:

  1. Le déloguage automatique qui survient toutes les nuits (je me suis fait déloguer tout seul cette nuit ! qu'est-ce-qu'il se passe ?)
  2. Au bout de 25 minutes de zlock, n'importe qui peut presser la touche Escape pour délocker la personne. Et par mesure de sécurité, la personne qui s'était lockée est automatiquement déloguée, sinon n'importe qui aurait full-access à son compte !

Pour plus d'infos sur les options supportées par zlock, voir zlock -h.

6.7) Comment lire les fichiers pdf ?  EDITER

Vous avez le choix entre utiliser acroread (le browser officiel d'Acrobat, inventeur du format pdf), ou bien gv, ou encore xpdf.

6.8) Comment obtenir des informations sur un nom ou un login ?  EDITER

La commande finger permet de récupérer des informations sur un login ou un nom:

$ finger nom
[...]
$ finger login
[...]
$ finger -m login
[...]

Vous remarquerez que les 2 premières façons d'utiliser finger sont assez lentes. Pour accélérer le tout, recherchez l'information en partant du login et en utilisant l'option -m, comme cela est fait dans la 3ème façon de lancer finger. Les informations affichées incluent notamment le contenu des fichiers ~/.plan (devrait contenir des informations sur ce que vous planifiez de faire) et ~/.project (devrait contenir des informations sur les projets sur lesquels vous travaillez) de l'utilisateur. Créez donc ces fichiers, et n'oubliez pas de mettre les bons droits:

$ chmod +x ~
$ chmod 644 ~/.plan ~/.project
6.9) Quelles sont les règles qui s'appliquent concernant la nouriture et les boissons ?  EDITER

Voici une note de Fabrice Bardèche (Directeur General du Pole EPITA EPITECH IPSA):

Les salles machines, les salles de cours, et les amphis doivent rester propre. Toute personne qui sera surprise avec une canette ou un verre de café ou de la nouriture dans les salles risque un renvoi de 8 jours de l'établissement.

Nicolas Sadirac précise que "l'eau minérale est acceptée la nuit en sm [salle machine]".

6.10) Comment peut-on faire pour améliorer le partage des sources pour un projet car personne n'a jamais les bonnes versions ?  EDITER

Le système CVS (Concurrent Versions System, www.cvshome.org) permet de faciliter énormément le travail en commun sur un même projet, en particulier, le partage des fichiers est grandement facilité. Le fonctionnement est assez simple: l'un des membres de votre groupe de projet (le chef de projet par exemple) doit créer un "repository" (répertoire de stockage) où seront stockés les sources. Imaginons que ce soit gilber_m, les commandes sont les suivantes:

$ mkdir ~/repository
$ cvs -d ~/repository init

Une fois cela fait il faut créer un module. gilber_m se place dans un répertoire vide ou contenant le début du projet et importe les sources:

$ cd wdir
$ cvs -d ~/repository import -m comment proj vtag rtag
  • wdir est le répertoire du projet
  • comment est un commentaire, par exemple: "Le meilleur shell de tout l'univers"
  • proj est le nom du projet, par exemple: "42sh"
  • vtag est le vendor tag, par exemple: "masters"
  • rtag est le release tag, par exemple: "start"

Le vendor tag et le release tag peuvent sembler inutiles, mais CVS requiert leur présence, pour plus d'infos, voir le manuel de référence de CVS: www.cvshome.org/docs/manual. Ensuite, chaque utilisateur doit récupérer le répertoire de travail, y compris gilber_m, bien qu'il ait déjà accès au repository, car on ne travail jamais directement dans le repository. Mais un problème de droit d'accès se pose, car le repository est sur le compte de gilber_m et les autres membres du groupe de projet n'ont normalement pas les droits suffisants pour y accéder. Une méthode simple et sécurisée est de passer par SSH, ce que l'on indique à cvs par une variable d'environnement:

$ setenv CVS_RSH `which ssh`

La ligne ci-dessus peut être placée dans un fichier éxécuté au lancement du shell, par exemple ~/.mytcshrc (à quoi sert le fichier xyz qui est présent sur mon compte ). Ensuite, tous les utilisateurs (même gilber_m) récupèrent le projet ainsi:

$ cvs -d gilber_m@localhost:gilber_m_home/repository checkout proj
  • gilber_m_home est le home directory de gilber_m, par exemple: /u/ept2/gilber_m
  • proj est le nom du projet, qui doit être celui utilisé lors de l'importation

Cela crée un répertoire nommé proj dans lequel se trouvent les fichiers du projet. L'autentification passant par SSH, tout le monde est obligé d'entrer le password de gilber_m. Mais ceci peut être évité en utilisant le mécanisme de clés SSH (fichier ~/.ssh/authorized_keys ou ~/.ssh/authorized_keys2), qui autorise seulement certaines personnes à accéder au compte sans entrer de password. Mais encore une fois, un nouvel inconvénient surgit: ces personnes ont aussi accès au compte de gilber_m en dehors de l'utilisation de cvs, il faut donc ajouter command="cvs server" avant la clé SSH dans le fichier ~/.ssh/authorized_keys ou ~/.ssh/authorized_keys2. A part ça, maintenant que chaque utilisateur dispose d'une copie du projet dans son compte, le travail peut commencer :). Les commandes de base, à éxécuter dans votre répertoire de travail étant:

  • $ cvs commit : Pour "commiter" vos changements: ils seront transmis au repository principal.
  • $ cvs update : Pour récupérer la dernière version des fichiers depuis le repository, ainsi votre répertoire local de travail sera automatiquement synchronisé avec les modifications que les autres membres du groupe auront commité.
  • $ cvs add file(s)... : Pour ajouter un ou plusieurs fichiers au projet. N'oubliez pas de commiter juste après un "add".
  • $ cvs remove file(s)... : Pour supprimer un ou pusieurs fichiers du projet. N'oubliez pas de commiter juste après un "remove".

Ceci est une introduction très basique à CVS alors lisez la documentation (les mans et le manuel de référence: www.cvshome.org/docs/manual). Souvenez-vous juste que CVS ne remplace pas la communication entre les membres d'un projet.

6.11) Que signifie XYZ ?  EDITER


Les expressions et acronymes spécifiques à Epita-Epitech sont listés ici:

Apd
Assistant Pascal Delphi. Ces derniers ont pour charge d'assurer les TPs des sups d'EPITA
Acu
Assistant C/Unix. Les acus sont des ing2 ou ing3, responsables des TPs et des mini-projets dispensés aux ing1.
Astek
Assistant Epitech. Équivalent d'un acu, mais pour Epitech et non Epita.
Yaka
Yet Another Kind of Acu ou Yaka's Another Kind of Acu. Les yakas sont des ing2 ou ing3 dédiés à assister les ing1 sur des projets moins "c/unix": compilation, projets de maths, etc.
DTC
Dans Ton C*l. Inventée par un des membres de l'association EpX, cette expression légendaire est souvent citée dans les news dans les réponses à toute question commençant par "où" :)
6.12) Le curseur d'emacs est invisible sur une sun ! Que faire ?  EDITER

Le problème est dû à une erreur dans le fichier ~/.Xdefaults (à quoi sert le fichier xyz qui est présent sur mon compte ): emacs est écrit avec une minuscule (ce qui est quand même techniquement correct), alors qu'il faudrait l'écrire avec une majuscule. Pour corriger le tir, recréez-vous un fichier correct en prenant soin d'effacer celui qui existe:

$ rm -f ~/.Xdefaults
$ sed 's/emacs/Emacs/g' < ~/../.env/.Xdefaults > ~/.Xdefaults
6.13) Que faire quand on a perdu/trouvé quelque chose ?  EDITER

Voici quelques remarques de bon sens qu'il est parfois utile de rapeller:

  • Vérifier le newsgroup epita.objets_trouves
  • Poster dans epita.objets_perdus (et pas ailleurs)
  • Passer à l'adm epita/tech, des fois qu'une âme charitable ait déposé ce qu'elle a trouvé
  • Passer au bocal, idem
  • Invoquer les esprits des plus grands marabouts pour qu'il viennent dans leur infinie bonté vous aider ;o)
  • Tout autre technique personnelle infaillible (ou presque) transmise de génération en génération
6.14) Comment régler le volume des cartes sons ?  EDITER

Sous NetBSD, les commandes audioctl et mixerctl constituent l'interface basique pour paramétrer tout un tas de valeurs liées aux drivers audio. Pour lister les valeurs disponibles, faites:

$ mixerctl -a
[...]
$ audioctl -a
[...]

La valeur qui permet de contrôler le volume général est accessible avec mixerctl, il s'agit de outputs.master. Voici 2 exemples, pour mettre le son au minimum et au maximum (les 2 valeurs correspondent au channels gauche/droit):

$ mixerctl -w outputs.master=0,0
$ mixerctl -w outputs.master=255,255
6.15) Ou puis je trouver la FAQ de LaTeX ?  EDITER

La FAQ LaTeX se trouve ici :

http://www.grappa.univ-lille3.fr/FAQ-LaTeX/

Un manuel de référence très sympathique se trouve ici :

http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf
6.16) Pourquoi Emacs affiche une erreur "Cannot open load file", "std.el" sous Solaris ?  EDITER

Votre .emacs tente de faire un:

(load "std.el")

Sous NetBSD, ce fichier est /usr/pkg/share/emacs/site-lisp/std.el, alors qu'apparement il n'existe pas dans le dump Solaris. Il faut donc copier ce fichier sur votre compte (par ex. dans ~/.emacs.d) et ajoutter la ligne ci-dessous juste avant la ligne ci-dessus:

(setq load-path (cons "~/.emacs.d/" load-path))
6.17) Sur les Sun, comment inverser les touches control et caps lock ?  EDITER
Creez un fichier xmodmap.remap et mettez ca dedans :
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L
Ensuite il suffit de taper xmodmap xmodmap.remap dans un shell pour inverser les touches.
7) Le Domain Public (DP) d'Epita-Epitech  AJOUTER
7.0) Qu'est ce que le DP ?  EDITER

Le domaine public de l'Epita-Epitech est chargé de l'installation sur le réseau de logiciels libres destinés à en faciliter l'utilisation et à en augmenter la convivialité. Tous les logiciels installés par le DP sont sous license GNU GPL ou équivalent (BSD, QPL, etc..). Toutes les propositions d'installation sont etudiées.

7.1) Comment utiliser les logiciels du DP ?  EDITER

C'est très simple, il suffit de faire quelques exports, le plus courant est d'utiliser à cet effet votre ~/.mylogin:

setenv PATH "${PATH}:/u/dp/public/bin"
setenv PATH "${PATH}:/u/dp/public/arch/`uname -m`-`uname -s`/bin"
setenv INFOPATH "${INFOPATH}:/u/dp/public/info"
setenv MANPATH "${MANPATH}:/u/dp/public/man"
setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/u/dp/public/arch/`uname -m`-`uname -s`/lib"

La même chose peut être effectuée en bourne shell; par exemple dans un ~/.bashrc, ou ~/.zshrc:

export PATH="${PATH}:/u/dp/public/bin"
export PATH="${PATH}:/u/dp/public/arch/`uname -m`-`uname -s`/bin"
export INFOPATH="${INFOPATH}:/u/dp/public/info"
export MANPATH="${MANPATH}:/u/dp/public/man"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/u/dp/public/arch/`uname -m`-`uname -s`/lib"

Nous mettons à disposition deux fichiers, respectivement pour les C-shells et les Bourne-shells:

/u/dp/public/etc/dp_conf_csh
/u/dp/public/etc/dp_conf_bsh

Donc plutot que d'entrer les lignes précédentes dans vos fichiers de configuration, vous pouvez sourcer l'un ou l'autre de ces deux fichiers:

source /u/dp/public/etc/dp_conf_csh (dans .mylogin, .mytcshrc par ex)
  ou
source /u/dp/public/etc/dp_conf_bsh (dans .bashrc ou .zshrc par ex)

Lors de l'éxécution des softwares des DPs, sous NetBSD, il se peut que vous rencontrerez des problèmes de librairies non trouvées, ou de "unresolved symbol". Dans ce cas, il faut également placer le path /usr/pkg/lib dans la variable LD_LIBRARY_PATH. Pour un C-shell:

if ( "`uname -s`" == "NetBSD" ) then
  setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/usr/pkg/lib"
endif

Pour un Bourne-shell:

[ "`uname -s`" = "NetBSD" ] && export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/pkg/lib"

Mais la présence de /usr/pkg/lib dans LD_LIBRARY_PATH pose un problème au browser Opéra: un "unresolved symbol" est trouvé dans la libjpeg. Dans ce cas, il faut temporairement retirer ce path de la variable pour pouvoir lancer ce browser, ou bien, par exemple, lancer Opéra depuis votre Window Manager, dont la variable d'environnement est normalement toujours à sa valeur initiale (il ne partage pas ses variables d'environnements avec celles du shell). Opéra peut ne pas être le seul soft qui souffre de ce problème, faites attention.

7.2) Quels sont les newsgroups dédiés au DP ?  EDITER


Il y en a trois:




epita.dp.annonce

Ce newsgroup est destiné aux annonces faites par les membres du DP
suite a l'installation d'un nouveau soft, d'une update ou de toute
autre information concernant directement un changement d'état ou de
configuration de nos répertoires. SVP ne pas poster (cf
epita.dp.comment).

epita.dp.demande

Postez dans ce groupe les demandes d'installation, avec L'URL du
package correspondant ou au moins l'URL de base.

epita.dp.comment

Ce newsgroup est dédié à tout ce qui concerne le DP en général, autre
qu'une demande d'installation ou une annonce. Toutes les discussions
constructives y sont les bienvenues.


7.3) Où et comment obtenir d'autres infos ?  EDITER
  • finger -m dp résume brièvement tout ca et permets un accès rapide aux infos importantes relatives au DP.
  • Bien sûr le site du DP: http://www.epita.fr:8000/~dp
  • Le mail: dp at epita dot fr
7.4) Quand j'essaye de génerer des headers standards avec emacs-21 (C-c C-h) j'ai le message d'erreur "Symbol's function definition is void: .std-fundamental-alist". Comment faire ?  EDITER
Il suffit de rajouter la ligne suivante dans son .myemacs:
(load-file "/u/dp/public/contrib/emacs/site-lisp/std_comment.el")

.:: VISITORS: 2760 - LAST UPDATE: November 24 2002 02:02:15. (GMT) - jeff (jeff@epita.fr) - ::.