wtorek, 18 kwietnia 2017

Pozbywamy się niechcianych plików lokalizacyjnych z pomocą pacmana

W Archu wiele programów zawiera wszystkie swoje pliki lokalizacyjne. W ten sposób, instalując jakiś program otrzymujemy nie tylko te pliki, które chcemy, ale także takie, z których na pewno nie skorzystamy. Wprawdzie nie jest są to pliki duże, jednakże skoro nie muszą w naszym systemie istnieć, to po co mają w nim być? Wielu prawdopodobnie spotkało się z takimi narzędziami jak localepurge, czy bleachbit i próbowało zapewne z ich pomocą usuwać te pliki. Po takiej czynności pacman będzie jednakże sygnalizował niespójność pakietów (brak ich części). Od czasu pojawienia się wersji 4.2 pacmana istnieje jednakże znacznie lepsze rozwiązanie. Otóż w pliku /etc/pacman.conf możemy skorzystać z tzw. odwróconych wyrażeń regularnych, które umieścimy w polu NoExtract. W ten sposób pacman zostanie poinstruowany o tym, że z paczki nie ma rozpakować określonych plików i umieścić ich w systemie. Zainstalowane tak paczki nie będą powodowały żadnych informacji o błędach ze strony pacmana. Konieczne jest jednakże bądź to przeinstalowanie wszystkich paczek w systemie, bądź to po prostu poczekanie na kolejne aktualizacje. Pamiętajmy jednak o tym, że wiele paczek nie zawiera polskich plików lokalizacyjnych. Roztropność nakazuje, by pozostawić w systemie te pliki z angielskimi paczkami językowymi (bo te najczęściej mają wszystkie). Stosowna linia w NoExtract może wyglądać tak:
NoExtract = usr/share/locale/* !usr/share/locale/pl/* !usr/share/locale/en_US/* !usr/share/locale/locale.alias usr/share/man/* !usr/share/man/man*
Dziękuję za wskazanie (lata temu) tego sposobu Bartkowi Piotrowskiemu.