apt-fast und Axel beschleunigen apt-get

apt-fast ist ein kleine Shellskript welches die Funktionen des Axel Download Beschleunigers zu nutze macht. Axel ist ein kleines Kommandozeilen Programm zur Beschleunigung von HTTP und FTP Downloads. In Verbindung mit dem apt-fast Shellskript beschleunigt es die durch apt-get Operationen ausgeführten Downloads spürbar.

Axel nutzt ein einfaches Prinzip und lädt Dateien nicht nur über eine Quellen, sondern über mehrere parallel. Häufig bieten Downloadserver nur eine gewisse maximale Bandbreite pro Verbindung, Axel bündelt mehrere Verbindungen und erreicht somit höhere Geschwindigkeiten.

Das apt-fast Shellskript von Matt Parnell bedient sich dieser Funktionen von Axel und wendet sie auf apt-get Befehle aus. Somit können alle apt-get install, apt-get update und apt-get upgrade von der erhöhten Geschwindigkeit profitieren.

Um in den Genuss der Geschwindigkeitsvorteile zu kommen benötigt man zuerst Axel:

 sudo apt-get install axel 

Anschliessend erstellt man eine leere Datei mit dem Namen apt-fast und füllt sie mit folgendem Inhalt:

Den entsprechenden Key für Apt gibt es nach Eingabe von:

 #!/bin/sh
#apt-fast by Matt Parnell http://www.mattparnell.com , this thing is FOSS
#please feel free to suggest improvments to admin@mattparnell.com
# Use this just like apt-get for faster package downloading. Make sure to have axel installed

#If the first user entered variable string contains apt-get, and the second string entered is either install or dist-upgrade
if echo "$1" | grep -q "[upgrade]" || echo "$2" | grep -q "[install]" || echo "$2" | grep -q "[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
 apt-get -y --print-uris $1 $2 $3 $4 > debs.list;

 #Strip out the URI's, and download the packages with Axel for speediness
 egrep -o -e "(ht|f)tp://[^\']+" debs.list | xargs -l1 axel -a;

 #Perform the user's reqested action via apt-get
 apt-get -y $1 $2 $3 $4;

 echo "Done! Make sure and check to see that the packages all were installed properly. If a package is erred, run sudo apt-get autoclean and try installing it again without the use of this script.";

elif echo "$1" | grep -q "[*]"; then
 apt-get $1;
else
 echo "Sorry, but you appear to be entering invalid options. You must use apt-get and one of apt-get's options in order to use this script.";
fi 

Mit „chmod +x apt-fast“ wird das Skript ausführbar geschaltet, idealerweise sollte man es nun noch nach /usr/bin verschieben, damit ist es von überall aus aufrufbar. Nun kann man alle Download-Operationen, die man zuvor mit apt-get ausgeführt hat, durch apt-fast ersetzen. Das betrifft „install“, „update“ und „upgrade“.

Das apt-fast Shellskript funktioniert auf allen Linuxdistributionen die apt zur Paketverwaltung nutzen, also Debian, Ubunut und Derivaten.