tuteurs.ens.fr/unix/place_disque.tml

454 lines
16 KiB
Text
Raw Normal View History

<?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 <20>l<EFBFBD>ves, des
jeunes archicubes, des magist<73>riens et autres invit<69>s, pour un total
d'environ 2000 comptes. Les comptes sont regroup<75>s par ann<6E>e de
promotion, toutes disciplines confondues. Chaque promotion dispose
d'une partition (sorte de disque dur virtuel) s<>par<61>e sur laquelle est
stock<EFBFBD>e ses donn<6E>es. Il n'y a pas de syst<73>me de quotas par personne,
mais la place totale occup<75>e par une promotion est limit<69>e... <20> la
taille de la partition. Si une partition est pleine, plus personne ne
peut enregistrer de donn<6E>es, rendant ainsi tout travail impossible. Le
courrier <20>lectronique est, lui, stock<63> 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 <20> l'espace disque que l'on prend est donc <20> la fois
une n<>cessit<69>, et une obligation (la charte des moyens informatiques
que vous avez sign<67>e l'exige). Deux outils vous permettent de
contr<EFBFBD>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<65>: <code>du</code></a></h2>
<h3>Conna<6E>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<73>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<EFBFBD>s utile<6C>: elle donne des r<>sultats beaucoup plus lisibles par un
humain (la taille est exprim<69>e en Ko, Mo ou Go quand c'est possible).
</p>
<div class="encadre">
<strong><3E> noter</strong><3E>: 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<73>me.
</div>
<p>
Par exemple, voici le contenu du r<>pertoire <20><>histoire<72><65> de Toto
(arborescence donn<6E>e dans le <a href="repertoires.html#arbre">cours
sur les r<>pertoires</a>)<29>:
</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<6E>re ligne indique la taille totale du r<>pertoire <20><>histoire<72><65>,
avec tout ce qu'il contient, soit 4910 Ko.
</p>
<p class="continue">
Sur un FreeBSD, ajouter l'option <code>-h</code> (comme <20><><i
lang="en">human readable</i><3E><>) donne des r<>sultats plus lisibles<65>:
</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<EFBFBD>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<69>es assez inexactes
quand on consid<69>re des donn<6E>es tr<74>s volumineuses.
</div>
<h3>Conna<6E>tre la taille totale de son compte</h3>
<p>
L'option <code>-s</code> permet de n'afficher que la derni<6E>re ligne,
c'est-<2D>-dire le total de tous les r<>pertoire et sous-r<>pertoires, sans
tous les d<>tails. Ainsi, pour conna<6E>tre la taille de votre compte,
faites un <code>du -sk</code> <20> la racine de votre compte&nbsp;:
</p>
<pre>
<span class="prompt">clipper ~ $</span> du -sk
98280 .
</pre>
<p>
Encore une fois, si vous <20>tes sur un PC<50>FreeBSD, utiliser l'option
<code>-h</code> ne fera pas de mal<61>:
</p>
<pre>
<span class="prompt">brick ~ $</span> du -sh
96M .
</pre>
<h3>Conna<6E>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 <20><>histoire<72><65> 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<6E>tre la taille d'un fichier pr<70>cis, il suffit d'indiquer <20>
<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<6F>: quels sont les plus gros fichiers de votre compte<74>?</a></h3>
<p>
En utilisant <code>du -ak</code> et le en combinant avec d'autres
commandes, vous pouvez savoir pr<70>cis<69>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<62>te aux
lettres). <20> l'int<6E>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><3E>: on demande la taille de tous les fichiers
et r<>pertoires du compte, en kilo-octets.</li>
<li> <code>|</code><3E>: c'est ce qu'on appelle en anglais un <i
lang="en">pipe</i>, un tuyau. Ce <20><>tuyau<61><75> sert <20> envoyer <20> une autre
commande le r<>sultat de <code>du -ak</code>.</li>
<li> <code>sort -nr</code><3E>: la commande <code>sort</code> sert <20>
trier des donn<6E>es, en l'esp<73>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<6E>e par
<code>du -ak</code>).</li>
<li> apr<70>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<73>ce, on lui demande de ne montrer que les 10 premi<6D>res lignes du
r<EFBFBD>sultat des op<6F>rations pr<70>c<EFBFBD>dentes.</li>
</ol>
<p class="continue">
Le r<>sultat de toutes ces op<6F>rations un peu complexes, c'est que vous
avez affich<63> les 10 plus gros r<>pertoires ou fichiers (les deux
confondus) de votre compte. Pour ajuster le nombre de fichiers <20>
afficher, changez le nombre apr<70>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>)<29>:
</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<72> dans le fichier
<code>gros_fichiers.txt</code> que vous pourrez <20>tudier <20> t<>te
repos<EFBFBD>e.
</p>
<h3>Application<6F>: quelle est la taille de votre bo<62>te aux lettres<65>?</h3>
<p>
Nous allons de nouveau utiliser le m<>canisme des pipes d<>crit
ci-dessus. Toutes les bo<62>tes aux lettres des gens ayant un compte sur
<code>clipper</code> sont dans le r<>pertoire <code>/var/mail</code>. <20>
chaque utilisateur correspond le fichier
<code>/var/mail/login</code><3E>: c'est le contenu de votre bo<62>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<64>:
</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<62>te mail de l'utilisateur <code>toto</code> fait donc 1142
Ko. Pour savoir qui ont les plus grosses bo<62>tes aux lettres<65>:
</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<6F>: <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<EFBFBD>es.
</p>
<p>
Comme pour <code>du</code>, sur certains syst<73>mes il faut ajouter
l'option <code>-k</code> (<em>kilobytes</em>), pour <20>tre s<>r que le
r<EFBFBD>sultat sera en Ko et non en blocs.
</p>
<div class="encadre">
<strong>Note</strong><3E>:<3A>l'explication compl<70>te de <code>df</code> fait
appel <20> des notions d<>licates sur la fa<66>on dont les fichiers sont
organis<EFBFBD>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 <20><>partition<6F><6E> par <20><>disque (dur)<29><> et <20>a suffira
largement. Si vous <20>tes curieux, vous pouvez aller lire <a
href="&url.tuteurs;docs/hublot/hublot06.html#concept">Concept<70>:
place-disque</a> (article du num<75>ro<72>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<73>me de fichiers, sa
taille, la place utilis<69>e, la place libre, la proportion d'espace
utilis<EFBFBD>, et le point de montage. Voici un exemple presque complet<65>:
</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<6E>tre simplement l'<27>tat d'une partition
donn<EFBFBD>e, on utilise <code>df -h &lt;nom de la
partition&gt;</code>. Chaque promotion ayant une partition, ceci vous
permet de rep<65>rer facilement la v<>tre<72>:
</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'<27> l'heure o<> est <20>crite cette
page, <code>/var/mail</code> est plein <20> 62%, et
<code>/users/03</code> est plein <20> 58%. La situation est bonne. La
situation est consid<69>r<EFBFBD>e comme critique quand on d<>passe les 95%<25>: il
suffit de plusieurs personnes qui stockent des images, de gros
documents PDF, leur DEA, d'un programme emball<6C> qui <20>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 <20>
autres, et ce n'est vraiment pas dr<64>le...
</p>
<div class="attention"><strong>En cas d'urgence</strong><3E>: si vous
vous apercevez que le disque est plein <20> 99% ou 100%, pr<70>venez le SPI
(<code>spi@clipper</code>), qui prendra des mesures techniques
(d<>placement de fichiers, etc.). Pr<50>venez <20>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<74>!</h3>
<p>
Votre compte est avant tout un <strong>outil de travail</strong>, pas
un espace de stockage gratuit et illimit<69> 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<6E>grale de <cite>Village People</cite> sur son compte...
</p>
<p>
M<EFBFBD>me s'il n'y a pas de quotas, on consid<69>re g<>n<EFBFBD>ralement qu'il faut de
bonnes raisons pour occuper plus de 100Mo d'espace disque. <20><>C'est
ridicule, le disque dur de mon PC fait 100Go<47>!<21><>, me
direz-vous. <code>clipper</code> n'a pas les m<>mes contraintes qu'une
machine personnelle&nbsp;: le mat<61>riel est diff<66>rent, et il y a des
sauvegardes quotidiennes, imaginez le volume des donn<6E>es stock<63>es<65>!
</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<EFBFBD>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
<EFBFBD>lectronique</a>. Ajoutons qu'en plus, ranger son courrier est plus
s<EFBFBD>r<EFBFBD>: 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<EFBFBD>re question <20> vous posez<65>: ne conservez-vous pas des fichiers
inutiles ou obsol<6F>tes<65>? 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
<EFBFBD>conomiser une place pr<70>cieuse. Vous pouvez <20>galement supprimer des
fichiers qui peuvent <20>tre recr<63><72>s facilement (par exemple les
fichiers <code>.dvi</code>, <code>.aux</code>, <code>.log</code>,
<code>.toc</code> li<6C>s <20> LaTeX&nbsp;: en 5 secondes de compilation,
vous pouvez les retrouver). Ces fichiers vous seront signal<61>s par un
courrier du <20><>D<EFBFBD>mon mange-disque<75><65>, charg<72> pr<70>cis<69>ment de rep<65>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<6E>es. Vous pouvez les stocker sur d'autres comptes de
l'<27>cole<6C>: <20> 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 <20> ce sujet</a>. Vous pouvez <20>galement utiliser
<a href="&url.tuteurs;internet/loin/ftp.html">FTP</a>.
</p>
<div class="metainformation">Auteur&nbsp;: <20>milia Robin, Marie-Lan
Nguyen. Derni<6E>re modification&nbsp;: le <date value="$Date: 2004-02-03 14:03:36 $" />.</div>
</body>
</html>