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.
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-~.
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
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.
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