Как вывести список всех установленных в системе пакетов с указанием флагов с которыми они были собраны?

eix -I

eix -I

Возможноemerge -pev world

Возможно

emerge -pev world

или для удобства дальнейшей обработки (парсинг, сортировка,...)

emerge -pev --color=n world

Я Gentoo & Funtoo

ИМХО лучше @installed, а не

ИМХО лучше @installed, а не @world, т.к. @world не покажет пакеты которые установлены по зависимостям, но это тока для poartage-2.2 ;-)

а быстрее eix -I (правда я не помню выводит она флаги или нет)

Информация к

Опция -e предполагает:

--emptytree (-e)
              Reinstalls  all world packages and their dependencies to the current USE specifications while differing from the
              installed set of packages as little as possible.

т. е. выводятся и зависимости.

Информация к размышлению:

%emerge -pev --color=n @world | grep '^\[ebuild' | sort -u > world.txt

%emerge -pev --color=n @installed | grep '^\[ebuild' | sort -u > installed.txt

%wc -l world.txt
992 world.txt

%wc -l installed.txt
1003 installed.txt

%diff --suppress-common-lines world.txt installed.txt
0a1,11
> [ebuild  N    ] dev-java/ant-antlr-1.7.1-r1  0 kB [0]
> [ebuild  N    ] dev-java/ant-core-1.7.1-r4  USE="-doc -source" 0 kB [0]
> [ebuild  N    ] dev-java/javatoolkit-0.3.0-r3  0 kB [0]
> [ebuild  N    ] dev-java/junit-3.8.2-r1  USE="-doc -source" 451 kB [0]
> [ebuild  N    ] dev-java/stringtemplate-3.2  USE="-doc -source" 725 kB [0]
> [ebuild  N    ] media-libs/libdiscid-0.2.2  0 kB [0]
> [ebuild  NS   ] app-text/docbook-sgml-dtd-4.5 [3.0-r3] 70 kB [0]
> [ebuild  NS   ] dev-cpp/libxmlpp-2.26.0 [1.0.5] USE="-debug -doc" 602 kB [0]
> [ebuild  NS   ] dev-java/antlr-3.1.3-r2 [2.7.7] USE="-gunit -source" 10,538 kB [0]
> [ebuild  NS   ] media-libs/musicbrainz-3.0.2 [2.1.5] USE="-test" 0 kB [0]
> [ebuild  NS   ] virtual/libusb-1 [0] 0 kB [0]

Кто-нибудь может объяснить вывод diff

По поводу eix
1. Флаги выводит, но, IMHO, парсить неудобно.
2. И, почему-то?

%eix -Ic | wc -l
985

Я Gentoo & Funtoo

Сначала покажите вывод -

Сначала покажите вывод - emerge world -uDNpv

/ Enchant /
"Никакую проблему нельзя решить на том же уровне, на котором она возникла"

Пожалуйста #emerge -puDNv

Пожалуйста

#emerge -puDNv world

These are the packages that would be merged, in order:

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 kB

и даже

#emerge -puDNv --with-bdeps=y world

These are the packages that would be merged, in order:

Calculating dependencies... done!


Total: 0 packages, Size of downloads: 0 kB

приводит к такому же результату.

Я Gentoo & Funtoo

Lupo Alberto

Lupo Alberto написал(а):
Кто-нибудь может объяснить вывод diff

Вывод diff может объяснить --tree (man emerge, http://www.gentoo.ru/node/14447)
Если собрать те "лишние" пакеты, они при первом же depclean уйдут.
Потому что в ситуации "с --emptytree" их тянут "более другие" пакеты.

Это подпись, которую невозможно истолковать неправильно

Ещё qlist из portage-utils

Ещё qlist из portage-utils есть

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

# eix -Ic | grep '^\[I\]' |

# eix -Ic | grep '^\[I\]' | sort -u | wc -l
774
# qlist -I | sort -u | wc -l
789
# emerge -pev @world | grep '^\[ebuild' | sort -u | wc -l
749
# emerge -pev @installed | grep '^\[ebuild' | sort -u | wc -l
802

Хм! Вспоминается пословица про человека с двумя часами, незнающего который час ;)


Ау товариши! Так как же сосчитать пакеты?

gentuser написал(а):Ау

gentuser написал(а):
Ау товариши! Так как же сосчитать пакеты?

дык а чего их считать-то?!?! emerge -pv @installed выводит абсолютно все пакеты, emerge -pve @world выводит тока те пакеты, которые установлены пользователем + все-все-все зависимости для этих пакетов...

вот и считай:
grep '^\[I\]' выводит тока те строки, в которых говорится о пакетах
wc - l считает кол-во строк вывода
соответственно

emerge -pv @installed | grep '^\[I\]' | wc -l покажет тебе количество всех установленных пакетов )))

хотя вообще-то emerge -pv @installed и так показывает в конце списка общее количество пакетов ;-)

нет ничего точнее, чем find

нет ничего точнее, чем find /var/db/pkg -name CONTENTS | wc -l

Точно!# find /var/db/pkg

Точно!

# find /var/db/pkg -name CONTENTS | wc -l
803
emerge -pv @installed
...
Total: 802 packages (802 reinstalls, 1 interactive)
...

Все учтено.
Спасибо товарищи kaf1 и Theli, теперь я спокоен.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".