xdelta3 檔案差異產生

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

※ 本篇很雜,完全屬於個人使用導向,所有敘述僅供參考。(部份時期此文將會偷偷隱藏)

  本篇出撰於 2010/04/26,因此部份內容僅供參考。如相關程式有更新的、變動,請瀏覽者自行判斷。

簡介

xdelta3 是來自 http://xdelta.org 製作的程式。目前沒有官方使用者介面,只能透過純指令或寫批次檔來執行。
  • 主要功能是產生檔案的差異檔
  • 主要應用:更新、升級、補丁
  • 特殊應用:降級、還原早期版本、混淆視聽的偷天換日機密性交流(?)


概念說明(?)


A檔(已存在的檔案/舊版本的檔案) + 差異檔(由xdelta3所產生)=B檔(更新目的檔案/新產生的檔案)



EX:
A檔 50MB、B檔 65MB,
經過 xdelta3 判斷察覺A變B時,只需要將A的部份修改20MB就可以補成B!
那時差異檔就會是那 20MB。

他不是用文字模式來辨識相異,所以任何格式的檔案都可以!!
兩個檔案內容差異越小的,差異檔會越小、越容易發佈!


更新應用的前提

  • 對方必須要先有A檔(舊版本檔案),否則無法升級。


什麼時候不適合使用?

當差異檔比B(更新目的檔)還要大的時候,基本上除非是要掩人耳目秘密交流。(或是特殊情形只提供給已有A檔案的人使用)
否則你直接發佈B,還比發佈差異檔來得划算!


操作說明

前置動作

必要檔案

    • 製作差異檔的時候,要把「A檔」(舊檔)、「B檔」(新檔)、工具程式,都放在同一個資料夾下。(其實也可以不要,只要你懂得給完整的路徑並下對的指令。)
    • 要更新的時候,則要把「A檔」(舊檔)、「xxxxx」(差異檔)、工具程式都放在同一個資料夾下。(同上方括號XD)
  1. 之後用命令提示字元(cmd.exe)下達指令 或 透過編寫批次檔(*.bat)之後另存並執行。(或其他相同目的的各種命令方式)


主要指令

製作用指令

  • 說明
xdelta3 -e -s "舊檔" "要更新的目的檔案" "差異檔案"
  • 舉例
xdelta3 -e -s "A.jpg" "B.jpg" "A_to_B_update.diff"


合成用指令(用來產生新檔或目的檔)

  • 說明
xdelta3 -d -s "舊檔" "差異檔案" "最後會產生的更新檔案"
  • 舉例
xdelta3 -d -s "A.jpg" "A_to_B_update.diff" "B.jpg"
※ 只要檔名不要衝突到,在產生更新的新檔案時,就不會覆蓋到其他檔案。


その他

不過這種方式,要怎麼跟普通使用者說明更新動作反而比較麻煩XD


GUI

GUI For xdelta
雖然之前提過,官方並沒有發佈GUI使用者介面。
但仍然有其他使用者,有私下自發性撰寫過。目前搜尋到的如下。(注意,這兩種GUI我都沒有使用過。不保證其安全與可用性。)


  1. 中國網友自發性製作相關GUI使用者介面,請參考這邊的大略簡介
  2. 還有一個 GUI For xdelta:撰寫者 Ahmet Emre Aladag
    但這看起來撰寫時間有點久遠,不確定會不會影響控制。







雜談

簡單來說有收過舊版本的人,只要下載新的差異檔並執行更新就會產生新版本,且舊版本不會被覆蓋。
對收過舊檔的人來說,更新會比較快速、容易。
因為差異檔通常都比發布的檔案要小很多(差異點越少,產生的檔案越小)

他的原理應該是比對新、舊檔案的相異點,然後產生差異檔(裡面紀錄新舊的差異)。
所以發布者最後只需要發布那個差異檔,就可以讓對方完成更新。

更新的時候只要下載差異檔,然後下指令更新成新的檔案。
舊檔不會被覆蓋,新檔案則會基於「舊檔+差異檔」合成新的檔案。

(在特殊應用的時候,也可以解釋成「指定檔案 + 差異中介檔」可以合成「目的檔案」)

實際測試後他合成後的檔案,除了內容吻合之外。
MD5、CRC32...等驗證都會完全符合!可以完全變成一模一樣的新檔案!
對於修改很少的大型檔案來說,是很方便的更新工具。

目前觀察中,只要兩個檔案差異極小,差異檔會比主檔案小。
應該是因為它只紀錄差異部份,在發布更新方面的應用上應該是有益的。


その他

其他有相同效果的軟體

  • WinPatch
    • 但是他是早期199X就有的程式,雖然有使用者介面但並不支援 Unicode。
      且官方網站早已倒閉(?),維護跟更新安全應該就根本沒有了吧,又是需要序號的付費軟體。(不知道要向誰買XDDD)

      雖然是這樣說,其實這套軟體對「一對一」檔案更新會比較不方便,因為它的操作概念是「資料夾對資料夾」整體更新。
      弄個不好,很有可能會在更新的時候誤刪掉其他檔案XDD 會超囧的XDDDD

    • 部分教育用FTP站台可能有此軟體跟中文化使用包。
      但是否能在企業用,或者程式是否會有BUG之不良影響則是未知數XD!

      (雖然本篇介紹的這程式也是未知數啦XD 沒辦法人家還在研發中嘛~)


リンク


推薦相關說明網站


以下是本 Wiki 平台提供者 atwiki.jp 所提供的廣告