ห่างจากเน็ตมาหลายวัน กลับมา update debian อีกที พบว่า debian mirror ไม่มีการอัปเดตมาตั้งแต่วันที่ 4 พ.ย. แล้ว ส่วนสาเหตุนั้น ได้ทราบจาก ประกาศใน debian-devel-announce ว่าเครื่อง ries.debian.org หรือ ftp-master ของ debian มีปัญหาฮาร์ดแวร์ ซึ่งทาง admin กำลังสอบสวนหาสาเหตุอยู่

ผลของปัญหานี้คือ debian จะไม่มีการอัปเดตแพกเกจต่าง ๆ ชั่วระยะหนึ่ง รวมทั้งการเคลื่อนแพกเกจจาก unstable เข้า testing ก็จะหยุดชั่วคราวด้วยเช่นกัน

Topic: 

ผมเขียนบทความนี้ด้วยเจตนาอยากให้มีผู้อ่านหลายระดับ จึงขออภัยหากภาษาที่ใช้ดูฟุ่มเฟือยและอ่อนกำลัง

ลินุกซ์ในความหมายที่แท้จริง เป็นเพียง OS Kernel ที่ทำหน้าที่จัดสรรทรัพยากรต่างๆ ของระบบ ไม่สะดวกที่จะนำมาใช้งานโดยตรง เหล่านักพัฒนาจึงได้สร้างระบบติดต่อ (interactive system) ขึ้นมาครอบลินุกซ์เคอร์เนลเพื่อให้สามารถใช้งานได้สะดวกขึ้น สถาปัตยกรรมลินุกซ์ในปัจจุบันแบ่งออกได้เป็น 4 ระดับชั้น คือ kernel > shell > window manager > desktop environment

เราได้พูดถึงวิธีรายงานบั๊ก ผ่านบรรทัดคำสั่ง รวมทั้ง การเตรียมรายงานเพื่อส่งผ่าน webmail และ การติดตามบั๊ก ด้วย และตอนนี้จะแนะนำเครื่องมือรายงานบั๊กแบบ GUI ของเดเบียนบ้าง คือ Reportbug-NG

Reportbug-NG ใช้ Qt3 interface เขียนด้วย Python

ถ้ายังไมได้ติดตั้งก็ติดตั้งก่อน

# apt-get install reportbug-ng

ติดตั้งแล้ว จะมีเมนูให้เรียกที่:

Topic: 

จากครั้งก่อนเรื่อง ทำโฮสต์ใช้เอง ยังขาดเนื้อหาว่า ถ้าอุปกรณ์ของเราเป็นเราเตอร์ เราจะมีวิธีในการอัปเดตข้อมูล DNS อย่างไร

กรณีเราเตอร์จะต่างจากกรณีโมเด็ม คือเราไม่สามารถทราบได้ว่าสายจะหลุดเมื่อใด ดังนั้นเราจึงต้องอาศัยการเช็คไอพีเป็นระยะ โดยอาศัยการทำงานของ crontab

การทำงานในขั้นตอนนี้ของแพกเกจสำเร็จรูปทั่วไป จะใช้การตรวจสอบไอพีไปที่ zoneedit เป็นระยะ เช่นทุก ๆ 5 นาที เป็นต้น แต่เนื่องจากเราเขียนสคริปต์เอาเอง เราจึงสามารถประหยัดแบนด์วิดท์ (แม้เพียงน้อยนิด) ได้ โดยแทนที่จะไปตรวจไอพีเอาจาก zoneedit เราก็ตรวจเอาจากเราเตอร์ของเราแทน

หลังจากรายงานบั๊กไปตามที่ว่ากันใน ตอนแรก และ ตอนที่สอง แล้ว เมื่อระบบบั๊กของเดเบียนได้รับเมลของคุณและสร้างรายการบั๊กในระบบเสร็จแล้ว จะส่งเมลตอบมาพร้อมหมายเลขบั๊กและวิธีการติดตามบั๊ก รวมทั้งชื่อและที่อยู่ของผู้ดูแลแพกเกจซึ่งจะได้รับสำเนาของรายงานด้วย

รายการบั๊กของคุณ สามารถดูผ่านเว็บได้ง่าย ๆ โดยไปที่ http://bugs.debian.org/ แล้วป้อนหมายเลขบั๊ก หรือจะใช้รูปแบบ:

Topic: 

เห็นมีการคุยกันที่ codenone เรื่องโฮสต์ไพธอนหายากมาก จึงขออนุญาตบันทึกการทำโฮสต์ไว้ใช้เองไว้ที่นี่แทน เพราะว่าเราใช้เดเบียน ;D เพื่อจะได้สามารถใช้งาน Python Ruby หรือแพกเกจที่ไม่ใช่แพกเกจท้องตลาดได้อย่างอิสระเสรี

ขั้นตอนคร่าว ๆ คือ

  1. คิดชื่อโดเมน และตรวจสอบว่าชื่อที่เราตั้งยังว่างอยู่หรือไม่
  2. จดทะเบียน dynamic domain name server
  3. จดทะเบียนชื่อโดเมน
  4. สร้างสคริปต์สำหรับเปลี่ยนไอพี เมื่อสายหลุด

เริ่มด้วย

  1. ติดตั้ง Apache2 + OpenSSL
    # aptitude install apache2 openssl
    

    ผ่านขั้นตอนนี้ เราก็ได้ web server ที่คอยบริการ HTML ได้แล้ว แต่จุดประสงค์เรายังไม่ลุล่วง ต้องไปต่อ

  2. ตรวจสอบให้แน่ใจว่า port 443 จะทำงานเมื่อเปิดใช้งานมอดูล SSL ใน Apache2
    # cat /etc/apache2/ports.conf
    Listen 80
    <IfModule mod_ssl.c>
        Listen 443
    </IfModule>
    

    ถ้ามีไม่เหมือนในตัวอย่าง ให้เพิ่มเข้าไป ใน Apache2 รุ่นหลัง ๆ ใน Debian ตั้งค่าดังกล่าวเป็นค่าเริ่มต้นอยู่แล้ว

    หลังจากนั้นก็เปิดใช้งานมอดูล

ตอนที่แล้ว เราพูดถึงการรายงานบั๊กด้วย reportbug ในสถานการณ์ปกติไปแล้ว ซึ่งจะเห็นว่าสะดวกมากทีเดียว ที่ไม่ต้องเปิดเว็บเบราว์เซอร์เลย ถ้าเซ็ตระบบเมลไว้เรียบร้อย แต่ถ้าคุณใช้ระบบเมลอื่น เช่น web mail ที่ไม่ได้เชื่อมต่อกับระบบ debian ที่คุณใช้ล่ะ?

ปัญหาข้อแรกคือ reportbug จะส่งเมลโดยใช้ที่อยู่ในเครื่อง ซึ่งอาจจะเป็น user@localhost.localdomain ก็ได้ และอีกข้อหนึ่งคือ เมลจะส่งออกไปไม่ได้ ถ้าระบบของคุณไม่ได้เซ็ตไว้ให้รับ-ส่งเมล (ซึ่งเป็นเหตุผลที่คุณใช้ web mail)

Topic: 

ใครที่ใช้ sid อยู่ คงได้เห็นแล้วว่า GNOME 2.20 ได้ทยอยเข้า sid มาตั้งแต่วัน tarballs due (ก่อนประกาศออกรุ่นอย่างเป็นทางการ 3 วัน) ของ GNOME ทีเดียว ซึ่งกระบวนการ upload ของเดเบียนจะค่อยเป็นค่อยไปทีละขั้น เพื่อให้ผ่านขั้นตอนการ build บนสถาปัตยกรรมต่าง ๆ แบบอัตโนมัติด้วย ซึ่งนับถึงวันที่เขียนนี้ ส่วนหลัก ๆ ของตัวเดสก์ท็อปก็มาเกือบครบแล้ว (สถานะ)

Topic: 

เทคนิคเล็ก ๆ น้อย ๆ ที่ผมใช้บ่อยมาก ๆ ก็คือ กรณีที่เราต้องการจะได้รายชื่อ

client001 = 192.168.1.101
client002 = 192.168.1.102
client003 = 192.168.1.103
...
...
client100 = 192.168.1.200

จะเห็นว่า ถ้าต้องนั่งพิมพ์นี่ ต้องปาดเหงื่อกันเลยทีเดียว -_-' หรือผู้เชี่ยวชาญบางท่านอาจบอกว่า เขียนสคริปต์เอาก็ได้ ใช่ครับทำอย่างนั้นก็ไม่ผิด แต่ทาง BIND server มีทางเลือกที่ดีกว่าให้ครับผม นั่นก็คือ

Topic: 

Pages

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