Portage na Gentoo, jak wyświetlić dostępne wersje oprogramowania?

13

Chciałbym zainstalować program foo using emergew systemie Gentoo; więc po prostu używam emerge foodo instalacji, a portage wybiera najbardziej aktualną wersję tego oprogramowania, które znajduje się w jego repozytorium. Jeśli znam numer wersji i sposób nazywania, mogę zrobić emerge =foo.1.2i użyć, eselectaby wybrać, który obecnie pakiet inforce jest z zainstalowanych, jeśli pakiet go obsługuje.

Ale co, jeśli nie znam numeru wersji lub konwencji nazewnictwa i chcę tylko listę dostępnych wersji foo? Nie widzę opcji emerge, która by to zrobiła, a węszenie pod /usr/portagenią nic mi nie daje.

Bonus: czy w ogóle można znaleźć emergeankiety lokalizacyjne, aby ustalić, które pakiety są dostępne? Na przykład wiele ebuildów w moich systemach znajduje się w niestandardowych lokalizacjach, ale emergei tak je znajduje, więc próbuję ustalić, w jaki sposób emergebuduje to listę dostępnych wersji oprogramowania.

hydraulik
źródło
Może emerge --info =foo*czy zamiast tego z --search lub coś takiego ze składni atomu ?
Musisz przeczytać w man portage Look for the PORTDIRVariable. Lokalizacja twojego drzewa Portage jest określona przez ustawienie tej zmiennej. Jako skrót spróbujls ${PORTDIR}
eyoung100
@inetplumber chcesz wybrać odpowiedź?
lkraav

Odpowiedzi:

6

Chociaż polecam rozwiązanie lkraav, oto inny sposób:

$ ls /usr/portage/app-portage/eix/
ChangeLog  eix-0.25.5.ebuild  eix-0.29.6.ebuild  eix-0.30.1.ebuild
Manifest   eix-0.29.3.ebuild  eix-0.30.0.ebuild  metadata.xml

da to oczywiście tylko listę wszystkich ebuildów dostępnych dla eixa w drzewie portage (bez wszystkich fajnych informacji, które dostarcza eix). Jeśli używasz laika, więcej ebuildów będzie dostępnych w nakładkach (zasadniczo w innych folderach).

matthid
źródło
ls -1 daje do tego lepszy widok z jedną kolumną.
lkraav,
Podoba mi się ta metoda w połączeniu ze znajomością lokalizacji PORTDIR systemu.
inetplumber
Ta metoda nie dostarcza informacji o tym, co jest zainstalowane, jakie pakiety binarne są zbudowane itp.
lkraav
9

Innym sposobem byłoby wylistowanie dostępnych słów kluczowych z equery, to także pokaże dostępne wersje.

$ [-] equery y pidgin
Keywords for net-im/pidgin:
             |                             | u   |  
             | a a   a           p     s   | n   |  
             | l m   r h i m m   p s   p   | u s | r
             | p d a m p a 6 i p c 3   a x | s l | e
             | h 6 r 6 p 6 8 p p 6 9 s r 8 | e o | p
             | a 4 m 4 a 4 k s c 4 0 h c 6 | d t | o
-------------+-----------------------------+-----+-------
   2.10.9    | + + + o ~ + o o + + o o + + | o 0 | gentoo
[I]2.10.9-r1 | ~ + ~ o + ~ o o + ~ o o ~ + | o   | gentoo
DasLeo
źródło
7

Spodziewałbym emerge --searchsię zapewnić tę funkcjonalność, ale wydaje się, że pokazuje tylko najnowszą wersję.

$ [-] emerge --search eix
Searching...    
[ Results for search key : eix ]
[ Applications found : 1 ]

*  app-portage/eix
      Latest version available: 0.29.3
      Latest version installed: 0.29.3
      Size of files: 536 kB
      Homepage:      http://eix.berlios.de
      Description:   Search and query ebuilds, portage incl. local settings, ext. overlays, version changes, and more
      License:       GPL-2

Aby odpowiedzieć na twoje pytanie: używam eixtak długo, tak naprawdę nie pamiętam, co robiłem wcześniej.

$ [-] eix eix$ -c
[I] app-portage/eix
     Available versions:  0.25.5{tbz2} 0.29.3{tbz2} ~0.29.6 ~0.30.0 ~0.30.1 {clang debug +dep doc nls optimization security sqlite strong-optimization strong-security swap-remote tools zsh-completion LINGUAS="de ru"}
     Installed versions:  0.29.3{tbz2}(10:44:38 07.09.2013)(dep nls -clang -debug -doc -optimization -security -sqlite -strong-optimization -strong-security -swap-remote -tools -zsh-completion LINGUAS="-de -ru")
     Homepage:            http://eix.berlios.de
     Description:         Search and query ebuilds, portage incl. local settings, ext. overlays, version changes, and more
lkraav
źródło
Absolutnie zajmę drugie miejsce eixjako narzędzie Goto. +1
eyoung100
0

Jeszcze inny sposób, z którego korzystam 90% czasu:

equery list -po [package_name]

źródło