NASIL Cdrdao ile komut satirindan cd/dvd yazici kullanma

From Lapis Wiki

Jump to: navigation, search
Bu makale NASIL bölümü serisinin bir parçasıdır
MasaÜstü Donanım Dağıtımlar
Tarayıcılar Programlama Linux ve Oyunlar

Konu başlıkları

Giriş

Son zamanlardaki CDRECORD daki hatalar ve benim donanımım ile uyum sağlamaması üzerine, çeşitli alternatifler denedim ve en sonunda CDRDAO ile komut satırından CD/DVD yazdırma işlemini en kolay yöntem olarak kabul etmeye başladığım için, şimdi kısaca cdrdao ya ait bilgiler aktarayım.

Tabi sizinde akliniza gelen komutlar varsa buraya aktarabilirsiniz.


CD Yazıcının Tespiti

cdrdao  scanbus

CD/DVD Yazıcılar Hakkında Bilgileri Göstermek

cdrdao disk-info

Takılı AudioCD'nin CDDB Bilgilerini Göstermek (tabi mevcut ise)

 cdrdao  read-cddb

CD+RW Silme

cdrdao  blank

Not: komutun sonuna --help yazarak diğer parametreleri görebilirsiniz


BIN/CUE Dosyalarını Yazdırma

 cdrdao  write  --device  /dev/hdc   /nerdeyse/bu/dosya/deneme.cue


Bir AudioCD'yi Komple Olarak Yazdırmak

cdrdao read-cd --device /dev/hdd  -driver generic-mmc audiocd.toc 
cdrdao  write  --device  /dev/hdc  audiocd.toc

Not: /dev/hdc = CD+RW /dev/hdd = Normal CD-Rom

ISO Dosyalarını Yazdırma

Iso dosyalarını yazdırmak biraz zahmetli fakat imkansız değil. Bunun için ilk önce iso dosyası internetten indirilir ve bir dizin altına konur. Mesela

/tmp/deneme/deneme.iso

Daha sonra aynı dizin altında birde deneme.iso.toc dosyası oluşturulur ve içine şunlar yazılır:

/tmp/deneme/deneme.iso.toc

CD_ROM
// Track 1
TRACK MODE1
NO COPY
DATAFILE  "/tmp/deneme/deneme.iso"

Son olarakda TOC dosyası cdrdao ile yazdırılır.

cdrdao  write  --device  /dev/hdc  /tmp/deneme/deneme.iso.toc

iso dosyasından toc oluşturan bir script

Aşağıdaki kısmı generate_toc.sh isminde bir dosya oluşturup kaydedin. Chmod ile çalıştırma hakkı verin (chmod 755 generate_toc.sh) ve "/usr/bin" altına kopyalayın.

generate_toc.sh

#!/bin/sh
# Kullanimi: 
#        env DATA=1 generate_toc.sh stuff.iso
#        generate_toc.sh *.wav 
# Sonradan ilave edildi
Adres=`pwd`
IFS="
"
[ "$DATA" = "" ] && DATA=0
(
  if [ $DATA -eq 1 ]
  then
    echo CD_ROM
  else
    echo CD_DA
  fi
  for file in $@
  do
    echo
    if ( echo $file | grep '\.wav$' ) &>/dev/null
    then
      echo TRACK AUDIO
      echo AUDIOFILE \"$file\" 0
    else
      echo TRACK MODE1
      echo DATAFILE \"$Adres/$file\"
    fi
  done
) > $1.toc

bu script sadece .toc uzantılı bir dosya oluşturup içine aşağıdakileri yazıyor Örnek:

sh generate_toc.sh benim.iso

cd.toc diye bir dosya olusturdu icinde ise

CD_DA
TRACK MODE1
DATAFILE "benim.iso"

yazıyor. Bu toc uzantılı dosyayı cdrdao ile yazabilirsiniz.

Cdrdao ile Backup yazdırma

Not: Yukardaki "generate_toc.sh" skriptini /usr/bin altına kopyalamış ve chmod ile 755 hakları vermiş olmanız gerekir. Aksi takdirde calışmaz.

#!/bin/bash
# Boşluk bırakarak yedeklemek istediginiz dizinleri yazin
# Dizin tanimlarken * veya başka karakter kullanmayın
# Aynı dizinlerin aynı dizin altında kopyalanması icin, aşağıdaki
# yazım şekline dikkat edin. 
# Aşağıdaki şekilde tanımlanır ise, dizin içindeki dosyalar aynı dizin altına 
# yedekleniyor. 
Yedeklenecekler="/etc=/etc/ /tmp=/tmp/  /home=/home/"
# Başlangıç
mkdir -p /tmp/yedek
cd /tmp/yedek
mkisofs -r -R -L -l -J -V "Yedekleme" -o yedekleme.iso -graft-points $Yedeklenecekler
env DATA=1 generate_toc.sh  yedekleme.iso
cdrdao  write  --device  /dev/hdc  yedekleme.iso.toc

Bağlantılar