LINUX.ORG.RU

Запись файлов на CD/DVD.

 ,


0

1

Привет! Для разрабатываемого приложения надо реализовать возможность записи файлов на CD/DVD. Есть папка, всё содержимое которой должно быть записано на диск (мультисессионный). Под Windows реализовал с помощью VBScript. А вот с Linux возникли проблемы. Может кто подскажет, с помощью чего это можно реализовать?


Я когда-то сталкивался с таким же. Собственно, юзал для записи стандартные средства линукса - генерил с помощью genisoimage образ, который потом и писал на диск с помозью wodim или cdrecord. Собственно, при таком подходе все сводится просто к генерации пары консольных команд.

Zhbert ★★★★★ ()
Ответ на: комментарий от Zhbert

Да, я тоже копал в этом направлении. С genisoimage проблем вроде не возникло. А вот с wodim куча.

При вызове

wodim -devices
получаю следующее:
wodim: No such file or directory. 
Cannot open SCSI driver!
For possible targets try 'wodim --devices' or 'wodim -scanbus'.
For possible transport specifiers try 'wodim dev=help'.
For IDE/ATAPI devices configuration, see the file README.ATAPI.setup from
the wodim documentation.

При вызове

dmesg | grep -i scsi
получаю:
[    0.157394] SCSI subsystem initialized
[    0.500143] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.756581] scsi0 : ahci
[    0.756650] scsi1 : ahci
[    0.756731] scsi2 : ahci
[    0.756813] scsi3 : ahci
[    0.756899] scsi4 : ahci
[    0.756948] scsi5 : ahci
[    1.080908] scsi 2:0:0:0: Direct-Access     ATA      WDC WD1002FAEX-0 05.0 PQ: 0 ANSI: 5
[    1.081087] sd 2:0:0:0: Attached scsi generic sg0 type 0
[    1.121438] sd 2:0:0:0: [sda] Attached SCSI disk
[    1.327001] scsi 3:0:0:0: CD-ROM            PIONEER  DVD-RW  DVR-215D 1.13 PQ: 0 ANSI: 5
[    1.344915] sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
[    1.345092] sr 3:0:0:0: Attached scsi CD-ROM sr0
[    1.345141] sr 3:0:0:0: Attached scsi generic sg1 type 5
То есть устройство есть и имя ему sg0.

При попытке записать диск

wodim -v -tao dev=/dev/sg0 /home/admin/test.iso
выдаёт следующее:
TOC Type: 1 = CD-ROM
scsidev: '/dev/sg0'
devname: '/dev/sg0'
scsibus: -2 target: -2 lun: -2
Linux sg driver version: 3.5.34
Wodim version: 1.1.11
SCSI buffer size: 64512
Device type    : Disk
Version        : 5
Response Format: 2
Capabilities   : 
Vendor_info    : 'ATA     '
Identification : 'WDC WD1002FAEX-0'
Revision       : '05.0'
Device seems to be: Generic CCS Disk.
wodim: Sorry, no supported CD/DVD-Recorder found on this target.

В общем, wodim чего-то не хватает. Использование sudo не помогает (mint). Записывать мне надо используя UDF, чтобы потом была возможность дополнять диск новыми файлами.

K_AA ()

Вот ещё одна безуспешная попытка.

admin@zyx ~ $ sudo wodim -v -multi dev=/dev/sg0 /home/admin/test.iso 
[sudo] password for admin: 
wodim: No write mode specified.
wodim: Assuming -tao mode.
wodim: Future versions of wodim may have different drive dependent defaults.
TOC Type: 3 = CD-ROM XA mode 2
scsidev: '/dev/sg0'
devname: '/dev/sg0'
scsibus: -2 target: -2 lun: -2
Linux sg driver version: 3.5.34
Wodim version: 1.1.11
SCSI buffer size: 64512
Device type    : Disk
Version        : 5
Response Format: 2
Capabilities   : 
Vendor_info    : 'ATA     '
Identification : 'WDC WD1002FAEX-0'
Revision       : '05.0'
Device seems to be: Generic CCS Disk.
wodim: Sorry, no supported CD/DVD-Recorder found on this target.

K_AA ()
Ответ на: комментарий от K_AA

То есть устройство есть и имя ему sg0.

это HDD (WDC WD1002FAEX-0), CDROM - sg1 и отсюда все проблемы у тебя.

anonymous ()
Ответ на: комментарий от K_AA

Ладно. Пиши на /dev/sr0

А не на /dev/sg0

anonymous ()
Ответ на: комментарий от anonymous

Интересно, что там /dev/sr* оказывается депрекейтед в пользу /dev/scd*. Полезная штука вообще, хоть и не ман, строго говоря.

anonymous ()
Ответ на: комментарий от anonymous

О, жёстко прокололся). Но всё равно остаются два вопроса. Можно ли с помощью genisoimage и wodim записать диск с файловой системой UDF ? И как сделать так, чтобы эти операции можно было проводить без прав sudo ?

K_AA ()

И очистка, и запись теперь работают без sudo. Остался только вопрос с UDF. В принципе я его выбрал только потом, что Windows по умолчанию его выставляла в качестве файловой системы (на ней диск тоже будет использоваться).

А мне по сути просто нужен мультисессионный диск. Может проще другую ФС для этого выбрать?

K_AA ()

Всё, нашёл. udf образ можно сделать с помощью утилиты mkisofs, входящей в состав dvd+rw-tools.

mkisofs -udf -o [IMAGE] [DIR_PATH]

K_AA ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.