اپت گت کند است؟ اپت فست را امتحان کنید

apt-get برنامه اصلی کم و زیاد کردن بسته‌های روی لینوکس‌های دبیانی (از جمله اوبونتو و پارسیکس و آریوس) است. مثلا اگر من بخوام برنامه اکسل رو نصب کنم، کافیه بزنم

sudo apt-get install axel

و اکسل به شکل خودکار از اینترنت دانلود و نصب می‌شه. حالا می‌خواهم کار رو سریعتر کنم. در حالت عادی اپت از یک دانلود کننده معمولی استفاده می‌کنه. اما اگر بخواین سرعت دانلود رو با یک دانلودمنیجر خوب مثل axel چند برابر کنین (در صورتی که پهنای باندتون محدودتون نکرده باشه)، کافیه این برنامه رو توی یک فایل ذخیره کنید:

# !/bin/sh
# apt-fast v0.03 by Matt Parnell http://www.mattparnell.com, this thing is fully open-source
# if you do anything cool with it, let me know so I can publish or host it for you
# contact me at admin@mattparnell.com

# Special thanks
# Travis/travisn000 - support for complex apt-get commands
# Allan Hoffmeister - aria2c support
# Abhishek Sharma - aria2c with proxy support
# Richard Klien - Autocompletion, Download Size Checking (made for on ubuntu, untested on other distros)
# Patrick Kramer Ruiz - suggestions - see Suggestions.txt
# Sergio Silva - test to see if axel is installed, root detection/sudo autorun

# Use this just like apt-get for faster package downloading.

# Check for proper priveliges
[ "`whoami`" = root ] || exec sudo "$0" "$@"

# Test if the axel is installed
if [ ! -x /usr/bin/axel ]
then echo "axel is not installed, perform this?(y/n)"
    read ops
    case $ops in
         y) if apt-get install axel -y --force-yes
               then echo "axel installed"
            else echo "unable to install the axel. you are using sudo?" ; exit
            fi ;;
         n) echo "not possible usage apt-fast" ; exit ;;
    esac
fi

# If the user entered arguments contain upgrade, install, or dist-upgrade
if echo "$@" | grep -q "upgrade\|install\|dist-upgrade"; then
  echo "Working...";

  # Go into the directory apt-get normally puts downloaded packages
  cd /var/cache/apt/archives/;

  # Have apt-get print the information, including the URI's to the packages
  # Strip out the URI's, and download the packages with Axel for speediness
  # I found this regex elsewhere, showing how to manually strip package URI's you may need...thanks to whoever wrote it
  apt-get -y --print-uris $@ | egrep -o -e "(ht|f)tp://[^\']+" > apt-fast.list && cat apt-fast.list | xargs -l1 axel -a

  # Perform the user's requested action via apt-get
  apt-get $@;

  echo -e "\nDone! Verify that all packages were installed successfully. If errors are found, run apt-get clean as root and try again using apt-get directly.\n";

else
   apt-get $@;
fi

اسم فایل من هست apt-fast و توی bin/~ ذخیره شده که جزو path است. حالا کافیه بهش دسترسی اجرایی بدهید (مثلا با chmod 755 apt-fast) و بعد از مطمئن شدن از نصب بودن axel، درست همونطور که قبلا از apt استفاده می‌کردین، از این استفاده کنین ولی سرعت چند برابر شده باشه. مثلا

apt-fast install nexuiz

و بعد از نصب ۸۰۰ مگ، بازی رو شروع می کنیم:

  • daqo

    Thanks. It was perfect

  • Pingback: Tweets that mention اپت گت کند است؟ اپت فست را امتحان کنید -- Topsy.com()

  • محمدرضا

    شخصا aria2 را به axel ترجیح میدم.

  • چالیست

    خیلی خوب بود جادی
    ممنون

  • جادی جان، یه نظر نا مربوط داشتم و اون این که اگه تا الان ته
    این رو درنیاوردی هر چه سریعتر دریابش که کار خودته و معرکه است:
    http://www.jolicloud.com/

    این UBUNTU based و بسیار ساده برای کاربران عادی.

  • دانیال: ممنون از یادآوری. تست که کردم. اسکرین شات ها رو هم دارم و برنامه بعدی نوشتن است (:

  • MVB

    Just a question which is a little off the topic here… Do you know why there is no official Ubuntu mirror in Iran? (or I am wrong?) Also were there any attempt to establish one? I know that the internet substructure may not be suitable for such use but I wish there was at least one in Iran…

  • در صورتی که نیاز به auto complete برای این اپت-فست داشتید،
    برین یه کپی از فایل apt که داخل فولدر etc/bash_completion/ هست به اسم مثلا apt-fast تهیه کنید
    بعد اون رو باز کنید و هر جا apt-get دیدین تبدیلش کنید به apt-fast