/
Forside
/
Teknologi
/
Operativsystemer
/
Linux
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
Linux
#
Navn
Point
1
o.v.n.
11177
2
peque
7911
3
dk
4814
4
e.c
2359
5
Uranus
1334
6
emesen
1334
7
stone47
1307
8
linuxrules
1214
9
Octon
1100
10
BjarneD
875
For stor fil
Fra :
Sven Esbjerg
Dato :
07-01-01 15:02
Jeg er stødt ind i et ubehageligt problem. Jge har på AMD Debian 2.2
kerne 2.4 box lavet en backup med tar og gzip. Dette har resulteret i
en fil der er for stor til at den kan håndteres af Linux. Jeg fatter
ikke hvordan det kunne lade sig gøre at den blev større end de 2Gb
uden fejl, men det er åbenbart sket. Anyway jeg har nu en fil som kun
kan listes med en ls kommando. Jeg kan se indholdet af den med tar,
men jeg kan ikke flytte eller slette den med mv, rm eller emacs. Jeg
kan heller ikke umiddelbar se størrelsen på den.
Er der nogen der kender en måde hvor jeg kan komme af med den fil
igen?
--
Sven
Sven Esbjerg (
07-01-2001
)
Kommentar
Fra :
Sven Esbjerg
Dato :
07-01-01 15:26
Sven Esbjerg <esbjerg@egmont-kol.dk> writes:
> Jeg er stødt ind i et ubehageligt problem. Jge har på AMD Debian 2.2
> kerne 2.4 box lavet en backup med tar og gzip. Dette har resulteret i
> en fil der er for stor til at den kan håndteres af Linux. Jeg fatter
> ikke hvordan det kunne lade sig gøre at den blev større end de 2Gb
> uden fejl, men det er åbenbart sket. Anyway jeg har nu en fil som kun
> kan listes med en ls kommando. Jeg kan se indholdet af den med tar,
> men jeg kan ikke flytte eller slette den med mv, rm eller emacs. Jeg
> kan heller ikke umiddelbar se størrelsen på den.
>
> Er der nogen der kender en måde hvor jeg kan komme af med den fil
> igen?
problem løst med: dd if=/dev/null of=for_stor_fil.tgz
--
Sven
N/A (
07-01-2001
)
Kommentar
Fra :
N/A
Dato :
07-01-01 16:47
frank damgaard (
07-01-2001
)
Kommentar
Fra :
frank damgaard
Dato :
07-01-01 16:47
Anders Bo Rasmussen <fuzz01@spamfilter.dk> wrote:
.....
> Er der nogen der kan komme med en forklaring på at dette kan lade sig gøre?
2GB = 32 bit heltal til at adressere hver byte.
Eksisterende (gamle) sysmtemkald til filhåndtering kan kun
klare 32bit index.
Der findes i Linux nyere (udvidede) kald til vistnok 64bit.
Andre programmer er måske oversat/lavet til store filer og det
vil så virke.
--
Frank Damgaard
Sven Esbjerg (
07-01-2001
)
Kommentar
Fra :
Sven Esbjerg
Dato :
07-01-01 17:45
frank damgaard <frank.damgaard@no.spam> writes:
> Anders Bo Rasmussen <fuzz01@spamfilter.dk> wrote:
>
> ....
> > Er der nogen der kan komme med en forklaring på at dette kan lade sig gøre?
>
> 2GB = 32 bit heltal til at adressere hver byte.
> Eksisterende (gamle) sysmtemkald til filhåndtering kan kun
> klare 32bit index.
> Der findes i Linux nyere (udvidede) kald til vistnok 64bit.
> Andre programmer er måske oversat/lavet til store filer og det
> vil så virke.
Kerne 2.4 kan håndtere >2GB filer. Da jeg bruger denne vil kernen i
hvert fald ikke brokke sig. Jeg ville have troet at gzip ville brokke
sig eftersom den ikke kunne udpakke filen igen. Jeg vil dog gætte på
at problemet i virkeligheden ligger i C-bibliotekerne som alle
programmerne bruge. Jeg fik i hvert fald nogen fejl der kunne tyde på
dette efter at have prøvet lidt med midnight-commander.
Hvis der sidder en garvet C og Debian 2.2 bruger kunne det være at
vedkommende kan komme med et uddybende svar.
--
Sven
Peter Makholm (
07-01-2001
)
Kommentar
Fra :
Peter Makholm
Dato :
07-01-01 23:33
Sven Esbjerg <esbjerg@egmont-kol.dk> writes:
> Kerne 2.4 kan håndtere >2GB filer. Da jeg bruger denne vil kernen i
> hvert fald ikke brokke sig. Jeg ville have troet at gzip ville brokke
32bit versionen og 64bit versionen af visse systemkald er ikke
kompatible. Derfor bruges der forskellige systemkald både i kernen og
i libc-laget.
Derfor kan programmer der benytter de gamle systemkald ikke uden
videre anvende filer større end 2GB selvom kernen ikke har noget imod
det.
Formodentligt er det store problem ikke bare at skrive til filer, men
først når man skal stat'e dem eller seek'e i dem. Så skal man nemlig
bruge stat64 og lseek64 istedet for de gamle funktioner.
Der ser ikke ud til at være skrevet manualsider for de nye kald, men
deres definitioner findes i /usr/include/sys/ (Og måske et pænere
sted)
Lasse (
10-01-2001
)
Kommentar
Fra :
Lasse
Dato :
10-01-01 19:14
frank damgaard <frank.damgaard@no.spam> wrote in message
news:g6suiw.mp0@mkb84.ftn...
> Anders Bo Rasmussen <fuzz01@spamfilter.dk> wrote:
>
> ....
> > Er der nogen der kan komme med en forklaring på at dette kan lade
sig gøre?
>
> 2GB = 32 bit heltal til at adressere hver byte.
32 bits kan addressere 4GB forudsat at det er uden fortegn. (Det er vel
de færreste filsystemer som tilader filer med negativ størrelse?)
--
Lasse
seg.dantaet@get2net.~ (
10-01-2001
)
Kommentar
Fra :
seg.dantaet@get2net.~
Dato :
10-01-01 20:57
Lasse wrote:
> > > Er der nogen der kan komme med en forklaring på at dette kan lade
> sig gøre?
> >
> > 2GB = 32 bit heltal til at adressere hver byte.
>
> 32 bits kan addressere 4GB forudsat at det er uden fortegn. (Det er vel
> de færreste filsystemer som tilader filer med negativ størrelse?)
>
lseek (move file pointer) regnes med fortegn, således der kan navigeres
i begge retninger. Filstørrelsen begrænses derfor til 2GB således
pointeren
kan flyttes fra start til slut eller omvendt i en operation.
--
Svend
Søg
Alle emner
Teknologi
Operativsystemer
Linux
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177558
Tips :
31968
Nyheder :
719565
Indlæg :
6408897
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.