Przyśpieszenie portage

W związku z tym, że instalowałem Gentoo całkiem od początku i nie kopiowałem katalogu “/etc”, czyli główne ustawienia całego systemu poleciały w kosmos. Jedynie pozostały mi moje indywidualne ustawienia z katalogu domowego.

Korzystanie z portage jest czasem męczące, a nawet bardzo męczące, gdy się ustawia wszystko na tip-top i od początku. Wyszukiwanie nowych pakietów do instalacji, przeliczanie zależności i co najważniejsze, synchronizacja drzewa portage. Zanim drzewo się zsynchronizuje, to musi zostać ściągnięta lista pakietów (dobrze nie wiem co się zmienia i co jest dokładnie pobierane), jak to się zrobi to następuje uaktualnienie drzewa i uaktualnienie (jak dobrze wiem). Ten ostatni proces jest dość wolny i czasami trwa bardzo długo.

Na Gentoo wiki znalazłem artykuł o poprawieniu wydajności tego i innych procesów jakie zachodzą przy pracy z portage związanych z cachem portage. Artykuł można znaleźć pod tym linkiem.

Jest tam opisane kilka tricków, ja nie będę przerabiał wszystkich, ale przedstawię (przepiszę) tylko zastosowanie tego, który mnie najbardziej zaciekawił. Sposób polega na tym, aby przechowywać cache w bazie sqlite i faktycznie portage przyspeszyło u mnie trochę oraz podczas instalacji pakietów nie ma takkiego szaleństwa ze strony dysku.

Najpierw instalujemy pysqlite:

emerge -av pysqlite

Później dopisujemy do pliku /etc/portage/modules:

echo "portdbapi.auxdbmodule = cache.sqlite.database" >> /etc/portage/modules

A w /etc/make.conf, w zmiennej FEATURES:

FEATURES="metadata-transfer"

Teraz kasujemy stary cache:

rm -rf /var/cache/edb/dep/*

I uaktualniamy cache, już z wykorzystaniem sqlite:

emerge --metadata

Teraz jak wykonamy “emerge –sync”, to ponowne tworzenie cachu będzie trwało dużo szybciej, podczas szukania pakietów także zauważyłem, że jest to szybsze.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s