Taniya's blog
จำกัดความเร็วของ apt-get ด้วย trickle
Submitted by Taniya on 14 February, 2008 - 19:56.การติดตั้งซอฟต์แวร์ในเดเบียนทางอินเทอร์เน็ตโดย apt-get นั้นต้องใช้การดาวน์โหลดโดยใช้ ftp หรือ http ซึ่ง apt-get มีตัวดาวน์โหลดของมันเองคือ
/usr/lib/apt/methods/ftp
และ
/usr/lib/apt/methods/http
แต่มีข้อเสียคือมันบริโภคแบนวิดท์จนเกือบหมด ทำให้ทำอย่างอื่นแทบไม่ได้ เรามีวิธีแก้ไขได้หลายวิธี เช่น ทำ proxy ที่มีการจำกัดความเร็ว แล้วสั่งให้ apt-get ใช้ proxy ตัวนั้นทาง /etc/apt/apt.conf.d หรือกำหนดผ่านตัวแปรระบบชื่อ http_proxy และ ftp_proxy สำหรับวิธีที่ง่ายกว่านั้นคือ ใช้โปรแกรมที่ชื่อ trickle ครับ เริ่มด้วยติดตั้ง
$ sudo apt-get install trickle
การใช้งานก็ง่ายๆ เช่น
$ trickle -s -d 10 apt-get --download-only upgrade && apt-get upgrade
อธิบาย -d 10 คือจำกัดความเร็วที่ 10 KB/s
ถ้าไม่อยากสั่ง trickle ทุกครั้งก็อาจแก้ไขตัว ftp และ http ของ apt-get โดย
การ rip vcd อย่างง่ายๆด้วย mplayer
Submitted by Taniya on 10 September, 2007 - 20:23.1. ตรวจสอบจำนวนและความยาว track
$ mplayer vcd:// MPlayer 1.0rc1-4.1.2-DFSG-free (C) 2000-2006 MPlayer Team CPU: AMD Athlon(TM) XP 1800+ (Family: 6, Model: 8, Stepping: 1) CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0 Compiled with runtime CPU detection. mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing vcd://. track 01: adr=1 ctrl=4 format=2 00:02:00 mode: 3 track 02: adr=1 ctrl=4 format=2 00:18:68 mode: 3 libavformat file format detected. LAVF_header: av_open_input_stream() failed Exiting... (End of file)
อธิบาย: การไม่ใส่หมายเลข track ใน argument vcd://(track no.) เพื่อให้ mplayer รายงานจำนวน track ทั้งหมดออกมาโดยบอกเวลาเริ่มของแต่ละ track ปกติ vcd นั้นเป็น mode 2 XA form 2 จะมีอย่างน้อย 2 track โดย track ที่ 1 จะเป็นข้อมูล ISO ส่วน track ที่ 2 เป็นต้นไปจะเป็นส่วนของข้อมูล mpeg a/v เราสามารถ rip ได้ตั้งแต่ track ที่ 2 เป็นต้นไป
2. ทำการ rip โดย
$ mplayer vcd://2 -dumpstream -dumpfile myvcd01.mpg
การติดตั้ง nvidia closed driver กับ kernel ที่เปิดคุณสมบัติ Paravirtualization
Submitted by Taniya on 4 September, 2007 - 18:45.สำหรับท่านที่ใช้การ์ดแสดงผลของ nvidia และใช้ closed driver ของ nvidia ใน kernel ของ debian ตั้งแต่ version 2.6.20 เป็นต้นมา อาจพบปัญหาการติดตั้ง nvidia driver ดังนี้
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol ‘paravirt_ops’
สาเหตุจากการเปิดคุณสมบัติ Paravirtualization ของตัว kernel โดย module nvidia.ko นั้นมีการเรียกฟังก์ชัน paravirt_ops ผ่านทางฟังก์ชั่น udelay อีกที ปัญหาคือ paravirt_ops นั้นถูกกำหนดให้เป็น GPL-only นั่นคือยอมให้เรียกจาก driver ที่เป็น GPL เท่านั้น ก็เลยเป็นเรื่องครับ ( ความเป็นมาอ่านจากนี่)
เรามีทางเลือกอะไรบ้าง
ผมเสนอทางเลือก 2 วิธีคือ (จริงๆ แล้วมีมากกว่านี้ครับ)
การใช้ ffmpeg ทำ screencast โดยการเข้ารหัสวิดีโอด้วย QTRLE codec
Submitted by Taniya on 3 September, 2007 - 18:31.การทำ screencast ใน linux โดยทั่วไปนั้นจะใช้การเข้ารหัสวิดีโอโดยใช้ codec จำพวก mpeg, ogg หรือ flv ซึ่งเป็น codec ที่เป็นชนิดที่มีการสูญเสีย (lossy compression) ที่มีข้อดีคือขนาดวิดีโอที่ได้นั้นเล็ก แต่ภาพที่ได้ไม่คมชัดนัก ซึ่งน่าจะเหมาะกับการโชว์พวก Desktop effect เช่น beryl/compiz เป็นต้น แต่กับงานพวกสื่อการสอนนั้น ต้องการความชัดเจนของวิดีโอมาก ทำให้ codec แบบ mpeg, ogg หรือ flv ไม่น่าจะเหมาะนัก สำหรับท่านที่เคยใช้โปรแกรม sceencast บน windows ชื่อ Techsmith Camtasia studio นั้น อาจต้องทึ่ง ในความชัดของวิดีโอที่ได้ อันเป็นผลมาจาก codec ที่ยอดเยี่ยมของ Techsmith เอง สำหรับใน linux นั้นมีทางเลือกในการทำ screencast หลายโปรแกรมได้แก่ Istanbul, xvidcap, yukon หรือ ffmpeg เป็นต้น
โดยตัว ffmpeg นั้นถือว่าสนับสนุน codec หลากหลายมาก และเมื่อเร็วๆ นี้ ได้ เพิ่มการสนับสนุน QTRLE codec เข้าไปด้วย ทำให้ ffmpeg นั้นเหมาะมากทีเดียว สำหรับการทำ screencast ในงานพวกสื่อการสอน












