File System over SSH Protocol

ปกติแล้ว Nautilus มันสามารถ connect network drive ผ่านทาง SSH ได้อยู่แล้ว โดยมันจำลองการทำงานเสมือนเป็น file system ผ่านทาง GNOME-VFS ซึ่งแปลว่ามันยังไม่ใช่ file system จริงๆ วันนี้คุยกับพี่ CoolNetClub ในห้อง #tlwg เรื่อง NFS กับ network drive ผ่าน SSH คุ้นๆ ว่าเคยเห็น sshfs แต่ยังไม่เคยลองซะที ก็เลยอาศัยโอกาสนี้ทดลองใช้ซักหน่อย

sshfs

sshfs อาศัย ssh/sftp/scp เป็นช่องทางในการ mount พื้นที่ในเครื่องๆ นึงมาเป็นส่วนนึงของ file system จริงๆ โดยใช้ Filesystem in Userspace (FUSE) ซึ่งเคอร์เนลของลินุกซ์สนับสนุนมาตั้งแต่รุ่น 2.6.14 สำหรับคนทีคอมไพล์เคอร์เนลเองก็ต้องคอนฟิก FUSE_FS=Y หรือ M ก็ได้

หลังจากได้เคอร์เนลที่สนับสนุน FUSE แล้ว ทีนี้ก็ติดตั้ง sshfs กัน .. บน Ubuntu ก็ง่ายหน่อย

# aptitude install sshfs

ซึ่งจะติดตั้ง sshfs พร้อมกับ dependencies (e.g. fuse-utils + libfuse2) ที่จำเป็น

จากนั้นเพิ่ม user ที่ต้องการใช้ FUSE เข้าไปอยู่ใน group fuse .. อันนี้จำเป็นต้องทำเพราะค่าปริยายแล้วโปรแกรมใน userspace มันบังคับให้เฉพาะ user ใน group fuse เท่านั้นที่ execute ได้

# usermod -G fuse -a username

ถ้าแก้ไข user ที่กำลัง login อยู่ อาจจะต้อง logout ออกจากระบบก่อน แล้ว login เข้ามาใหม่ถึงจะเริ่มมีผล

Mount!

สำหรับการใช้งานสำหรับคนที่คอมไพล์ FUSE_FS เป็นเคอร์เนลมอดูลก็สั่ง modprobe ซะก่อน

# modprobe fuse

จากนั้นก็สั่ง mount กัน

$ sshfs [email protected]:/path/ /mount/point/

sshfs ก็จะให้ใส่ password (หรืออาจจะต้องไม่ใส่ถ้าใช้ public-key authentication) พอผ่านขั้นตอน authentication ได้ sshfs ก็จะ mount /path/ บน host.domain.tld มาเป็นส่วนนึงของเครื่องที่เรียกใช้ sshfs .. ลองสั่ง mount ดูสักหน่อย

$ mount
...
...
...
sshfs#[email protected]:/path on /mount/point type fuse (rw,nosuid,nodev,max_read=65536,user=username)

จะเห็นว่า sshfs มัน mount พื้นที่ปลายทางมาเป็นส่วนนึงของ filesystem ของเราเรียบร้อย .. ทีนี้ทดสอบกันด้วยคำสั่งทั่วๆ ไปที่ทำงานกับ filesystem เช่น

$ ls /mount/point/

ก็จะเห็นไฟล์ที่อยู่บนเครื่อง host.domain.tld .. จะก๊อปปี้ไฟล์ ฯลฯ ก็ทำได้สบายๆ ไม่ต้องง้อ NFS

วิธี unmount ก็ใช้คำสั่ง fusermount -u เช่น

$ fusermount -u /mount/point

ปิดท้าย … สังเกตดูจะเห็นว่าการ mount / unmount FUSE ไม่จำเป็นต้องใช้สิทธิของ root เลย … เจ๋ง :D

Filesystem over SSH

คุยกับพี่ CoolNetClub ในห้อง #tlwg ไปๆ มาๆ เลยได้ลอง sshfs ซึ่งทำงายอยู่บน FUSE อีกที .. สรุปว่าเจ๋งดี .. sshfs สั่ง mount ผ่าน SSH protocol ได้ .. ในขณะที่ FUSE ก็ทำให้เป็น Filesystem in Userspace ตามชื่อ เอาสองอย่างมาผสมกัน ผู้ใช้ทั่วไปก็สามารถสั่ง mount sshfs ได้ ไม่จำเป็นต้องเป็น root :)

บันทึกเรื่อง Filesystem over SSH Protocol เข้าห้องแล็บไว้แล้ว สนใจก็ตามไปอ่านได้ :)

Updated – Kitty Repository for Dapper Drake

ขี้เกียจรอแพ็คเกจเวอร์ชันใหม่ ก็เลย build เองเพิ่มนิดหน่อย

  • dosbox 0.65
  • exiv2 + libexiv2 + libexiv2-dev + libexiv2-doc 0.10 สำหรับ gimp-ufraw 0.9
  • inkscape 0.44
  • libexif12 + libexif-dev 0.6.13 อันนี้ก็สำหรับ gimp-ufraw 0.9
  • stellarium + stellarium-data 0.8.1
  • xchat-gnome 0.11 default เป็นภาษาไทย ท่าน vee build deb มาฝากไว้นานแล้ว ลืมเอามาโฆษณา :P

วิธีเพิ่ม repo และ ลิสต์รายชื่อแพ็คเกจอื่นๆ ที่อยู่ใน kitty repo เคย blog ไว้แล้ว

Genius WizardPen บน Ubuntu Dapper Drake

Dapper ใช้ Xorg 7.0 มีการเปลี่ยนโครงสร้างพอสมควร และกระทบไดรเวอร์ WizardPen ที่ใช้อยู่เหมือนกัน จะคอมไพล์ไดรเวอร์ก็อาจจะต้อง hack นิดหน่อย

อย่างแรก ติดตั้งเครื่องมือในการพัฒนาที่จำเป็น และต้องไม่ลืม imake x11proto-core-dev x11proto-input-dev

โหลดซอร์ส wizardpen มา ตัวล่าสุดใช้ได้ทั้งเมาส์และปากกาแล้ว :D

$ tar xzf wizardpen-0.5.tar.gz
$ cd wizardpen-0.5

ทีนี้ต้องแก้ไฟล์ Imakefile นิดนึง .. ประมาณบรรทัดที่ 5 ให้ลบ

#Include  "/usr/X11R6/lib/X11/config/Server.tmpl"

ออกซะ จากนั้นก็คอมไพล์ตามคำแนะนำ

$ xmkmf
$ make
$ sudo make install

คิดว่าจะเรียบร้อยแล้ว .. ปรากฏว่ามันติดตั้งผิดที่ไปเล็กน้อย .. เลยต้องย้ายไบนารีไปอยู่ให้ถูกที่ถูกทาง

# mv /usr/X11R6/lib/modules/input/wizardpen_drv.o /usr/lib/xorg/modules/input/

จากนั้นใส่ udev rules สักหน่อยให้สร้าง symlink ไปยัง /dev/input/event? ของแท็ปเล็ต

$ vi /etc/udev/rule.d/10-local.rule

ใส่ตามนี้

BUS="usb", KERNEL="event[0-9]", SYSFS{product}="Tablet WP5540U", NAME="input/%k", SYMLINK="tablet"

ทีนี้ก็

/etc/init.d/udev restart
/etc/init.d/gdm restart

เรียบร้อย :)

#tlwg log

เรื่องของเรื่องคืออยากทำ log bot ตั้งนานแล้ว ยิ่งมีการสุมหัวกันแปลในห้อง #tlwg ก็เลยคิดว่าต้องลงมือ code ซะที นั่ง code อยู่พักนึง ตอนนี้ยังไม่เรียบร้อยเท่าไหร่ ..แต่พอจะเข้ามาดูได้แล้ว (มั้ง) ..

วันแรกๆ โดนชาว #tlwg บ่นกันพอหอมปากหอมคอ .. เริ่มแรกมีฟีเจอร์แค่ enable/disable การบันทึกของทั้งห้อง ต่อมาขยายเป็น enable/disable เป็นรายบุคคลได้ .. ส่วนตัวไม่สนับสนุนวิธี enable/disable เป็นรายบุคคล เพราะจะกลายเป็นว่าใน log จะปรากฏข้อความไม่ครบ อาจทำให้อ่านการสนทนาไม่รู้เรื่อง ถ้าเป็นแบบนี้ log ไปก็ไม่ค่อยได้ประโยชน์ .. แต่ยังไงเสีย ในทางเทคนิคแล้วโปรแกรมควรจะยืดหยุ่นพอที่จะให้ผู้ใช้เลือกได้ว่าจะบันทึกหรือไม่บันทึกคำพูดของตัวเอง ยังอยากทำฟีเจอร์อีกหลายอย่าง ไว้ค่อยๆ ทำกันไป

เอาเป็นว่าใครอยากเข้ามาอ่านว่าห้อง #tlwg คุยอะไรกันก็เชิญที่ http://skuld.kitty.in.th/tlwg-log/ ได้เน้อะ

When (internetwork) things go wrong

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

ก็ไม่รู้คนที่รับผิดชอบงานนี้จะใช้เวลาแก้กันอีกนานขนาดไหน … ยังดีที่ SSH ไปไหนมาไหนได้ เลยใช้คาถามุด tunnel ไปอาศัยเครือข่ายคนอื่นเป็นทางออกแทน

Update: ที่เดี้ยงๆ ส่วนนึงเป็นเพราะ เส้นทาง มก. – สกอ. มันเดี้ยง (มั้ง)

Freeware on F/OSS

เดี๋ยวนี้ Freeware (ไม่ใช่ Free Software) สำหรับลินุกซ์ก็เยอะเหมือนกันนะ

พวกแอนตี้ไวรัส กับ เกมส์ก็น่าจะมีไม่น้อย.. เอ่อ จะว่าไป Oracle Database ก็แจกฟรีเหมือนกัน

คินดะอิจิยอดนักสืบ ตอนที่ 5 – คดีฆาตกรรมบนเกาะโกะกุมน

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

ตอนที่ห้านี้แปลโดยคุณ ชมนาด ศีติสาร ผู้แปลคินดะอิจิเล่มสามนั่นเอง อ่านจากคำนำดูเธอจะหงุดหงิดเล็กๆ เวลามีคนมาถามว่าเธอแปลการ์ตูนใช่ไหม ..ก็น่าเห็นใจสำหรับบ้านเราที่ภาคการ์ตูนดังกว่าต้นฉบับเป็นเวลานาน :P …

2006/06/21 21:40

ขณะเข้ากรุง .. แถวๆ วังน้อย

ผ่านหลักกิโลเมตรที่สองแสนแล้ว ..