tuteurs.ens.fr/unix/place_disque.tml
mlnguyen bb5aa3c7de Modifications à propos de l'option -h de du, qui n'est plus disponible
sur les Sun.

Ajout de quelques exemples pratiques : connaître les plus gros
fichiers de son compte, savoir la taille de sa boîte aux lettres.
2004-02-03 14:03:36 +00:00

454 lines
No EOL
16 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Place disque</title>
</head>
<body>
<h1>Place disque</h1>
<p>
<code>clipper</code> héberge les comptes de tous les élèves, des
jeunes archicubes, des magistériens et autres invités, pour un total
d'environ 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 <code>/var/mail</code>. Si
<code>/var/mail</code> est plein, plus personne ne peut envoyer ni
recevoir de courrier.
</p>
<p>
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&nbsp;:
<code>du</code> et <code>df</code>.
</p>
<h2><a name="du">Taille de fichiers et de répertoires : <code>du</code></a></h2>
<h3>Connaître la taille d'un répertoire</h3>
<p>
La commande <strong><code><a name="du">du</a></code></strong> (<em>
disk usage</em>) indique la taille de vos répertoires et
sous-répertoires. Sur certains systèmes, <code>du</code> indique la
taille des fichiers en blocs et non en Ko, prenez donc le réflexe
d'ajouter l'option <code>-k</code> (<em>kilobytes</em>).
</p>
<p>
Sur les FreeBSD est disponible l'option <code>-h</code> qui 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).
</p>
<div class="encadre">
<strong>À noter</strong> : certaines commandes basiques comme
<code>ps</code> ou <code>du</code> n'ont pas le même comportement sur
les stations Sun (sous Solaris) et les PC (sous
FreeBSD). Reportez-vous aux <a
href="&url.tuteurs;unix/aide.html">pages de man</a> (l'aide en ligne)
pour vérifier quelles sont les options disponibles sur chaque système.
</div>
<p>
Par exemple, voici le contenu du répertoire « histoire » de Toto
(arborescence donnée dans le <a href="repertoires.html#arbre">cours
sur les répertoires</a>) :
</p>
<pre>
<span class="prompt">clipper ~ $</span> 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
</pre>
<p class="continue">
La dernière ligne indique la taille totale du répertoire « histoire »,
avec tout ce qu'il contient, soit 4910 Ko.
</p>
<p class="continue">
Sur un FreeBSD, ajouter l'option <code>-h</code> (comme « <i
lang="en">human readable</i> ») donne des résultats plus lisibles :
</p>
<pre>
<span class="prompt">brick ~ $</span> 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
</pre>
<div class="encadre">
<strong>Note</strong> : souvenez-vous que les ordinateurs comptent de
manière <em>binaire</em> et non décimale. <em>Un kilo-octets vaut donc
1024 octets</em>, et non 1000. Un méga-octet vaut 1 024 Ko et non
1000, et donc en tout 1.048.576 octets. Diviser par 1000 est une
approximation commode mais elle peut donner des idées assez inexactes
quand on considère des données très volumineuses.
</div>
<h3>Connaître la taille totale de son compte</h3>
<p>
L'option <code>-s</code> 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 <code>du -sk</code> à la racine de votre compte&nbsp;:
</p>
<pre>
<span class="prompt">clipper ~ $</span> du -sk
98280 .
</pre>
<p>
Encore une fois, si vous êtes sur un PC FreeBSD, utiliser l'option
<code>-h</code> ne fera pas de mal :
</p>
<pre>
<span class="prompt">brick ~ $</span> du -sh
96M .
</pre>
<h3>Connaître la taille d'un fichier</h3>
<p>
L'option <code>-a</code> 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&nbsp;:
</p>
<pre>
<span class="prompt">clipper ~ $</span> 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
(...)
</pre>
<p>
Pour connaître la taille d'un fichier précis, il suffit d'indiquer à
<code>du -ak</code> le nom de votre fichier (<code>ls -s</code> fait
la même chose)&nbsp;:
</p>
<pre>
<span class="prompt">clipper ~ $</span> du -ak histoire/maitrise/maitrise.tex
6 histoire/maitrise/maitrise.tex
</pre>
<h3><a name="bigf">Application : quels sont les plus gros fichiers de votre compte ?</a></h3>
<p>
En utilisant <code>du -ak</code> 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.
</p>
<pre>
<span class="prompt">clipper ~ $</span> 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
</pre>
<p class="continue">
Vous savez donc que sur ce compte, le répertoire le plus volumineux
est <code>www</code> (le répertoire qui contient la page Web), puis
<code>Mail</code> (qui contient les dossiers de votre boîte aux
lettres). À l'intérieur de <code>www</code>, le répertoire le plus
gros est <code>www/hist</code> dont <code>www/hist/maitrise</code>
occupe la plus grande part, etc.
</p>
<h4>Explications</h4>
<ol>
<li> <code>du -ak</code> : on demande la taille de tous les fichiers
et répertoires du compte, en kilo-octets.</li>
<li> <code>|</code> : c'est ce qu'on appelle en anglais un <i
lang="en">pipe</i>, un tuyau. Ce « tuyau » sert à envoyer à une autre
commande le résultat de <code>du -ak</code>.</li>
<li> <code>sort -nr</code> : la commande <code>sort</code> sert à
trier des données, en l'espèce on lui demande de trier par taille
(<code>-n</code>) puis de classer par ordre décroissant
(<code>-r</code>) la liste des fichiers et de leur taille (donnée par
<code>du -ak</code>).</li>
<li> après un autre <i lang="en">pipe</i>, on utilise la commande
<code>head</code>, 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.</li>
</ol>
<p class="continue">
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 <code>head</code>.
</p>
<p>
Si vous voulez conserver quelque part la liste de vos gros fichiers,
par exemple si vous demandez une longue liste, utilisez une
redirection (<code>&gt;</code>) :
</p>
<pre>
<span class="prompt">clipper ~ $</span> du -ak | sort -nr | head -50 &gt; gros_fichiers.txt
</pre>
<p class="continue">
Le résultat de votre tri sera conservé dans le fichier
<code>gros_fichiers.txt</code> que vous pourrez étudier à tête
reposée.
</p>
<h3>Application : quelle est la taille de votre boîte aux lettres ?</h3>
<p>
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
<code>clipper</code> sont dans le répertoire <code>/var/mail</code>. À
chaque utilisateur correspond le fichier
<code>/var/mail/login</code> : c'est le contenu de votre boîte aux
lettres principale.
</p>
<pre>
<span class="prompt">clipper</span> ~ $ ls -s /var/mail | grep toto
1142 /var/mail/toto
</pre>
<p>
Cette fois-ci, il s'agit de :
</p>
<ol>
<li> demander la taille des fichiers contenus dans le répertoire
<code>/var/mail</code></li>
<li> <a href="&url.tuteurs;unix/chercher.html">chercher</a> avec la
commande <code>grep</code> le fichier qui vous correspond</li>
</ol>
<p class="continue">
La boîte mail de l'utilisateur <code>toto</code> fait donc 1142
Ko. Pour savoir qui ont les plus grosses boîtes aux lettres :
</p>
<pre>
<span class="prompt">clipper</span> ~ $ 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
</pre>
<h2><a name="df">Taille d'une partition : <code>df</code></a></h2>
<p>
La commande <strong><code><a name="df">df</a></code></strong> (<em>
disk free</em>) indique la place disponible sur les partitions
montées.
</p>
<p>
Comme pour <code>du</code>, sur certains systèmes il faut ajouter
l'option <code>-k</code> (<em>kilobytes</em>), pour être sûr que le
résultat sera en Ko et non en blocs.
</p>
<div class="encadre">
<strong>Note</strong> : l'explication complète de <code>df</code> 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 <a
href="&url.tuteurs;docs/hublot/hublot06.html#concept">Concept :
place-disque</a> (article du numéro 6 du <em>Hublot</em>, avril 2000).
</div>
<p>
<code>df</code> 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 :
</p>
<pre>
<span class="prompt">clipper</span> ~ $ 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
(...)
</pre>
<p class="continue">Pour connaître simplement l'état d'une partition
donnée, on utilise <code>df -h &lt;nom de la
partition&gt;</code>. Chaque promotion ayant une partition, ceci vous
permet de repérer facilement la vôtre :
</p>
<pre>
<span class="prompt">clipper ~ $</span> df -h /var/mail
Filesystem Size Used Avail Use% Mounted on
/dev/dsk/c0t10d0s3 8.4G 5.1G 3.2G 62% /var/mail
<span class="prompt">clipper ~ $</span> df -h /users/03
Filesystem Size Used Avail Use% Mounted on
/dev/dsk/c0t12d0s3 12G 6.4G 4.8G 58% /users/03
</pre>
<p class="continue">Nous voyons donc qu'à l'heure où est écrite cette
page, <code>/var/mail</code> est plein à 62%, et
<code>/users/03</code> 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...
</p>
<div class="attention"><strong>En cas d'urgence</strong> : si vous
vous apercevez que le disque est plein à 99% ou 100%, prévenez le SPI
(<code>spi@clipper</code>), 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). </div>
<h2>Recommandations</h2>
<h3>Ne stockez pas n'importe quoi sur votre compte !</h3>
<p>
Votre compte est avant tout un <strong>outil de travail</strong>, 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 <cite>Village People</cite> sur son compte...
</p>
<p>
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 100Mo d'espace disque. « C'est
ridicule, le disque dur de mon PC fait 100Go ! », me
direz-vous. <code>clipper</code> n'a pas les mêmes contraintes qu'une
machine personnelle&nbsp;: le matériel est différent, et il y a des
sauvegardes quotidiennes, imaginez le volume des données stockées !
</p>
<h3>Rangez votre courrier</h3>
<p>
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 <i lang="en">folders</i>, ainsi ils seront
stockés sur votre compte en non dans <code>/var/mail</code>. Pour
savoir comment faire, consultez la documentation sur le <a
href="&url.tuteurs;internet/courrier/">courrier
électronique</a>. 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.
</p>
<h3>Faites le ménage chez vous</h3>
<p>
Première question à vous posez : ne conservez-vous pas des fichiers
inutiles ou obsolètes ? Pas la peine de les garder <i lang="la">ad
vitam &aelig;ternam</i> sur le disque, dans ce cas. <a
href="archives.html">Compresser ou archiver</a> vos fichiers fait
économiser une place précieuse. Vous pouvez également supprimer des
fichiers qui peuvent être recréés facilement (par exemple les
fichiers <code>.dvi</code>, <code>.aux</code>, <code>.log</code>,
<code>.toc</code> liés à LaTeX&nbsp;: 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.
</p>
<h3>Stockez ailleurs</h3>
<p>
<code>clipper</code> 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 <a
href="&url.tuteurs;internet/loin/ssh.html"><code>scp</code></a>, sous
Windows, <a
href="http://www.eleves.ens.fr/wintuteurs/tutorials/transfiles/">consultez
la page des WinTuteurs à ce sujet</a>. Vous pouvez également utiliser
<a href="&url.tuteurs;internet/loin/ftp.html">FTP</a>.
</p>
<div class="metainformation">Auteur&nbsp;: Émilia Robin, Marie-Lan
Nguyen. Dernière modification&nbsp;: le <date value="$Date: 2004-02-03 14:03:36 $" />.</div>
</body>
</html>