Nowe posty

Autor Wątek: Jak poprawnie zainstalować niestabilne pakiety?  (Przeczytany 34606 razy)

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 17
    • Zobacz profil
Jak poprawnie zainstalować niestabilne pakiety?
« dnia: 2012-08-04, 16:45:29 »
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?

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2503
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • Linuxpedia.PL
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #1 dnia: 2012-08-04, 20:52:33 »
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)
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
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.
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 17
    • Zobacz profil
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #2 dnia: 2012-08-04, 21:39:45 »
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?

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2503
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • Linuxpedia.PL
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #3 dnia: 2012-08-05, 21:42:46 »
1. Liczba pakietów (z uwzględnieniem tzw slotów, czyli ten sam pakiet zainstalowany w kilku wersjach):
i7 ~ # eix '-I*' --format '' | wc -l
1844
2. Liczba wpisów w package.use (to może być katalog o takiej nazwie, w środku są indywidualne pliki. Łatwiej tym zarządzać.)
i7 package.use # cat * | sort | uniq | egrep -v "^\\s*#" |  wc -l
62
3. Liczba wpisów w package.keywords (tak jak poprzednio, to może być katalog o takiej nazwie)
i7 package.keywords # cat * | sort | uniq | egrep -v "^\\s*#" |  wc -l
596
A co do ostatniego pytania = tak, całkiem często pakiety ~ z czasem robią się nie-~.
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 17
    • Zobacz profil
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #4 dnia: 2012-08-05, 22:25:06 »
To trochę sporo tych pakietów jak na Gentoo. U mnie jeszcze nie jest tak przesadnie źle:
epm -gqa | wc -l
558

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2503
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • Linuxpedia.PL
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #5 dnia: 2012-08-06, 07:00:33 »
W robocie mam 1809 pakietów, więc widocznie u mnie taka ilość to norma :)

Podział ilościowy na grupy w robocie mam taki:
Inet-HP[2506] ~ 0 $> eix '-I*' --format '' | sort | sed 's:^=\\([^/]*\\)/.*$:\\1:' | uniq -c | sort -rn
    270 kde-base
    108 media-libs
     90 dev-libs
     85 virtual
     77 x11-libs
     74 app-text
     73 media-fonts
     71 dev-java
     59 sys-apps
     57 dev-perl
     50 dev-util
     48 dev-python
     46 x11-apps
     31 media-plugins
     30 sys-devel
     29 x11-proto
     28 app-admin
     27 dev-texlive
     26 perl-core
     26 net-misc
     24 net-libs
     22 sys-fs
     21 app-emulation
     20 sys-libs
     18 x11-themes
     18 dev-lang
     16 x11-misc
     16 media-sound
     16 app-cdr
     15 media-video
     15 gnome-base
     15 dev-tex
     15 dev-dotnet
     14 app-crypt
     14 app-arch
     13 media-gfx
     12 dev-db
     12 app-misc
     11 net-analyzer
     11 kde-misc
     10 app-emacs
      9 sci-libs
      8 sys-auth
      8 java-virtuals
      7 sys-process
      7 dev-ruby
      7 app-portage
      6 x11-drivers
      6 dev-tex
      5 net-dns
      5 dev-vcs
      5 dev-lisp
      5 app-doc
      4 www-client
      4 sys-block
      4 net-wireless
      4 dev-cpp
      4 app-shells
      4 app-office
      4 app-dicts
      3 x11-base
      3 sys-power
      3 net-firewall
      3 mail-client
      3 games-misc
      3 dev-tcltk
      3 dev-games
      2 x11-terms
      2 www-plugins
      2 sys-kernel
      2 sys-firmware
      2 sci-mathematics
      2 net-zope
      2 net-print
      2 net-p2p
      2 net-im
      2 games-util
      2 app-mobilephone
      2 app-i18n
      2 app-forensics
      2 app-editors
      2 app-accessibility
      1 www-servers
      1 www-misc
      1 sys-cluster
      1 sys-boot
      1 sci-visualization
      1 sci-geosciences
      1 sci-electronics
      1 net-nds
      1 net-mail
      1 net-dialup
      1 media-tv
      1 mail-mta
      1 gnome-extra
      1 games-simulation
      1 games-board
      1 dev-ml
      1 dev-lua
      1 app-backup
      1 app-antivirus
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 17
    • Zobacz profil
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #6 dnia: 2012-08-06, 21:16:33 »
Pewnie dobry procesor musi być i sporo ramu do tylu pakietów i ich kompilacji. W Gentoo jeszcze jednego nie mogę rozgryźć. Jak zainstalować pakiet do którego nie ma ebuilda w wersji stable czy nawet ~ testowej? Chciałbym zainstalować conky-lua i deadbeef , lecz emerge go nie znajduję. Czy trzeba w takim przypadku szukać obcych ebuildów po sieci i jakoś je instalować?

Wróć. Znalazłem tu jeden ebuild http://gpo.zugaina.org/media-sound/deadbeef. Lecz nie wiem jak go poprawnie zainstalować i czy w ogole emerge doda go do pozostałych pakietów, a następnie będzie go aktualizować wraz z jego zależnościami? Co do conky-lua to jeszcze szukam.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2503
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • Linuxpedia.PL
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #7 dnia: 2012-08-07, 10:16:06 »
Poczytaj o layman i overlayach. Gentoo ma taki bajer, że możesz mieć kilka portage'ów naraz aktywnych. Emerge przegląda wszystkie i instaluje najnowszy pakiet jaki znajdzie. Główny to /usr/portage (albo gdziekolwiek pokażesz w make.conf), ozostałe to właśnie tzw overlaye.

Layman to nakładka zarządzająca mniej lub bardziej oficjalną listą overlayów dostępnych w sieci, ściągająca je na dysk i udostępniająca dla emerge. Dodatkowo ma odpowiednik sync-a (bo emerge --sync aktualizuje tylko główne repo).

deadbeef jest w overlayach calculate i xwing:

1. Instalujesz app-portage/layman
2. Jako ostatnią linijkę w /etc/make.conf dajesz
source "/var/lib/layman/make.conf"
3. Wykonujesz layman -S (synchronizacja listy repozytoriów)
4. Dodajesz repo layman -a xwing albo layman -a calculate.
5. Teraz deadbeef powinien pojawić się w emerge (o ile nie zapomniałeś  zrobić 2.)

A co do conky-lua - conky ma flagę USE lua (i kilka innych lua-pochodnych), prawdopodobnie po ustawieniu tych flag i rekompilacji uzyskasz oczekiwany efekt.
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 17
    • Zobacz profil
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #8 dnia: 2012-08-07, 11:01:40 »
Tego właśnie szukałem, wiekie dzięki. Mam jeszcze takie pytanie , jeżeli dany pakiet nie znajduje się w Gentoo stable to lepiej go zamaskować i zainstalować przez emerge z wersji ~testowej? Czy po prostu przez laymana (mowa o tej samej wersji pakietu i która z tych opcji instalacji będzie lepsza)?

Znalazłem taką listę ebuildów(repozytoriów) i czy każde z nich można zainstalować przez laymana? Jeśli tak to wybór jest ogromny i niesamowity :)
http://gentoo-overlays.zugaina.org/index.html.en

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2503
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • Linuxpedia.PL
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #9 dnia: 2012-08-07, 13:22:49 »
To wygląda na zbliżone do zwracanego przez layman -L.

Generalnie nie maskuj pakietów z oficjalnego repo. Często oficjalka dogania/przegania overlaya i wtedy warto automatycznie przejść na wersję z oficjalnego repo (może poza bardzo rzadkimi przypadkami, gdy aplikacja overlayowa ma tą samą wersję co oficjalna przy zmienionej funkcjonalności - ale to jest niezgodne z wytycznymi Gentoo, bo wtedy _powinno_ użyć się kombinacji inna nazwa+package.provided albo dodać -p0 -p1... itd do modyfikowanej wersji)
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 17
    • Zobacz profil
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #10 dnia: 2012-08-07, 18:21:04 »
Dzięki za tą informację. Co do tych repozytoriów które zwraca layman -S , to te przy których jest czerwony znaczek są jakieś niepewne ? A żółte i zielone są bardziej bezpieczne?

Offline vanhelzing

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 313
    • Zobacz profil
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #11 dnia: 2012-08-07, 19:09:14 »
zielony - oficjalny, w pełni wspierany,
żółty - nieoficjalny,
czerwony - może wymagać instalacji dodatkowego oprogramowania.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2503
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • Linuxpedia.PL
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #12 dnia: 2012-08-07, 21:29:01 »
Wracając do starego pytania, czy ~ się stabilizują: Dziś dostałem 4 stabilizacje i 1 destabilizację (destabilizacja przez pojawienie się nowszej ~):

[*>]  == dev-lua/luasocket (~2.0.2 -> 2.0.2): Networking support library for the Lua language.
[*>]  == dev-ruby/bacon (~1.1.0-r1 -> 1.1.0-r1): Small RSpec clone weighing less than 350 LoC
[*>]  == net-misc/emirror (~2.2.0.0.4 -> 2.2.0.0.4): ECLiPt FTP mirroring tool
[*>]  == x11-misc/xsri (~2.1.0-r2 -> 2.1.0-r2): The xsri wallpaper setter from RedHat

[>]   == www-client/chromium (21.0.1180.57 -> (~)21.0.1180.64): Open-source version of Google Chrome web browser

P.S. Nie, nie mam tego poinstalowane, eix-sync pokazuje wszystkie różnice.
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 17
    • Zobacz profil
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #13 dnia: 2012-08-07, 22:40:14 »
A dlaczego żeby zainstalować Chromium potrzeba aż pobrać ponad 180MB? Gdzie taka Opera zajmuje 12MB, a nawet Google-Chrome czy firefox dużo mniej.  
emerge -s opera firefox
Searching...    
[ Results for search key : opera ]
[ Applications found : 2 ]

*  www-client/opera
      Latest version available: 12.01.1532
      Latest version installed: 12.01.1532
      Size of files: 12,554 kB
      Homepage:      http://www.opera.com/
      Description:   A fast and secure web browser and Internet suite
      License:       OPERA-11 LGPL-2 LGPL-3
*  www-client/firefox-bin
      Latest version available: 10.0.6
      Latest version installed: 10.0.6
      Size of files: 17,138 kB
      Homepage:      http://www.mozilla.com/firefox
      Description:   Firefox Web Browser
      License:       MPL-1.1 GPL-2 LGPL-2.1

*  www-client/google-chrome [ Masked ]
      Latest version available: 22.0.1221.1_alpha149058
      Latest version installed: [ Not Installed ]
      Size of files: 32,038 kB
      Homepage:      http://www.google.com/chrome
      Description:   The web browser from Google
      License:       google-chrome
*  www-client/chromium
      Latest version available: 21.0.1180.57
      Latest version installed: [ Not Installed ]
      Size of files: 187,907 kB
      Homepage:      http://chromium.org/
      Description:   Open-source version of Google Chrome web browser
      License:       BSD

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2503
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • Linuxpedia.PL
Jak poprawnie zainstalować niestabilne pakiety?
« Odpowiedź #14 dnia: 2012-08-08, 07:12:48 »
Bo firefox-bin, chrome i opera to małe pakiety binarne a chromium to wielki tarball z kodem źródłowym?
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy