Tips en Trucs 2012

CD/DVD opdrachten

Hoeveel grafische CD/DVD programma's ken je? En hoeveel van hen kunnen een ISO bestand branden terwijl het van het internet wordt gedownload (desnoods via een met SSH beveiligde verbinding)? Om een grafisch CD/DVD programma met deze functie uit te rusten, moet je de internetmap aan uw bestandssysteem koppelen (mounten). Dit is mogelijk met terminal opdrachten.

Vandaag bekijken we hoe je met terminal opdrachten met ISO bestanden werkt.

Een ISO bestand maken

De volgende opdracht maakt een ISO bestand van een CD. Plaats een CD in uw CD/DVD station en voer de volgende opdracht uit:
dany@linux-bxth:~> mkdir iso
dany@linux-bxth:~> dd if=/dev/cdrom of=iso/cd.iso
567552+0 records gelezen
567552+0 records geschreven
290586624 bytes (291 MB) gekopieerd, 85,2788 s, 3,4 MB/s
Om een ISO bestand van een lokale map te maken, gebruik je de volgende opdracht:
dany@linux-bxth:~> mkisofs -o iso/backup.iso Backup/
I: -input-charset not specified, using utf-8 (detected in locale settings)
  9.94% done, estimate finish Fri Jul 13 14:12:09 2012
 19.85% done, estimate finish Fri Jul 13 14:12:14 2012
 29.75% done, estimate finish Fri Jul 13 14:12:12 2012
 39.67% done, estimate finish Fri Jul 13 14:12:11 2012
 49.57% done, estimate finish Fri Jul 13 14:12:11 2012
 59.50% done, estimate finish Fri Jul 13 14:12:10 2012
 69.39% done, estimate finish Fri Jul 13 14:12:10 2012
 79.32% done, estimate finish Fri Jul 13 14:12:10 2012
 89.22% done, estimate finish Fri Jul 13 14:12:10 2012
 99.13% done, estimate finish Fri Jul 13 14:12:10 2012
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 2048
Path table size(bytes): 26
Max brk space used 0
50445 extents written (98 MB)

De inhoud van een ISO bestand bekijken

Om de inhoud van een ISO bestand te bekijken, moet je het aan uw lokale bestandssysteem koppelen:
dany@linux-bxth:~> mkdir Gekoppeld
dany@linux-bxth:~> sudo mount -t iso9660 iso/cd.iso Gekoppeld/ -o loop
root's password:
mount: Waarschuwing: Gekoppeld/ schijnt aangekoppeld als alleen-lezen
De inhoud van het ISO bestand kun je nu bekijken in de map Gekoppeld. Om het ISO bestand los te koppelen van de map Gekoppeld, gebruik je de opdracht:
dany@linux-bxth:~> sudo umount Gekoppeld/

Een ISO bestand branden

Eerst bepalen we de apparaatnaam van uw CD/DVD brander met de opdracht:
dany@linux-bxth:~> wodim --devices
wodim: Overview of accessible drives (1 found) :
-------------------------------------------------------------------------
 0  dev='/dev/sg1'      rwrw-- : 'hp' 'BDDVDRW CH20L'
-------------------------------------------------------------------------
Om een reeds gebruikte CDRW schijf te hergebruiken, moet je deze eerst wissen. Dit kan met de opdracht:
dany@linux-bxth:~> wodim -v dev=/dev/sg1 -blank=fast
TOC Type: 1 = CD-ROM
wodim: Operation not permitted. Warning: Cannot raise RLIMIT_MEMLOCK limits.
scsidev: '/dev/sg1'
devname: '/dev/sg1'
scsibus: -2 target: -2 lun: -2
Linux sg driver version: 3.5.34
Wodim version: 1.1.11
SCSI buffer size: 64512
Device type    : Removable CD-ROM
...
Starting to write CD/DVD at speed  10.0 in real BLANK mode for single session.
Last chance to quit, starting real write in    0 seconds. Operation starts.
Performing OPC...
Blanking PMA, TOC, pregap
Blanking time:   25.081s
Het branden van het ISO bestand gebeurt met de volgende opdracht:
dany@linux-bxth:~> wodim -eject -tao speed=0 dev=/dev/sg1 -v -data iso/backup.iso 
TOC Type: 1 = CD-ROM
wodim: Operation not permitted. Warning: Cannot raise RLIMIT_MEMLOCK limits.
scsidev: '/dev/sg1'
devname: '/dev/sg1'
scsibus: -2 target: -2 lun: -2
Linux sg driver version: 3.5.34
Wodim version: 1.1.11
SCSI buffer size: 64512
Device type    : Removable CD-ROM
...
Blocks total: 337350 Blocks current: 337350 Blocks remaining: 286903
Speed set to 1764 KB/s
Starting to write CD/DVD at speed  10.0 in real TAO mode for single session.
Last chance to quit, starting real write in    0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
Performing OPC...
Starting new track at sector: 0
Track 01:   98 of   98 MB written (fifo 100%) [buf  18%]  10.7x.
Track 01: Total bytes read/written: 103311360/103311360 (50445 sectors).
Writing  time:   70.171s
Average write speed   9.6x.
Min drive buffer fill was 18%
Fixating...
Fixating time:   26.713s
wodim: fifo had 1628 puts and 1628 gets.
wodim: fifo was 0 times empty and 1405 times full, min fill was 93%.

Een CD kopieren

Als je over twee CD/DVD stations beschikt, kun je zonder een ISO bestand te maken een CD kopieren met de opdracht:
dd if=/dev/sg0 | cdrecord -v speed=12 dev=/dev/sg1 fs=8  -data -

De inhoud van een map rechtstreeks branden

dany@linux-bxth:~> mkisofs -r Backup/ | cdrecord -v speed=12 dev=/dev/sg1 fs=8  -data -
wodim: No write mode specified.
wodim: Assuming -tao mode.
wodim: Future versions of wodim may have different drive dependent defaults.
wodim: Fifo size 8 too small, turning fifo off.
TOC Type: 1 = CD-ROM
wodim: Operation not permitted. Warning: Cannot raise RLIMIT_MEMLOCK limits.
I: -input-charset not specified, using utf-8 (detected in locale settings)
scsidev: '/dev/sg1'
devname: '/dev/sg1'
scsibus: -2 target: -2 lun: -2
Linux sg driver version: 3.5.34
Wodim version: 1.1.11
SCSI buffer size: 64512
Device type    : Removable CD-ROM
...
wodim: WARNING: Total disk size unknown. Data may not fit on disk.
Speed set to 1764 KB/s
Starting to write CD/DVD at speed  10.0 in real TAO mode for single session.
Last chance to quit, starting real write in    0 seconds. Operation starts.
Performing OPC...
Starting new track at sector: 0
Track 01:    9 MB written [buf  18%]  10.7x.  9.91% done, estimate finish Fri Jul 13 14:53:01 2012
...
Track 01:   98 MB written [buf  18%]  10.7x.Total translation table size: 0
Total rockridge attributes bytes: 2280
Total directory bytes: 4096
Path table size(bytes): 26
Max brk space used 0
50447 extents written (98 MB)

Track 01: Total bytes read/written: 103315456/103315456 (50447 sectors).
Writing  time:   69.314s
Min drive buffer fill was 18%
Fixating...
Fixating time:   26.704s

Een internet ISO bestand rechtstreeks branden

Dankzij het verbinden van opdrachten (met pipe |) kun je een ISO bestand branden terwijl je het aan het downloaden bent:
curl http://ftp.belnet.be/pub/ftp.opensuse.org/distribution/openSUSE-current/iso/openSUSE-12.1-DVD-x86_64.iso | cdrecord -v speed=12 dev=/dev/sg1 fs=8  -data -

En dit hou je niet voor mogelijk

Met de volgende opdracht brand je de inhoud van een lokale map op een CD/DVD station van een andere computer via een beveiligde SSH verbinding:
mkisofs -r /path/to/my/files | ssh gebruiker@andere.computer "cdrecord -v speed=12 dev=/dev/sg1 fs=8  -data -"