tuteurs.ens.fr/unix/place_disque.tml
2006-09-17 20:47:20 +00:00

467 lines
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>, le serveur principal de l'ENS, héberge de nombreux
comptes&nbsp;: 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&nbsp;comptes. Les comptes sont regroupés par année de promotion,
toutes disciplines confondues.</p>
<p> 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.</p>
<p> 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&nbsp;: <code>du</code></a></h2>
<h3>Connaître la taille d'un répertoire</h3>
<p>
La commande <strong><code>du</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&nbsp;Ko, prenez donc le réflexe d'ajouter l'option <code>-k</code>
(<em>kilobytes</em>).
</p>
<p>
L'option&nbsp;<code>-h</code> est aussi très utile&nbsp;: elle donne des
résultats beaucoup plus lisibles par un humain (la taille est exprimée
en&nbsp;Ko, Mo ou Go quand c'est possible).
</p>
<div class="encadre">
<strong>À noter</strong>&nbsp;: 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
Linux). 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 «&nbsp;histoire&nbsp;» de
Toto (arborescence donnée dans le <a href="repertoires.html#arbre">cours
sur les répertoires</a>)&nbsp;:
</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
«&nbsp;histoire&nbsp;», avec tout ce qu'il contient, soit
4&nbsp;910&nbsp;Ko.
</p>
<p class="continue">
Ajouter l'option <code>-h</code> (comme «&nbsp;<i
lang="en">human readable</i>&nbsp;») donne des résultats plus
lisibles&nbsp;:
</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>&nbsp;: souvenez-vous que les ordinateurs comptent
de manière <em>binaire</em> et non décimale. <em>Un kilo-octets vaut
donc 1&nbsp;024&nbsp;octets</em>, et non 1&nbsp;000. Un méga-octet vaut
1&nbsp;024&nbsp;Ko et non 1&nbsp;000, et donc en tout
1&nbsp;048&nbsp;576&nbsp;octets. Diviser par&nbsp;1&nbsp;000 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, utiliser l'option
<code>-h</code> ne fera pas de mal&nbsp;:
</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 «&nbsp;histoire&nbsp;» 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&nbsp;: quels sont les plus gros fichiers
de votre compte&nbsp;?</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>&nbsp;: on demande la taille de tous les fichiers
et répertoires du compte, en kilo-octets.</li>
<li> <code>|</code>&nbsp;: 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>&nbsp;: 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>)&nbsp;:
</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&nbsp;: quelle est la taille de votre boîte aux
lettres&nbsp;?</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/<em>login</em></code> (remplacez <em>login</em> par
votre identifiant)&nbsp;: 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&nbsp;:
</p>
<ol>
<li> demander la taille des fichiers contenus dans le répertoire
<code>/var/mail</code>&nbsp;;</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
1&nbsp;142&nbsp;Ko. Pour savoir qui ont les plus grosses boîtes aux
lettres&nbsp;:
</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&nbsp;: <code>df</code></a></h2>
<p>
La commande <strong><code>df</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&nbsp;Ko et non en blocs.
</p>
<div class="encadre">
<strong>Note</strong>&nbsp;: 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 «&nbsp;partition&nbsp;» par «&nbsp;disque (dur)&nbsp;»
et ça suffira largement. Si vous êtes curieux, vous pouvez aller lire <a
href="&url.tuteurs;docs/hublot/hublot06.html#concept">Concept&nbsp;:
place-disque</a> (article du numéro&nbsp;6 du <em>Hublot</em>,
avril&nbsp;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&nbsp;:
</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&nbsp;-h&nbsp;&lt;nom de la
partition&gt;</code>. Chaque promotion ayant une partition, ceci vous
permet de repérer facilement la vôtre&nbsp;:
</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&nbsp;%, et
<code>/users/03</code> est plein à 58&nbsp;%. La situation est bonne. La
situation est considérée comme critique quand on dépasse les
95&nbsp;%&nbsp;: 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&nbsp;% 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>&nbsp;: si vous
vous apercevez que le disque est plein à 99&nbsp;% ou 100&nbsp;%,
prévenez le SPI (<code>spi&#64;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&nbsp;!</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 100&nbsp;Mo d'espace
disque. «&nbsp;C'est ridicule, le disque dur de mon PC fait
100&nbsp;Go&nbsp;!&nbsp;», me direz-vous. Certes, mais
<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&nbsp;!
</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 dossiers (<i lang="en">folders</i>), ainsi ils
seront stockés sur votre compte et non dans <code>/var/mail</code>. Pour
savoir comment faire, consultez la documentation sur le <a
href="&url.tuteurs;internet/courrier/">courrier électronique</a>, ou
plus spécifiquement la page indiquant comment <a
href="&url.tuteurs;internet/courrier/urgence-mail.html">vider sa
messagerie</a>. Ajoutons qu'en plus, ranger son courrier est plus
sûr&nbsp;: 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&nbsp;: 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 «&nbsp;Démon mange-disque&nbsp;», 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&nbsp;: à 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>&nbsp;;
sous Windows, <a
href="http://www.eleves.ens.fr/wintuteurs/tutorials/transfiles/">consultez
la page des WinTuteurs sur le transfert de fichiers</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: 2006-09-17 20:47:47 $" />.</div>
</body>
</html>