Portage на Gentoo, как просмотреть доступные версии программного обеспечения?

13

Я хотел бы установить программу foo используя emergeсистему Gentoo; поэтому я просто использую emerge fooдля установки, и portage выбирает самую последнюю версию этого программного обеспечения, которая находится в его хранилище. Если я знаю номер версии и сопряжение имен, я могу сделать emerge =foo.1.2и использовать, eselectчтобы выбрать, какой пакет пакета Inforce в данный момент отсутствует, если пакет поддерживает его.

Но что, если я не знаю номер версии или соглашение об именах и просто хочу список доступных мне версий foo? Я не вижу опции emerge, которая делает это, и слежка за ней /usr/portageничего не дает.

Бонус: есть ли в любом случае, чтобы узнать, какие местоположения emergeопросы, чтобы определить, какие пакеты доступны? Например, многие из ebuild-ов в моих системах находятся в нестандартных местах, но, в emergeлюбом случае, находят их, поэтому я пытаюсь определить, как собирается emergeих список доступных версий программного обеспечения.

inetplumber
источник
Может быть emerge --info =foo*или с --search вместо этого или что-то подобное из синтаксиса атома ?
Вам нужно прочитать « man portage Поиск PORTDIRпеременной». Местоположение вашего дерева ls ${PORTDIR}
портежей
@inetplumber хотите выбрать ответ?
Икра

Ответы:

6

Хотя я бы порекомендовал решение lkraav, вот другой способ:

$ 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

это, конечно, только даст вам список всех ebuild-файлов, доступных для eix в дереве портежей (без всей полезной информации, которую предоставляет eix). Если вы используете layman, больше ebuild будет доступно в оверлеях (в основном в других папках).

matthid
источник
ls -1, возможно, дает лучшее представление для одного столбца для этого.
lkraav
Мне нравится этот метод в сочетании со знанием местоположения системы PORTDIR.
inetplumber
Этот метод не предоставляет информацию о том, что установлено, какие двоичные пакеты
собраны и
8

Другим способом было бы перечислить доступные ключевые слова с equery, это также покажет доступные версии.

$ [-] 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
источник
7

Я бы ожидал emerge --searchпредоставить эту функциональность, увы, кажется, он показывает только последнюю версию.

$ [-] 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

Итак, чтобы ответить на ваш вопрос: я так долго пользуюсь eix, я не помню, что делал раньше.

$ [-] 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
источник
Я обязательно стану вторым eixв качестве инструмента Goto. +1
eyoung100
0

Еще один способ, который я использую в 90% случаев:

equery list -po [package_name]

источник