Created
May 20, 2010 12:54
-
-
Save voyeg3r/407530 to your computer and use it in GitHub Desktop.
apt-fast script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# !/bin/sh | |
# apt-fast v0.02 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 [email protected] | |
# Special thanks to Travis/travisn000 from the PCLinux Forums for making improvements that allow | |
# for more complex apt-get commands. See the thread: http://www.pclinuxos.com/forum/index.php/topic,66385.0.html | |
# Use this just like apt-get for faster package downloading. Make sure to have axel installed. | |
# sudo cp apt-fast.sh /usr/bin/apt-fast | |
# sudo chmod +x /usr/bin/apt-fast | |
# sudo apt-fast update | |
# apt-fast install program | |
# 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment