apt-listchanges: ดูซิ มีอะไรใหม่
อยากรู้ว่าแพกเกจที่ปรับเป็นรุ่นใหม่ทุกวันเนี่ย มีอะไรใหม่ใช่ไหม? มีเครื่องมือให้อ่าน changelog ก่อนติดตั้งได้ คือ apt-listchanges
# aptitude install apt-listchanges
แพกเกจจะถามว่าต้องการอ่าน changelog แบบไหน ระหว่าง:
- pager โดยใช้ more หรือ less อ่านทีละหน้าในโหมดตัวอักษร
- browser โดยเปิดแบบ HTML ในเว็บเบราว์เซอร์
- xterm-pager, xterm-browser เหมือน pager, browser ตามลำดับ แต่เปิดใน xterm ต่างหาก
- text โดยแสดงออกทางเทอร์มินัลโดยไม่มีการหยุด
- mail โดยส่งเป็นเมล
- none ไม่ต้องแสดง
โดยทั่วไป แบบ pager น่าจะเหมาะที่สุด แต่ถ้าระบบของคุณสั่งปรับรุ่นแบบอัตโนมัติ (เช่น ผ่าน cron) ก็อาจจะใช้แบบ mail
รายการเปลี่ยนแปลงที่แสดงจะมีสองชนิด คือ changelogs กับ news ซึ่งสามารถเลือกได้ ว่าจะอ่านอย่างใดอย่างหนึ่งหรือทั้งสองอย่าง ถ้าคุณขี้เกียจอ่าน อย่างน้อย ๆ ก็ขอแนะนำให้อ่าน news เพราะจะเป็นการประกาศข่าวที่สำคัญเกี่ยวกับแพกเกจ เช่น การเปลี่ยนรูปแบบ configuration file, การย้ายที่ของไฟล์, ปัญหาร้ายแรงที่พบในรุ่นก่อนและวิธีแก้ไข ฯลฯ ส่วน changelogs นั้น เป็นรายการเปลี่ยนแปลงอย่างละเอียด ว่ารุ่นนี้ผู้ดูแลทำอะไรเพิ่มเติมไปบ้าง
apt-listchanges จะแสดงเฉพาะรายการที่เปลี่ยนแปลงเพิ่มจากการติดตั้งครั้งล่าสุดของเราเท่านั้น (ถ้าอยากอ่านทั้งหมดก็กำหนดได้) หลังจากอ่านเสร็จแล้ว ก็ออกจาก pager โดยกด q มันจะถาม ว่าจะดำเนินการติดตั้งต่อไปหรือไม่ (ถ้าจะไม่ให้มันถาม ก็ตั้งค่าได้อีกเหมือนกัน) ก่อนที่จะเริ่มแตกและตั้งค่าแพกเกจต่างๆ
อีกวิธีหนึ่งที่จะอ่าน changelog ได้โดยไม่ต้องดาวน์โหลดแพกเกจมาก่อน คือใช้คำสั่งของ aptitude:
# aptitude changelog package
แต่เนื่องจาก aptitude ไม่ได้มีการติดตามการอ่าน changelog ของเรา มันจึงแสดง changelog ทั้งหมดของแพกเกจตั้งแต่ต้นจนจบเสมอ
ผมว่า ใช้ apt-listchanges นั่นแหละ ลงตัวที่สุดแล้ว
การอ่าน changelog นอกจากทำให้ได้รู้ความเปลี่ยนแปลงของแพกเกจต่างๆ แล้ว ยังทำให้ได้เรียนรู้กระบวนการทำงานในชุมชนเดเบียนไปด้วย คุณจะได้สังเกตเห็นองค์ประกอบต่างๆ ของการอัปโหลดแต่ละครั้ง เช่น:
- version สังเกตการนับรุ่นของแพกเกจ เช่น 2.16.2-3.1 หมายถึง upstream version 2.16.2 ซึ่งนำมา build เป็น deb โดยผู้ดูแลแพกเกจเองเป็นรุ่นที่ 3 และ รุ่นนี้ เป็น Non-maintanier upload (NMU) ครั้งที่ 1 ซึ่ง NMU หมายถึงการอัปโหลดโดยผู้ที่ไม่ใช่ผู้ดูแลแพกเกจโดยตรง อาจจะเพื่อช่วยแก้ปัญหาบางอย่างแทน ในระหว่างที่ผู้ดูแลเองไม่สะดวกจะทำเอง
- urgency แพกเกจปกติจะอัปโหลดด้วย urgency=low ซึ่งแพกเกจจะใช้เวลาอยู่ใน unstable 10 วัน ก่อนย้ายเข้า testing เป็นการเปิดโอกาสรับ bug report และแก้ไขก่อน ส่วน urgency=medium จะใช้เวลา 5 วัน ใช้ในกรณีที่แก้ bug ร้ายแรง นอกจากนี้ก็มี urgency=high และ critical อีก ซึ่งจะใช้กับกรณีรีบด่วน เช่นการแก้ security bug เท่านั้น
- unstable/experimental เป็นการระบุว่า แพกเกจนี้ อัปโหลดเข้า unstable (sid) โดยตรง หรือเข้า experimental
- closes: #xxxxxx เป็นการระบุ bug ที่แพกเกจนี้ปิด ซึ่งระบบอัปโหลดแพกเกจของเดเบียนจะอาศัยข้อมูลตรงนี้ สื่อสารกับระบบ Bug Tracking System เพื่อปิดบั๊กโดยอัตโนมัติ
- คำศัพท์อื่นๆ ที่จะพบ ส่วนมากมักเป็นตัวย่อ เช่น NMU, RC bug, FTBFS ใครที่เคยอ่าน New Maintainer's Guide หรือเอกสารอื่นๆ ของเดเบียน คงจะผ่านตามาบ้าง คุณจะได้เห็นการใช้คำเหล่านี้ในบริบทจริง และทำให้เข้าใจการใช้งานมากขึ้น เมื่ออ่าน changelog ไประยะหนึ่ง
news และ changelog ของแพกเกจต่างๆ จะเก็บไว้ที่ไดเรกทอรี /usr/share/doc/package
ในชื่อ NEWS.Debian.gz และ changelog.Debian.gz ซึ่งคุณสามารถอ่านได้ทุกเวลาที่ต้องการ นอกเหนือจากการอ่านจาก apt-listchanges
- thep's blog
- Log in to post comments
![]() |
ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้ |