ใช้ apt แบบออฟไลน์ด้วย apt-zip

ตามปกติ การติดตั้งและปรับรุ่นเดเบียนผ่านระบบ apt จะสะดวกสบาย ถ้ามีการเชื่อมต่อกับอินเทอร์เน็ต แต่ในบางสถานการณ์ คุณอาจจำเป็นต้องใช้ apt โดยไม่มีอินเทอร์เน็ต หรือมีแบนด์วิดท์ต่ำ ในกรณีเช่นนั้น คุณยังสามารถยืมใช้เครือข่ายอื่นในการดึงข้อมูลมาให้ระบบ apt ของคุณผ่านสื่อเก็บข้อมูลเช่น thumb drive ได้ โดยใช้แพกเกจ apt-zip

# apt-get install apt-zip

การใช้ apt-zip จะแบ่งเป็นสามขั้นตอน

  1. การเตรียมดาวน์โหลด โดยใช้คำสั่ง apt-zip-list สร้างสคริปต์สำหรับดาวน์โหลดลงในสื่อเก็บข้อมูล
  2. การดาวน์โหลด โดยนำสื่อเก็บข้อมูลไปเสียบกับเครื่องที่จะใช้ดึงข้อมูล แล้วเรียกสคริปต์ที่เตรียมไว้ (สามารถเป็นได้ทั้งลินุกซ์ ยูนิกซ์ และดอส)
  3. การติดตั้งแพกเกจ โดยใช้คำสั่ง apt-zip-inst ที่เครื่องคุณเอง เพื่อติดตั้งแพกเกจที่ดาวน์โหลดมาในสื่อเก็บข้อมูล

ตามปกติ การใช้ apt จะแบ่งเป็นสองขั้นตอน คือการ update รายชื่อแพกเกจ และการดึงแพกเกจปรับรุ่น หรือติดตั้งแพกเกจเพิ่มเติม เรามาดูการทำขั้นตอนเหล่านี้ผ่าน apt-zip กัน

apt-get update

ถ้าปัญหาของคุณคือแบนด์วิดท์ต่ำเท่านั้น ก็อาจสั่ง apt-get update ที่เครื่องคุณได้เลย โดยถ้า update บ่อย การถ่ายโอนข้อมูลแต่ละครั้งจะมีเพียงส่วนเปลี่ยนแปลงเท่านั้น ไม่นานเกินรอ ในกรณีนี้ คุณก็ข้ามไปอ่านขั้นตอนถัดไปได้เลย

แต่ถ้าปัญหาคุณคือไม่มีอินเทอร์เน็ตเลย ก็อาจใช้ apt-zip ช่วย

  1. เตรียมดาวน์โหลด โดยเสียบ thumb drive สมมุติว่าเดสก์ท็อปของคุณเมานท์ thumb drive ไว้ที่ /media/HANDYDRIVE ก็สั่ง:
    $ apt-zip-list --medium=/media/HANDYDRIVE --skip-mount \
      --no-md5 --options=tar=tar --aptgetaction=update
    
    • --medium=/media/HANDYDRIVE กำหนดไดเรกทอรีของสื่อเก็บข้อมูลที่จะใช้
    • --skip-mount กำหนดให้ไม่ต้องเมานท์อุปกรณ์ ในเมื่อเดสก์ท็อปช่วยเมานท์ให้แล้ว แต่ถ้าคุณใช้อุปกรณ์อื่นที่ต้องเมานท์ก่อน ก็กำหนดไดเรกทอรีที่เมานท์ใน --medium ซึ่งต้องมีรายการใน /etc/fstab ด้วย แล้วไม่ต้องใส่ --skip-mount นี้อีก
    • --no-md5 กำหนดให้ไม่ต้องตรวจสอบ MD5 sum ของไฟล์ที่ดาวน์โหลดมา ตรงนี้จำเป็นสำหรับขั้นตอน apt-get update นี้ เนื่องจากเรายังไม่รู้ขนาดและเนื้อหาของรายชื่อแพกเกจ แต่ในขั้นตอนอื่นถัด ๆ ไป การตรวจสอบ MD5 sum ก็ช่วยให้แน่ใจว่าได้แฟ้มที่ครบเต็มมา
    • --options=tar=tar ระบุให้ใช้โปรแกรม tar ในการอัดแฟ้มที่ดาวน์โหลดมา นี่ก็จำเป็นเฉพาะสำหรับขั้นตอน apt-get update เช่นกัน
    • --aptgetaction=update ระบุว่าเรากำลังทำขั้นตอน apt-get update

    หลังจากทำคำสั่งนี้แล้ว จะได้แฟ้ม apt-zip.options และ fetch-script-wget-{ชื่อโฮสต์} ในสื่อเก็บข้อมูล ซึ่งสามารถนำไปสั่งที่เครื่องที่ต่ออินเทอร์เน็ตได้

  2. ดาวน์โหลด โดยนำ thumb drive ไปเสียบที่เครื่องที่ต่ออินเทอร์เน็ต แล้วเรียกสคริปต์ fetch-script-wget-{ชื่อโฮสต์} ที่เตรียมไว้
  3. ติดตั้ง โดยนำ thumb drive กลับมาเสียบที่เครื่องของคุณ แล้วสั่ง
    # apt-zip-inst --medium=/media/HANDYDRIVE --skip-mount \
      --aptgetaction=update
    

    ระบบจะแตกรายชื่อแพกเกจที่ดาวน์โหลดไว้มาใส่ในเครื่อง

apt-get [dist-]upgrade

  1. เตรียมดาวน์โหลด
    $ apt-zip-list --medium=/media/HANDYDRIVE --skip-mount \
      --aptgetaction=dist-upgrade
    

    ดูรายละเอียดของตัวเลือกต่าง ๆ ได้ในหัวข้อ apt-get update ข้างต้น สังเกตว่าไม่จำเป็นต้องใช้ตัวเลือก --no-md5 และ --options ในที่นี้ และคุณสามารถเปลี่ยนตัวเลือก --aptgetaction จาก dist-upgrade เป็น upgrade หรือ dselect-upgrade ได้ตามความต้องการ

  2. ดาวน์โหลด โดยนำ thumb drive ไปเสียบที่เครื่องที่ต่ออินเทอร์เน็ต แล้วเรียกสคริปต์ fetch-script-wget-{ชื่อโฮสต์} ที่เตรียมไว้
  3. ติดตั้ง โดยนำ thumb drive กลับมาเสียบที่เครื่องของคุณ แล้วสั่ง
    # apt-zip-inst --medium=/media/HANDYDRIVE --skip-mount \
      --aptgetaction=dist-upgrade
    

    ระบบจะเรียก apt-get เพื่อติดตั้งแพกเกจที่ดาวน์โหลดมา (อย่าลืมใช้ --aptgetaction ให้ตรงกับตอนเรียก apt-zip-list ด้วย)

apt-get install package(s)

  1. เตรียมดาวน์โหลด
    $ apt-zip-list --medium=/media/HANDYDRIVE --skip-mount \
      --packages=a,b,c
    

    สังเกตว่าเราไม่ใช้ตัวเลือก --aptgetaction ในที่นี้ แต่ใช้ตัวเลือก --packages=... ตามด้วยชื่อแพกเกจที่ต้องการติดตั้ง คั่นด้วยจุลภาค

  2. ดาวน์โหลด โดยนำ thumb drive ไปเสียบที่เครื่องที่ต่ออินเทอร์เน็ต แล้วเรียกสคริปต์ fetch-script-wget-{ชื่อโฮสต์} ที่เตรียมไว้
  3. ติดตั้ง โดยนำ thumb drive กลับมาเสียบที่เครื่องของคุณ แล้วสั่ง
    # apt-zip-inst --medium=/media/HANDYDRIVE --skip-mount \
      --packages=a,b,c
    

    ระบบจะเรียก apt-get เพื่อติดตั้งแพกเกจที่ดาวน์โหลดมา (อย่าลืมใช้ --packages ให้ตรงกับตอนเรียก apt-zip-list ด้วย)

แถมท้าย

ถ้าคุณใช้ apt-zip บ่อย และรำคาญที่จะใส่ตัวเลือกบรรทัดคำสั่งทุกครั้ง ก็ไปกำหนดค่าไว้ใน /etc/apt/apt-zip.conf ได้ครับ ในนั้นมีคอมเมนต์อธิบายละเอียดทุกรายการ

นอกจากนี้ สคริปต์ที่สร้างนั้น สามารถกำหนดให้สร้างเป็น batch file สำหรับดอสได้ด้วย (ใน README เขาบอกว่า มุ่งให้ใช้กับ FreeDOS แต่บังเอิญ ;) ใช้กับ Windows ได้ด้วยเท่านั้นเอง) กล่าวคือ คุณสามารถถือ thumb drive ไปฝากดาวน์โหลดที่ร้านอินเทอร์เน็ตที่ใช้วินโดวส์ได้เหมือนกัน โดยเพิ่มตัวเลือก --method=wget-dos ขณะสั่ง apt-zip-list แล้วก็ไปดึง wget.exe และ md5sum.exe สำหรับดอสและ Win32 จากแหล่งเหล่านี้มาใส่ไว้ใน thumb drive:

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้