查看積分策略說明發表回覆
Discuz! 代碼
提示插入
直接插入
說明訊息

插入粗體文本 插入斜體文本 插入下劃線 置中對齊 插入超級連結 插入信件位址 插入圖像 插入 flash 插入代碼 插入引言 插入列表
刪除線 直線分隔線 虛線分隔線
    
添加文字底框
內容 [字數檢查]:

表情符號

更多 Smilies
字型大小 |||
溫馨提示:本區開放遊客瀏覽。


文章關鍵字 : [功能說明]
(關鍵字可加強搜索準確性, 如關鍵字多於一組, 請以 , 作分隔, e.g. : 阿笨,shiuh,第一笨)

 關閉 URL 識別 | html 禁用
 關閉 表情符號 | 表情符號 可用
 關閉 Discuz! 代碼 | Discuz! 代碼 可用
使用個人簽名
接收新回覆信件通知
推薦放檔網絡空間

檔案(Torent, zip等)
  1. freedl
  2. multiupload
  3. btghost
  4. 便當狗
  5. mediafire
  6. pillowangel
圖片(JPG, GIF等)
  1. hotimg
  2. tinypic
  3. mousems2
  4. imageshack
  5. imm.io
>>>歡迎推薦好用空間


最新10篇文章回顧
billylcm

 發表於 2010-5-8 04:47 PM

**本教學適用於 Linux/MacOS 和 Windows 作業系統**

各位大大好,這是我的第一篇教學文,本人中文不太好如有任何錯誤還請各位多多指點指點,小弟一定在最短的時間內修正.

Tar (或Tarball) 為 Unix Like 系統常用的打包程式,它可以將許多個檔案打包成一個檔案,由於本身並沒有壓所的機制,通常會搭配 gzip 或 bzip2 來減少使用空間,然而製作出的檔案附檔名通常為 tar.bz2 或 tar.gz,在 Windows 普遍天下的今天許多壓縮檔管理程式通常都已支持這類型的檔案.

但又由於 gzip 和 bzip2 並未提共加密機制,如要加密則必須再搭配可將檔案加密的程式,本文以 OpenSSL 的 des3 編碼為例,檔案以此加密的通常會附上 .des3 的附檔名.

1. 確認軟體
在開始前先確定本機裝有軟體 OpenSSL, Tarball, Gzip/Bzip2.

Linux/MacOS
目前 MacOS 及大部分的 Linux 預設都已經裝好相關套件,如沒有可以以管理員身分依據不同系統執行 apt-get install openssl tar (Debian-like 系統) 或 yum install openssl tar (RPM-base 系統) 來進行安裝.

Windows
必須下載 gnuwin32-libarchive, gnuwin32-libarchive-dep, gnuwin32-openssl
下載後開啟每個壓所檔內的 bin 資料夾,將附檔名為 .exe 和 .dll 複製到 C:\Windows\System32.
但由於原程式是以 UTF-8 編碼進行檔案命名而 Windows 是以 UTF-16 編碼,因此如檔案包含任何非 ASCII 字源 (如英文字母) 將無法正確顯是檔案名稱,在此建議安裝 Windows-Cygwin 系統 (請往下看) 解決此問題.

Windows-Cygwin
Cygwin 是一套融合 Windows 和 Unix-like 系統的系統,它允許使用者在 Windows 以 Unix-like 方式操作系統.
安裝 Cygwin 建議下載本人自行打包的 Cygwin 進行安裝,此檔案需的容量較小.下載後開啟壓縮檔並將 Cygwin 資料複製到 C:\ 並將 cygwin.bat 檔案複製桌面既可.然而也可於 http://www.cygwin.com 下載安裝程式, 執行後當詢問需安裝原件時選則 OpenSSL, Tar 既可.

2. 開啟 Terminal
接下來開啟 Terminal:


  • Windows 系統按 [窗戶] + R 後執行 CMD 開啟 Terminal.
  • Windows-Cygwin 可在桌面上找到 名為 cygwin.bat 或 cygwin 的捷徑, 按兩下執行既可.
  • MacOS 則在 Application 裡找.
  • Linux 因每個系統不一樣,但應該在選單裡找找就可以找到了.

開啟 Terminal 後以 cd 指令切換到檔案下載的資料夾. 下載檔案的附檔名通常為 .tar.gz.des3 或 tar.bz2.des3, 有些則還會多加 .partXX (XX為阿拉伯數字) 或 .xx (xx為英文字母),代表壓縮檔已被分割,需合成後才可解壓縮.

3. 合成檔案
如檔案未被分割則可以跳過此步驟,下面步驟將示範如何合成.

Linux/MacOS/Windows-Cygwin
在 Terminal 下執行:
cat [檔名].tar.gz.des3.part?? > [檔名].tar.gz.des3


Windows
在 Terminal 下執行:
copy /b [檔名].tar.gz.des3.part?? [檔名].tar.gz.des3


檔案合成後會產生一個 [檔名].tar.gz.des3 的檔案,此時可往下一步驟進行解壓縮動作.

4. 解壓縮
此步驟將示範如何解壓縮 [檔名].tar.gz.des3

Linux/MacOS/Windows-Cygwin
在 Terminal 下執行:
cat [檔名].tar.gz.des3 | openssl des3 -d -k [密碼] | tar zxf -


Windows
在 Terminal 下執行:
type [檔名].tar.gz.des3 | openssl des3 -d -k [密碼] | bsdtar zxf -


以上動作將把檔案解壓所到目前的資料夾,或可附上 -C [路徑] 既可將資料解壓所到指定的 [路徑].

註1: 當附上 -C [路徑] 時,如果目的路徑不存在將會發生錯誤.
註2: 如果附檔名為 .bz2 則需將指令 zxf 部分替換為 jxf.

5. 簡化
然而其實要將檔案合成再解壓所滿浪費時間和空間的,以下步驟將示範如何將合程和解壓縮動作一步驟完成

Linux/MacOS/Windows-Cygwin
在 Terminal 下執行:
cat [檔名].tar.gz.des3.part?? | openssl des3 -d -k [密碼] | tar zxf -


Windows
在 Terminal 下執行:
type [檔名].tar.gz.des3.part?? | openssl des3 -d -k [密碼] | bsdtar zxf -


就這樣,相信大家都有成功的解壓縮檔案,如沒有請檢查是否發生步驟 (4) 註解所提到的,並確認所下載的檔案是否完整. 如有任何問題或發現文章有錯誤歡迎回覆.

參考資料:
Encrypting a tar file using openssl

[billylcm 在  2010-5-11 03:05 AM 作了最後編輯]





所在時區為 GMT+8, 現在時間是 2024-5-2 07:41 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.016395 second(s), 7 queries , Qzip disabled