Arch linux to taka dystrybucja, która nie posiada oddzielonych elementów odnośnie kompilacji, od elementów składowych swoich odpowiedników w systemie.

Fajnie ukazuje to Ubuntu/Debian, Fedora, czy nawet openSuse i ich klony np. Mint. Mają one osobne paczki odnośnie działania w systemie, a pokrewne paczki zakończone np. -dev, -devel albo jeszcze inaczej.

Oznacza to, że kiedy chcemy coś w danej dystrybucji skompilować, zbudować ze źródeł nie zrobimy tego – ponieważ system nie potrzebnych plików. I kolejny raz odwołam się do Ubuntu, gdzie aby coś kompilować trzeba pobrać dość znaczną ilość danych (wielkość), ponieważ system nie ma wymaganych rzeczy, aby dany proces wykonać.

Arch linux nie poszedł tą drogą, a to oznacza że w systemie (a wymaga to AUR), wystarczy doinstalować niewielką ilość rzeczy i już możemy kompilować, budować paczki i instalować je w systemie.

I tu nawiąże do sytuacji, która spotkała mnie na kilka dni temu, aż do dzisiaj.
Przed świętami wykonałem aktualizację, którą robię w Archu nawet 2 do 3 razy dziennie, ponieważ pojawianie się aktualizacji nie jest ustalone. Przy aktualizacji został zaktualizowany  pakiet automake, który wymagany jest do kompilacji. A że ja kompiluje e17 ze svn, a więc fajnie że pojawiła się jego nowa wersja. Otwórz okazało się, że właśnie ten pakiet powoduje błąd kompilacji. Sprawia on, że nie można skompilować danych i zainstalować ich nowszą wersję.
Rozwiązanie?
Czekać na naprawę błędu, ale są święta i nie wiadomo kiedy ktoś to naprawi.

Innym rozwiązaniem jest powrót do poprzedniej wersji automake – tylko jak, jak w katalogu gdzie pobierane są wszystkie paczki są dwie nowe wersje?

I tu wielu z was postanowiłoby czekać na naprawę błędu, albo próbowałoby jakoś obejść problem.

Ja zrobiłem coś innego… po prostu wróciłem do poprzedniej wersji automake 🙂

Zapytacie: jak to zrobiłem, jeśli na serwerach jest już nowa wersja, a stara została skasowana?

Aby nie zanudzić was napiszę tylko: wszedłem na stronę Archa, na automake. Po prawej mamy napis: Source Files / View Changes – wchodzimy do View Changes. Tam odnajdujemy linijkę odnośnie: skąd pobierana jest paczka do najnowszej wersji >> ftp://ftp.gnu.org/gnu/ – po przejściu na dane miejsce – odnajdujemy, w moim przypadku: automake. I tam w katalogu mamy prawie wszystkie wersje danego elementu systemu. To nie koniec… teraz pobieramy wcześniejszą wersję i rozpakowujemy daną paczkę w jakimś miejsce/katalogu. I teraz normalnie ją kompilujemy – tak jak mówi nam to plik instalacyjny. Po kompilacji starszej wersji automake (czyli 10.3) kompilacja elementów e17 przebiega bez problemu 🙂

Powyższy opis sposobu na powrót, lub przywrócenie poprzedniej wersji danego elementu systemu jest banalnie prosty – jeśli wykonamy go choć raz.

Wspominam o tym, ponieważ w Archu mamy trzy sposoby przywracania poprzednich wersji lub instalowania wcześniejszych wersji –pierwszą jest jeśli dość długo nie robimy czyszczenia katalogu z paczkami do instalacji w Archu – to w /var/cache/pacman/pkg mamy pokaźną kolekcję nowych i tych starych wersji wszystkiego co mamy w systemie.  Druga metoda to pobranie wersji z git, lub ręczna kompilacja nowej wersji (nie jest to może przywracanie), która może okazać się lepsza, choć instalując wersję z repo mamy niby to samo. Ale jeśli ktoś ma lxde i zainstaluje pakiet lxpanel z AUR (czyli git), przekona się że wersja skompilowana działa lepiej i posiada przezroczystość, która nie działa w pakiecie z repo. A trzecią metodą jest ta opisana powyżej… docieramy do wcześniejszej wersji danego elementu i pobieramy źródła, a później je kompilujemy i instalujemy 🙂

Dlatego Arch jest tak elastyczny… jak czegoś nie ma w repo, nie też tego w AUR, pobierz źródła i zainstaluj ręcznie – ponieważ system ci na to pozwala i nie ogranicza cię w tym temacie 😉 Jak robią to inne dystrybucje dla początkujących.

Advertisements

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s