[分享]利用FIFO(PIPE)即時燒錄

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

[分享]利用FIFO(PIPE)即時燒錄

文章企鵝狂 » 週五 1月 06, 2006 3:43 am

最簡單的是從Oreilly Linux 駭客一百招學來的

這之前也貼過KNOPPIX討論區
代碼: 選擇全部
curl http://ftp.tnc.edu.tw/KNOPPIX.iso | cdrecord  -v driveropts=burnfree speed=12 dev=/dev/hdc fs=8m -data -


curl 把抓下來的東西放到STDOUT
| 用pipe把curl的STDOUT傳到cdrecord的STDIN
cdrecord 就是燒錄程式
fs=8m cdrecord fifo的大小 越大當然越穩定,這有點類似燒錄機上的buffer


這是基礎燒錄cd的方法
如果要燒DVD就要用growisofs(或也許cdrecord.prodvd也行,但我沒有試過)

growisofs的語法像這樣
代碼: 選擇全部
growisofs -dvd-compat -Z /dev/dvd=image.iso

這裡的image.iso好像就不能用 - 取代?

所以乾脆自己建立一個FIFO

代碼: 選擇全部
mkfifo /tmp/iso
wget ftp://debian.rocks/DVD.iso -O /tmp/iso


這時候wget還不會開始抓...
開另外一個terminal

代碼: 選擇全部
growisofs -dvd-compat -speed=4 -Z /dev/hda=/tmp/iso


growisofs一邊燒 wget就會一邊抓
這個在區網或是學校裡面應該很好用


另外還有一種情況就是..下載Solaris DVD的時候..他把一個iso分成很多個檔案..
要你自己用cat合併起來...真討厭..那就把他合併到fifo然後燒起來吧..

代碼: 選擇全部
cat sol-10-x86-[1234] >/tmp/iso


之後也是一樣執行growisofs囉..

sol-10-x86-[1234]代表
sol-10-x86-1 sol-10-x86-2 sol-10-x86-3 sol-10-x86-4 四個檔案..這是正規表示式吧

P.S.growisofs好像沒有辦法像cdrecord一樣設定fifo size

P.S.常看到的還有wget搭配tar解壓縮 (但是zip rar就沒有支援這種...)

不知道還有沒有其他pipe有趣玩的東西呢?
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國

文章訪客 » 週五 1月 06, 2006 9:05 am

大推!從來不知道 pipe 還可以這樣用~ windows 下面應該沒有這麼爽的事吧...

唔...cygwin 也許可以...
訪客
 

Re: [分享]利用FIFO(PIPE)即時燒錄

文章訪客 » 週五 1月 06, 2006 10:50 am

因為不太了解, 所以想問個問題,

要是中途網路斷線了呢??

這樣不就燒出飛盤了??


謝謝
訪客
 

文章企鵝狂 » 週五 1月 06, 2006 12:56 pm

如果是搭配cdrecord 因為有個cdrecord自訂的fifo在緩衝...
我燒knoppix光碟的時後斷線過幾次...

wget會自動重抓 :) 然後fifo只要沒有空就可以很安全的燒完

我抓knoppix是透過proxy抓校外喔..

growisofs沒有辦法設定一個fifo在那邊緩衝...也許可以試試看cdrecord-prodvd之類的..

要玩這個..最好就是...你是用學術網路..目標檔案也是學術網路或是很快..

不然..就是區域網路之間的電腦

中途斷線的話是的..會變成飛盤
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國


回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客