จำกัดความเร็วของ apt-get ด้วย trickle
การติดตั้งซอฟต์แวร์ในเดเบียนทางอินเทอร์เน็ตโดย 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 โดย
$ dpkg-divert --local --rename /usr/lib/apt/methods/http $ cat > /usr/lib/apt/methods/http <<EOF #!/bin/sh /usr/bin/trickle -s -d 10 /usr/lib/apt/methods/http.distrib EOF $ chmod 755 /usr/lib/apt/methods/http $ dpkg-divert --local --rename /usr/lib/apt/methods/ftp $ cat > /usr/lib/apt/methods/ftp <<EOF #!/bin/sh' /usr/bin/trickle -s -d 10 /usr/lib/apt/methods/ftp.distrib EOF $ chmod 755 /usr/lib/apt/methods/ftp
จากนั้นก็ใช้งาน apt-get ตามปกติโดยไม่ต้องเรียก trickle เอง
จบครับ
Topic:
- Taniya's blog
- Log in to post comments
![]() |
ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้ |
Comments
Re: จำกัดความเร็วของ apt-get ด้วย trickle
on 16 February, 2008 - 10:58 Permalink
ผมว่าใช้พวก apt-proxy หรือ apt-cacher น่าจะเป็นทางออกที่ดีกว่านะครับ
(เห็นใจพวกเดียวกันน่ะ :)
Re: จำกัดความเร็วของ apt-get ด้วย trickle
on 16 February, 2008 - 17:01 Permalink
ปกติสั่ง apt อยากให้เสร็จเร็ว ๆ ครับ :P
เสร็จแล้ว จะได้มั่นใจว่า พร้อมจะทำงานอื่นครับ
แต่เจ้า trickle นี่น่าจะเป็น idea ไปใช้อย่างอื่นได้อีก ขอบคุณมากครับ :)
___
Neutron: Linux Addict!
Re: จำกัดความเร็วของ apt-get ด้วย trickle
on 16 February, 2008 - 20:31 Permalink
เอาไว้ใช้ได้ เวลาเข้าไปฝาก apt ในเครือข่ายคนอื่นครับ จะได้ไม่โดนเพ่งเล็ง :)