Dystrybucje Linuksa > Gentoo

Jak poprawnie zainstalować niestabilne pakiety?

(1/4) > >>

eryk188:
Nie wiem jak poprawnie zainstalować niestabilny pakiet w Gentoo stable. Chciałbym zainstalować ten pakiet app-misc/screenfetch , ale on jest dostępny tylko w niestabilnej wersji Gentoo. Więc dodałem go do   echo "app-misc/screenfetch ~x86" >>  /etc/portage/package.keywords
Teraz mogę go zainstalować, ale tu mam kilka pytań:
1. Czy podczas aktualizacji systemu przez  emerge -avuND world te niestabilne pakiety bedą aktualizowane i mogą wywołać jakieś problemy przy aktualizacjach?
2. Czy powinienem jeszcze ten pakiet dodać do package.unmask?

Paweł Kraszewski:
Gentoo ma 3 poziomy pakietów:

Pakiety zwykłe - wersje stabilne (pi*oko odpowiednik Debian stable)
Pakiety ~ - wersje na ogół stabilne, ale gorzej przetestowane (pi*oko odpowiednik Debian testing).
Pakiety M - pakiety powodujące problemy (tzw. "known bad", czyli NIE odpowiednik debian-unstable.).

1a) Tak będą aktualizowane. Zawsze do najnowszej wersji z ~
1b) Jeżeli to program użytkowy (tak jak u ciebie), to problemów raczej nie będzie. Programy sprawiające problemy są zamaskowane (MASKED, M) i jeżeli nie czujesz się na siłach, to nie odmaskowuj ich.
1c) Jeżeli to biblioteka użytkowa, to może być tak, że niektóre programy bez ~ nie chcą się kompilować z bibliotekami z ~. Tutaj trzeba się liczyć z tym, że trzeba będzie za~ować większą paczkę pakietów. Dodatkowo pakiety ~ są częściej aktualizowane niż bez ~, w związku z czym częściej trzeba używać "naprawiaczki" revdep-rebuild.

2) Nie. ~ to coś innego niż M. Jak nie znasz się doskonale na życiu wewnętrznym systemu, nie ruszaj package.unmask.

Jeżeli chcesz uniknąć automatycznych aktualizacji pakietu ~, to package keywords dodaj pełny atom, w Twoim przypadku na przykład:

=app-misc/screenfetch-2.4.7

Nie musisz dodawać ~x86, Gentoo sam się tego domyśla. W takim przypadku zainstaluje Ci pakiet w tej konkretnie wersji i nie ruszy go do czasu, aż pojawi się pakiet w tej samej wersji albo wyższej, ale stabilny. Efekt uboczny jest taki, że jak pojawi się kilka nowszych ~ek tego pakietu i w końcu zniknie 2.4.7, niektóre narzędzia zaczną mruczeć, że masz zainstalowany pakiet, którego nie ma w portage.

Po przeszukiwania portage'a polecam app-portage/eix:
* Szybkie przeszukiwanie całej listy pakietów po nazwie, opisie i/albo grupie.
* Dla pakietu pokazuje pełne info co do dostępnych wersji, do jakiej gałęzi dana wersja należy (" ", "~" czy "M"), co jest odblokowane, co jest zablokowane, co jest zainstalowane i ewentualnie na co zostanie zaktualizowane.

(Numery linii - moje)

--- Kod: ---
1] pawel@i7 [~] 0 $> eix eix
2] [i] app-portage/eix
3]     Available versions:  0.23.10{tbz2} 0.25.5 (~)0.26.1{tbz2} {{clang debug +dep doc linguas_de linguas_ru nls optimization security sqlite strong-optimization tools zsh-completion}}
4]     Installed versions:  0.26.1{tbz2}(22:15:37 26.07.2012)(dep doc nls optimization security sqlite tools -clang -debug -linguas_de -linguas_ru -strong-optimization -zsh-completion)
5]     Homepage:            http://eix.berlios.de
6]     Description:         Search and query ebuilds, portage incl. local settings, ext. overlays, version changes, and more
--- Koniec kodu ---
Krótka legenda:
1: Wyświetl pełne info wszystkich pakietów mających w nazwie eix
2: oznacza, że pakiet jest zainstalowany (może być jeszcze np i [D] jak system będzie robił upgrade/downgrade)
3: Dostępne wersje. tbz2 oznacza, że system ma na dysku pasujący plik PKG (mój Gentoo automatycznie generuje pakiety binarne, szybciej wtedy postawić system od nowa jakby co). (~) oznacza, że ta wersja jest testowa, ale została odblokowana. Gdyby nie była odblokowana, to by nie było nawiasu. Dodatkowo zainstalowane wersje są podświetlone.Wpisy {{ }} to lista wszystkich flag use wszystkich wersji.
4: Lista zainstalowanych wersji z rzeczywiście ustawionymi flagami use.
5-6: Info o pakiecie.


* eix-sync zastępuje emerge --sync, ma dodatkowy bajer w postaci listy różnic w stosunku do poprzedniej aktualizacji (które pakiety dodano, które usunięto, które zaktualizowano, od/zamaskowano, ustabilizowano, itd).


eix jest przydatny do zabawy z package.keywords, package.unmask i package.use, bo od razu możesz podejrzeć wpływ zmian na dostępne pakiety.

eryk188:
Bardzo dziękuję za dokładną odpowiedź. Też zaczynam korzystać z różnych przydatnych narzędzi w tym systemie (epm,  eread, euse, glsa-chec) i teraz eix sprawdzę. Co do tego pliku to ostatecznie dodałem bez znaku równosci  app-misc/screenfetch.
Czyli wygląda na to że korzysta Pan z wersji testowej Gentoo, sądząc po pakietach które się wyświetliły? A można wiedzieć do ilu pakietów rozrosło się u pana Gentoo? Ciekawi mnie jeszcze czy te pakiety które są w wersji testowej , za jaki czas dołączą do wersjii stabilnej ? Pytanie czy w ogóle tam przejdą, skoro nie ma jeszcze danego pakietu(żadnej jego wersji) w wersji stabilnej?

Paweł Kraszewski:
1. Liczba pakietów (z uwzględnieniem tzw slotów, czyli ten sam pakiet zainstalowany w kilku wersjach):

--- Kod: ---
i7 ~ # eix '-I*' --format '' | wc -l
1844
--- Koniec kodu ---
2. Liczba wpisów w package.use (to może być katalog o takiej nazwie, w środku są indywidualne pliki. Łatwiej tym zarządzać.)

--- Kod: ---
i7 package.use # cat * | sort | uniq | egrep -v "^\\s*#" |  wc -l
62
--- Koniec kodu ---
3. Liczba wpisów w package.keywords (tak jak poprzednio, to może być katalog o takiej nazwie)

--- Kod: ---
i7 package.keywords # cat * | sort | uniq | egrep -v "^\\s*#" |  wc -l
596
--- Koniec kodu ---
A co do ostatniego pytania = tak, całkiem często pakiety ~ z czasem robią się nie-~.

eryk188:
To trochę sporo tych pakietów jak na Gentoo. U mnie jeszcze nie jest tak przesadnie źle:

--- Kod: ---
epm -gqa | wc -l
558
--- Koniec kodu ---

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

Idź do wersji pełnej