neutron's blog

PhotoScape on Debian (AMD64)

พอดีได้ลองใช้ PhotoScape แล้ว (เครื่องพ่อ..ที่บ้าน แกใช้ Windows ส่วนผมใช้ Debian ครับ) เห็นว่าเป็นโปรแกรมที่ใช้งานง่าย และสะดวกสำหรับคนที่ไม่ค่อยจะมีหัวศิลปะอย่างผม จะแต่งภาพ ใส่ลูกเล่นอะไรเข้าไปก็แสนจะง่าย เสียดาย เขามีแต่ Binary สำหรับ Windows อ่านไปเจอบทความในบล็อกของ mrchoke เรื่อง Photoscape บน Linux ลองทำตามแล้ว ติดตรง copy ไฟล์ mfc42.dll เอผมจะเอามาจากไหนหนอ งมไปงมมา ก็เลยเจอวิธีการ โดยจะกล่าวถึงเป็นขั้นเป็นตอน ณ บัดนี้

หายห่วงเมื่อไฟดับ! เมื่อติดตั้ง Apcupsd ใช้งานกับ APC Back-UPS CS 500

หลายท่าน ที่มีหน้าที่ดูแลเครื่องแม่ข่าย (Server) คงเคยประสบปัญหากับเรื่องของ "ไฟฟ้า" ที่บทจะดับ ก็ดับดื้อ ๆ บางกรณีที่มีการแจ้งล่วงหน้า ก็เตรียมการได้ทัน แต่อย่ากระนั้นเลย หากต้องมาคอยห่วงว่า "ไฟจะดับเมื่อไร! หรือถ้าดับแล้วไม่มีคนดู ข้อมูลจะเสียหายไหมหนอ!"

ก็คงจะหมดห่วงได้ เมื่อเรามี UPS ที่คุยกับคอมพิวเตอร์รู้เรื่อง ว่า "ไฟดับแล้วน้า! เหลือไฟในแบตเตอรี่ใช้งานได้ไม่ถึง 3 นาทีแล้วน้า! ปิดเครื่องได้แล้วน้า!" โดยคราวนี้ UPS ที่เราใช้เป็น APC Back-UPS CS 500 (ราคาไม่แพงมาก สองพันกว่าบาท พอจับต้องได้ :P)

ใน Debian มี package ชื่อ apcupsd ที่คอยจัดการเกี่ยวกับเรื่องที่จะคุยกับ UPS และเป็นผู้ตัดสินใจว่าจะปิดเครื่องหรือไม่ เริ่มกระบวนการกันเลยดีกว่า

เตรียมระบบเมลให้พร้อม ก่อน reportbug

จากบทความ "reportbug - เมื่อคุณเจอบั๊ก" ที่พี่เทพ เขียนไว้นานแล้ว ก็ได้มานั่งอ่านอีกรอบ หลังจากที่เคยอ่านไปนานแล้วเหมือนกัน แต่ไม่เคยได้ reportbug กับเขาสักที พอไปเจอ bug เข้า ก็อยากจะลอง file bug กับเขาบ้าง ทำตามบทความนี้เลย ปรากฏว่า "เงียบแฮะ" .. ตรวจสอบไป ตรวจสอบมา ก็ได้ความว่า เครื่องเราไม่สามารถส่งเมลออกไปโดยตรงได้ (ใช้ ADSL) ก็เลยนึกขึ้นได้ว่า น่าจะใช้ gmail ในการส่งจดหมาย reportbug ในครั้งนี้

Perl 5.10 arrival in Sid

หากท่านใดที่ใช้งาน Debian Sid อยู่ จะพบเห็นการเคลื่อนไหวของ package ที่มีการใช้งาน Perl หลังจากที่มีการทดสอบ Perl 5.10 ใน Experimental pool มาสักระยะหนึ่งแล้ว และตอนนี้ก็เข้ามาที่ Sid (Unstable pool) เป็นที่เรียบร้อย (perl_5.10.0-9) ทำให้ package ต่าง ๆ ที่เกี่ยวข้อง และใช้งาน Perl มีการ update ขนานใหญ่ (Bugs fixed, Performance tuning, etc) เพราะการ release ครั้งนี้ของ Perl มีการแก้ไข ปรับปรุงหลายส่วน ซึ่งอาจส่งผลให้โปรแกรมที่เคยเขียนไว้ ทำงานไม่ถูกต้องได้ จากที่ตามข่าวใน Debian Planet ก็เห็นว่า Developer เขาแก้ไขกันเป็นวันเหมือนกัน แสดงว่ามีหลายส่วนที่เปลี่ยนไปจริง ๆ :P แต่ก็เป็นเรื่องที่น่ายินดี ที่เสียงตอบรับของ Perl 5.10 ออกมาในแง่บวก ว่า "เร็วขึ้น"

ส่วนตัวผม ไม่ได้ใช้ Perl หรือพูดง่าย ๆ ว่า เขียน Perl ไม่เป็น (เคยใช้แต่ PHP - คงมีอะไรเหมือนกันบ้าง) ถ้าให้มานั่งแกะ คงต้องเรียนรู้กันพอสมควร :P ส่วนท่านใดที่ใช้ Perl อยู่ ก็น่าจะเป็นข่าวดี ที่ประสิทธิภาพดีขึ้นแล้วนะครับ แต่อาจจะเป็นข่าวร้ายนิดหน่อย หากต้องนั่งแก้ Source Code กันพอสมควร แฮ่ ๆ :P ...

PPP Load Balancer Script: ทำเองได้ จ่ายแพงกว่าทำไม ?

PPP Load Balancer Script - 0.1.1

ความสามารถ

  • ออกแบบให้ใช้กับ PPP Connection (ADSL - PPPoE, Dial-up - PPP)
  • ทำ Load Balance แบบอัตโนมติ
  • มีการจัดการกับการเชื่อมต่อที่อาจจะหลุดระหว่างใช้งาน (ใช้ cron เป็นตัวช่วยในการ polling)
  • ไม่จำกัดจำนวนการเชื่อมต่อของ PPP และสามารถเพิ่ม หรือลดจำนวนได้ในขณะทำงาน

ทดสอบ AuthenTec, AES2501 Fingerprint Sensor ใน Debian Sid

ด้วยว่า Notebook เครื่องใหม่ที่ซื้อมามี Fingerprint Sensor ติดมาด้วย เลยได้โอกาสทดสอบใน Debian GNU/Linux ที่ใช้อยู่ประจำ ก็เป็น sid+experimental

ก่อนอื่นตรวจสอบ Hardware ก่อน

ปรับ Speed ของ CPU ใน Debian Sid

เหตุเกิด

หลังจากที่ Linux Kernel 2.6.24 release ออกมา ใน Debian unstable (sid) ก็ได้มีการเพิ่มเข้ามาเช่นกัน แต่ปัญหาของผมคือ แต่เดิมระบบจะตรวจสอบความเร็วของ CPU (เครื่องผมเป็น Centrino 1.5GHz) โดยปกติจะตรวจพบ MaxSpeed เป็น 1.5GHz และ MinSpeed เป็น 600MHz แต่หลังจาก Upgrade Kernel เป็น 2.6.24 ของ Debian ไม่ทราบเกิดจากสาเหตุอะไร เพราะสังเกตมาหลายวัน CPU ไม่เคยวิ่งไปถึง 1.5GHz เลย ตรวจสอบเข้าจริง ๆ ก็พบว่า ระบบตรวจพบ MinSpeed = MaxSpeed = 600MHz (อ้าว...โดนระบบ... อมความเร็ว CPU ซะแล้ว)

Package ที่มีส่วนเกี่ยวข้อง...

ในกระบวนการเกี่ยวกับ Speed ของ CPU ในเครื่องผมมี Package ที่เกี่ยวข้องคือ

  • cpufreqd
  • cpufrequtils

ปรับแต่ง LTSP 5 เพื่อใช้งานร่วมกับ Fat Clients: ตอนที่ 1 จุดเริ่มต้น

คำจำกัดความ

  • LTSP: Linux Terminal Server Project เป็นโครงการที่พัฒนาระบบเครื่องแม่ข่าย (server) เพื่อให้บริการกับเครื่อง thin clients (เครื่องคอมพิวเตอร์ที่มีประสิทธิภาพต่ำ ทำหน้าที่เป็นเครื่องลูกข่าย) การเรียกใช้โปรแกรมต่าง ๆ จะถูกประมวลผลที่เครื่องแม่ข่าย และส่งข้อมูลมาแสดงผลที่เครื่องลูกข่าย ซึ่งเป็นไปตามชื่อของโครงการคือ terminal ...
  • Fat Clients: เครื่องคอมพิวเตอร์ที่มีประสิทธิภาพค่อนข้างสูง ไม่ว่าจะเป็น CPU, หน่วยความจำ และอื่น ๆ ทำงานในลักษณะ client-server โดยการเรียกใช้งานโปรแกรมต่าง ๆ จะถูกประมวลผลที่เครื่องลูกข่าย และใช้ทรัพยากรบางส่วนจากเครื่องแม่ข่าย เช่น ที่เก็บข้อมูล (storage)

วัตถุประสงค์ของการปรับแต่ง

ตามที่ได้กล่าวไปแล้วว่า LTSP ถูกออกแบบมาให้ใช้กับ thin clients ที่จะต้องใช้ทรัพยากรหลักจากเครื่องแม่ข่าย ซึ่งจำเป็นจะต้องมีเครื่องแม่ข่ายที่มีประสิทธิภาพสูง แต่ในปัจจุบันเครื่องคอมพิวเตอร์ที่จะนำมาใช้เป็นเครื่องลูกข่าย มีประสิทธิภาพสูงขึ้นกว่าแต่ก่อน และงานหลักของเครื่องลูกข่ายที่ให้บริการผู้ใช้ คือระบบเดสก์ท็อปที่ต้องมีการเปิดใช้งานโปรแกรมต่าง ๆ รวมไปถึงการแสดงผลกราฟิกส์ที่มีความซับซ้อนมากขึ้น เช่น Compiz Fusion (composite window manager) ซึ่งเครื่องที่เป็น fat clients ดังที่กล่าวมาแล้วข้างต้นนั้น สามารถแสดงผลได้ด้วยตนเองอย่างสบาย ๆ

Apache2 + SSL

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

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

  2. ตรวจสอบให้แน่ใจว่า port 443 จะทำงานเมื่อเปิดใช้งานมอดูล SSL ใน Apache2

ลูกเล่นของ BIND9 DNS Server!

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

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

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

Syndicate content