22 ธันวาคม, 2557

Resolving Stale NFS

ถ้าเจอเหตการณ์ Stale file blah blah blah อะไรสักอย่างนี่แหละใน NFS บน Linux ให้ใช้คำสั่งนี้ก่อนเลย
# exportfs -f
ได้ผลรึเปล่า ค่อยว่ากัน! 

REF:
http://blogs.opusvl.com/technical/resolving-stale-nfs-file-handle-issues-on-linux

21 พฤศจิกายน, 2557

Fixing: Create USB Linux installer Unetbootin in OS X

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

สิ่งที่ต้องเตรียม

  • โหลด syslinux มาไว้ที่เครื่องแล้วแตกไฟล์ออกมา มองหา mbr.bin แล้วจำไว้ (ตอนนี้ลองไฟล์ mbr.bin ที่อยู่ใน bios/mbr/ แล้วใช้ได้) 
  • ISO image ในที่นี้ใช้ Debian netins 

วิธีทำ

  1. ใช้ Disk Utilities สร้าง Partition ให้ USB Flash drive โดยให้เลือก Option เป็น Master Boot Record (MBR) พอทำเสร็จ disk util จะ mount ให้อัตโนมัติ ให้ใช้คำสั่ง mount ดูว่า flash drive เราเป็น device อะไร เช่น /dev/disk2
  2. ใช้คำสั่งดังนี้ในสิทธิ์ rootdd conv=notrunc bs=440 count=1 if=/path/to/syslinux/bios/mbr/mbr.bin of=/dev/disk2 
  3. จากนั้นใช้ Unetbootin ตามปกติ ก็จะสามารถบูตจาก USB Flash drive ได้แล้ว

REF:
 



20 มีนาคม, 2557

Recover failed HDD using Open Source tools

This will show how to recover failed hard disk using Linux and open source tools

Failed hard disk in this case means:

  • S.M.A.R.T. not healthy.
  • Hard disk have some bad sector
  • Some data cannot read and make system slow
  • The disk are still available in /dev/

The tools

  • Ubuntu Linux or other GNU Linux
  • GNU ddrescue

Process:

  • install the tools
  • # apt-get install gddrescue smartmontools
  • Plug your failed hdd to linux system, use dmsg | tail to determine what device name were shown in this case is sdb ( /dev/sdb )
  • If you want to recovery whole drive to another new healthy disk (disk to disk), 
    • # ddrescue -f -n /dev/sdb /dev/sdX logfile.log # where X is your new healthy disk
      • The option -f and -n said force dump "only" the good parts from your failed hdd to new one, this will skip the error parts and make this activity faster than the dd command.
      •  ddrescue use logfile.log file next time for recover the error parts.
    • Now the error parts.
    • # ddrescue -d -f -r3 /dev/sdb /dev/sdX logfile.log # where X is your new healthy disk
      •  The option -r3 said try 3 times to read error parts, you can change the desire value depends on your hdd health.
    • You may or may not check your  new disk (fsck) when finish.
Summary and suggestion:
  • Always monitor your hard disk health, use smartmontools and setup the daemon will help.

06 กุมภาพันธ์, 2557

การคอนฟิค apt ไม่ให้ติดตั้งแพคเกจที่ apt recommend (รวมถึง suggest)

ปกติเวลาจะ apt-get install แพคเกจที่ต้องการ ใน Ubuntu มันจะติดตั้งแพคเกจส่วนที่เพิ่มเข้ามาคือ แพคเกจที่เป็น dependency (ถ้ามี) และ แพคเกจที่ recommend ซึ่ง recommend เนี่ย ไม่ต้องติดตั้ง เพิ่มเข้าไปก็ได้แต่ apt ใน Ubuntu มันทำให้(เปลือง space) 

การคอนฟิคไม่ให้ apt มันติดตั้ง recommend แพคเกจมาด้วย ทำได้ดังนี้

แก้ไขไฟล์คอนฟิค (ถ้าไม่มีก็สร้างใหม่เลย)  


/etc/apt/apt.conf

เพิ่มบรรทัดต่อไปนี้ลงไป


APT::Install-Recommends "0";
APT::Install-Suggests "0";
เป็นการบอกว่า ไม่ต้องติดตั้งทั้ง Recommend และ Suggest แพคเกจ

01 มกราคม, 2557

# หนองคาย | ลาว | เวียงจันทน์

 # หนองคาย | ลาว | เวียงจันทน์

นี่คงเป็นครั้งแรกที่ได้บันทึกการเดินทาง (เป็นการเดินทางที่แขนขาและอวัยวะต่างๆ ไม่ได้อยู่หน้าคอมฯ)

ใกล้ปีใหม่ หลังจากที่ไม่ได้กลับบ้านมา ๒ ปี ก็ฤกษ์กลับบ้านเสียที การกลับบ้านแต่ละครั้ง ก็มักจะมีเรื่องเซอร์ไพรส์ต่างๆ เช่น ครั้งก่อน พ่อได้เปลี่ยนชื่อเป็นชื่อใหม่ หรือ ครั้งนี้ กลับมาบ้านหลังใหม่ที่เป็นบ้านจริงๆ (อยู่ในแฟลตห้องแถวมาเกือบตลอดชีวิต) แล้วบังเอิญอีกอย่างคือ ที่บ้านมีจักรยานสำหรับทุกคนในบ้านเลย ทั้งแม่ พ่อ น้องชาย มีทุกคน ก็เลยเกิดอยากปั่นไปลาวขึ้นมา โดยที่ไม่ได้หาข้อมูลมากนัก ดูแต่ในแผนที่คร่าวๆ ว่า เวียงจันทน์อยู่ในระยะที่ปั่นถึงไหว ก็เลยตั้งเป้าไว้ที่เวียงจันทน์

เมื่อถึงวันจริง ก็ออกจากบ้านประมาณ ๙​ โมงนิดๆ มั้ง จำไม่ได้เหมือนกัน พอปั่นไปที่ด่าน ตม. ที่สะพานมิตรภาพ (แอบเห็นป้ายห้ามจักรยานและมอไซด์ขับขี่บนสะพานด้วย แอบหวั่นๆ​ ) ด้วยความที่ไม่เคยไปลาวเลยสักครั้งเดียวตั้งแต่เกิดมา ก็เลยเดินงงๆ ไปยื่นพาสปอร์ตให้ จนท. แล้วเค้าก็ส่งกระดาษมาใบนึงที่ต้องเขียนเพื่อขอออกนอกประเทศ ผมเขียนไปซีกเดียวคือ ขาเข้า (มันจะมีสองซีกให้เราเขียน คือขาขอออกนอกประเทศและขอเข้าประเทศ) ซึ่งตรงนี้มันต้องเขียนขาออก คิดในใจว่า ก็ตูจะเข้าประเทศเค้านี่หว่า ฮา ก็เลยต้องเขียนอีกซีกนึง พอเสร็จก็เริ่มปั่นข้ามสะพาน บนสะพานมิตรภาพ มีรางรถไฟด้วยนะ รางอยู่ตรงกลางสะพานเลยล่ะ ตอนปั่นก็เสียวๆ จะโดนซิวอยู่เหมือนกัน ขับรถกันเร็วมาก แต่ก็ผ่านไปได้

พอถึง ตม. ลาว ก็เริ่มเจอเรื่องงงๆ อีก เพราะไม่รู้ว่าต้องทำไรก่อน ไม่มีป้ายบอกเป็นสเต็ปๆ ว่า ๑ ต้องทำอะไร ๒ ต้องทำอะไรต่อ อะไรประมาณนี้ อาศัยดูเอาว่า เค้าต่อคิวกันตรงไหนเยอะๆ ก็ไปต่อคิวตรงที่เค้าทำบัตร RFID อะไรสักอย่าง ลืมถ่ายรูปมา ได้มาเป็น one way ticket  ซึ่งจนบัดนี้ก็ยังไม่อยู่ดีว่าเอาไปทำอะไร สงสัยคงใช้กับพวกรถยนต์หรือรถโดยสาร พอทำบัตรเสร็จ ก็ไปเขียนใบขอเข้าประเทศ แล้วก็ยื่นให้ จนท. เค้าก็ถามเราว่าเอารถไรมา (ช่องที่ใช้ยื่นเอกสารมันมี ๒ ที่ คือ คนปกติ กะ คนที่เอารถมา สงสัยว่าผมคงไปยื่นที่ช่องหลัง) ผมก็บอกไปว่าจักรยาน เค้าก็ไม่ได้ว่าหรือห้ามอะไร ก็ผ่านไปได้

เมื่อปั่นผ่านด่านมาแล้ว ก็จะพบกับทางออก ซึ่งมีทางแยกอยู่ ๒ ทางคือ ซ้ายกับขวา แล้วที่นู่นไม่รู้ว่างบทำป้ายเค้าหมดหรือยังไง เพราะมันไม่มีป้ายบอกเลยว่า เลี้ยวซ้ายจะไปที่ไหน เลี้ยวขวาจะไปที่ไหน ผมต้องจอดดูแผนที่ในมือถือซึ่งมันต่อเน็ตไม่ได้แล้วตั้งแต่อยู่กลางสะพาน ยังดีที่เคยโหลดแผนที่บางส่วนไว้ ก็เลยพอดูออกว่าต้องไปทางไหน (เลี้ยวขวา) ผมก็ปั่นไปตามเส้นทางเรื่อยๆ ระหว่างทางก็คล้ายๆ อำเภอๆ นึงในบ้านเรานี่แหละ ไม่เจริญอะไรมาก ถนนก็ ๔ เลน (ปั่นชิดขวาสุดตลอด) ข้างๆ ทางก็มีฝุ่นมีอะไรพอสมควร เพราะเป็นเส้นทางขนส่งอะไรหลายอย่างเหมือนกัน และเหมือนเดิม ไม่มีป้ายบอกทางว่าอีกกี่กิโลจะถึงเวียงจันทน์ เท่าที่สังเกตได้คือ ที่ลาวเค้าก็ใช้ผลิตภัณฑ์ของเราเยอะทีเดียว ตั้งแต่อาหาร​ (มาม่า, น้ำปลา) ไปจนถึงของใช้ประจำวัน (ยาสระผม, น้ำยาล้างจาน) ผมก็ปั่นไปเรื่อยๆ จนถึงเวียงจันทน์ แล้วก็พักกินสนีกเกอร์บาร์กับน้ำเปล่า น้ำเปล่านี่ก็กินเรื่อยๆ ระหว่างทาง แถมไม่ได้แลกเงินไว้ด้วย ปั่นเล่นอยู่สักพัก ก็คิดว่าจะกลับ บังเอิญไปโผล่ถนนเส้นนึงมองไปไกลๆ ก็เห็นอะไรสักอย่างเหมือนที่เคยเห็นในรูป มันคือประตูชัย ทีแรกผมไปเวียงจันทน์โดยไม่ได้คิดว่าจะไปไหนบ้าง พูดง่ายๆ ก็คือไม่ได้วางแผนไว้  ก็เลยปั่นไปที่ประตูชัยถ่ายรูปสักนิดหน่อยก็ปั่นกลับ

ทริปนี้ทำให้รู้ว่า
ควรพกปากกาติดตัว แล้วก็ควรฟิตร่างกายดีๆ
สาวลาวน่ารัก :P

05 พฤศจิกายน, 2556

Role และ Permission ใน Alfresco


ใน Alfresco จะมี Permission ซึ่งจะแบ่งตาม Role ที่กำหนดให้กับ User ซึ่ง มีไม่เยอะหรอก แต่จำไม่ค่อยได้  ก็เลยมาบล็อกเก็บไว้

Site permission - Permission ที่กำหนดใน Alfresco Site
  1. Manager - มีสิทธิ์ในทุก content ที่อยู่ใน site ไม่ว่าจะเป็นเอกสารที่สร้างจากตนเอง หรือ สมาชิกคนอื่นที่อยู่ใน site
  2. Collaborator - มีสิทธิ์ในทุก content ที่เป็นเจ้าของอยู่ สามารถแก้ไข content ของสมาชิกคนอื่นๆ  แต่ไม่สามารถลบได้
  3. Contributors - มีสิทธิ์ในทุก content ที่เป็นเจ้าของอยู่ แต่ไม่สามารถ แก้ไขและลบ content ของสมาชิกคนอื่นๆ ได้
  4. Consumer - สามารถเข้าถึง content ที่ได้รับอนุญาติเท่านั้น ไม่สามารถสร้าง content ของตัวเองได้

User roles และ Permission - สิทธิ์ของแต่ละ role ใน Alfresco

All permissions apply to the invited space Owner (1) Coordinator Collaborator Contributor Editor Consumer
See invited space
View content
Copy content
Preview content in template
View content properties
Check in content to invited space

Checkout content to different space.

Update/edit content created by other users

Update properties for content created by other users

Edit existing discussions

Create/add new content (1)

Cut/delete content created by other users



Create child spaces in the invited space

View content rules

Checkout content to same space.
(2)
Contribute to existing discussions

Invite others



Start new discussion topic

Delete content created by other users



Same access rights as content owner



Take ownership of content



Create space rules



03 พฤศจิกายน, 2556

ฤๅ OpenVZ กำลังจะตาย!? | Is OpenVZ obsoleted?

 
มีหลายคนเชื่อว่า OpenVZ ล้าสมัยบ้าง กำลังจะตายบ้าง ก็เลยถามคนเหล่านั้นว่า ทำไมถึงเชื่ออย่างนั้นล่ะ คำตอบสุดฮิตที่ได้มา จะมีสามข้อดังนี้
  1. เคอร์เนล ของ OpenVZ เก่าจัด เพราะอิงอยู่กับรุ่น 2.6.32 ในขณะที่คนอื่นปาไปรุ่น 3.x ละ
  2. LXC คืออนาคต ส่วน OpenVZ นั้นคือ อดีต ~
  3. OpenVZ ไม่มีการพัฒนาต่อแล้ว จนโดนถอดออกจาก Debian Wheezy
เอาล่ะ มาดูกันว่าข้อเท็จจริงแต่ละข้อมีอะไรบ้าง
  1. "Kernel ของ OpenVZ เก่าจัด" - Kernel ของ OpenVZ ในปัจจุบัน มีฐานมาจาก Red Hat Enterprise Linux 6 (RHEL6) ซึ่งเป็นรุ่นที่ใหม่ที่สุดและดีที่สุดจาก Red Hat ซึ่งเป็นบริษัทที่ทำตลาด Enterprise ที่มีส่วนร่วมในการพัฒนา Kernel ของลินุกซ์ มาโดยตลอด ไม่มี Kernel ไหนที่จะไม่มีบั๊กหรอก แต่อยากจะบอกว่า RHEL6 คือดิสโทรที่มี Kernel ที่มีคุณภาพใกล้เคียงที่สุดแล้ว

    สิ่งที่นักพัฒนาจาก Red Hat ทำก็คือ Fork Kernel มาจาก ต้นน้ำ, จัดการบั๊ก, แก้ปัญหาเรื่อง security, update ตัว driver และเพิ่มฟีเจอร์ที่ไม่มีในต้นน้ำ ซึ่งกระบวนการนี้ทำกันกว่าครึ่งปีกว่าจะปล่อยออกมา ซึ่งพอปล่อยออกมาก็จะกลายเป็นเคอร์เนลที่ "เก่าและล้าสมัย" ไปแล้ว ถ้ามองในมุมตัวเลขของรุ่นเคอร์เนล นั่นแหละ อย่าเพิ่งตัดสินตัวเคอร์เนลจากรุ่นของมัน เพราะนั่นไม่ได้แปลว่าเก่าหรือล้าสมัย มันความเสถียรและปลอดภัยมากกว่า ซึ่งหลังจากที่ปล่อยออกมา จะมีการ maintain ต่างๆ เช่น ทำให้รองรับฮาร์ดแวร์ใหม่ๆ ได้ หรือมี security bug fix ซึ่งสิ่งเหล่านี้ทำให้ OpenVZ ได้ใช้เคอร์เนลที่มีคุณภาพ

    ในอนาคตอันใกล้ RHEL7 กำลังพัฒนาตัวเคอร์เนลที่ใช้รุ่น 3.x เป็นฐาน ซึ่ง OpenVZ จะพอร์ตเคอร์เนลไปใช้ของ RHEL7 เช่นกัน แต่ตอนนี้ เคอร์เนลของ RHEL6 ที่ OpenVZ ใช้อยู่ คือเคอร์เนลที่ใหม่ที่สุดและดีที่สุด และขอเถอะ อย่าตัดสินกันที่ uname แล้วผลที่ออกมาคือ 2.6.32
  2. "OpenVZ vs LXC" - เคอร์เนลของ OpenVZ พัฒนามาอย่างยาวนาน และเป็นการพัฒนาที่แยกจากคนอื่นมาโดยตลอด หรืออีกนัยนึงก็คือ พัฒนาแยกจากเคอร์เนลของลินุกซ์ ความผิดพลาดเกิดขึ้นในปี 2005 และตั้งแต่นั้น ทีม OpenVZ ก็ยังคงพยายามที่จะรวมส่วนต่างๆ OpenVZ เข้าไปยังเคอร์เนลต้นน้ำ โดยหวังว่าเมื่องานส่วนนี้เสร็จ ที่เคอร์เนลต้นน้ำจะสามารถใช้ความสามารถของ OpenVZ ได้ครบทุกฟังก์ชัน

    แล้ว LXC ล่ะ? LXC เป็น user-space tool ซึ่งรันอยู่บนเคอร์เนล ในขณะที่ทีมของ OpenVZ ทำงานเกี่ยวกับการรวมเข้าไปยังลินุกซ์เคอร์เนลอยู่นั้น LXC ได้เริ่มใช้ฟีเจอร์เหล่านั้น ซึ่งฟีเจอร์กว่าครึ่งนึงถูกพัฒนาโดยทีมของ OpenVZ

    ทั้ง OpenVZ และ LXC ต่างมีการพัฒนากันอย่างต่อเนื่องและต่างมีอนาคตเป็นของตัวเอง อาจจะมีการรวมเครื่องมือกันในบางจุด ซึ่งมาถึงตรงนี้ก็พูดได้เลยว่า LXC ไม่ได้เป็นตัวตายตัวแทนของ OpenVZ แต่เป็นโปรเจ็คคนละโปรเจ็คกันเลย OpenVZ ถือว่าเป็น LXC++ เพราะมีฟีเจอร์หลายอย่างที่ยังไม่มีในเคอร์เนลต้นน้ำ เช่น การจัดการทรัพยากรณ์ที่ดีกว่า หรือเทคโนโลยีอย่าง ploop
  3. "OpenVZ หยุดพัฒนาแล้ว และถูกถอนออกจาก Debian" ทีมเคอร์เนลของ Debian ได้ตัดสินใจเอา OpenVZ ออกจาก Debian ซึ่งเป็นสิ่งที่เข้าใจได้ไม่ยากคือ การ maintain เคอร์เนล ใช้เวลาและทรัพยากรณ์ซึ่งทีม Debian มีสิ่งเหล่านี้ไม่พอ นั่นไม่ได้หมายความว่า OpenVZ หยุดพัฒนาแล้ว ซึ่งมันแปลกมากที่จะมากล่าวหากันแบบนี้ http://openvz.org/News/updates ในลิงก์นี้จะบอกได้ว่ามีการอัพเดตอะไรบ้าง ซึ่งในปีนี้มีการปล่อยซอฟต์แวร์ออกมาถึง 80 ครั้ง, อาทิตย์ละ 2 ครั้ง ซึ่งสำหรับ Debian ทางทีม OpenVZ ก็มี repository ให้ด้วย
บล็อกนี้เป็นการแปลมาทั้งดุ้น ตัดออกบ้าง เสริมบ้าง อ่านแล้วอาจจะแปลกๆ นิดนึงโนะ <(") 
ปล. พาดหัวแรงไปนิดส์ :P
REF: http://openvz.livejournal.com/45647.html