หน้าเว็บ

วันอาทิตย์ที่ 21 มิถุนายน พ.ศ. 2552

apt-get /usr/bin/python does not match the python default version. It must be reset to point to python2.6

ถ้าเกิดว่าใช้คำสั่ง apt-get upgrade หรือ apt-get install แล้วใน error มีคำว่า
/usr/bin/python does not match the python default version. It must be reset to point to python2.6
และลงท้ายว่า E: Sub-process /usr/bin/dpkg returned an error code (1)

อาจเกิดจากการที่เราสั่งเปลี่ยน version ของ python ในระบบเรา ซึ่งถึงแม้เราเปลี่ยนกลับแล้วก็แก้ไม่ได้

ให้แก้โดย ลบ link python เดิมออก แล้วสร้าง softlink ใหม่ดังนี้
sudo rm /usr/bin/python && ln -s /usr/bin/python2.6 /usr/bin/python

ระบบที่ทดสอบ
OS: Ubuntu 9.04
Python: 2.6

ที่มา
http://www.linuxforums.org/forum/ubuntu-help/146571-solved-upgrade-doesn-t-work.html

switch python version

ในกรณีถ้าในเครื่องมี python หลาย version เช่น 2.5 และ 2.6 สามารถทำการสลับ version ได้ด้วยวิธีต่อไปนี้

ก่อนสร้าง option สำหรับการสลับ version ก่อน
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.5 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.6 2

หลังจากนั้นเมื่อต้องการสลับให้ใช้คำสั่ง
sudo update-alternatives --config python
แล้วเลือกหมายเลขที่ตรงกับ version ของ python ที่ต้องการ

เสร็จแล้วให้ทดสอบด้วยคำสั่ง
python -V
หมายเหตุ ถ้าใช้แล้วเกิด side effect คือทำให้ apt-get เกิด error มีคำว่า /usr/bin/python does not match the python default version. It must be reset to point to python2.6 และลงท้ายด้วย E: Sub-process /usr/bin/dpkg returned an error code (1)
ให้แก้ด้วยวิธีนี้ http://ping2p.blogspot.com/2009/06/apt-get-usrbinpython-does-not-match.html

ระบบที่ทดสอบ
OS: Ubuntu 9.04
Python: 2.3, 2.4, 2.5, 2.6

ที่มา
http://pythonide.blogspot.com/2007/03/how-to-switch-between-python24-and.html

วันจันทร์ที่ 15 มิถุนายน พ.ศ. 2552

วิธีดูว่า process ไหนใช้ (listen) port ไหนอยู่

บน linux ปกติเวลาที่ต้องการดูว่า port ไหนถูกใช้งานอยู่บ้าง ก็มักจะใช้คำสั่ง nbstat กันดังนี้
netstat -tunlp
โดย
- t คือแสดงที่เป็น TCP
- u คือแสดงที่เป็น UDP
- n คือไม่ต้อง resolve network IP address name หรือ หมายเลข port
- l คือให้แสดงเฉพาะ port ที่กำลังรอฟังอยู่ (ไม่ต้องแสดง port ที่ established connection แล้ว)
- p ให้แสดงว่า process ไหนเป็นคนใช้งาน port นั้นๆอยู่

หรือ ถ้าเรารู้หมายเลข port อยู่แล้วและต้องการรู้ว่าใครเรียกใช้โดยไม่ต้องค้นจากคำตอบของ netstat ก็ให้ใช้คำสั่ง fuser ได้ เช่น
fuser -n tcp 80
เพื่อดูว่าใครใช้ TCP port 80 อยู่ เป็นต้น

ระบบที่ทดสอบ
OS: CentOS 5.0

วันพฤหัสบดีที่ 4 มิถุนายน พ.ศ. 2552

เปลี่ยน root password ของ FreeBSD

ในกรณีที่ลืม password หรือต้องการเปลี่ยน password ของระบบปฏิบัติการ FreeBSD

1. reboot แล้วเลือกเข้า 4. Boot FreeBSD in single user mode

2. ระบบจะถามว่า When prompted Enter full pathname of shell or RETURN for /bin/sh: ก็ให้กด Enter ไปเลย

3. mount root ก่อนโดยการสั่ง mount -u / และตามด้วย mount -a

4. สร้าง password ใหม่ ด้วยคำสั่ง passwd

5. ใส่ password ใหม่เป็นอันเสร้จเรียบร้อย และ reboot เข้าทำงานตามปกติ


ระบบที่ทดสอบ

OS: FreeBSD 6.2

ที่มา
http://www.thaihosttalk.com/index.php?topic=8607.0

วันศุกร์ที่ 10 เมษายน พ.ศ. 2552

การ capture screen ที่มี drop-down box บน Ubuntu

ปกติผมใช้ปุ่ม Print Screen เพื่อจับภาพหน้าจอ หรือถ้าจับภาพใน Firefox เฉพาะส่วนผมก็ใช้ extension Screengrab

แต่มีปัญหาคือเมื่อภาพที่ต้องการจับนั้นเป็นประเภท drop-down box จะไม่สามารถทำได้ (หมายถึงเมื่อต้องการจับ drop-down ที่ทำการคลี่ออกมาเห็นหลายๆตัวเลือก)

แต่โชคดีที่ว่า Ubuntu นั้นโดย default จะใช้ Gnome เป็น desktop อยู่แล้ว ซึ่ง Gnome มีโปรแกรมที่ใช้ในการจับภาพหน้าชื่อว่า gnome-screenshot โดยระบุ delay ที่ต้องการจับหน้าจอ เช่น ให้จับหน้าจอในอีก 5 วินาที ถัดไป ก็สามารถสั่งได้ดังนี้
gnome-screenshot --delay 5
ถ้าให้สะดวกก็ใช้ Alt-F2 แล้วป้อนคำสั่งตรงนั้น (เหมือน run ใน windows)
หลังจากนั้น 5 วินาที ก็จะทำการ capture แล้วถามว่าต้องการ save ภาพที่ไหน หรือจะแค่ copy ไปใส่ clipboard เฉยๆก็ย่อมได้

ระบบที่ทดสอบ
OS: Ubuntu 8.10

ป.ล. จริงๆแล้วมันก็คือ print screen แบบกำหนดเวลาดีๆนี่เอง

วันพุธที่ 8 เมษายน พ.ศ. 2552

การ Merge หรือ Split PDF บน Ubuntu

ตาม title เลย วิธีการคือใช้ pdf toolkit (pdftk)

ทำการลงก่อนเลยด้วย
sudo apt-get install pdftk
ถ้าจะ Merge ก็ใช้
pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf
ถ้าจะ Split ก็ใช้
pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf
ลองอ่านคำสั่งดูว่า argument คืออะไร ค่อนข้างตรงไปตรงมา

จริงๆ pdftk ยังทำได้อีกหลายอย่างเลย เช่น rotate, encrypt, decrypt, repair เป็นต้น

ลองอ่านวิธีเต็มๆได้ที่ http://www.pdfhacks.com/pdftk/

ระบบที่ทดสอบ
OS: Ubuntu 8.10
S/W: pdftk 1.41

วันอาทิตย์ที่ 5 เมษายน พ.ศ. 2552

Hibernate หายหลังจาก Disk Cleanup

วันนี้มีรุ่นพี่ในแลบบอกว่า Windows Vista อยู่ดีๆก็ Hibernate ไม่ได้หลังจากทำ Disk Cleanup ก็เลยลอง search ดูแล้วเจอ link แรกเลย เห็นเค้าว่าเป็น Bug ของ Vista ไม่รู้ว่ามี patch แก้ออกมารึยัง

วิธีแก้
1. เข้า cmd ด้วยสิทธิ administrator (Start > All Programs > Accessories คลิกขวา “Command Prompt” แล้วเลือก “Run as Administrator”)
2. พิมพ์คำสั่ง
powercfg -H on
รอสักพักจนเสร็จ hibernate ก็จะกลับมา

ระบบที่ทดสอบ
OS: Windows Vista SP1

ที่มา
http://esamsalah.blogspot.com/2008/03/powercfg-h-on.html