ตามที่มีคนถามเข้ามา ด้วยส่วนตัวใช้ ipset มาบ้างพอสมควร จึงจะลองเล่าให้ฟังละกันครับ

ipset เป็นชุดโปรแกรมที่ทำงานทั้งในส่วน kernelspace และ userspace และจากที่มีการทำงานในส่วน kernelspace จึงต้องมี module สำหรับ kernel ที่เรากำลังใช้งานอยู่ด้วย ดังนั้น การใช้งาน ipset จะต้องเตรียม 2 ส่วน ดังนี้

  1. เตรียม kernel
    # aptitude install netfilter-extensions module-assistant

    เริ่ม build module ด้วยการเตรียมความพร้อมก่อน

    # m-a prepare

    build จริง

    # m-a a-i netfilter-extensions

    หลังจากทำการ build สำเร็จ ระบบจะติดตั้ง module ให้โดยอัตโนมัติ

  2. เตรียม userspace

    ขั้นตอนนี้ไม่มีอะไรมาก เนื่องจากมีคนเตรียมไว้ให้แล้วใน Debian

    # aptitude install ipset

ต่อไปลองทดสอบ

# iptables -m set
iptables v1.4.1.1: You must specify `--set' with proper arguments
Try `iptables -h' or 'iptables --help' for more information.
Topic: 

จริง ๆ ก็ครบกำหนดการเก็บข้อมูลการจราจร (IP Traffic) ตั้งแต่วันที่ 23 สิงหาคม 2551 (1 ปี ให้หลัง จากประกาศ) แต่ด้วยวุ่น ๆ กับหลายเรื่อง (ลูกสาวก็อายุ 3 เดือนแล้วครับ :P) ก็ลองหาการเก็บ log ในแบบที่เราคุ้นเคย และพยายามไม่ให้กระทบกับ performance ของระบบ ก็เลยได้ลงเอยกับ ulogd กับ ulogd-pcap (ตอนนี้ เป็น version 1.24 ส่วน version 2 ยังเป็นรุ่นทดสอบ ที่พยายาม build แล้ว ยังไม่สำเร็จ :P)

เริ่มเลยละกันครับ

หมายเหตุจาก webmaster: คุณ wd เขียนบทความชุดนี้ไว้ได้เกือบแปดเดือนแล้วครับ แต่ webmaster ตรวจไม่เสร็จสักที ตอนนี้ก็ยังไม่เสร็จ แต่เห็นว่าดองไว้นานก็น่าเสียดาย จึงเผยแพร่ทั้งที่ยังตรวจไม่เสร็จไปก่อน

เอามาจาก Python Tutorial

ตั้งใจเขียนให้อ่านสนุก ๆ นะครับ อย่าจริงจัง

ปัญหาคือมีเครื่องลูกข่ายที่เป็นวินโดวส์ติดไวรัส และไม่ได้ลงซอฟต์แวร์ป้องกันไวรัสไว้ (เนื่องจากทอนกำลังเครื่อง)

ทางแก้คือ ใช้แผ่นบูตเดเบียนที่ลงแพกเกจ clamav เพื่อนำไปสแกนและลบไฟล์ไวรัสทิ้ง

ติดตั้งแพกเกจในการสร้างแผ่นบูตคือ live-helper

$ sudo aptitude install live-helper

สร้างไดเรกทอรีสำหรับงานนี้

$ mkdir ~/debian-live
$ cd ~/debian-live

เราทำแผ่นบูตฉุกเฉิน ต้องใช้แพกเกจ rescue

$ lh_config -p rescue

หากต้องการเปลี่ยนแปลงค่าปริยาย สามารถเปลี่ยนได้จากไฟล์ config/bootstrap

$ vi config/bootstrap

เช่น

...
# $LH_DISTRIBUTION: select distribution to use
# (Default: lenny)
LH_DISTRIBUTION="sid"
...
# $LH_SECTIONS: select section(s) to use
# (Default: main)
LH_SECTIONS="main contrib non-free"
...

ปรุงไฟล์ iso

$ sudo lh_build
Topic: 

ไม่ได้ update ข่าว Debian เสียนาน พอดีมี Debian Project News ฉบับ 4 สิงหา ออกมา ขออนุญาตเขียนเป็นสรุปข่าวเลยนะครับ

Lenny freeze แล้ว

Lenny ซึ่งจะเป็นรุ่น stable ถัดไปของ Debian ได้ ประกาศ freeze แล้ว ตั้งแต่ 27 ก.ค. เป็นต้นมา ซึ่งหมายความว่า จะหยุดเพิ่ม feature ใหม่ แต่จะ update เฉพาะรายการที่เป็น RC bug fix, คำแปล, เอกสาร หรือรายการที่มีการอนุมัติเป็นกรณีไป

ส่วน กำหนดการออก Lenny นั้น ตั้งไว้ที่เดือน ก.ย. นี้

Etch and a half ออกแล้ว

โครงการ Etch and a half ได้ ประกาศออกรุ่นเมื่อ 26 ก.ค. (มี release notes) เป็นครั้งแรกที่ Debian มีการ update รุ่น stable โดยมีการเพิ่มการรองรับฮาร์ดแวร์ นอกเหนือจาก security bug fix

Topic: 

มาบริจาคกำลัง CPU กัน สมัยนี้ที่ใช้ๆ กันอยู่ก็เหยีบกัน สี่คอ(ร์) หรือ จตุคอร์ กันเข้าไปแล้วแต่ ตัวแอพฯ จริง ๆ ก็ไม่ได้เขียนให้ทำงานกับจำนวนคอที่เพิ่มขึ้น มากแบบนี้ จะช้าอยู่ใยให้เสียเปลือง หัว(คอร์) ที่มันทำงานเปล่า ๆ ปลี้ ๆ อยู่เอามันมาใช้งานกัน โดยมาก desktop ที่ใช้งานกันอยู่ทุกวันนี้ จะใช้กำลัง cpu ขึ้นเต็ม 100% ก็ลำบากหากจะเพิ่มหรือเต็มกำลังกันขึ้นมา ก็เกิดจากปัญหาของซอฟต์แวร์ที่ทำงานผิดพลาด หรือ ทำงานหนัก ยิ่งเครื่องในออฟฟิศ คงไม่ต้องพูดถึง กระนั้นเลยเอากำลังที่เหลือมาช่วยชาวโลกกันดีกว่า

คุณใช้โน้ตบุ๊กใช่ไหม? ขณะใช้แบตเตอรี่คุณสามารถประหยัดพลังงานเพื่อยืดเวลาการจ่ายไฟให้นานที่สุด โดยใช้เครื่องมือตรวจหาโปรแกรมที่เป็นตัวการดูดพลังงานโดยไม่จำเป็น แล้วปิดเป็นเรื่อง ๆ ไป คือ powertop

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

ติดตั้งแพกเกจ powertop แล้ว ก็เรียกคำสั่งในฐานะ root:

Topic: 

เวลาแก้ไขซอร์สโค้ดแล้วจะส่งส่วนที่แก้ให้คนอื่น เราจะส่งในรูปของแพตช์กัน ซึ่งแพตช์ก็ได้มาจากการ diff ระหว่างของเก่ากับของใหม่ หลายคนที่เคยแก้โปรแกรมจะค่อนข้างปวดหัวกับการ diff โดยเฉพาะถ้าซอร์สโค้ดมีขนาดใหญ่

บางคนใช้วิธี copy ทั้งไดเรกทอรีเป็นอีกชื่อหนึ่งก่อนแก้ แล้วสั่ง diff แบบ recursive แบบนี้จะต้องใช้เนื้อที่ในฮาร์ดดิสก์ไม่ต่ำกว่าสองเท่าของขนาดซอร์สโค้ด คนที่เคยทำแพตช์สำหรับซอร์สอย่าง Mozilla หรืออะไรประมาณนั้น จะรู้ดี ว่าไม่ใช่เนื้อที่น้อย ๆ เลย

(ศึกษาเพราะต้องการเอาไฟล์ในคลังของ apt-proxy เฉพาะไฟล์ใหม่ ๆ เลยต้องการลบไฟล์เก่า ๆ ทิ้ง เพื่อให้ขนาดคลังแพ็กเกจเล็กลง)

เริ่มเลยครับ

ต้องการค้นหาไฟล์ชื่อ *Doc*

$ find /PATH/TO/FILE -name '*Doc*'

ค้นหาและลบไฟล์

$ find /PATH/TO/FILE -name '*Doc*' -exec rm {} \;

ค้นหาไฟล์ที่เก่ากว่า 5 วันลงไป

$ find /PATH/TO/FILE -mtime +5

ค้นหาไฟล์เก่าตั้งแต่ 5 วันขึ้นมา

Topic: 

ช่วงนี้ติดตั้งเครื่องหลายเครื่องด้วย lenny พบปัญหาบูตไม่ขึ้นด้วยข้อความว่า "waiting for root file system" ค้นกูเกิลดูพบว่าเป็นปัญหาของแพกเกจ initramfs (เป็นทั้งรุ่น 0.92a และ 0.92b) ที่ตีความฮาร์ดดิสก์เป็น sda

ทางแก้มีหลายทาง เช่น กำหนดชื่อ (label) ให้พาร์ทิชัน หรือใช้ uuid แต่รู้สึกว่ายุ่งยากไปหน่อย เพราะเคยมึนกับเรื่อง uuid มาทีนึงแล้ว เลยคิดว่าลองกลับไปคบกับ yaird แทน ซึ่งดูจะมีปัญหานี้น้อยกว่า

ตอนนี้ yaird บน lenny ไม่รู้หายไปไหน ก็เลยต้องไปดาวน์โหลดของ sid มาแทน เวลาติดตั้งด้วยคำสั่ง dpkg -i เขาจะแจ้งว่าติดดีเพนเดนซีที่แพกเกจไหนบ้าง ก็ลงไปตามนั้นจนจบ

มีต้องแก้ไฟล์นิดนึงคือไฟล์ kernel-img.conf ให้มาใช้ของ yaird

$ sudo vi /etc/kernel-img.conf
...
#ramdisk = /usr/sbin/mkinitrd /usr/sbin/mkinitramfs
ramdisk = /usr/sbin/mkinitrd.yaird
Topic: 

Pages

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