Place disque

clipper, le serveur principal de l'ENS, héberge de nombreux comptes : ceux de tous les élèves, des jeunes archicubes, des magistériens et autres invités, ce qui représente un total de plus de 2000 comptes. Les comptes sont regroupés par année de promotion, toutes disciplines confondues.

Chaque promotion dispose d'une partition (sorte de disque dur virtuel) séparée sur laquelle est stockée ses données. Il n'y a pas de système de quotas par personne, mais la place totale occupée par une promotion est limitée... à la taille de la partition. Si une partition est pleine, plus personne ne peut enregistrer de données, rendant ainsi tout travail impossible.

Le courrier électronique est, lui, stocké dans /var/mail et dans /d. Si ces partitions sont pleines, plus personne ne peut envoyer ni recevoir de courrier.

Faire attention à l'espace disque que l'on prend est donc à la fois une nécessité, et une obligation (la charte des moyens informatiques que vous avez signée l'exige). Deux outils vous permettent de contrôler la taille de vos fichiers et celle de votre compte : du et df.

Taille de fichiers et de répertoires : du

Connaître la taille d'un répertoire

La commande du (disk usage) indique la taille de vos répertoires et sous-répertoires. Sur certains systèmes, du indique la taille des fichiers en blocs et non en Ko, prenez donc le réflexe d'ajouter l'option -k (kilobytes).

L'option -h est aussi très utile : elle donne des résultats beaucoup plus lisibles par un humain (la taille est exprimée en Ko, Mo ou Go quand c'est possible).

À noter : certaines commandes basiques comme ps ou du n'ont pas le même comportement sur les stations Sun (sous Solaris) et les PC (sous Linux). Reportez-vous aux pages de man (l'aide en ligne) pour vérifier quelles sont les options disponibles sur chaque système.

Par exemple, voici le contenu du répertoire « histoire » de Toto (arborescence donnée dans le cours sur les répertoires) :

sas ~ $ du -k histoire
1973    histoire/maitrise
127     histoire/sources/AN
36      histoire/sources/divers
30      histoire/sources/etudes
38      histoire/sources/godefroy
335     histoire/sources/images
62      histoire/sources/memoires/saint-simon
161     histoire/sources/memoires
141     histoire/sources/mscrits
913     histoire/sources
2023    histoire/dea
4910    histoire

La dernière ligne indique la taille totale du répertoire « histoire », avec tout ce qu'il contient, soit 4 910 Ko.

Ajouter l'option -h (comme « human readable ») donne des résultats plus lisibles :

brick ~ $ du -h histoire
2.0M    histoire/maitrise
127K    histoire/sources/AN
36K     histoire/sources/divers
30K     histoire/sources/etudes
38K     histoire/sources/godefroy
335K    histoire/sources/images
62K     histoire/sources/memoires/saint-simon
161K    histoire/sources/memoires
141K    histoire/sources/mscrits
913K    histoire/sources
2.0M    histoire/dea
4.8M    histoire
Note : souvenez-vous que les ordinateurs comptent de manière binaire et non décimale. Un kilo-octets vaut donc 1 024 octets, et non 1 000. Un méga-octet vaut 1 024 Ko et non 1 000, et donc en tout 1 048 576 octets. Diviser par 1 000 est une approximation commode mais elle peut donner des idées assez inexactes quand on considère des données très volumineuses.

Connaître la taille totale de son compte

L'option -s permet de n'afficher que la dernière ligne, c'est-à-dire le total de tous les répertoire et sous-répertoires, sans tous les détails. Ainsi, pour connaître la taille de votre compte, faites un du -sk à la racine de votre compte :

sas ~ $ du -sk
98280   .

Encore une fois, si vous êtes sur un PC, utiliser l'option -h ne fera pas de mal :

brick ~ $ du -sh         
96M     .

Connaître la taille d'un fichier

L'option -a demande l'affichage la taille de tous les fichiers contenus dans vos répertoires et sous-répertoires. Ici, toujours pour le répertoire « histoire » de Toto :

sas ~ $ du -ak histoire
200     histoire/maitrise/maitrise.dvi.bz2
29      histoire/maitrise/1.html
6       histoire/maitrise/maitrise.tex
18      histoire/maitrise/intro.tex
29      histoire/maitrise/1a.tex
11      histoire/maitrise/conclu.tex
112     histoire/maitrise/maitrise.idx
22      histoire/maitrise/A.tex
27      histoire/maitrise/biblio.tex
10      histoire/maitrise/maitrise.toc
(...)

Pour connaître la taille d'un fichier précis, il suffit d'indiquer à du -ak le nom de votre fichier (ls -s fait la même chose) :

sas ~ $ du -ak histoire/maitrise/maitrise.tex
6       histoire/maitrise/maitrise.tex

Application : quels sont les plus gros fichiers de votre compte ?

En utilisant du -ak et le en combinant avec d'autres commandes, vous pouvez savoir précisément quels sont les fichiers et les répertoires qui prennent le plus de place sur votre compte.

sas ~ $ du -ak | sort -nr | head -10
98280   .
22007   ./www
1658    ./Mail
9637    ./www/hist
5005    ./www/hist/maitrise
4910    ./histoire
3941    ./Mail/archives
3757    ./www/philo/
3274    ./www/philo/cours
3112    ./www/philo/cours/hegel
2841    ./prive

Vous savez donc que sur ce compte, le répertoire le plus volumineux est www (le répertoire qui contient la page Web), puis Mail (qui contient les dossiers de votre boîte aux lettres). À l'intérieur de www, le répertoire le plus gros est www/hist dont www/hist/maitrise occupe la plus grande part, etc.

Explications

  1. du -ak : on demande la taille de tous les fichiers et répertoires du compte, en kilo-octets.
  2. | : c'est ce qu'on appelle en anglais un pipe, un tuyau. Ce « tuyau » sert à envoyer à une autre commande le résultat de du -ak.
  3. sort -nr : la commande sort sert à trier des données, en l'espèce on lui demande de trier par taille (-n) puis de classer par ordre décroissant (-r) la liste des fichiers et de leur taille (donnée par du -ak).
  4. après un autre pipe, on utilise la commande head, qui affiche seulement le début d'un fichier. En l'espèce, on lui demande de ne montrer que les 10 premières lignes du résultat des opérations précédentes.

Le résultat de toutes ces opérations un peu complexes, c'est que vous avez affiché les 10 plus gros répertoires ou fichiers (les deux confondus) de votre compte. Pour ajuster le nombre de fichiers à afficher, changez le nombre après head.

Si vous voulez conserver quelque part la liste de vos gros fichiers, par exemple si vous demandez une longue liste, utilisez une redirection (>) :

sas ~ $ du -ak | sort -nr | head -50 > gros_fichiers.txt

Le résultat de votre tri sera conservé dans le fichier gros_fichiers.txt que vous pourrez étudier à tête reposée.

Application : quelle est la taille de votre boîte aux lettres ?

Nous allons de nouveau utiliser le mécanisme des pipes décrit ci-dessus. Toutes les boîtes aux lettres des gens ayant un compte sur clipper sont dans le répertoire /var/mail (pour les anciens comptes, au format mbox) ou /d (pour les comptes depuis 2014, au format Maildir). À chaque utilisateur correspond le fichier /var/mail/login ou /d/login (remplacez login par votre identifiant) : c'est le contenu de votre boîte aux lettres principale. Les exemples qui suivent s'appliquent aux comptes dont la boîte aux lettres se trouve dans /var/mail.

sas ~ $ ls -s /var/mail | grep toto
1142    /var/mail/toto

Cette fois-ci, il s'agit de :

  1. demander la taille des fichiers contenus dans le répertoire /var/mail ;
  2. chercher avec la commande grep le fichier qui vous correspond.

La boîte mail de l'utilisateur toto fait donc 1 142 Ko. Pour savoir qui ont les plus grosses boîtes aux lettres :

sas ~ $ ls -s /var/mail | sort -nr | head -10
161704 blevy
116728 derrida
 75888 hcartan
 64912 raron
 51744 pasteur
 45368 htaine
 44720 poincare
 44712 cpeguy
 44336 rthom
 43896 egalois

Taille d'une partition : df

La commande df (disk free) indique la place disponible sur les partitions montées.

Comme pour du, sur certains systèmes il faut ajouter l'option -k (kilobytes), pour être sûr que le résultat sera en Ko et non en blocs.

Note : l'explication complète de df fait appel à des notions délicates sur la façon dont les fichiers sont organisés, d'autant que nous sommes en réseau (par NFS). On n'entrera donc pas dans les détails dans ce topo. Dans un premier temps, remplacez le mot « partition » par « disque (dur) » et ça suffira largement. Si vous êtes curieux, vous pouvez aller lire Concept : place-disque (article du numéro 6 du Hublot, avril 2000).

df affiche un tableau, avec une ligne par point de montage. Les colonnes sont respectivement le système de fichiers, sa taille, la place utilisée, la place libre, la proportion d'espace utilisé, et le point de montage. Voici un exemple presque complet :

sas ~ $ df -h
Filesystem            Size  Used Avail Use% Mounted on
(...)
/dev/dsk/c0t8d0s1     4.2G  3.9G  261M  94% /users/95
/dev/dsk/c0t9d0s0     8.4G  7.7G  604M  93% /users/97
/dev/dsk/c0t0d0s5     2.5G  319M  2.1G  13% /users
/dev/dsk/c0t10d0s1    4.4G  2.4G  2.0G  55% /users/guests
/dev/dsk/c0t10d0s3    8.4G  5.1G  3.2G  62% /var/mail
/dev/dsk/c0t8d0s3     4.2G  3.7G  421M  91% /users/96
/dev/dsk/c0t8d0s6     2.0G  974M  932M  52% /users/94
/dev/dsk/c0t8d0s4     2.0G  841M  1.1G  44% /var/forum2
/dev/dsk/c0t12d0s1     12G   11G  549M  96% /users/99
/dev/dsk/c0t11d0s0     12G   11G  605M  95% /users/00
/dev/dsk/c0t11d0s1     12G  8.8G  2.4G  79% /users/98
/dev/dsk/c0t12d0s0     12G   11G  489M  96% /users/01
/dev/dsk/c0t11d0s3     12G   11G  838M  93% /users/02
/dev/dsk/c0t12d0s3     12G  6.4G  4.8G  58% /users/03
(...)

Pour connaître simplement l'état d'une partition donnée, on utilise df -h <nom de la partition>. Chaque promotion ayant une partition, ceci vous permet de repérer facilement la vôtre :

sas ~ $ df -h /var/mail
Filesystem            Size  Used Avail Use% Mounted on
/dev/dsk/c0t10d0s3    8.4G  5.1G  3.2G  62% /var/mail
sas ~ $ df -h /users/03
Filesystem            Size  Used Avail Use% Mounted on
/dev/dsk/c0t12d0s3     12G  6.4G  4.8G  58% /users/03

Nous voyons donc qu'à l'heure où est écrite cette page, /var/mail est plein à 62 %, et /users/03 est plein à 58 %. La situation est bonne. La situation est considérée comme critique quand on dépasse les 95 % : il suffit de plusieurs personnes qui stockent des images, de gros documents PDF, leur DEA, d'un programme emballé qui écrit sur le disque pour que 100 % de l'espace disque soit pris, rendant ainsi tout travail impossible pour cette promotion. Ceci arrive de temps à autres, et ce n'est vraiment pas drôle...

En cas d'urgence : si vous vous apercevez que le disque est plein à 99 % ou 100 %, prévenez le SPI (spi@clipper), qui prendra des mesures techniques (déplacement de fichiers, etc.). Prévenez également les Tuteurs, qui enverront un mail de rappel aux coupables (ceux qui ont les plus gros comptes).

Recommandations

Ne stockez pas n'importe quoi sur votre compte !

Votre compte est avant tout un outil de travail, pas un espace de stockage gratuit et illimité de mp3, DivX, photos de vacances et autres fichiers gourmands en place. Imaginez votre tête si vous ne pouviez pas travailler sur un mémoire urgent, parce qu'un zozo conserve l'intégrale de Village People sur son compte...

Même s'il n'y a pas de quotas, on considère généralement qu'il faut de bonnes raisons pour occuper plus de 100 Mo d'espace disque. « C'est ridicule, le disque dur de mon PC fait 1000 Go ! », me direz-vous. Certes, mais clipper n'a pas les mêmes contraintes qu'une machine personnelle : le matériel est différent, et il y a des sauvegardes quotidiennes, imaginez le volume des données stockées !

Rangez votre courrier

Votre mailbox ne devrait pas contenir plus de 50-60 courriers en attente, surtout s'ils contiennent des attachements. Il faut ranger votre courrier dans des dossiers (folders), ainsi ils seront stockés sur votre compte et non dans /var/mail. Pour savoir comment faire, consultez la documentation sur le courrier électronique, ou plus spécifiquement la page indiquant comment vider sa messagerie. Ajoutons qu'en plus, ranger son courrier est plus sûr : si votre lecteur de mail perd les pédales, vous n'aurez pas tout perdu.

Faites le ménage chez vous

Première question à vous posez : ne conservez-vous pas des fichiers inutiles ou obsolètes ? Pas la peine de les garder ad vitam æternam sur le disque, dans ce cas. Compresser ou archiver vos fichiers fait économiser une place précieuse. Vous pouvez également supprimer des fichiers qui peuvent être recréés facilement (par exemple les fichiers .dvi, .aux, .log, .toc liés à LaTeX : en 5 secondes de compilation, vous pouvez les retrouver). Ces fichiers vous seront signalés par un courrier du « Démon mange-disque », chargé précisément de repérer ce genre de gros fichiers.

Stockez ailleurs

clipper n'est pas votre seule et unique solution pour stocker vos données. Vous pouvez les stocker sur d'autres comptes de l'École : à Montrouge, en salle T pour les matheux... et sur votre ordinateur personnel si vous en avez un, bien sûr. Sous Unix et Linux, utilisez scp ; sous Windows, consultez la page des WinTuteurs sur le transfert de fichiers. Vous pouvez également utiliser FTP.

Auteur : Émilia Robin, Marie-Lan Nguyen. Dernière modification : 2014-10-26 par Antoine Amarilli.