← Back to team overview

sslug-teknik team mailing list archive

Re: ext2 hekseri?

 

Diskpladsen skulle gerne blive frigivet automatisk nå der ikke længere
er referencer fra fil-systemet og der ikke længere er nogle processer,
der har filen åben. Der er ikke noget galt i at slette en fil, som et
program har åben. Så bliver pladsen bare først frigivet, når filen
bliver lukket.

Mit første bud vil derfor være, at du lukker netscape. Lav evt. en
killall -9 netscape for at sikre, at der ikke er en netscape proces der
overlever.

Hvis du har gjort det, og pladsen stadig ikke er frigivet, så er der to
muligheder. Enten har filen et andet navn andetsteds, hvilket ikke er
sandsynligt, hvis det drejer sig om en af netscapes download filer i
/tmp, eller også er dit system på en eller anden måde defekt, fordi
specifikationen af sletning af filer i unix er, at det skal ske når
filen ikke længere er refereret (ingen navne i filsystemet, ikke åben af
nogen proces og ikke mountet). Hvis du kan lave en urefereret fil blot
ved at slette en åben fil, så har du en alvorlig fejl i dit system.

Jeg var selv ude for noget lignende i dag, hvor jeg havde lavet en stor
iso9660 fil, som jeg så havde mountet via loop devicet. Jeg slettede så
alle filerne på brænderens tmp partition hvor filen lå, men pladsen blev
ikke frigivet. Jeg opdagede, at filen stadig var mountet, og da jeg
umountede den blev pladsen frigivet.

At slette åbne filer er ret almindeligt for temporære filer. Man åbner
en fil med O_RDWR og unlinker den straks derefter. Så kan man skrive til
den, læse data tilbage igen, og når programmet exiter, slettes filen
automatisk, også selvom ens program gik ned. Det er ret handy.

Håber dette kan hjælpe.

René
.

torben fjerdingstad wrote:
> 
> Jeg havde downloadet en defekt tar.gz fil (troede jeg),
> så jeg slettede den.
> 
> Derefter fandt jeg ud af at netscape ikke var færdig
> med at downloade den (der manglede lige et par bytes).
> Så nu har jeg nok en urefereret fil :-(
> 
> Spørgsmålet er nu hvorden jeg får frigivet den diskplads
> den optager (uden reboot), eller nærmere, finder dens
> inode nummer og får den slettet.
> 
> Jeg har tænkt på ext2ed. Men den understøtter ikke
> partitioner større end 2Gb, og de må ikke være
> mountet. Ingen af delene er opfyldt.
> 
> Hvis jeg skal til at umounte filsystemet, kan jeg
> ligesågodt reboote.

-- 
René Seindal (rene@xxxxxxxxxx)			http://www.seindal.dk/rene/


References