Tag Archives: linux

Iceweasel 2.0.0.1 for Edgy (again)

แจ้งเพื่อทราบ .. iceweasel สำหรับ edgy ที่รีลีสไป ตอนนี้เอาออกจาก kitty repo ก่อน เพราะยังติดปัญหาตอนติดตั้งกับถอดออกจากระบบ มีไฟล์บางส่วนทับกับ firefox และติดที่ใช้ pango โดยปริยายซึ่งมันจะแสดงผลภาษาไทยเพี้ยนๆ

ใครที่พบปัญหาให้ set

MOZ_DISABLE_PANGO=1

ก็พอจะช่วยได้ (credit to พี่เทพ)

kitty repo. คงไม่ maintain iceweasel นะครับ .. ไว้รอ official ของ ubuntu + pango แก้ไขเลยดีกว่า :P

At 16th WUNCA & CIT2007

มาประชุมงาน 16th WUNCA & CIT2007 ที่ มหาวิทยาลัยเทคโนโลยีราชมงคลศรีวิชัย ตั้งแต่ 31 ม.ค. 50 – 2 ก.พ. 50 .. นั่งฟังไปด้วย ประชุมไปด้วย ทำเว็บไปด้วย build iceweasel + libthai ไปด้วย (พี่ thep ส่งมาให้ .. ใครใช้ edgy อยู่รอแป๊บเน้อ .. เมื่อวานสั่ง build ทิ้งไว้ .. กลับมาดูวันนี้ ปรากฏว่า HDD เต็ม build ไม่เสร็จ – -‘) ท่าน vee tag มารอบสอง .. รอแป๊บเหมือนกัน ไม่มีหนังสือ เลยไม่รู้จะเปิดหน้า 123 ยังไง :P

ที่ติดๆ ไว้ กลับไป มข. ค่อยว่ากันเน้อะ :P

apt-cacher

ใช้ apt-proxy มานาน เพิ่งจะเจอปัญหาหลังจากอัปเกรดเป็น edgy .. แก้ยังไงก็ไม่ดีขึ้น อาการก็แปลกๆ ที่โดน reset connection เกือบจะทุกครั้งที่มันพยายามจะโหลดข้อมูลจาก repositories .. ระยะนี้ก็เลยหาทางเลือกอื่นๆ ..

อันแรกคือ apt-move .. ลองใช้อยู่วันนึงก็พบว่ามันไม่ค่อยได้อย่างที่ต้องการ พยายามแยก dist แยก repo ก็ไม่สำเร็จ .. อันนี้ปัญหาใหญ่เลย เพราะที่ใช้อยู่มันมีทั้ง edgy, edgy-updates, edgy-security, wine, beryl, etc.. เลยโละทิ้งอีก

วันนี้ลอง apt-cacher .. เออ เข้าท่าแฮะ .. สวมรอย apt-proxy ได้เลย ว่าแล้วก็ aptitude purge apt-proxy ไปซะ .. คอนฟิก apt-cacher ก็ไม่ได้ยากอะไร แก้ไฟล์ /etc/apt-cacher/apt-cacher.conf ไม่กี่บรรทัด

daemon_port=9999

พอร์ต default เป็น 3142 .. ไม่จำเป็นต้องเปลี่ยนก็ได้ .. แต่ที่เปลี่ยนเป็น 9999 เพื่อจะสวมรอย apt-proxy ไปเลย ไม่ต้องตามแก้ sources.list เครื่อง clients เกือบๆ โหล .. แล้วก็ตั้ง mapping ตาม repo ที่จะcache ตามนี้

path_map = ubuntu th.archive.ubuntu.com/ubuntu ;
           ubuntu-security th.archive.ubuntu.com/security ;
           wine wine.budgetdedicated.com/apt ;
           beryl ubuntu.beryl-project.org/

สุดท้าย แก้ AUTOSTART ใน /etc/default/apt-cacher จะได้รัน apt-cacher อัตโนมัติตอนบูตเครื่่อง

AUTOSTART=1

ใครอยู่ใกล้ มข. อาจจะมาใช้ cache ด้วยกัน จะได้โหลด package ได้เร็วขึ้นโดยแก้หรือเพิ่มเติม /etc/apt/sources.list ตามนี้

# ubuntu
deb http://belldandy.kitty.in.th:9999/ubuntu/ edgy main restricted  ...
deb http://belldandy.kitty.in.th:9999/ubuntu/ edgy-updates main ...
deb http://belldandy.kitty.in.th:9999/ubuntu-security/ edgy-security main ...

# wine - from budgetdedicated.com
deb http://belldandy.kitty.in.th:9999/wine/ edgy main

# beryl - from beryl-project.org
deb http://belldandy.kitty.in.th:9999/beryl/ edgy main

/me ..

# aptitude --purge-unused purge apt-proxy apt-move

— edited — ลืมแก้ hostname (- -‘)

The 2006 Linux and free software timeline

ปีที่ผ่านมา พลาดข่าวอะไรไปบ้าง ?

ดูสรุปข่าวลินุกซ์และซอฟต์แวร์เสรี พร้อม quote ที่น่าสนใจตลอดปี 2006 ได้ที่ “the 2006 Linux and free software timeline

fwiw, I recently took a position with Google.

— Andrew Morton releases 2.6.18-rc3-mm1

/me .. ตกข่าว (- -‘)

apt | aptitude : Ouch! Got SIGSEGV

จะลง kernel-package สักหน่อย

# aptitude install kernel-package
Ouch! Got SIGSEGV, dying..
Segmentation fault (core dumped)

เอ แปลกๆ … apt-get ดูซิ

# apt-get install kernel-package
Segmentation fault (core dumped)

เหวอๆๆ … เกิดไรขึ้นล่ะเนี่ยะ … ไม่ขำนะ .. T_T

# strace -o xxx aptitude
# less xxx
....
stat64("/var/cache/apt/pkgcache.bin", {st_mode=S_IFREG|0644, st_size=9454080, ...}) = 0
open("/var/cache/apt/pkgcache.bin", O_RDONLY) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=9454080, ...}) = 0
mmap2(NULL, 9454080, PROT_READ, MAP_SHARED, 4, 0) = 0xb7195000
stat64("/var/lib/apt/lists/belldandy:9999_ubuntu_dists_edgy_main_binary-i386_Packages", {st_mode=S_IFREG|0644, st_size=5491154, ...}) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---

เหมือนจะเดี้ยงแถวๆ จังหวะอ่าน package จาก cache .. hmm.. cache น่าจะลบทิ้งได้ล่ะนะ ..

# cd /var/cache
# mv apt apt-saved
# mkdir -p apt/archives/partial
<code>
แล้วก็ลองรันอีกรอบ
<code>
# aptitude install kernel-package
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
...

ทำงานได้จริงๆ ด้วย ! .. เย้ .. :D :D … ใครเจอปัญหาประมาณนี้จะลองทำตามดูก็ได้ .. แต่ถ้าเดี้ยงจริงๆ ก็ตัวใครตัวมันนะ :P

Linux Kernel 2.6.19

2.6.19 มีอะไรน่าตื่นเต้นมั่ง ?

  • Extended File System 4 (Ext4) ปรากฏตัวแล้วในรุ่นนี้ โดยแปะไว้ว่า ext4dev และจะแปะว่า ‘dev’ ไปอีกสักพักจนกว่าจะนิ่งจริง อาจจะประหลาดๆ หน่อยๆ ที่เอา ‘dev’ มาใส่ในเคอร์เนล ‘stable’ .. แต่น่าจะทำให้มีคนทดสอบและมีความคืบหน้าเร็วกว่าจะแยก patch นะ … จากที่ ext3 = ext2 + journal + extras นิดๆ ซึ่งเหมือนออกมาขัดตาทัพด้วย FS แบบ journaling .. ใน ext4 ตั้งเป้าไว้ว่าจะพัฒนาให้มันเจ๋งๆ ไปเลย คาดว่าฟีเจอร์คงมีอีกบาน ในเบื้องต้นมีการปรับเรื่อง scalability เช่น ระบบไฟล์ขนาดใหญ่ >= 16 TB, ไดเรกทอรี > 32K, 64-bit (large) file .. และมีโครงสร้างรองรับให้เสถียรภาพของระบบไฟล์ดีขึ้น …ส่วนตัว ยังไม่ได้ทดสอบแต่หวังไว้ว่าจะเร็วกว่า ext3 (ซึ่งนับว่าช้าเมื่อเทียบกับ FS อื่นๆ) …ใครใจถึงก็ลุยได้
  • GFS2 clustering file system ของ Sistina ซึ่ง Red Hat ซื้อมาปรับปรุง + เปิดเผยซอร์ส เป็นอีกทางเลือกนอกเหนือจาก OCFS2 ของ Oracle
  • Ecryptfs ของ IBM เป็น encryped looped file system แนวๆ เดียวกับพวก cryptoloop/dmcrypt .. ไอเดียที่ IBM วางไว้คือเอาความยืดหยุ่นของ GnuPG มา encrypt ข้อมูลภายในเคอร์เนล
  • Merge Parallel ATA กับ Serial ATA .. แห่ไปใช้ libata กันให้หมด … ว่ากันว่าไดรเวอร์เดิมใน ATA/ATAPI/MFM/RLL ไม่ค่อยมีการดูแลกันมากอย่างที่ควร ในขณะที่ไดรเวอร์ ใหม่ที่ใช้กับ libata กำลังพัฒนากันอย่างเป็นล่ำเป็นสันโดยมี อลัน ค็อกซ์ เป็นหัวหอก .. เวลานี้ยังไม่มีแผนจะ deprecated ไดรเวอร์เดิม แต่คาดว่าในอนาคตคงย้ายมาใช้ libata กันหมด เพราะการออกแบบและโครงสร้างดีกว่าแบบเดิม .. สำหรับเวอร์ชัน 2.6.19 Serial ATA อยู่ระดับ production แล้ว ในขณะที่ Parallel ATA เพิ่งจะ experimental .. จริงๆ PATA ก็น่าจะใช้งานได้ระดับนึงแล้วแหละ ถ้าใจถึง หรือมีไดรว์ใหม่ๆ ว่างๆ ก็น่าจะลองดู หรือจะ bleeding edge ไปกว่านั้นก็ใช้คู่กับ Ext4 ด้วยเลย :P … อ่อ เปลี่ยนเป็น libata แปลว่า label/device จะอ้างอิง Parallel ATA แบบ SCSI device (/dev/sd??) เช่นเดียวกับ SATA
  • ถอดไดรเวอร์ OSS ออกหลายตัว .. ก็ใช้ ALSA ได้แล้วแหละนะ
  • สนับสนุน Amtel AVR32
  • Disable block layer บางอย่างได้ เหมาะกับพวก embedded systems
  • Track maximum allowable latency ตรวจหา latency ที่นานที่สุดที่เป็นไปได้เพื่อยืดเวลาการ execute code ไปให้นานที่สุด ส่งผลให้ใช้พลังงานน้อยลงได้
  • Sleepable RCU เดิม RCU บังคับว่า critical section ของ read-side ใน RCU จะถูก block หรือ sleep ไม่ได้ แต่ Paul McKinney บอกว่ามี request มาจากฝั่ง real-time อยากให้ read-side ของ RCU มัน preemptible หรือ sleepable ได้เพื่อให้การตอบสนองดี .. ก็เลยจัดให้ใน 2.6.19
  • เปลี่ยน default TCP congestion algorithm จาก BIC (Binary Increase Congestion) เป็น CUBIC (BIC + cubic function)
  • สนับสนุน Mobile IPv6
  • สนับสนุน multiple routing table ใน IPv6
  • สนับสนุน I2C สำหรับ intelfb
  • ไดรเวอร์ใหม่ การปรับปรุง แก้ไขอื่นๆ อีกเยอะแยะ

/me …

$ uname -a
Linux peorth 2.6.19-peorth #1 Fri Dec 1 20:31:07 ICT 2006 i686 GNU/Linux

It’s just a joke

ตัดจากข่าวที่ Bangkok Post

On the subject of open source software, he said the current government plan was a case of the blind leading the blind, as neither the people who are in charge nor the people in industry seem to know the dangers of open source software.

“With open source, there is no intellectual property. Anyone can use it and all your ideas become public domain. If nobody can make money from it, there will be no development and open source software quickly becomes outdated,” he said.

Apart from Linux, he claimed that most open source software is often abandoned and not developed, and leads to a lot of low-quality software with lots of bugs.

“As a programmer, if I can write good code, why should I give it away? Thailand can do good source code without open source,” he said.

เป็นส่วนหนึ่งของคำให้สัมภาษณ์ของ รศ.ดร.สิทธิชัย โภไคยอุดม รัฐมนตรีว่าการกระทรวง ICT คนปัจจุบัน .. คงไม่วิจารณ์อะไรอีก เพราะมีผู้ตอบโต้อย่างเป็นลายลักษณ์อักษรไปแล้วเยอะแยะแล้ว ทั้งในเว็บข่าวไอทีระดับโลกอย่าง slashdot.org, digg.com, และใน จดหมายเปิดผนึก ที่ บล็อกนั้น

จริงๆ ก็เป็นเรื่องธรรมดาที่มีคนไม่เข้าใจโอเพนซอร์ส แต่บังเอิญคนที่ว่าอยู่ในฐานะที่ไม่ธรรมดา เลยกลายเป็นเรื่องที่น่าผิดหวังสำหรับวิสัยทัศน์ผู้เป็นรัฐมนตรี ICT อย่างที่มีผู้กล่าวไว้ ตามเนื้อความนี้

เอ้า .. นี่เรื่องตลกนะ .. หัวเราะกันหน่อย … :D

Kitty repository for Ubuntu 6.10 Edgy Eft

หลัง Edgy ออกก็ได้เวลาอัปเดตแพ็คเกจใน Kitty repository .. ที่อัปเดตแล้วก็มี

  • em-panel-applet: Evolution mail notification
  • gdictthai: English-Thai dictionary
  • gimp-ufraw, ufraw: RAW plugin for the GIMP
  • gruler: screen ruler
  • libdatrie, libdatrie-bin, libdatrie-dev: double array trie library
  • libimage-exiftool-perl: EXIF extraction tool
  • rrs: reverse remote shell
  • scim-thai: SCIM IMEngine module for Thai

อาจจะมีซ้ำๆ กับ official repo. แต่เวอร์ชันใหม่กว่า .. เพิ่ม repo ใน sources.list

# Kitty Repository
deb ftp://ftp.kitty.in.th/pub/ubuntu/kitty edgy unstable

หรือถ้าอยู่ใกล้ๆ ม.ข. ใช้ mirror น่าจะเร็วกว่า

# Kitty Repository
deb ftp://skuld.kitty.in.th/pub/ubuntu/kitty edgy unstable

.. อ่อ .. ตั้งแต่ Edgy Eft เป็นต้นไปตัวห้อยท้ายเวอร์ชันจาก a.kit.b แทน akittyb .. ไม่งั้น lintian มันจะดุเอา :P

Edgy + AIGLX + Beryl

ก่อนหน้านี้เคยลอง XGL + Compiz ไปทีนึง แต่มันช้า (บน P-III 1 GHz + i830M) เลยไม่ได้ใช้งานจริง .. ตอนนี้ลง Edgy Efy ติดตั้ง X11 Xorg 7.1.1 มี AIGLX ในตัว เลยลองดูอีกที

ก่อนอื่นเพิ่ม repository

deb http://ubuntu.beryl-project.org/ edgy main-edgy

จากนั้นก็

# aptitude update
# aptitude install beryl emerald-themes

แล้วก็

$ beryl-manager

เสร็จแล้ว ..

เทียบกับ XGL + compiz แล้ว ติดตั้ง Edgy + AIGLX + Beryl ง่ายโคตรๆ เลย .. เวลา้ใช้งานก็ไม่ต้อง restart X Server กันใหม่ ลูกเล่นเพียบ ทำงานเร็วกว่า ใช้ color depth 16-bit ก็ได้ด้วย (XGL + Compiz ต้องใช้ 24-bit) .. ที่ยังต้องหาทางแก้กันต่อคือ video playback ที่ output ผ่าน XV จะเพี้ยนๆ … เลยต้องใช้ output เป็น X11 ธรรมดาซึ่งทำงานช้ากว่ามาก หรือไม่ก็ OpenGL ซึ่งก็ช้าเหมือนกัน .. ถ้าจะดูหนังก็ switch กลับไป metacity เอา :P