poniedziałek, 4 marca 2013

O zależnościach i instalowaniu ze źródeł

Szykuję kilkuczęściową notkę, w której opowiem wam, jak instalowałam Gentoo i na co warto zwrócić uwagę, kiedy robicie to po raz pierwszy. Jednak zajmie to trochę czasu, a chciałam napisać coś konstruktywnego poza przywitaniem się.

Jak już wspominałam w poprzedniej notce, instalowałam programy ze źródeł. Pomimo tego, że używałam Debiana w wersji testowej, to programy ściągane z repozytorium i tak sprawiały, że mój komp zajeżdżał stęchlizną.

No dobra, powiecie, w takim razie po prostu sobie ściągaj źródła, kompiluj i nie zrzędź. Właśnie to było najbardziej wkurzające na Debianie. Teoretycznie wystarczyło zwykle wpisać ./configure, make, make install, w praktyce wyglądało to jednak gorzej.

Właściwie każdy program potrzebuje zależności - jakichś dodatkowych pakietów, dzięki którym w ogóle może się zainstalować i poprawnie działać. No i Debianowa konsola przy instalacji programu X wyrzucała mi

Jeśli chcesz mieć X, zainstaluj zależności A i B.
W porządku, instalujemy. Jednak potem okazywało się, że zależność A potrzebuje kolejnych zależności C i D, natomiast do B trzeba ściągnąć jeszcze E, F i G, które z kolei nie pójdą bez H i I, którą w sumie masz na kompie, ale w nowszej wersji, a tu jest potrzebna starsza. Inne programy z kolei wolałyby nową, no i masz problem. A nawet jeśli nie masz, to i tak spędzisz pół dnia na kompie ściągając te cholerne zależności. Możesz też się w końcu wkurzyć i zainstalować inny, mniej uciążliwy program albo ściągnąć staroć z repo.


Instalowanie ze źródeł nie jest takie straszne

Wiele osób myśli, że instalacja programów w dystrybucjach takich jak Gentoo to coś strasznego. Tymczasem jest to równie proste jak na tych uznawanych za "łatwiejsze". Dużą zaletą Gentoo są programy dostępne w nowych wersjach. Nie ma więc obaw, że babcia wejdzie ci do pokoju i powie, że używała tego w młodości ;)

Jedyne, co musisz zrobić, to wpisać w konsoli emerge [nazwa programu] i już. Zależności sprawdzą i pościągają się same. Oczywiście, musisz spojrzeć, czy na kompie nie dzieje się coś, czego nie chcesz, ale zwykle wszystko jest w porządku.


Jak sprawdzić, które wersje wybranego programu są dostępne?

Najlepiej wejść na packages.gentoo.org i znaleźć to, co nas interesuje. Pojawi się wówczas tabelka podobna do tej:


Po lewej znajdują się kolejne wersje programu, natomiast na górze architektury. Moja to amd64 i właśnie tę rubryczkę sprawdzam. Na zielono zaznaczone są stabilne wersje, które ściągną się po prostu po wpisaniu emerge [nazwaprogramu], na żółto wersje niestabilne, a na czerwono wersje najbardziej niestabilne-zamaskowane. Żółte i czerwone też można ściągnąć, ale Gentoo musi o tym wiedzieć, więc trzeba dopisać coś w pliku /etc/portage/package.accept_keywords. Na przykład, do instalacji nowej wersji mojej ulubionej przeglądarki Opera, muszę dopisać tam linijkę
=www-client/opera-12.14_p1738 ~amd64
po czym puszczam normalnie emerge opera i leci.
Tyle, że taka linijka sprawi, że program uczepi się wersji 12.14_p1738 nie będzie się aktualizować dalej - bo w końcu mówię, że chcę TĘ KONKRETNĄ WERSJĘ. Natomiast jeśli wpiszę
www-client/opera ~amd64
to zainstaluje się najwyższa niestabilna (zwróćcie uwagę, że przy amd64 jest ~tylda).

Ogólnie lepiej instalujcie wersje stabilne, zwłaszcza jeśli dopiero zaczynacie z Gentoo tak jak ja. No chyba, że bardzo wam zależy na jakimś programie i wiecie, że niestabilna wersja nie powinna posypać wam systemu. Ale naprawdę, uważajcie.


Czytaj manuala!

Bo manual naprawdę wie dużo więcej niż taki n00bek jak ja ;)

Inną sprawą są flagi USE, bez których program czasem nie nadaje się do niczego, ale o tym w innym odcinku :)


5 komentarzy:

  1. Zamiast sprawdzać jakie wersje są stable a jakie ~ możesz zapodać emerge -s nazwapakietu albo wygodniej eix nazwapakietu. Polecam zwłasza eix (emerge -av eix ale to już pewnie wiesz :)).

    OdpowiedzUsuń
  2. Fajny blog. Czasami Cię tutaj odwiedzam. Skoro nie piszesz od listopada to system działa czy już się poddałaś i przesiadłaś? :)

    OdpowiedzUsuń
    Odpowiedzi
    1. System działa i ma się dobrze. Mam inny projekt, który zdobył dużo większą ilość fanów, niż Mam Gentoo, więc zajmuję się głównie nim. Plus normalna, codzienna robota.

      Usuń
    2. W sumie takie troche olewcze to Twoje podejście. Więcej fanów to idę tam :).
      W Gentoo chodzi o zabawe. Szkoda trochę bo fajny ten Twój blog był.

      Usuń
  3. Ej, no to może coś zepsuj ;). A tak na poważnie, własnie próboje też postawić u siebie. Mam leptopa i jedyna moja obawa to że kompilacja mi zabije baterie. Masz z tym jakieś doświadczenia?

    OdpowiedzUsuń