NASIL Komut Satırından CD yazma Yöntemleri

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ş

Linux altında elbette birçok grafiksel programlar yardımı ile CD yazabilirsiniz. k3b bunlardan sadece bir tanesi. Ancak bazı grafiksel programları kurabilmek için birçok bağımlısı olduğu kütüphane dosyalarınıda kurmanız gerekli. Bu yazıda size komut satırından komutlar yardımı ile çeşitli formatlarda CD yazma yöntemlerini aktaracağız.

Gerekli Olanlar

Komut satırından CD yazmaya başlamadan önce, aşağıdaki paketlerin sisteminizde kurulu olması gerekmektedir. Bunlar genelde default olarak büyük linux sürümlerinde kuruludur.

   *  VCDIMAGER
   *  CDRDAO
   *  CDRECORD

Bu dosyalar genelde CD içinde mevcuttur. Kurulu değilse sonradan kurabilirsiniz.Bu paketlerin kurulumunu geçiyoruz.
Ve dao dosyası oluşturmaya yarayacak olan wav2dao skripti

     http://www.daszler.de/linux/wav2dao  

Bu "wav2dao" skripti için aşağıdaki uygulamanızda yarar var

Kod:
     wget -c http://www.daszler.de/linux/wav2dao
     chmod 755  wav2dao
     cp  wav2dao  /usr/bin

Kurulumda gerekli olanla bu kadar. Şimdi değişik formatlara göre komut satırından kullanıma geçelim. Dikkat: Aşağıdaki belgeden anlatılanlar kernel 2.6 ya göre anlatılmıştır. Kernel 2.4.x kullananlar "0,1,0", kernel 2.6.x kullanalar ise "ATAPI:0,1,0" şeklinde aşağıdaki işlemlerde kullanabilirler.

Ön Hazırlık

Komut satırından CD yazdırabilmek için, CD yazıcı ayğıtımızın ilk önce nereye bağlı olduğunu tespit etmemiz gerekli. Bunu tespit etmek için aşağıdaki yöntemi kullanabiliriz.
Büyük bir ihitimal ile IDE CD yazıcı kullanıyorsunuzdur. IDE CD yazıcılar Linux altında SCSI olarak emule edilir ve bu yüzden bu ayğıtlar sanki bir SCSI aygıtı gibi işlem görürler. Kernel 2.4 kullanlar "cdrecord -scanbus" komutunu verebilir.

Kod:
 
 # cdrecord -scanbus

  
      Cdrecord 2.0 (i686-suse-linux) Copyright (C) 1995-2002 Jörg Schilling
      Linux sg driver version: 3.1.25
      Using libscg version 'schily-0.7'
      cdrecord: Warning: using inofficial libscg transport code version (okir@suse.de-scsi-linux-sg.c-1.75-resmgr-patch '@(#)scsi-linux-sg.c 1.75 02/10/21 Copyright 1997 J. Schilling').
      scsibus0:
      0,0,0 0) 'AOPEN ' 'CD-RW CRW1632 ' '1.11' Removable CD-ROM
      0,1,0 1) 
      0,2,0 2) 
      0,3,0 3) 
      0,4,0 4) 
      0,5,0 5) 
      0,6,0 6) 
      0,7,0 7)

Bu çıktıda dikkat etmemiz gereken, CD yazıcımızın önünde bulunan 4 haneli rakamlar. Yukardaki örnek çıktıyı biraz büyülteç altına koyalım. Bizi ilgilendiren satır, sadece aşağıdaki satırdır

    0,0,0 0) 'AOPEN ' 'CD-RW CRW1632 ' '1.11' Removable CD-ROM

Burada önemli olan, soldan saga doğru giden 4 haneli gibi gözüken rakamdır, yani "0,0,0 0" olan yerdir. Bu 4 haneli gibi gözüken rakamlardandan soldan sağa doğru sıraladığımızda, aygıtımızın scsibus , target, lun numaralarını verir. O halde bizim bilmemiz gereken, bu 4 haneli rakamda, soldan sağa doğru ilk 3 haneli rakam bize, komut satırından CD yazarken kullanacağımız aygıtın adresini verir. (yani soldan saga doğru "0,0,0")
Kernel 2.6.x kullananlar

Kod: cdrecord

cdrecord dev=ATAPI -scanbus


      Cdrecord-Clone 2.01a33 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Jörg Schilling
      scsidev: 'ATAPI'
      devname: 'ATAPI'
      scsibus: -2 target: -2 lun: -2
      Warning: Using ATA Packet interface.
      Warning: The related Linux kernel interface code seems to be unmaintained.
      Warning: There is absolutely NO DMA, operations thus are slow.
      Using libscg version 'schily-0.8'.
      scsibus0:
       0,0,0   0) 'MITSUMI ' 'CD-ROM FX4830T!B' 'R02D' Removable CD-ROM
       0,1,0   1) 'IDE-CD  ' 'R/RW 8x4x32     ' ' 1.1' Removable CD-ROM
       0,2,0   2) 
       0,3,0   3) 
       0,4,0   4) 
       0,5,0   5) 
       0,6,0   6) 
       0,7,0   7) 

Bu örneğimizde, PC de iki tane CD rom var. Birincisi 0,0,0 olan normal CDrom, diğeri ise CD yazıcı ve adresi 0,1,0

Kullanım

SVCD / VCD olarak cd yazdırma

SVCD/VCD formatındaki cd yazdırmak için yapmamız gereken, MPG formatındaki filmlerden bin/cue dosyaları oluşturup yazdırmak en basit yöntemidir.

Dikkat: Avi veya divx formatındaki filmlerden SVCD veya VCD formatında CD ler oluşturamazsınız. Avi veya divx formatındaki bütün filmleri ilk önce MPG formatında çevirmeniz gereklidir. Örn olarak bu işlem için avidemux2 programını kullanabilirsiniz.

Elimizdeki film dosyası şimdi MPG veya MVCD formatında olduğundan eminiz. O halde hemen bin/cue dosyalarını oluşturalım. Bunun için vcdimager kullanıyoruz. VCDIMAGER çeşitli türlerde bin/cue dosyası oluşturabilir. Kısace önemli 3 format aşağıdadır
a) -t svcd

vcdimager -t svcd film_dosyası.mpg
b) -t vcd

vcdimager -t vcd film_dosyası.mpg
c) mvcd formatındaki filmler

vcdimager film_dosyası.mpg
MPG formatındaki filmi istediğiniz formatta oluşturmak size kalmış birşey. Kaliteli bir şekilde oluşturmak istiyorsanı SVCD olarak oluşturun. Ancak işlem oldukca uzun sürebilir. Yukardaki 3 komuttan birisi isteğinize göre uygulanır ve işlem bitiminde 2 yeni dosya oluşur. Bunların ismi,

   *  film_dosyasi.cue
   *  film_dosyası.bin

Bu iki dosya oluştuktan sonra cdrdao yardımı ile kolayca CD ye yazdırılabilir

Kod:
 cdrdao write --device ATAPI:0,1,0 --driver generic-mmc-raw --speed 4 film_dosyasi.cue

Kısaca komutu açıklamak gerekirse

write  
yazma modusuna geç
--device 
kullanılan aygıt numarası, bizim kullandığımız 0,1,0
--driver 
aygıt ile kullanılacak sürücü ismi
--speed  
cd yazıcının hızı
film_dosyası.cue
oluşturduğumuz CUE dosyası

Eğer hata olursa ve kernel 2.6 serisi kullanıyorsanız şunuda deneyebilirsiniz.

Kod:

cdrdao write --device /dev/hdc --driver generic-mmc-raw film.cue

ISO dosyalarını yakmak

ISO formatındaki dosyaların yakmak için verebileceğiz komut gene cdrecord ile

Kod: cdrecord

cdrecord -v -isosize -pad -dao dev=ATAPI:0,1,0 speed=4 dosya_ismi.iso

2.6 Serisi bir çekirdek kullanıyorsanız şu şekilde de yazabilirsiniz. Burda cd yazıcı aygıtımızın /dev/hdc olduğunu varsayıyoruz.


Kod: cdrecord

cdrecord dev=/dev/hdc dosya_ismi.iso

BIN/CUE formatındaki dosyaları yazdırmak

Hazır bin/cue dosyalarını yakmak için gene yukardaki komutun aynısını kullanabiliriz

Kod:
   cdrdao write   --device  ATAPI:0,1,0   --driver generic-mmc-raw     --speed 4   film_dosyasi.cue

Yukarda da dediğimiz gibi hata halinde aşağıdaki komutuda deneyebilirsiniz.

Kod:

cdrdao write --device /dev/hdc --driver generic-mmc-raw film.cue

MP3 dosyalarından AUDIO CD oluşturmak

AudioCD oluşturmak için izleyeceğimiz yöntem biraz detaylı.Ancak burdaki anlatılanları bir skript haline getirirseniz, göreceksiniz ki bütün iş sadece bu skripti çalıştırıp keyfimize bakmak. Şimdi ilk önce mp3 dosyalarının WAV dormatına çevrilmesi gerekir. Bunun için aşağıdaki komutu kullanabilrisiniz. Aşağıdaki komutu mp3 dosylarının bulunduğu dizin altında uyguluyoruz. Ve WAV dosyaları oluştuktan sonra bütün WAV dosyalarının toplam MB olarak değerinin 700MB li bir cd ye sığabilecek şekilde olmasına dikkat edin, yoksa boşuna bir cd harcarsınız. Yada yakacak olduğunuz CD nin MB değerine tahminen denk gelecek olmasına dikkat edin. mp3 dosyalarını wav formatına çevirmek için

Kod:
   for  i   in  *.mp3 ; do  lame   --decode  $i   `basename $i   .mp3 ` .wav ; done

Bu komut uygulandıktan sonra , dizin altındaki her mp3 dosyasının bir wav dosyası oluşturulur. Wav dosyaları oluştuktan sonra bunlar indexlememiz gerekir. Bunun içinde bize "wav2dao" adındaki skript yardımcı olacaktır


Kod: wav2dao
    wav2dao   -n  -o   my_audio_cd.toc   *.wav

Bu işlem çok kısa sürer ve "my_audio_cd.toc" adında bir dosya oluşur. Bu dosya basit bir text dosyasıdır ve CD ye yazdırılacak olan dosyaların listesi yazılıdır. Merak edenler dosyayı herhangi bir editor ile açıp bakabilir. İsteğinize göre değiştirebilir veya başka bir ilave yapabilir veya CD birlikte yakılmasını istemediğniz parçaları silebilirsiniz. "my_audio_cd.toc" dosyamızı oluşturduktan sonra cdrdao kullanarak audiocd yakılmaya artık hazırdır

Kod:
   cdrdao write --driver generic-mmc-raw   --device ATAPI:0,1,0 --speed 20 my_audio_cd.toc

Eğer fazla RAM yoksa, buffer yaptırabilrisiniz

Kod:
 cdrdao  write   --driver generic-mmc-raw   \
  - -device ATAPI:0,1,0  \
  --speed 20   \
  --buffers 128 \
  my_audio_cd.toc

Hepsi bu kadar. CD artık otomatikman yazılmaya başlayacaktır.

CD-RW (tekrar yazılabilir) CD'lerini silmek

CD-RW 'ler iki farklı yöntemler silinebilir. Hızlı yöntem ( fast )

Kod:

cdrecord dev=ATAPI:0,1,0 blank=fast -force

Uzun yöntem (all)

Kod:

cdrecord dev=ATAPI:0,1,0 blank=all -force

Tips: CD yazıcınıza taktığınız Rohling (boş, yazılmamış CD) hakkında bilgi almak istiyoranız aşağıdaki komutu verin ve çıkan sonuçları inceleyin

Kod:

cdrecord -atip dev=ATAPI:0,1,0


Yine 2.6 çekirdek kullananlar için dev=ATAPI:0,1,0 yerine dev=/dev/hdc yazılabilir.

DATA (veri-dosya) CD'si yazdırmak

Komut satırından veri cd'si yazdırmak için en kolay 3 adım takip edilebilir. Kısaca şöyle İlk önce IMAGE dosyası oluşturulur CDROM ımagesi oluşturmak için

Kod:

dd if=/dev/scd0 of=/tmp/cdrom.img bs=2048

Bir dizinden bir image oluşturulur

Kod:

mkisofs -o /tmp/dizin.img -r -T -V System_2002_02 /home/erkaN/

Oluşturulan IMAGE dosyasının sağlam olup olmadığı kontrol edilir

Kod:

mkdir /mnt/isotest
mount -t iso9660 -o loop,ro /tmp/IMAGE_ISMI.img /mnt/isotest/

Not: /mnt/isotest dizinin içine girin ve dosyaların eksiksiz olup olmadığını kontrol edin. Oluşturulan IMAGE dosyası cdrecord yardımı ile yazdırılır

Kod:

cdrecord -v speed=4 dev=ATAPI:0,1,0 /tmp/image_ismi.img

VideoCD (vcd) "rip" etmek

Yukardaki bölümlerde size nasıl VCD oluşturabileceğimizi anlattık. Şimdi bu işlemin tersini yapacağız. Yani normal bir VCD den MPG dosyası oluşturacağız

Kod:
 vcdxrip  -p

Bu işlem ile VCD içindeki tracks'lar harddiske avseq01.mpg olarak aktarılır. Mpg dosyaları dışında bir de videocd.xml adında bir dosya daha oluşur. Bu dosya ile isteseniz tekrar bin/cue dosyası oluşturabilirsiniz.

Kod:
 vcdxbuild  videocd.xml

Bu komutun uygulanmasından sonra bin/cue dosyaları oluşur.

Bir VCD den başka bir VCD oluşturmak

Bunun için ilk önce VCD yi okutup, sonrada boş cd ye yazdıracapız. (dikkat: 0,0,0 normal cdrom, 0,1,0 cd yazıcı olarak kabul ettik) İlk öne okutturalım

Kod:
    cdrdao read-cd  --device ATAPI:0,0,0  --driver generic-mmc-raw movie.toc

Tips: Bazen VCD de okuma hatası veya cizikler olabilir. Şansınızı aşağıdaki komut yardımı ile deneyebilir ve belkide CD yi kurtarabilrisiniz. (--read-raw parametresini ekliyoruz sadece)

Kod:
 cdrdao  read-cd   --device ATAPI:0,0,0   --driver generic-mmc-raw  --read-raw movie.toc

Sonra başka bir CD ye yazdıralım

Kod:
 cdrdao write   --device ATAPI:0,1,0  --driver generic-mmc-raw   movie.toc

Tips: yukardaki komuta --overburn parametresi ilave edilerek CD kapasitesinin sınırları zorlanabilir. Mesela 700 MB alan bir CD ye 800 MB yazdırmayı deneyebilrisiniz.