Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีตรวจสอบและยืนยัน Checksums ใน Linux

Checksum คือสตริงข้อความที่ได้จากซอฟต์แวร์โดยใช้ hash function ไม่มี checksum สองตัวที่เหมือนกัน หากดาวน์โหลดซอฟต์แวร์จากอินเทอร์เน็ต วิธีหนึ่งตรวจสอบความสมบูรณ์คือเปรียบเทียบ checksum กับที่เว็บไซต์ให้มา หากตรงกัน ซอฟต์แวร์แท้และไม่ถูกแก้ไข บทความนี้แนะนำวิธีตรวจสอบและยืนยัน checksums ใน Linux

แม้ทำได้ง่ายใน terminal แต่ที่นี่จะเรียนรู้วิธีตรวจสอบและยืนยัน checksums ด้วยเครื่องมือกราฟิก: GtkHash ที่เรียบง่ายมาก

การติดตั้ง

สำหรับดิสโทรส่วนใหญ่ หา GtkHash ได้ใน package manager หรือ Software Center หากอยู่ Ubuntu หรือดิสโทรที่เข้ากันได้และติดตั้งจาก terminal:

sudo apt install gtkhash

openSUSE: ต้องเพิ่ม repository ก่อนติดตั้ง ดูข้อมูลเพิ่มเติมที่นี่

Arch และ Manjaro:

sudo pacman -S gtkhash

ติดตั้งเสร็จ หาในแอปที่ติดตั้งแล้วและรัน

สร้าง Hashes

อินเทอร์เฟซ GtkHash ตรงไปตรงมา คำนวณ hashes สำหรับไฟล์หนึ่งหรือหลายไฟล์: คลิกปุ่ม "Add" มุมซ้ายบน

ชี้ requester ไปที่ตำแหน่งไฟล์และเลือก สามารถเลือกหลายไฟล์ได้โดยค้าง Ctrl คลิก แล้วคลิก "Open" มุมขวาบน

รายการ GtkHash จะเติมไฟล์ที่เลือก เพิ่มไฟล์เพิ่มได้โดยทำซ้ำขั้นตอนก่อนหน้า

คลิกปุ่ม "Hash" มุมขวาล่างหน้าต่าง GtkHash เพื่อคำนวณ hashes สำหรับไฟล์ทั้งหมดในรายการ

GtkHash คำนวณหลายประเภท hash โดยค่าเริ่มต้น และแสดงในคอลัมน์ข้างไฟล์แต่ละตัว

คัดลอก hash ของไฟล์ไป clipboard: คลิกขวาบนไฟล์ เลือกประเภท hash ที่ต้องการจาก submenu "Copy Digest" แล้ววาง hash ที่คัดลอกไว้ที่อื่น

หรือบันทึก hash ลงไฟล์ผ่าน "File -> Save As"

ตรวจสอบ Hashes

ตรวจสอบความสมบูรณ์ข้อมูลไฟล์ด้วย GtkHash: เลือก "File -> Open" เลือกไฟล์ hash ที่มาพร้อมไฟล์หลัก ไฟล์ hash ปกติมี extension "sha1", "md5", หรือ "sfv" GtkHash รองรับยอดนิยมทั้งหมด

โหลดไฟล์เสร็จ คลิกปุ่ม "Hash" มุมขวาล่าง GtkHash จะคำนวณและเปรียบเทียบ hash ของไฟล์กับที่รายงาน และแสดงผล ในสกรีนช็อตของเรา มี 2 matches และ 2 failures

Hashes เพิ่มเติม

GtkHash มาพร้อม hashing algorithms ยอดนิยมเปิดอยู่ แต่ไม่ใช่ทั้งหมดที่รองรับ สำหรับเพิ่มเติม ไปที่ "Edit -> Preferences"

เลือกได้จาก hash functions หลายสิบตัว จะพบตัวที่ต้องการแน่นอน

เปรียบเทียบ Checksum จาก Terminal

หากอยู่ในสภาพแวดล้อม server วิธีเดียวเปรียบเทียบ checksum คือผ่าน terminal โชคดีที่ตรวจสอบและสร้าง file hashes บน terminal ง่ายเท่า GUI ดิสโทรส่วนใหญ่มาพร้อมเครื่องมือสำหรับงานนี้ ยอดนิยม:

  • md5sum
  • shasum
  • sha256sum
  • sha384sum
  • sha512sum

การใช้งานง่าย เพราะทำงานเหมือนกันทุกตัว: พิมพ์ชื่อคำสั่ง ตามด้วยชื่อไฟล์ที่ต้องการคำนวณ hash ตัวอย่าง คำนวณ SHA-512 hash สำหรับ Arch Linux installation ISO ที่ดาวน์โหลด:

sha512sum archlinux-2020.05.01-x86_64.iso

sha512sum คือคำสั่งสำหรับ hash algorithm ที่เลือก หลังรอสักครู่ จะเห็น SHA-512 hash บนหน้าจอ

อนาคตอาจต้อง re-check ไฟล์ จึงตัดสินใจ output ผลลัพธ์ลงไฟล์แทนหน้าจอ คำสั่ง hash ไม่มีฟังก์ชันนี้ เพราะใน Linux แค่ redirect ด้วย > หลังคำสั่งและชื่อไฟล์ output จะบันทึกในไฟล์แทนการพิมพ์บนหน้าจอ ใช้ sha256sum ได้:

sha256sum archlinux-2020.05.01-x86_64.iso > archlinux-2020.05.01-x86_64.iso.sha256

จะ output ผลลัพธ์ลง text file ทั่วไป ที่จะพบ hash ของไฟล์ตามด้วยชื่อไฟล์

ตรวจสอบไฟล์กับ hash ของมัน: เพิ่มสวิตช์ -c ให้คำสั่ง และใช้ไฟล์ hash แทนไฟล์จริง กล่าวคือ:

sha256sum -c archlinux-2020.05.01-x86_64.iso.sha256

แม้ตรวจสอบ checksums ใน Linux ง่าย แต่น่าจะไม่สมจริงที่จะตรวจสอบ hash ทุกไฟล์ ควรทำสำหรับข้อมูลสำคัญหรือ Linux ISO ที่ดาวน์โหลดจากเว็บ หากใช้ Mac วิธีเดียวกันใช้ได้