2 GB-os file irasa DVD-re??

2 GB-os file irasa DVD-re??

Hozzászólások

Van egy 4,2 GB nagyságú fájl, amit DVD-re szerettem volna írni. A fájl reiserfs-en van, debian sid, és udf-el akartam volna felírni (mondván az ISO9660 max fájlmérete 2GB, a 2GB-nál nagyobbra az UDF a jó). K3b, mkisofs, growisofs hármassal próbálkoztam, hát nem ment (mehet 2 DVD a kukába). Kiderült, hogy ez a baja:
[code:1:8f43bf9b50]
/usr/bin/mkisofs: Value too large for defined data type.
File /tmp/4gbfile is too large - ignoring
[/code:1:8f43bf9b50]

Na akkor most meg mi van? Lehet, vagy nem lehet ekkora fájlt DVD-re írni UDF-fel vagy sem? (valójában itt mi a gond, az mkisofs? olyat is googliztem, hogy az mkisofs nem tud színtiszta udf image-et csinálni)

Üdv.:
Ádám

[quote:645ec48a9d="reviczky"][code:1:645ec48a9d]/usr/bin/mkisofs: Value too large for defined data type.
File /tmp/4gbfile is too large - ignoring[/code:1:645ec48a9d]

Az mkisofs nem a megfelelő módon lett lefordítva (vagy a forrása "nem megfelelő"), nem a 64 bites offszetekkel dolgozó függvényeket ill. struktúrákat használja.

Illusztráció (tényleg csak az, nem hordozható kód):
[code:1:645ec48a9d]#define _LARGEFILE64_SOURCE

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h> /* open() */
#include <stdio.h> /* perror() */
#include <unistd.h> /* unlink() */
#include <stdlib.h> /* EXIT_FAILURE */

int main(void)
{
static const char fname[] = "blabla";
int fd = open64(fname, O_CREAT | O_EXCL | O_WRONLY, 0);

if (-1 == fd)
perror("open64()");
else {
if (-1 == unlink(fname))
perror("unlink()");

if (-1 == ftruncate64(fd, 0x100000000ll))
perror("ftruncate64()");
else
if (-1 == lseek(fd, 0, SEEK_END)) /* not lseek64() -> EOVERFLOW */
perror("lseek()");
}

return EXIT_FAILURE;
}[/code:1:645ec48a9d]
A hordozható (szabványos) megoldás az, amikor az "alap" függvényeket használja az ember, és fordításkor/linkeléskor adja meg a "nagy" offszetekhez az adott platformon szükséges kapcsolókat. Lásd (szabványtalanul paraméterezett példa):
[code:1:645ec48a9d]getconf XBS5_ILP32_OFFBIG_CFLAGS[/code:1:645ec48a9d]

Toma Koma
Ki fejtenéd ma
Bővebben érdekelne
Ha az írom életre kelne
Bagoly-Pingvin verdeste szárnyát.
A fájl nem hagyta csak árnyát.
(nem támogatta az argumentumát)

az egész témában arról nem volt szó hogy dvd-ramal próbálkozik-e az illetõ ugyanis ott a 2gb-os fileokat valóban nem fogja tudni lemásolni :)

meg akkor sem ha lg 4040b vagy 4081b. vmi külsõ progi kell hozzá. simán nem lehet lemásolni.

amúgy én is ezzel szenvedek

sajnos mar a mkisofs nem tudja a 2 GB-os fileok kezeleset,
bovebben itt:

http://lists.debian.org/cdwrite/2003/cdwrite-200311/msg00006.html

H0RI

akkor lehet hogy másról beszélünk mert én

mkisofs -dvd-video -o dvd.img /dvd/

3-4gb-os dvd-ket szoktam ext3-ra másolgatni aztán pedig mindenféle gond nélkül kiírni

Hi,

Javaslom a ProGearDvd-t.(gear-gui).Ezzel a programmal 2.8 + 1.5 gb-ot irtam, úgy, hogy a KISS lejátszó is megeszi.

Üdv.

Hello!

Az mkisofs alapbol ISO9660 tipusu filerendszert csinal. A "-dvd-video" megadasaval viszont UDF-et.
Az ISO9960 (CD) filerendszernel fel se merult, hogy 2G-nel nagyobb filet akarjon valaki letrehozni.

Ez a problemad.

Kubi

UDF verziószámot hogy lehet megadni.
Pl: Pure UDF,version 2.01.(1.50,2.00.2.01.2.50 van)
Üdv. Geri

tessék otthagyom a gépem, és máris belekontárkodnak :-((. Bár jogos a kérdés, miként lehet a fent irt adatokkal dvd-t irni?

Udv!

[quote:a9d77f639c="Maximus Anonimus Gameus"]
Toma Koma
Ki fejtenéd ma
Bővebben érdekelne
...

Nem igazan tudom, Pioneer 105 irom van, Suse (most 9) linuxon soha nem volt ilyen gondom, bar nem dvdram-rol masoltam. Az is igaz, hogy nem emlekszem, hogy 2GB-os filevel DVD-n volt e dolgom, ugyhogy valszeg offtopic voltam.... :(
Bar az iso amit sutottem nagyobb volt 2GB-nal, de az isoban nem volt 2GB-nal nagyobb file...
Bocs...
Most nincs dvdrw-m, de ha visszakapom a 3 rossz helyett a jokat, kiprobalom, hogy tudok-e irni 2GB-nal nagyobb filet.
Growisofs, udf nem johet szoba mkisofs helyett?

Toma_

nem sikerul egy 2GB-os file beolvasasa DVD-rol.

lehet linux alatt 2GB-os filet szetvagas nelkul DVD-re irni??

2.4.23-as kernel, SID, az iro: LG-GSA-4040B

sid:~# mount /dev/scd0 /mnt/scd0
sr0: mmc-3 profile: 0h
sr0: mmc-3 profile: 1Ah
sid:~# ls /mnt/scd0
2GB_file

sid:~# ls -alh /mnt/scd0
Warning: defective CD-ROM. Enabling "cruft" mount option.
összesen 16M
dr-xr-xr-x 2 root root 2,0K 2004-01-12 16:43 .
drwxr-xr-x 26 root root 4,0K 2004-01-12 11:00 ..
-r--r--r-- 1 root root 16M 2004-01-12 16:38 2GB_file

sid:~# df -h
Filesystem Méret Fogl. Szab. % Csatl. pont
/dev/hda3 19G 9,5G 8,0G 55% /
/dev/hda4 90G 79G 6,8G 93% /pub/hda4
/dev/scd0 2,1G 2,1G 0 100% /mnt/scd0

H0RI

Szia!

Érdekes a kérdés amit felvetettél. Én is kíváncsi vagyok rá.
Kis türelem és remélhetőleg holnap ki tudom próbálni.
Ismereteim szerint elvileg lehetséges, de tévedhetek is...

Szia,

Nekem 2.4-es squid-del volt az a tapasztalatom, hogy ha a logfile elerte a ~2G-t, megborult a squid. Hogy ez filerendszer limit, vagy a squid bohockodik, meg nem tudtam kideriteni.

Szoval igazabol nem is tudtam segiteni. B;-))

[quote:dd7ea1976c="mogorva"]Szia,

Nekem 2.4-es squid-del volt az a tapasztalatom, hogy ha a logfile elerte a ~2G-t, megborult a squid. Hogy ez filerendszer limit, vagy a squid bohockodik, meg nem tudtam kideriteni.

Szoval igazabol nem is tudtam segiteni. B;-))

Ez nem file rendszer limit és nem is a squid bohockodik :D
A libc szar a 2 Gb fölötti filokban nem lehet seekelni mert a cimzésre használt változó 0 ra áll 2 gb nál igy egy kicsit gáz :) de van valami javíami ezt lehetővé teszi ha fontos megkérdezem :lol:

Ez nem file rendszer limit és nem is a squid bohockodik :D
A libc szar a 2 Gb fölötti filokban nem lehet seekelni mert a cimzésre használt változó 0 ra áll 2 gb nál igy egy kicsit gáz :) de van valami javíami ezt lehetővé teszi ha fontos megkérdezem

Koszi, csak ritkan fordul elo, es olyankor rogton rotalunk. B-)[/i]

[quote:015a4cdb22="ghost"]A libc szar a 2 Gb fölötti filokban nem lehet seekelni

A libc nem szar, csak ismerni kell a trükkjeit :-)

Kell egy #define _GNU_SOURCE, ez után vannak 64 végű függvényeid, például open64(), lseek64() stb.

Ha az előbbi után még azt is mondod, hogy #define _FILE_OFFSET_BITS 64, akkor a sima open(), lseek() stb. is 64 bites lesz.

Udv!

[quote:9a3a3c8d6e="H0RI"]nem sikerul egy 2GB-os file beolvasasa DVD-rol.

lehet linux alatt 2GB-os filet szetvagas nelkul DVD-re irni??

H0RI

Nem tudom, miket varazsoltok, nekem soha nem volt gondom vele.
3-5 GB fileket szoktam a vobcopyval csinalni, azokat nezem mplayerrrel, SuSe DVD-t is masoltam. Nem ertem kristalytisztan hogy miert ne menne.
(2.4.20, 2.4.21 kernelekkel)

Toma_