Список файлов неустановленного пакета
Модератор: /dev/random
Список файлов неустановленного пакета
Здравия!
Возможно ли? Есть пакет pfl, с одноимённым скриптом, который при запуске отправляет состав установленных в системе пакетов на немецккий сервер, и в нём же e-file, который может найти файл неустановленного пакета по названию на этом сервере. То есть база состава пакетов набирается на сервере от потребителей, которые озаботились с pfl. Но что делать, если пакет не прописан там? Те, у кого он установлен, не позаботились передать его состав. Вот я так и попал. Можно вроде скачать вручную ebuild и в нём посмотреть, а для командной строки есть более прямые способы?
Сервер https://portagefilelist.de
Вот надо мне найти, в каких пакетах звуковые банки (расширения .sf2 .sf3). Ничего лучше не придумал, как:
$ eix sound|grep -i font * media-sound/fluid-soundfont Homepage: http://musescore.org/en/handbook/soundfont Description: The Fluid R3 soundfont globus@aspera ~ $ eix media-sound/fluid-soundfont * media-sound/fluid-soundfont Available versions: 3.1 {timidity} Homepage: http://musescore.org/en/handbook/soundfont Description: The Fluid R3 soundfont
Устанавливать, чтобы посмотреть состав, лениво, а что делать? А может в других пакетах есть искомое, а как его найти?
Возможно ли? Есть пакет pfl, с одноимённым скриптом, который при запуске отправляет состав установленных в системе пакетов на немецккий сервер, и в нём же e-file, который может найти файл неустановленного пакета по названию на этом сервере. То есть база состава пакетов набирается на сервере от потребителей, которые озаботились с pfl. Но что делать, если пакет не прописан там? Те, у кого он установлен, не позаботились передать его состав. Вот я так и попал. Можно вроде скачать вручную ebuild и в нём посмотреть, а для командной строки есть более прямые способы?
Сервер https://portagefilelist.de
Вот надо мне найти, в каких пакетах звуковые банки (расширения .sf2 .sf3). Ничего лучше не придумал, как:
$ eix sound|grep -i font * media-sound/fluid-soundfont Homepage: http://musescore.org/en/handbook/soundfont Description: The Fluid R3 soundfont globus@aspera ~ $ eix media-sound/fluid-soundfont * media-sound/fluid-soundfont Available versions: 3.1 {timidity} Homepage: http://musescore.org/en/handbook/soundfont Description: The Fluid R3 soundfont
Устанавливать, чтобы посмотреть состав, лениво, а что делать? А может в других пакетах есть искомое, а как его найти?
- Bizdelnick
- Модератор
- Сообщения: 20792
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Список файлов неустановленного пакета
Ну как же не прописан? Он просто ищет по полным именам файлов. Например: https://portagefilelist.de/site/query/file/?file=FluidR3_GM.sf2&unique_packages=yes&do
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Список файлов неустановленного пакета
Откуда сразу знать полное? Где ж регулярные выражения, которыми силён linux?))
Я перед написанием искал там по категории/имени, не нашлось этого пакета... А теперь есть, чудеса!
А вот и опять нет:
Не зная точных имён, а только расширения, как в gentoo найти в каких пакетах эти файлы, если есть вообще? Скачивать ебилды и прочёсывать их?
Я перед написанием искал там по категории/имени, не нашлось этого пакета... А теперь есть, чудеса!
А вот и опять нет:
Spoiler
Re: Список файлов неустановленного пакета
А как вы хотите найти то чего нет?
Это же вам не бинарные пакеты, тут ещё содержание зависит от флагов сборки. Ебилды это только инструкции для сборки, они не содержат список файлов. Только после установки можно просмотреть в самой Gentoo.
Re: Список файлов неустановленного пакета
Если в результате получаются файлы, то где-то должен быть пусть потенциальный, но их список))
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Список файлов неустановленного пакета
Ну, это вообще не факт. Если Вы когда-нибудь что-нибудь компилировали, помимо сборки пакетов,
то Вы знаете, что компилятор может присвоить итоговому бинарнику имя по умолчанию. И тогда "список файлов" может быть, к примеру, какой-нибудь такой: main.c, module001.c, module002.c, а на выходе будет a.out или что-нибудь в этом роде. Это так, к слову.
Но поскольку умолчальных имен, как правило, всё-таки нигде нет, то искать имена итоговых файлов надо там, где они определяются: в сборочных файлах (Makefile и им подобных), то есть в тарболе с исходниками. Ну и в ebild-скриптах, если там происходят какие-то переименования.
А вот прямого списка, что будет включено в пакет, я не видел нигде: ни при сборке rpm-пакетов, ни при сборке deb-пакетов, ни при сборке пакетов слаквари. Такое есть разве что в случае опакечивания уже готовых файлов: бинарников какой-нибудь Opera или дополнений браузера, или файлов документации, или, к примеру, словарей.
Re: Список файлов неустановленного пакета
Вообще-то да, согласен, с обоими)) В исходниках оно зашито-крыто. Которые и надо прочёсывать. А вот звукобанки, которые .sf2-3, аналог бинарных пакетов вроде, и их можно по ебилдам прочесать? И есть ли где поиск по ебилдам? Что-то не верится, чтобы на весь репозитарий был один звукобанк...
Re: Список файлов неустановленного пакета
Только если они устанавливаются по отдельности doins, а если копируется сразу каталог, то этого не увидишь.
А так уже сами давно должны были понять как можно найти файлы и их содержание:
Код: Выделить всё
#!/bin/bash
DIR="/usr/portage/"
while read file
do
if grep -iq "\.sf2" ${file} ; then
echo -e "\033[31m${file}:"
echo -e "\033[32m$(grep -i "\.sf2" ${file})";echo
fi
done < <(find ${DIR} -type f -name "*.ebuild")
- Bizdelnick
- Модератор
- Сообщения: 20792
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Список файлов неустановленного пакета
Вопросы к разработчику.
https://portagefilelist.de/site/query/listPackageVersions/?category=media-sound&package=fluid-soundfont&do#result
Списки как раз есть и при сборке rpm (секции %files spec-файла), и при сборке deb (debian/*.install). Иначе как раскидать файлы по подпакетам? Другое дело, что там зачастую используются шаблоны, а не точные имена. А полный список можно получить только для уже собранного пакета.Hephaestus писал: ↑09.05.2021 09:26А вот прямого списка, что будет включено в пакет, я не видел нигде: ни при сборке rpm-пакетов, ни при сборке deb-пакетов, ни при сборке пакетов слаквари.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Список файлов неустановленного пакета
Оно так и есть, это стандартный звукобанк. А так можно просмотреть ещё звукобанки в gpo.zugaina.org.
Если так заинтересовали звуковые банки, то почему бы самому не попробовать свои создать например этим инструментом.
Re: Список файлов неустановленного пакета
Действительно, ебилды ведь все локально. Хотел упростить, а оно почему так? Поиск начался, по Ctrl-C я прервал, чтоб по tar.bz не скало, ибо бессмысленно. А потом облом.
globus@aspera /usr/portage $ grep -r .sf[2,3] * ^C globus@aspera /usr/portage $ grep -r .sf[2,3] *.ebuild 1) Почему? Оно там есть. globus@aspera /usr/portage $ grep -r \.sf[2,3] *.ebuild globus@aspera /usr/portage $ grep -r ".sf[2,3]" *.ebuild globus@aspera /usr/portage $ grep -r ".sf[2-3]" *.ebuild globus@aspera /usr/portage $ globus@aspera /usr/portage/media-sound $ grep -r sf2 *.ebuild 2) Оно ещё ближе, чем в первом случае. grep: *.ebuild: No such file or directory globus@aspera /usr/portage/media-sound $ globus@aspera /usr/portage $ grep -r sf2 *.ebuild 3) Вариант первого поиска. globus@aspera /usr/portage $ grep -r 'sf2' *.ebuild globus@aspera /usr/portage $ grep -ir 'fluid' *.ebuild globus@aspera /usr/portage $ globus@aspera /usr/portage/media-sound $ grep -ir 'fluid' *.ebuild 4) Вариант второго поиска. grep: *.ebuild: No such file or directory globus@aspera /usr/portage/media-sound/fluid-soundfont $ grep -ir 'fluid' * 5) Ну наконец-то, в текущем каталоге нашлось fluid-soundfont-3.1.ebuild:DESCRIPTION="The Fluid R3 soundfont" fluid-soundfont-3.1.ebuild: doins FluidR3_GM.sf2 FluidR3_GS.sf2 globus@aspera /usr/portage/media-sound/fluid-soundfont $ grep -ir sf[2,3] * fluid-soundfont-3.1.ebuild: insinto /usr/share/sounds/sf2 fluid-soundfont-3.1.ebuild: doins FluidR3_GM.sf2 FluidR3_GS.sf2 globus@aspera /usr/portage/media-sound/fluid-soundfont $ grep -ir sf[2,3] *.ebuild 6) Ну наконец-то, в текущем каталоге нашлось insinto /usr/share/sounds/sf2 doins FluidR3_GM.sf2 FluidR3_GS.sf2
Что я делаю не так?
globus@aspera /usr/portage $ grep -r .sf[2,3] * ^C globus@aspera /usr/portage $ grep -r .sf[2,3] *.ebuild 1) Почему? Оно там есть. globus@aspera /usr/portage $ grep -r \.sf[2,3] *.ebuild globus@aspera /usr/portage $ grep -r ".sf[2,3]" *.ebuild globus@aspera /usr/portage $ grep -r ".sf[2-3]" *.ebuild globus@aspera /usr/portage $ globus@aspera /usr/portage/media-sound $ grep -r sf2 *.ebuild 2) Оно ещё ближе, чем в первом случае. grep: *.ebuild: No such file or directory globus@aspera /usr/portage/media-sound $ globus@aspera /usr/portage $ grep -r sf2 *.ebuild 3) Вариант первого поиска. globus@aspera /usr/portage $ grep -r 'sf2' *.ebuild globus@aspera /usr/portage $ grep -ir 'fluid' *.ebuild globus@aspera /usr/portage $ globus@aspera /usr/portage/media-sound $ grep -ir 'fluid' *.ebuild 4) Вариант второго поиска. grep: *.ebuild: No such file or directory globus@aspera /usr/portage/media-sound/fluid-soundfont $ grep -ir 'fluid' * 5) Ну наконец-то, в текущем каталоге нашлось fluid-soundfont-3.1.ebuild:DESCRIPTION="The Fluid R3 soundfont" fluid-soundfont-3.1.ebuild: doins FluidR3_GM.sf2 FluidR3_GS.sf2 globus@aspera /usr/portage/media-sound/fluid-soundfont $ grep -ir sf[2,3] * fluid-soundfont-3.1.ebuild: insinto /usr/share/sounds/sf2 fluid-soundfont-3.1.ebuild: doins FluidR3_GM.sf2 FluidR3_GS.sf2 globus@aspera /usr/portage/media-sound/fluid-soundfont $ grep -ir sf[2,3] *.ebuild 6) Ну наконец-то, в текущем каталоге нашлось insinto /usr/share/sounds/sf2 doins FluidR3_GM.sf2 FluidR3_GS.sf2
Что я делаю не так?
А можно и в инете, будет ещё больше)) Но слово "soundfont" может не быть в описании, а внутри навалом sf2-3.
До такого фанатства я ещё не дошёл))
- Bizdelnick
- Модератор
- Сообщения: 20792
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Список файлов неустановленного пакета
Составляете регулярное выражение.
grep '\.sf[23]' *.ebuild
Добавлено (13:55):
Ну или как оно там разложено…grep '\.sf[23]' /usr/portage/media-sound/*/*.ebuild
Добавлено (14:00):
Или с find:find /usr/portage -type f -name '*.ebuild' -exec grep -H '\.sf[23]' {} +
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Список файлов неустановленного пакета
Программа выпадает и выдаёт:
$ equery b libDeckLinkAPI.so
* Searching for libDeckLinkAPI.so ...
globus@aspera ~ $ e-file libDeckLinkAPI.so
No matches found.
И где его взять?
Код: Выделить всё
libDeckLinkAPI.so: cannot open shared object file: No such file or directory
И где его взять?