Przejdź do głównej zawartości

Przyspieszamy czas tworzenia paczek

Nie, żadne magiczne ustawienia kompilatora. Nie o to chodzi. Program, który "steruje" kompilowaniem paczek zarządzanych przez pacmana, to makepkg. Jest on wykorzystywany nie tylko przy lokalnym tworzeniu paczek z jego pomocą, ale również chyba przez wszystkie tzw. helpery AUR. Program jest sterowany plikiem /etc/makepkg.conf.
Wewnątrz katalogu, w którym następuje budowa paczki, tworzone są dwa podkatalogi: src oraz pkg. W pierwszym następuje budowa (kompilacja) programu. Jeśli to zostanie wykonane bez błędów, skompilowany program wraz ze wszystkimi elementami niezbędnymi do jego działania umieszczany jest w katalogu pkg, którego wewnętrzna struktura odpowiada systemowi katalogów Archa (czy innej dystrybucji). Przynajmniej powinna odpowiadać. Następnie cała zawartość katalogu jest pakowana do pliku tar, który - jeśli domyślnych ustawień makepkg.conf nie zmienimy jest następnie kompresowany (np. do formatu xz. W ten sposób otrzymujemy znane nam paczki pacmana nazwa.pkg.tar.xz.
O ile jednak w przypadku paczek pobieranych ze zdalnych lokalizacji, ich kompresja ma sens, to w przypadku lokalnego budowania paczek na własny użytek, jak się wydaje mija się z celem. Nie tylko uzyskanie paczki trwa dłużej o czas kompresji (który może być całkiem znaczny - zobaczcie sobie ile trwa np. kompresowanie libreoffice-fresh-rpm), ale również wymaga dodatkowej przestrzeni dyskowej (albo zwiększa zapotrzebowanie na tę przestrzeń w tmpfs, co niekiedy prowadzi do zwrócenia informacji, że paczka nie została zbudowana, pomimo tego, że w istocie do formatu nazwa.pkg.tar to nastąpiło).
Tymczasem nieskompresowana paczka jest tak samo dobrze zarządzana przez pacmana, jak i paczka skompresowana. Jedyna różnica, to zabieranie większej ilości miejsca na dysku (jeśli ją tam zostawimy).
Jeśli zatem podzielacie moje spostrzeżenia, to możecie dokonać prostych czynności, które spowodują, że makepkg zaprzestanie kompresowania paczek.
W tym celu, dowolnym edytorem edytujemy plik /etc/makepkg.conf i odszukujemy w nim sekcję EXTENSION DEFAULTS, w której zmieniamy zawartość linii PKGEXT z:
PKGEXT='.pkg.tar.xz'
na
PKGEXT='.pkg.tar'
Od tej chwili makepkg będzie tworzył nieskompresowane paczki. Różnicę w czasie budowania sprawdźcie sobie na wpomnianym wcześniej libreoffice-fresh-rpm.

Popularne posty z tego bloga

MEGA a sprawa Arch Linux

Mniejsza o to, czy MEGA to popularny, czy godny zaufania itd. itp. dostarczyciel przestrzeni w chmurze. Fakt, że po moich doświadczeniach z dropboksem nie chcę mieć więcej z nim nic wspólnego. Może zatem MEGA, do którego mam dostęp niemal od samego początku? Miłym dodatkiem do MEGA może okazać się uruchomione repozytorium oferujące sam program synchronizujący (megasync) oraz dodatki dla trzech, chyba najpopularniejszych, menedżerów plików: Dolphin, Nautilus i Thunar, umożliwiające synchronizację z plików z ich poziomu. Jest to o tyle miłe, że do tej pory musieliśmy kompilować te programy z AUR, a nadto w przypadku megasync wersja oferowana w repozytorium jest nowsza, zaś dolphin-megasync obecnie w ogóle się nie kompiluje. Chcąc dodać repozytorium MEGA do pacmana, edytujemy plik /etc/pacman.conf i gdzieś na końcu listy dodajemy: [DEB_Arch_Extra]SigLevel = Optional TrustAllServer = https://mega.nz/linux/MEGAsync/Arch_Extra/x86_64/ Nadto musimy jeszcze dodać klucz: gpg --receive-keys BF…

Plasma i Strażnik Krypt

W czasach, gdy nasza prywatność jest wystawiana na ciężką próbę, jeden z deweloperów KDE postanowił dodać do Plasmy możliwość dość łatwej obsługi szyfrowanych, wirtualnych "katalogów" - krypt, jak je nazywa. Sam projekt nazywa się plasma-vault i po około 3 miesiącach rozwijania pojawiła się w repozytorium unstable KDE najpierw jego wersja 5.9.95, a obecnie 5.9.96. Jak wskazuje numer wersji (choć ten został nadany nie przez opiekuna, ale przez wszędobylskiego Jonathana Riddella), aplikacja była planowana jako część Plasma 5.10. Tak się jednak z jakichś przyczyn nie stało. Obecnie jest ona planowana, jako część nadchodzącego wydania 5.11. Sam program w Archu dostępny jest w AUR. Buduje się całkiem żwawo i działa na tyle, by można zaryzykować jeśli nie używanie, to przynajmniej sprawdzenie działania i zgłoszenie ewentualnych błędów deweloperom. Pamiętajcie by czytać to co po pacman pisze przy instalacji. Program do prawidłowej funkcjonalności potrzebuje bądź encfs bądź cryfs. …

Co naprawdę oznacza, że pacman (Arch) nie wspiera częściowej aktualizacji

Pośród osób pracujących na Arch Linux jak mantra powtarzane jest twierdzenie: pacman (Arch) nie wspiera częściowej aktualizacji. Co w istocie to oznacza? Jakie są najczęściej popełniane błędy?

1. Synchronizacja repozytoriów dla zabawy
Zdarzyło się Wam wydać polecenie pacman -Sy bądź pacman -Syy, a za jakiś czas instalować program poprzez pacman -S? Jeśli nie, to jak dowodzą świadectwa innych użytkowników tu i ówdzie rozsiane po internecie praktyka ta wcale nie jest tak rzadka. Zobaczmy zatem co się dzieje w takich przypadkach i do czego to prowadzi.
Pierwsze polecenie dokona synchronizacji informacji o dostępnych paczkach (w tym ich wersjach) w repozytoriach z informacjami lokalnie przechowywanymi w bazie pacmana. Nie jest dokonywana żadna aktualizacja systemu. Następne polecenie oczywiście zainstaluje paczkę. Paczkę w takiej wersji, jaka jest w danym momencie w repozytorium.
Zwróćmy teraz uwagę na to w jaki sposób budowane są paczki w repozytoriach Archa oraz jakie informacje przekaz…