My Contribution to Debian, 2013-4
QA upload:
- python-libpcap/0.6.4-1, sponsor by Sebastian Ramacher
Team upload:
- haproxy, upload by Vincent Bernat
Pending uploads (New):
* Debian Ruby Extras, sponsor by Cédric Boutillier
- ruby-mongo -- Ruby driver for MongoDB
- ruby-bson-ext -- C extensions to accelerate the Ruby BSON serialization
* PKG OpenStack, sponsor by Thomas Goirand
- python-heatclient -- client library and CLI for OpenStack Heat
Upload to unstable:
* PKG-PHP-PEAR, sponsor by Thomas Goirand
- php-calendar
- php-cache-lite
- php-html-template-it
- php-net-dime
- php-net-sieve
- php-services-weather
- enchant , sponsor by Aron Xu
Note:
- lintian -EvIL +pedantic
i3 window manager
เนื่องจาก i3 เป็น wm เครื่องมือที่จะใช้งานเราต้องหามาใช้เองไม่เหมือนกับพวก GNOME, KDE , Xfce ที่จะมีเครื่องมือต่างๆ มาให้พร้อมแล้ว สำหรับการปรับแต่งเบื้องต้นมีดังนี้
- LightDM แทน GDM3
- การเปลี่ยนภาษาใช้ setxkbmap สามารถกำหนดให้ทำงานทุกครั้งได้โดยการเพิ่มคอนฟิคไฟล์ดังนี้
$ echo 'exec_always setxkbmap us,th -option grp:alt_shift_toggle' >> ~/.i3/config
- สำหรับ terminal emulator ใช้ rxvt-unicode เป็นตัวที่ใช้ประจำใน Puppy Linux ปรับสีเป็นแบบ low contrast (ไม่แสบตาดี)
ดัดแปลงคอนฟิคจาก https://gist.github.com/davidbeckingsale/564084
- จัดการเรื่องการเชื่อมต่อ network ใช้ wicd
- การเชื่อมต่อ 2 จอใช้ xrandr (ถ้าต้องการ GUI ก็ arandr)
จากประสบการณ์ที่ใช้งานบน Thinkpad X200si - Debian (Sid):
- ทำงานได้เลื่อนดีไม่มีหน่วง
- เอกสารการใช้งานเข้าใจง่าย
- การสั่งงานแบบใช้คีย์ลัดไม่ต้องย้ายมือออกจากแป้นพิมพ์บ่อย แต่จะว่าไปปกติก็ไม่ค่อยได้ย้ายมือออกจากแป้นพิมพ์เพราะใช้ trackpoint
- เรียบง่ายแต่มีประสิทธิภาพ
* ความหมายของ "X Windows", "Window Manager", and "Desktop Environment"
My Contribution to Debian, 2013-3
+ patch to fix
+ report and link to fix
+ patch to fix
WNPP:
UDD: bapase.cgi -- output with tablesorter
My Contribution to Debian, 2013-2
RC bugs:
WNPP bugs:
Notes:
- I joined the pkg-php-pear team after fixed a RC bug (php-soap).
- http://linux.sut.ac.th/~prach/php-pear-wnpp.txt
My Contribution to Debian, 2013-1
Fixed orphan package:
#
RC bugs:
+ patch to fix
+ patch to fix
#701115 : [S] owncloud: multiple vulnerabilities
+ nmu (t-p-u by Gregor Herrmann)
#701134 : php-soap: directory vs. symlink conflict
+ patch to fix
Bugs:
#671790 merge by #674480 libvncserver-dev: "Multi-Arch: same" but files differ across architectures
+ patch to fix
Packaging:
#701766: RFS: python-libpcap/0.6.2-1 [QA]
#700296: RFS: libapache2-mod-geoip/1.2.8-1 [ITA]
#700410: RFS: furiusisomount/0.11.3.1~repack0-2 [ITA]
#700397: RFS: enchant/1.6.0-8 [ITA]
#701706: RFS: ocamlrss/2.0-1 [ITP]
Notes:
- git format-patch -1 commit-SHA
PHP extension for Thai word break
ทดลองเขียน php extension เป็นการตัดคำโดยใช้ libthai ต้องขอบคุณ พี่เทพ สำหรับคำแนะนำ
ได้ผลลัพธ์ตามรูปแต่ยังไม่สมบูรณ์เพราะยังต้องใช้ iconv ของ php ช่วยก่อนจะส่งไปให้ th_brk_line() แล้วก็ยังอีกหลายเรื่องที่ต้องแก้ไข
php:
$str="การบ้านเยอะมากสงสัยไม่เสร็จแน่เลยนอนตากลมอยู่บ้านดีกว่า";
$new = th_brk_line(iconv('UTF-8','TIS-620',$str));
echo iconv('TIS-620','UTF-8',$new);
output:
ref:
http://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend/
http://linux.thai.net/pub/thailinux/software/libthai/doc/libthai-0.1.7/
My Debian logs
- #
643900- ITA: "tpb -- program to use the IBM ThinkPad(tm) special keys" Sponsor by Michael Stapelberg
- #
656917- src:tpb: "debconf question should mention what this TPB is"
- #
661622- src:isoqlog: "FTBFS"
- #
663563- src:tnftp: "FTBFS: mv: cannot stat ..."
- #
530166- src:pvpgn "bashism in /bin/sh script"
Setup git server
- gitosis : ใช้สำหรับจัดการเรื่องสิทธิ์การเข้าใช้ repositories ผ่าน SSH
- cgit : หน้าเว็บสำหรับ git repositories เขียนด้วยภาษาซี (cgi)
server:~$ sudo apt-get install openssh-servergitosis: install
server:~$ sudo apt-get install git-core gitosis
server:~$ sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git gitgitosis: config
การเริ่มต้นใช้งาน gitosis เราจะต้องใช้ ssh-key (public) ของเราสำหรับเป็น admin ถ้ายังไม่มีต้องทำการ ssh-keygen (จำ passphrase ให้ดี)ขึ้นมาจากนั้นก็ import เข้าไปใน gitosis
mylaptop:~$ scp ~/.ssh/id_rsa.pub prach@server:./
server:~$ sudo -H -u git gitosis-init < /home/prach/id_rsa.pub
server:~$ sudo chmod +x /home/git/repositories/gitosis-admin.git/hooks/post-updateหลังจากขั้นตอนนี้เราจะสามารถ config gitosis ผ่านทาง git repo ได้ดังนี้
mylaptop:~$ git clone git@server:gitosis-admin.gitในไดเรกทอรี gitosis-admin ให้แก้ไขไฟล์ชื่อ gitosis.conf เพื่อเพิ่มกลุ่มและกำหนดข้อมูลสำหรับ repositories (จากตัวอย่างจะสร้าง repo ชื่อ foobar , โดยมีสมาชิกคือ prach@mail.com) ดังนี้
mylaptop:~$ cd gitosis-admin; editor gitosis.conf
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = prachpub@gmail.com
[group developer]
writable = foobar
members = prachpub@gmail.com
mylaptop:~$ git commit -a -m 'add foobar repo'
mylaptop:~$ git pushเมื่อ config gitosis เรียบร้อยแล้วเราก็จะสร้าง foobar repo ขึ้นมาดังนี้
mylaptop:~$ mkdir foobar; cd foobar; git initสำหรับ foobar สามารถ clone ผ่านทาง ssh ได้ดังนี้
mylaptop:~$ git remote add origin git@server:foobar.git
mylaptop:~$ echo 'hello' > x.txt
mylaptop:~$ git add x.txt
mylaptop:~$ git commit -a -m 'hello'
mylaptop:~$ git push origin master
mylaptop:~$ cd /tmp;git clone git@server:foobar.git
apache2: install
server:~$ sudo apt-get install apache2cgit: install
server:~$ git clone git://hjemli.net/pub/git/cgicgit: config
server:~$ cd cgit;git submodule init;git submodule update
server:~$ sudo apt-get install libcurl4-openssl-dev build-essential
server:~$ sudo make
server:~$ sudo mkdir -p /var/www/cgit/{cgi-bin,css}
server:~$ sudo cp cgit /var/www/cgit/cgi-bin/cgit.cgi
server:~$ sudo cp {cgit.css,cgit.png} /var/www/cgit/css/
ตัวอย่างการ config cgit
server:~$ sudo vim /etc/cgitrc
logo=/cgit-css/cgit.png
css=/cgit-css/cgit.css
enable-index-links=1
virtual-root=/git/
repo.url=foobar
repo.desc=Foobar repositories
repo.path=/home/git/repositories/foobar.git
เพิ่ม config ของ apache ให้รัน cgit.cgi
server:~$ sudo vim /etc/apache2/conf.d/cgit.conf
Alias /git "/var/www/cgit/cgi-bin"จาก config ไฟล์ของ apache ต้องใช้ mod rewrite ด้วย
Options FollowSymLinks +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex cgit.cgi
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.* /git/cgit.cgi/$0 [L,PT]
Alias /cgit-css "/var/www/cgit/css"
AllowOverride None
Options None
Order allow,deny
Allow from all
server:~$ sudo a2enmod rewrite
server:~$ sudo /etc/init.d/apache2 restart
เปิด browser แล้วลองเรียกไปที่ http://server/git
- http://blog.publicfields.net/2011/03/how-to-setup-your-very-own-git-server.html
- http://www.codeography.com/2009/05/30/setting-up-cgit-under-ubuntu.html
- http://doc.ubuntu-fr.org/cgit
My GPG key transition
http://linux.sut.ac.th/prach/gpg-transition-prach.txt.asc <- Signed with both keys
http://debianclub.org/node/539 <- Key-Singing
Thailand Mini DebCamp 2010
วันเดินทาง - ออกเดินทางเช้าวันที่ 12 มีนาคม 2553 พาน้องไปด้วยคือ @etcpe9, @iporsut ไปถึงบ่ายกว่า ๆ เจอ อ.กิตติ์ พี่เทพ นิวตรอน พี่อดุล เข้าไปดูสถานที่จัดงานตกเย็นทีม Opentle มาถึงพร้อมกับชาวต่างชาติ 3 คน ( Paul Wise , Yukiharu YABUKI, Daiki Ueno) กำลังจะตามไปสมทบที่โรงแรมแต่ดวงซวยจัดรถดันยางรั่วโดน (ใช้มา 4 - 5 ปีไม่เคย) เลยต้องได้ออกแรง fix bug รถตัวเองก่อน :-(
- กลางคืน - ได้นอนกับพี่โชค คิคถึงมาก ไม่ได้นอนด้วยกันนานละ :-)
งานวันแรก (13) Opening
- เช้า - มี DD มาสมทบอีกคนคือ Andrew Lee เปิดงานได้รับความรู้จาก DD ตัวเป็น ๆ
- กลางคืน - งานเลี้ยงต้อนรับชาวต่างชาติเจอ "พาแลง" ของทางอีสาน เสร็จจากมื้อค่ำเเริ่มมีการหาเครื่องดื่มเป็นการอุ่นเครื่องโดยพวก DD บอก "local beer only" จัดมาซะงงบางอันไม่เคยเห็น
- เช้า - เริ่มงาน BSP , ได้รู้เรื่องการทำงานเกี่ยวกับ bugs ของ debian
- กลางคืน - วันนี้เริ่มคุ้นเคยกับสถานที่มีงาน party ภาคค่ำกันสังสรรค์กันจนดึก ( ชาวต่างติดใจเบียร์ Red Horse - ไม่น่าใช่เบียร์ไทย ) งานกำลังจะเลิกแต่ John Ham ตามมาสมทบอีก ได้พาน้องช้างและ thai whisky มาด้วย งานเข้าอย่างแรงทีนี้
- เช้า - Zzzz , ผลจากเมื่อคืน hang ไม่ตื่นไปตอนเช้าสองคนผม กับ Andrew ช่วงบ่าย ๆ patch ไปสองบั๊ก #571116, #530166
- กลางคืน - มี DD ตามาสมทบอีกคน Christian Perrier ต้อนรับด้วยขบวนรถด่วนและแมลงต่าง ๆ งานสังสรรค์คืนนี้จบเร็วเพราะคืนก่อนหน้า :-)
- บ่าย - sign key กับ Paul และก็ลาทุกคนเพื่อเดินทางกลับเพราะว่าวันรุ่งขึ้นมีสอน
เป็นอีกงานที่รู้สึกประทับใจอีกครั้งเพราะได้เห็นการทำงานของ Debian Developer และเจอกับหลาย ๆ ท่านที่รู้จักกันโดยเฉพาะทีม Opentle ยังน่ารักเหมือนเดิมทุกคนจริง ๆ งานนี้ผมเป็นหนึ่งใน local staff แต่ช่วยอะไรไม่ได้มาก :-(
ผลจากงานนี้ - คิดว่าน่าจะเป็นการกระตุ้นเกี่ยวกับเรื่อง F/OSS ในบ้านเราเพิ่มขึ้นอีกมากและทำให้นักพัฒนาในบ้านเราได้เห็น การทำงาน รูปแบบงาน ของพวก F/OSS ของต่างชาติ อีกทั้งคงจะทำให้เกิดนักพัฒนาของไทยที่ทำงานร่วมกับชาวต่างชาติเพิ่มขึ้นอีกด้วย
หวังว่าประเทศของเราคงจะมีโอกาสได้จัด DebConf ซักครั้ง
ปล. ขอเรียกรวมพี่หลาย ๆ คนว่าทีม Opentle เลยละกัน, มีพี่ ๆ SIPA มาด้วย
Taiwan Mini DebConf 2009
เมื่อไปถึงที่พักก็ได้พักอยู่รวมกันทั้ง 4 คน แล้วก็มีสมาชิกห้องเพิ่มอีก 1 คนคือ YABUKI ซึ่งเคยเจอกันแล้วที่งาน AOSS2007 สำหรับบรรยากาศภายในงานเป็นกันเองดีมากแล้วก็มี DD มากันหลายคน
ส่วนหัวข้อที่บรรยายนั้นผมสนใจที่ Debian-Edu เพราะคล้ายกับงานที่ทำอยู่ สำหรับคนที่ผมคุยบ่อย ๆ คือ Holger Levsen DD ชาวเยอรมัน แต่น่าเสียดายที่ภาษาอังกฤษไม่แข็งแรงเลยไม่ค่อยได้คุยกับใครมาก
รายละเอียดของงานดูได้จาก http://wiki.debian.org/DebianTaiwan/MiniDebConf2009
Linux Change MAC address
เขียนไว้กันลืมจะใช้ทีไรต้องหาใหม่ทุกที
# ifconfig eth0 down
# ifconfig eth0 hw ether 00:80:48:BA:d1:20
# ifconfig eth0 up
# ifconfig eth0 |grep HWaddr
Link http://linuxhelp.blogspot.com/2005/09/how-to-change-mac-address-of-your.html
First time in this years
ไม่ได้บล๊อกเลยตั้งแต่ปลายปีที่แล้วจนถึงตอนนี้ ช่วงที่ผ่านมาศึกษาแต่เรื่องการทำ server เป็นในเชิงพวก web cluster
จากที่ได้ทำการศึกษาจึงได้แบ่งออกเป็นส่วน ๆ ดังนี้
- High Availability (HA) : Heartbeat
- Load Balance (LB) : Layer 4 - LVS (ldirectord) Layer 7 -HAProxy, Pound, NGINX
- Solution for HA and LB : Piranha, Ultra Monkey
- Cluster File System : Glusterfs, GFS, NFS, Lustre
- Database Server : MySQL Replication, MySQL Cluster
- Web Server : Apache, NGINX
- Benchmark : Apache Benchmark, JMeter, Faban , My software benchmark
- Solution for Cluster : Centos Cluster Suite, Redhat Enterpise Cluster Suite
ถึงแม้จะเป็นเรื่องที่มีมานานแล้วแต่หาข้อมูลที่สมบูรณ์ได้ยากและส่วนมากที่มีก็จะเป็นแต่พวก static page แต่ตอนนี้เว็บไซต์เกือบทั้งหมดก็จะเป็นแบบ dynamic page
GRUB 2
ดูตัวอย่างของ config file ได้ที่ grub.cfg
อันนี้เป็นตัวอย่างการใช้ grub 2 ทำ Graphic menu
ส่วนรายละเอียดเพิ่มเติมดูได้ที่ http://www.gnu.org/software/grub/grub-2.en.html
Puppy Linux 4.1 released
- เพิ่มโปรแกรมใหม่ Psip VOIP and PPLOG personal blog
- อัพเกรดโปรแกรมต่าง ๆ
- ปรับแต่งระบบให้บูตเร็วขึ้น
- ตรวจสอบฮาร์ดแวร์ได้ดีขึ้น
- เพิ่มระบบ pup_event (including desktop drive icons)
สามารถดาวน์โหลดได้ที่ http://mirror.in.th/puppylinux/
SUTinRAM 4.0
รายละเอียดอ่านเพิ่มเติมได้จาก readmore
Combine PDF files
$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=output.pdf -dBATCH 1.pdf 2.pdf 3.pdf
Add user & Passwd
#!/bin/bash
for (( i = 1 ; i <= 35; i++ ))
do # Add user name
echo "Add user : user$i"
useradd -m user$i -s /bin/bash
# Set default passwd
echo "user$i:123456" | chpasswd
done
KDE on debian
deb http://ftp.debianclub.org/debian/ experimental main non-free contrib
deb-src http://ftp.debianclub.org/debian/ experimental main non-free contrib
deb http://ftp.debianclub.org/debian/ unstable main non-free contrib
deb-src http://ftp.debianclub.org/debian/ unstable main non-free contrib
แล้วสั่ง
$sudo apt-get update
$aptitude -t experimental install kdebase kdebase-workspace
เท่านี้ก็จะได้ KDE 4.0 มาลองเล่นแล้วครับ แบบละเอียดอ่านได้ ที่นี่
Grails for Ubuntu 7.10
ปัญหา ประการใดแจ้งมาด่วนตั้ง source.list ตามนี้นะครับ
deb-src http://ftp.opentle.org/people/prach/ubuntu/gutsy/ ./
อย่าลืมเพิ่ม multiverse ด้วยนะครับไม่งั้นมันจะหา jdk ไม่เจอ
มาเพิ่มของ debian
deb-src http://ftp.opentle.org/people/prach/debian/ ./
การทำ tunnel บน linux
เนื่องจากว่าจะทำการส่ง gpg key ไปไว้บน sever แต่ที่ทำงานนั้นไม่เปิด port ให้เลยต้องทำ tunnel โดยเราต้องมี account อยู่ที่ serverไหนก็ได้ที่เขาเปิดให้ ssh ได้ สมมุติผมมี account คือprach@xxx.org มีขั้นตอนทำ tunnel ดังนี้
1. ต้องติดตั้ง dante-client
$sudo apt-get install dante-client
$sudo vim /etc/dante.conf โดย set ให้มีค่าดังนี้
route {
from: 0.0.0.0/0 to: 0.0.0.0/0 via: 127.0.0.1 port = 1080
protocol: tcp udp
proxyprotocol: socks_v4 socks_v5
method: none
}
2. remote เข้าไปใน server ที่เรามี account อยู่ แล้วก็สั่งรันโปรแกรมที่เราต้องการจะ tunnel ในตัวอย่างเป็นการส่ง gpg key ขึ้นไปบน server
$ssh -D localhost:1080 prach@xxx.org
$socksify gpg --keyserver pgp.mit.edu --send-keys 434FC0E1
Python 2.5.1
Resume working
พอดีทาง Puppy Linux ออกเวอร์ชันใหม่ คือ 2.16 ก็เลยจะใช้ตัวนี้มาเป็น base ในการพัฒนา
และก็คงจะแก้ปัญหาต่าง ๆ ที่พบในเวอร์ชั่นก่อนหน้านี้ด้วย ส่วนความคืบหน้าจะรายงานมาเป็นระยะครับ
ส่วนเครื่องที่จะไว้ลง debian หลังจากไม่ได้เปิดมันนานเกิน กลับมาจะใช้งานปรากฏว่ามัน เจ๋งไปแล้ว
เซ็งเลย ต้องมานั่งแก้ แล้วจะลง debian 4.0 r0
Blog Tag
1. ชื่อที่ใช้ในโลกของ cyber space , prach, prachpub ก็คือชื่อจริง ปรัชญ์(โอ้)
2. อดีตเคยเป็นนักฟุตบอลจังหวัดจันทบุรี ตำแหน่งกองหลัง (เล่นถึงรุ่น 16 ปี)
3. เล่นคอมพิวเตอร์ครั้งแรกได้ใช้ DOS, Windows 3.1
4. เล่น linux ครั้งแรกตอน ม.ปลาย (ตอนนั้นอายุ 16 ปี)
5. คนที่แนะนำให้รู้จัก linux คือพี่โรงเรียนผมเอง คือ sf-alpha
ไม่รู้จะ tag ต่อให้ใครดีที่รู้จักก็โดน tag หมดแล้ว T-T
LinuxTLE 8 Beta Release
สามารถดาวน์โหลดได้ที่ http://ftp.opentle.org/pub/linux-tle/8.0/iso/linuxtle-8.0-20061218-i386.iso
iceweasel-libthai 2.0 on debian
ได้ทำการแยกเป็น component ออกมาต่างหากแบบเดียวกับ xulrunner-libthai
ของพี่เทพ ตอนนี้พี่เทพเอาเข้าไปไว้ใน linux.thai.net/apt แล้วสามารถ
apt-get install ได้เลยนะครับ
Bug Pango ของ Ubuntu 6.10
ตอนนี้ mrchoke ได้ build libpango มาใหม่โดยเอาตัวที่ update ล่าสุดมา patch สามารถ apt install ได้เลยนะครับใช้ source list นี้ครับ
*หมายเหตุ ถ้า mount cdrom แล้วไม่แสดงภาษาไทยจะต้องเข้าไปเพิ่ม option ใน /etc/fstab ของ cdrom ให้ใช้ UTF-8
IceWeasel 2.0 + libthai
ตอนนี้ build บน Ubuntu 6.10 เสร็จแล้วผมทำ screenshot ไว้ด้วยอยากให้ลองนำไปทดสอบดูนะครับ
สามารถ apt-get install iceweasel ได้เลยนะครับโดยเพิ่มในไฟล์ /etc/apt/sources.list ดังนี้
*หมายเหตู ต้อง remove firefox เดิมออกก่อนนะครับ
สำหรับ debian ถ้าเสร็จแล้วจะมาเขียนบอกนะครับ
Behind Ubuntu
นักพัฒนาของ Ubuntu โดยจะมีภาพโต๊ะทำงานและหน้าจอของนักพัฒนาให้ดูด้วย
อันนี้แถมนะครับเป็น Starter Guide ของ Ubuntu 6.10 (Edgy)
Codename for LinuxTLE 8
ช่วยกันโหวตได้ ที่นี่นะครับ
เสวนา TLUG หัวข้อ "อนาคตโอเพนซอร์สไทย"
วันเวลา: เสาร์ 25 พฤศจิกายน 2549 (เสาร์นี้) 13.00-16.00
สถานที่: ห้อง 503 ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ (ห้องเดิม BTD1)
ขอเชิญผู้ใช้และผู้พัฒนาโอเพนซอร์สทุกท่าน ร่วมแลกเปลี่ยนประสบการณ์ใช้งานซอฟต์แวร์โอเพนซอร์สทุกชนิดในหน่วยงานของตนเ อง รวมถึงแสดงความคิดเห็นว่าทิศทางการพัฒนาโอเพนซอร์สในประเทศไทยควรมุ่งไปทางไหน ชุมชนควรมีบทบาทอย่างไร ในการเสวนา TLUG หัวข้อ "อนาคตโอเพนซอร์สไทย"
รูปแบบงานจะแตกต่างจาก TLUG ครั้งก่อนๆ ครับ ผมแบ่งเวลาสำหรับแสดงความคิดเห็นไว้ 10 ท่าน ท่านละ 15 นาที ถ้าสนใจจะพูดก็ลงชื่อไว้ในคอมเมนต์ได้เลย อยากให้ขึ้นมาพูดกันเยอะๆ เพราะเราต้องการความคิดเห็นที่หลากหลายจากทุกคนนะ
ผู้ร่วมเสวนาที่คอนเฟิร์ม
- คุณเทพพิทักษ์ การุญบุญญานันท์
- คุณโดม เจริญยศ
- คุณอัครวุฒิ ตำราเรียง (Mambohub.com)
ป.ล. งานนี้เป็นการหาไอเดียว่าวงการโอเพนซอร์สจะมุ่งไปทางไหนด้วยกำลังของชุมชนเอง ไม่ใช่การปราศัยเรื่องรัฐมนตรี ICT นะครับ
ป.ล. 2 เนื่องจากมีเวลากระชั้นมาก ดังนั้นฝากช่วยประชาสัมพันธ์งานกันเยอะๆ เลย
Thai packages for Edgy
- arnthai 2.0
- gtk-im-libthai 0.1.4
- libdatrie 0.1.1
- libthai 0.1.7
- thailatex 0.4
สำหรับผู้ที่ใช้ apt เพิ่มที่ไฟล์ /etc/apt/sources.list ดังนี้
deb http://ftp.opentle.org/people/prach/ubuntu/edgy/ ./
Firefox 2.0 released
Ubuntu 6.10 (Edgy Eft) Release Candidate
Ubuntu 6.10 (Edgy Eft) Beta
- Upstart แทน init
- New bootup splash
- Gnome 2.16
- Tomboy
- F-Spot แทน gthumb
- Evolution 2.8.0
- Firefox 2.0
- OpenOffice 2.0.4 RC2
- Gaim 2.0 3.1beta
- Orca แทน Gnopernicus
- New Theme
download at http://releases.ubuntu.com/6.10/
Remastering Ubuntu 6.10 (Edgy) Livecd
1. คัดลอก LiveCD
ทำการ download iso ของ edgy-desktop-i386.iso กำหนดค่าไดเรคทอรีที่จะใช้ในการพัฒนา (export work=~/remaster)
#mkdir ~/remaster
#export work=~/remaster
จากนั้นทำการ mount และคัดลอกข้้อมูลใน iso ลงในไดเรคทอรี่ที่ใช้พัฒนา
#mkdir $work/cdrom-org
#mount -o loop edgy-desktop-i386 $work/cdrom-org
#mkdir $work/cdrom-cust
#cp -a $work/cdrom-org $work/cdrom-cust
2. Mount compressed filesystem
ไฟล์ระบบของ ubuntu livecd นั้น ถูกบีบอัดด้วย squashfs
#mkdir $work/filesystem.org
#mount -t squashfs -o loop $work/cdrom-org/casper/filesystem.squashfs $work/filesystem.org
3. สร้าง image สำหรับใช้ในการปรับแต่ง compress filesystem
ขั้นตอนนี้ต้องการเนื้อที่ว่างประมาณ 2 GB ในการสร้างไฟล์ image
#dd if=/dev/zero of=$work/filesystem.img bs=1M count=2147
#mke2fs $work/filesystem.img
#mkdir $work/filesystem.cust
#moutn -o loop $work/filesystem.img $work/filesystem.cust
ทำการคัดลอกไฟล์ระบบเดิมมายังไฟล์ image ที่เราสร้างขึ้นมาใหม่
#cp -af $work/filesystem.org/. $work/filesystem.cust
#umount $work/filesystem.org
4. Chroot เพื่อทำการแก้ไขระบบต่าง ๆ
#cp /etc/resolv.conf $work/filesystem.cust/etc/
#mount -t proc -o bind /proc $work/filesystem.cust/proc
#chroot $work/filesystem.cust /bin/bash
ขณะนี้เราอยู่ในระบบที่จะต้องการแก้ไข ในตัวอย่างนี้ผมจะทำการติดตั้ง language-support-th
#apt-get update
#apt-get install language-support-th
#apt-get clean
#exit
ขณะนี้ได้ออกจากระบบที่ทำการแก้ไขแล้ว
#umount $work/filesystem.cust/proc
#rm $work/filesystem.cust/etc/resolv.conf
5. แก้ไขเสร็จแล้ว
ต้องอัพเดทรายการ package และทำการ ลบข้อมูลที่ไม่ได้ใช้ออกจากระบบ
# chroot $work/filesystem.cust dpkg-query -W --showformat='${Package} ${Version}\n' \
> $work/iso-cust/casper/filesystem.manifest
#dd if=/dev/zero of=$work/filesystem.cust/dummyfile
#rm $work/filesystem.cust/dummyfile
6. บีบอัดไฟล์ระบบ
#rm $work/iso-cust/casper/filesystem.squashfs
#cd $work/filesystem.cust
#mksquashfs . $work/iso-cust/casper/filesystem.squashfs
#cd ../
#umount filesystem.cust
7. สร้าง iso ไฟล์
#cd $work/iso-cust
#find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt
#cd ../
#mkisofs -o edgy-desktop-cust.iso \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -V "Custom Edgy Desktop" -cache-inodes -J -l iso-cust
เมื่อเสร็จแล้วจะได้ไฟล์ iso มา ก็นำไปเขียนลงแผ่น cd เท่านี้เราก็จะได้ แผ่น ubuntu livecd ของเราเองแล้วครับ
DSL-N
Linux Timeline
ความทรงจำที่ ม.ข.
Java Programmer Certification Boot Camp
Damnsmall Linux + thai
Xvesa , Fluxbox ซึ่ง distro ส่วนใหญ่จะไม่ใช้กัน และยังพวกระบบ keyboard กับ font ก็ยังใช้ระบบเก่า เพราะต้องการทำให้ระบบมีขนาดกะทัดรัด ไม่ใช้ xkb แต่ใช้ xmodmap แทน ส่วนพวก font ก็ไม่ใช้พวก mkfontdir ต้องมานั่งทำ fonts.dir เองอีก เล่นเอางงไปหลายวัน กว่าจะทำให้อ่านไทยและ input ไืทยได้แต่ก็ยังไม่ค่อยสมบูรณ์นักต้องปรับปรุงอีก เดี๋ยวถ้าเสร็จว่าจะทำเอกสารสำหรับการใช้ภาษาไทยบน DSL เพื่อใครสนใจใช้จะได้ง่าย
Translation BMP
Kororaa Xgl Live CD 0.2
ที่ http://kororaa.org/
This is life.
--- เหนื่อยกายนะพอทน แต่เหนื่อยใจไม่รู้จะทนยังไง
--- ชีวิตยังไม่สิ้นก็ต้อง ดิ้นกันต่อไป
--- คนที่ไม่เคยลำบากแล้วจะสบายมันไม่มี
Hacker
http://www.thaiadmin.org/board/index.php?topic=16979.0
Compiling firefox แบบ static library
1. Firefox 1.5
2. Mozilla ICU Thai patch 2.0
3. Mozilla with-icu patch 0.6
กว่าจะผ่านแต่ละขั้นงงดี ติดโน้นติดนี่กว่าจะ ./configure ผ่าน แล้วยังมาติดตอน compile อีกต้องใช้ autoconf 2.13 อีก
เดียวถ้าเสร็จแล้วจะมาเขียนวิธีการ compile อีกที
Ajax (programming)
- XHTML หรือ HTML และ CSS สำหรับ สร้างและกำหนดรูปแบบข้อมูล
- Document Object Model ใช้ JavaScript ในการสร้าง, ติดต่อกับผู้ใช้และแสดงหน้าเว็บแบบ dynamic
- XMLHttpRequest สำหรับให้ object แลกเปลี่ยนข้อมูลแบบ asynchronously กับ web server ส่วนมากจะใช้ XML แต่รูปแบบอื่นก็ใช้ได้ดังนี้ HTML, plain text, JSON, EBML
ตัวของ Ajax นั้นไม่ใช่ technology แต่เป็นการใช้หลาย ๆ เทคโนโลยีมาทำงานร่วมกัน ข้อดีของการนำ Ajax ไปใช้งานนั้นจะทำให้ web application ของเรานั้นทำงานได้เร็วขึ้นเพราะเมื่อ user ต้องการข้อมูลในส่วนไหนก็จะ update เฉพาะส่วนนั้นไม่ต้อง update ทั้งหมด
^-^ : วันนี้นำมาเล่าเท่านี้ก่อนเดี๋ยวถ้าศึกษาเพิ่มอีกแล้วจะนำมาเล่าต่อครับ
NLC6
ดูรายละเอียดได้ที่ http://ccp.nectec.or.th/activity/nlc6/
Web Badges / Buttons
Symphony OS
Run anaconda on X
ทำการ export folder ที่จะแก้ไข
#export PYTHONPATH=/lab/work/edit/stage2/usr/lib/anaconda
#export BASE=:/lab/work/edit/stage2/usr/lib/anaconda
#export PATH=$PATH:/lab/work/edit/stage2/usr/lib/anaconda-runtime/
คำสั่งที่ใช้รัน anaconda บน X ดังนี้
#anaconda --test -m nfs://lab/work/edit/stage2/usr/lib/anaconda
Learning Python
Mirror of SUTLinux
http://mirrors.scphost.com/pub/sutlinux/
ชีวิตช่วงปิดเทอม
ก็เลยไม่รู้จะหาอะไรใหม่ ๆ เล่นได้ยังไง ปิดเทอมก็เลยเหมือนพักผ่อนจริง ๆ อยู่บ้านดูหนัง ฟังเพลง ขับรถไปโน้นมานี่ แล้วก็คุยโทรศัพท์ ช่วงนี้ก็พอได้ลองบ้างกับ embedded linux อ๋อที่สำคัญวันนี้เกรดออก วิชาที่หนักใจก็รอดมาได้ ก็คงน่าจะจบ 4 ปีเหมือนคนปกติแล้วครับ
SUT-MDE 1.0 Released
- Anjuta 1.2.2 (สำหรับเขียน c/c++)
- Eclipse 3.1 (สำหรับเขียน java)
- Blender3D 2.37a (สำหรับทำ 3D)
- ได้ทำการเปลี่ยน themes และ engine ของ gnome ใหม่
- เมื่อทำการติดตั้งลง harddisk แล้วสามารถขยายเนื้อที่ได้อีก






Fixed xterm+thai
uClinux
Favourites Icon
ดูได้ที่ http://poonlap.blogspot.com/2005/08/faviconico.html
Problem of xterm+thai
วันแม่
ปล.วันนี้เป็นแม่ก็ขอให้เป็นวันที่เราพึงระลึกถึงแม่แล้วก็เริ่มต้นที่จะดูแลเอาใจใส่และรักท่านให้มาก ๆ
เปลี่ยน icons ของ SUT-MDE
จากนั้นก็เข้าไปแก้ config ไฟล์ใน gconf ก็จะทำให้ icons ที่เราเลือกเป็นค่า default ของระบบ
SUT-MDE
โปรแกรมหลักสองตัวคือ Anjuta และ Eclipse แล้วได้ใส่ Blender สำหรับทำพวก 3D ด้วยตอนนี้ยังอยู่ในช่วงพัฒนาและน่าจะมี beta version ออกมาในไม่ช้าครับ
Open source & Networking Camp
ได้ฟังความคิดเห็นจากครูที่มีอุดมการณ์ตั้งใจจะมาสอนตามชนบท ส่วนกิจกรรมที่ทางค่ายได้ไปทำจะเล่าให้ฟังอีกทีครับ
Relax
เกณฑ์ทหาร
ตอนนี้อยู่ที่จันทบุรี
ความคืบหน้าของ SUTLiveCD 2.0
โดยได้พัฒนาในส่วนที่คัดลอกตัวระบบลงใน partition ของ windows โดยแบ่งเป็น 2 ไฟล์ เป็นส่วนของ ระบบ 1 ไฟล์ และswap อีกหนึ่งไฟล์
โดยเมื่อทำการบูตด้วยแผ่น cd จะมีการถามว่าจะลงใน partition ของ windows ที่มีเนื้อที่ว่างพอหรือไม่
ถ้าไม่ต้องการลงหรือมีเนื้อที่ไม่พอระบบก็จะทำงานในแผ่น cd แต่ถ้าลงในเครื่องแล้วระบบก็จะ eject แผ่นออกมาอัตโนมัติ
และมีการแก้ไขปัญหาต่างอีกดังนี้
1. เมื่อจะ shutdown หรือ reboot จะมีการ eject แผ่นออกมาให้ก่อน
2. ใช้โปรแกรม Beem Media Player แทน XMMS เพื่อแก้ปัญหาเรื่องภาษาไทย
3. การทำ auto mount usb storage
4. ทำให้โปรแกรม OfficeTLE ใช้ font ไทยแบบ truetype ที่มีอยู่ได้หมด
สอบเสร็จแล้ว
auto mount usb ใน sutlivecd 2.0
SUTLiveCD version 2.0
Install image to harddisk
Added bmp to livecd
Combine blogs
รอสอบ
และก็จะลองเขียน script สำหรับ shutdown livecd และให้ eject แผ่นออกมาด้วย
Server linux.sut.ac.th ตอนนี้ใช้งานไม่ได้
ดูแล เนื่องจากยังไม่ได้ห้องสำหรับตั้ง server เองแต่ก็กำลังจะได้ในไม่ช้านี้แล้ว จะได้ดูแล server เองเสียที
SUTLinux Release 2
Yamo1-LiveCD Release
การใช้ floppy และ usb
การใช้ floppy และ usb
ชื่อในการ release
เพื่อเป็นการสอดคล้องกับชื่อรุ่นของ SUTLinux
SUTLive-CD v.2.0 ใกล้จะ release แล้ว
สร้า้ง script สำหรับ livemount
TLE 7.0 แบบ livecd ทำได้แล้ว
Developping TLE7.0 Live-CD
ใช้ fedora core 3 ในการพัฒนา
Linux TLE 7.0 ออกแล้ว
-kernel 2.6.9
-Mozilla 1.7.3 Firefox 1.0 และ Thunderbird 0.9.0
-ออฟฟิศทะเล 1.1.2
download at ftp://ftp.nectec.or.th/pub/linux-distributions/Linux_TLE/waghor/iso/i386/
งานที่ได้ทำ ก.ย. - ต.ค. ปี 47
2. เขียนวิธีการทำ SUTLive-CD
3. เพิ่มการทำ swap ของ SUTLive-CD ใน dos partition
4. แก้ไขให้ SUTLive-CD ใช้งาน OpenOfficeTLE ได้สมบูรณ์
NECTEC Linux Competition: NLC5
สามารถดูรายละเอียดเพิ่มเติมได้จาก ccp.nectec.or.th/activity/nlc5








