Zarządzanie oprogramowaniem (tj. instalacja, usuwanie, czy aktualizacja oprogramowania) w systemach Linux, dzięki pomysłowi wykorzystywania menedżerów pakietów binarnych, takich jak apt-get/aptitude/apt
, jak również zastosowaniu tzw. repozytoriów sieciowych, staje się w codziennym użytku znacznie prostsze i mniej problematyczne (niż instalacja ze źródeł, jako tym teoretycznie domyślnym pomyśle na instalację oprogramowania w Linux’ie). Aczkolwiek jak wszędzie, każdy pomysł miewa też swoje pewne wady.
Jedną z wad wykorzystywania powyższego pomysłu menedżera pakietów (apt-get/aptitude/apt
) jest niestety konieczność długiego często oczekiwania na pobranie pakietów oprogramowania z repozytoriów sieciowych, czy plików z informacjami o aktualnej zawartości pakietów.
I tu pojawia się pytanie: Czy nie dałoby się tego czasem jakoś przyśpieszyć? Bo czekać to, nikt na nic za specjalnie nie lubi…
Oczywiście, należy mieć świadomość, że nie da się nagle zrobić cudów, i znaleźć sposób na pobieranie danych szybciej, niż umożliwia to nam przepustowość naszego łącza internetowego. Ale czasem winnym wcale nie jest nasze łącze internetowe, a druga strona, czyli w tej analizowanej sytuacji – serwery z repozytoriami pakietów. I w takiej właśnie sytuacji, możemy do przyśpieszenia pobierania danych z repozytoriów, wykorzystać narzędzie Apt-Fast
.
Apt-Fast to swoistego rodzaju aplikacja nakładkowa, wykorzystująca nadal pod spodem narzędzie apt-get
do zarządzania pakietami, która może zwiększyć prędkość pobierania danych z repozytoriów sieciowych, pobierając je w sposób wielowątkowy, czyli nie z jednego repozytorium, a z kilku naraz. Aczkolwiek jeszcze raz: to może przyśpieszyć pobieranie, gdy winne tu jest repozytorium z którego pobieramy dane, i nie będziemy w stanie pobierać szybciej, niż wynosi przepustowość naszego łącza internetowego. Warto jednak spróbować na swoim systemie Linux narzędzie Apt-Fast
, i porównać uzyskiwane prędkości w aplikacjach apt-get/aptitude/apt
, oraz właśnie Apt-Fast
.
I bardzo ważne: aplikacja Apt-Fast
jest przeznaczona dla dystrybucji Linuxa, które wykorzystują menedżer zarządzania pakietami apt-get
, czyli dla dystrybucji opartych na Debianie.
Wymagane zależności wstępne
Narzędzie Apt-Fast
wykorzystuje do swojego działania wielowątkowe narzędzia, takie jak axel
i, aria2
, które pozwalają na jednoczesne pobieranie plików z wieloma połączeniami (z różnych źródeł).
Dlatego też przed zainstalowaniem Apt-Fast
, należy zainstalować albo aplikację axel
, albo aria2
, jak również aplikacje curl
i, git
:
[simterm theme=”dark”]
$ sudo apt-get update
$ sudo apt-get install curl git axel [/simterm]
lub:
[simterm theme=”dark”]
$ sudo apt-get update
$ sudo apt-get install curl git aria2 [/simterm]
Instalujemy Apt-Fast w systemie opartym na Debianie
Nie ma oficjalnego pakietu w repozytoriach dystrybucji opartych na Debianie, ale programista był na szczęście miły, i stworzył skrypt powłoki, który pozwala szybko i sprawnie zainstalować narzędzie Apt-Fast
. W tym celu wystarczy wydać tylko jedno poniższe polecenie (i widać teraz po co było potrzebne zainstalowane aplikacji curl
i, git
):
[simterm theme=”dark”]$ sudo /bin/bash -c „$(curl -sL https://git.io/vokNn)”[/simterm]
W dystrybucjach opartych na Ubuntu, istnieje pewna alternatywa dla powyższego polecenia, w ramach której dodajemy odpowiednie nieoficjalne repozytorium PPA, i z niego instalujemy narzędzie Apt-Fast
, w tym celu wykonujemy poniższe polecenia:
[simterm theme=”dark”]
$ sudo add-apt-repository ppa:saiarcot895/myppa $ sudo apt-get update $ sudo apt-get -y install apt-fast
[/simterm]
przy czym w trakcie instalacji pojawi się kreator konfiguracyjny, który będzie prosił najpierw o wskazanie menedżera pakietów który ma wykorzystywać , jak również maksymalną ilość jednoczesnych transmisji/wątków pobierania pakietu.
Konfigurujemy Apt-Fast
Po instalacji aplikacji należy wyedytować jej plik konfiguracyjny /etc/apt-fast.conf, i dodać do niego listę serwerów lustrzanych, z których będzie miało być realizowane wielowątkowe pobieranie plików.
W tym celu po wyedytowaniu pliku, należy znaleźć w nim parametr MIRRORS
, i w nawiasie, pomiędzy apostrofami, po przecinku podać adresy tychże pożądanych przez nas repozytoriów sieciowych, przy czym oczywiście właściwych dla używanej przez nas dystrybucji systemu Linux.
Przykładowo:
Pojawia się tu oczywiście pytanie: A skąd mam wogóle wiedzieć, z jakich adresów repozytoriów sieciowych mogę skorzystać, i co mam konkretnie wpisać?
W tym celu możemy skorzystać z opublikowanej listy serwerów lustrzanych dla repozytoriów danej dystrybucji:
- Debian: http://www.debian.org/mirror/list
- Ubuntu/Mint: https://launchpad.net/ubuntu/+archivemirrors
Przykładowe listy do wykorzystania:
[simterm theme=”dark”]
[Dla Ubuntu / Linux Mint] MIRRORS = ( 'http://ftp.agh.edu.pl/ubuntu/, http://ubuntu.task.gda.pl/ubuntu/, http://piotrkosoft.net/pub/mirrors/ubuntu/, http://ftp.vectranet.pl/ubuntu/' ) [Dla Debiana] MIRRORS = ( 'http://ftp.pl.debian.org/debian/, http://ftp.agh.edu.pl/debian/, http://ftp.icm.edu.pl/pub/Linux/debian/, http://ftp.task.gda.pl/debian/' )
[/simterm]
Oprócz konfiguracji powyższej listy serwerów lustrzanych repozytorium sieciowego, z ciekawszych parametrów w pliku /etc/apt-fast.conf, mamy:
_MAXNUM
– liczba maksymalnych dozwolonych jednoczesnych połączeń pobierania pliku (możemy mieć więcej repozytoriów na liście do wykorzystania, a to nie znaczy jeszcze, że aplikacja ma pobierać równocześnie ze wszystkich)_APTMGR
– menedżer zarządzania pakietami z którego ma korzystaćApt-Fast
, gdzie możliwości to: apt-get, aptitude, apt
Używamy Apt-Fast
Używanie narzędzia apt-fast
jest całkiem proste, gdyż jego składnia jest sumarycznie taka sama, jak dla znanych narzędzi apt-get/aptitude/apt
.
Czyli korzystamy z poleceń jak poniżej:
[simterm theme=”dark”]
$ sudo apt-fast update
$ sudo apt-fast install -y <package-name>
$ sudo apt-fast dist-upgrade
$ sudo apt-fast remove
[/simterm]
Na poniższym zdjęciu zawarty został mały przykład polecenia instalującego aplikację iperf
:
można na tymże zdjęciu zauważyć, że narzędzie najpierw pobiera wielowątkowo pakiety z repozytorium sieciowego, zapisuje je na lokalnym dysku, a następnie przeprowadza instalację pakietu już z lokalnego dysku.
Aby uzyskać więcej informacji, odwiedź stronę projektu apt-fast Github .