erlug
[Top] [All Lists]

Re: [Erlug] Gadmin-Rsynk impazzito lui oppure io?

To: ERlug - Lista Pubblica <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] Gadmin-Rsynk impazzito lui oppure io?
From: Davide Bolcioni <db_erlug@xxxxxxxx>
Date: Sat, 16 Jun 2012 11:12:54 +0100 (BST)
iw4blg <iw4blg@xxxxxxxxxxx> scrisse:


> cancello tutto con rm -r *
> ls -la mi dice che non c'è + nulla.. 
> ma df -h mi fa vedere la dir piena!

In Linux, e originariamente nei vari Unix da cui discende, il comando rm non fa 
che rimuovere uno dei link (hard link, quelli che vengono creati con ln, mentre 
i symbolic link che vengono creati con ln -s sono una cosa leggermente diversa) 
che agganciano un file, inteso come sequenza di byte, a un nome ovvero una voce 
in una directory. Il comando ls(1) elenca le voci in una directory.

Inoltre, quando un processo tiene aperto un file per lavorarci, anche se viene 
rimosso l'ultimo link (e quindi non c'è più alcun nome che consenta di arrivare 
al file) il file risulta comunque "in uso" e quindi lo spazio da esso 
utilizzato non viene resto disponibile per ulteriori file. Il comando du(1) 
esamina lo spazio disponibile.

Un caso di discrepanza tra ls(1) e du(1) può quindi indicare o che da qualche 
parte c'è una directory con dei nomi per i file o che c'è uno o più processi 
che li stanno tenendo aperti. Il secondo caso si approfondisce esaminando la 
directory /proc/<PID>/fd, ovvero la pseudo directory che per ogni processo 
indica i file che esso tiene aperti. Ogni processo ha un suo Process ID, PID, e 
a parte il PID 1 che ha un significato preciso, per trovare chi sia il processo 
che tiene i file aperti non c'è che guardarli uno per uno (oppure mettersi di 
buzzo buono). In alternativa, il comando top(1) o un suo simile, purtroppo la 
memoria non mi aiuta, potrebbe avere l'opzione di mostrare i processi 
ordinandoli in base allo spazio su disco "carpito".

Davide Bolcioni
-- 
There is no place like /home.


<Prev in Thread] Current Thread [Next in Thread>