在下載檔案的時候,有時候開發者會建議使用者要檢查檔案完整性。這可以確保使用者下載的檔案是完整無毀損的。也可以杜絕載到病毒的可能性。
通常,檔案提供者會提供一個校驗碼(checksum,又稱雜湊值、哈希值)讓使用者比對,只要你計算出來的結果跟它正確,則能夠確保檔案是完整的。
校驗碼通常是透過各種加密演算法生成的,例如MD5、SHA-1、SHA-256、SHA-512等等。
Linux有很多工具可以用來檢查校驗碼。
1. 圖形界面#
桌面環境有的會提供校驗碼檢查工具。
例如KDE Dolphin,右鍵點選檔案 → 內容 → 總和檢查碼,這裡可以比對檔案。
獨立的程式則是有:gtkhash。XFCE用戶可以安裝thunar-gtkhash搭配Thunar使用,使之出現在右鍵選單。
2. 指令#
Linux系統通常內建命令行工具可以生成校驗碼,同樣地,他們也能用來檢查檔案校驗碼。
不過,這些是分開的命令行工具,需要個別安裝:
sudo apt install md5sum sha1sum sha256sum sha512sum檢查校驗碼的方式類似,都是在後面加上-c參數,傳入要比對的校驗碼檔案列表。
校驗碼檔案列表應該是以一個.txt或者純文字檔案儲存,該檔案含有校驗碼與檔案名稱的對應表。舉例來說,Ubuntu的ISO下載頁面會包含一個SHA256SUMS檔案,裡面結構大概長這樣:
7463a *ubuntu-26.04-desktop-amd64.iso
82cbf *ubuntu-26.04-live-server-amd64.iso
c77ca *ubuntu-26.04-wsl-amd64.wsl將SHA256SUMS檔案下載下來,把它與ISO放在同一個目錄。
然後輸入這個指令,進行比對,顯示OK或Success即表示檔案無修改過。
sha256sum -c SHA256SUMS

