อ่านเขียนไฟล์ใน Windows จาก coLinux
www.tanabutr.co.th/photobook
พอใช้ coLinux ไปเรื่อยก็เริ่มมีความจำเป็นที่จะต้องถ่ายโอนข้อมูลระหว่าง coLinux กับ Windows. ตรงนี้ก็มีหลายวิธี. เอาแบบสะดวกสุดก็เป็น bash shell ของ cygwin บนวินโดวส์ออกมาแล้ว scp หรือ sftp ถ่ายโอนไฟล์ไปให้ coLinux. แต่ถ้าต้องมีการถ่ายโอนไฟล์บ่อยๆวิธีนี้ก็จะไม่มีประสิทธิภาพ.
ใน Wiki ของ coLinux บอกว่ามี CofsDevice ใน coLinux ให้เข้าถึง (access) ไฟล์ที่อยู่ในวินโดวส์ได้เลยด้วยการเมาต์ดีไวซ์ที่ไปเชื่อมต่อกับโฟลเดอร์ในวินโดวส์. ก็น่าลอง แต่เห็นบอกว่ามันเป็น experiment และ very bugy เลยไม่อยากใช้ เพราะเข็ดกับความหายนะที่เกิดขึ้นของข้อมูลที่เกิดขึ้นกับการลองของพวกนี้. ใครอยากลองก็ลองเองครับ. เลยเอาแบบนี้, ให้ Windows แชร์โฟลเดอร์ออกมาแล้ว coLinux เมาต์ด้วย samba.
ใน coLinux ก็ติดตั้งแพ็กเกจ smbfs
# apt-get install smbfs
ทางฝั่งวินโดวส์ก็ไปสร้างแชร์โฟลเดอร์. ก็คิดว่าควรจะสร้างแชร์โฟลเดอร์ไว้ที่ไหน? ก็เลยเลือก c:\cygwin\home\poonlap เป็นแชร์โฟลเดอร์แล้วใน coLinux ก็ mount เป็น /home/poonlap. เรื่องการทำแชร์โฟลเดอร์ก็ไม่มีอะไรมาก คลิ้กขวาที่โฟลเดอร์แล้วเลือกแชร์. นี่ก็เป็นสาเหตุที่เมื่อวานอยากได้การตั้ง permission ของวินโดวส์ให้ละเอียดหน่อย ไม่งั้นคนในเน็ตเวิร์กก็เห็นโฟลเดอร์ที่แชร์หมด. ตรงนี้ให้เลือกยูสเซอร์ที่อนุญาตให้เข้าถึงแชร์โฟลเดอร์เช่น poonlap ซึ่งเป็นยูสเซอร์ที่อยู่ในวินโดวส์. เลือกเอา everyone ออกแล้วใช่เฉพาะชื่อตัวเอง.
กลับมาที่ส่วนของ coLinux แก้ไฟล์ /etc/fstab ซึ่งเป็นไฟล์ที่กำหนดว่าจะ mount อะไรบ้างตอนบูตเครื่อง. fstab ย่อมากจาก file system table. เพิ่มบรรทัดคล้ายๆตัวอย่างปรับแต่งให้เข้ากับกรณีของตัวเอง.
//192.168.0.1/poonlap /home/poonlap smbfs defaults,username=poonlap,pasword=xxx,workgroup=stardust,uid=1000 0 0
- //192.168.0.1/poonlap คือ IP ของเครื่องวินโดวส์ที่แชร์โฟลเดอร์มีชื่อแชร์ (share name) เป็น poonlap
- /home/poonlap คือตำแหน่งที่ต้องการไปเมาต์
- smbfs คือประเภทของระบบไฟล์ว่าเป็น samba file system
- defaults,... เป็นตัวเลือกของการ mount. ตรง workgroup ให้เติมชื่อเครื่อง. uid เป็น user id ของยูสเซอร์บน coLinux ที่จะให้เข้าถึงไดเรกทอรีที่เมาต์เสร็จ. uid=1000 นี่ก็หมายถึงยูสเซอร์ poonlap ใน coLinux.
รีบูตเครื่องใหม่มันก็จะ mount โฟลเดอร์ c:\cygwin\home\poonlap ของวินโดวส์ไปปะไว้ที่ /home/poonlap ใน coLinux. จริงๆไม่ต้องรีบูตก็ได้. เอาให้เห็นผลทันที
# mount -a
ทีนี้ก็จะใช้ไดเรกทอรีเดียวกันเวลาใช้ coLinux และ cygwin. ต้องระวังนิดนึงคือโปรแกรมที่คอมไพล์บนตัวใดตัวหนึ่งจะเอาไปรันอีกฝั่งไม่ได้ (ก็แน่นอนอยู่แล้ว). อันนี้ทำไว้ให้ส่งโอนถ่ายข้อมูลได้ง่ายขึ้นเท่านั้นเอง. เช่นใช้ Thai LaTeX ใน coLinux สร้าง PDF แล้วอ่านด้วย acrobat reader บนวินโดวส์อะไรทำนองนี้. ไม่ต้องมานั่่ง scp, sftp ไปๆมาๆ รหัสต้นฉบับก็อยู่ที่เดียวกัน.

