BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
СообщениеДобавлено: Вс 09 ноя, 2008 5:30 am 
Не в сети

Зарегистрирован: Пн 09 янв, 2006 11:41 pm
Сообщения: 9
Добрый день, господа.
Мой вопрос, возможно, будет общим для *BSD, но все же я решил запостить его именно сюда, так как задался им именно здесь. Всем известно, что для определения принадлежности файла к порту(!) чудесно подходят команды вида:
Цитата:
cd /usr/ports
make search name=foo

Однако у меня вопрос чуть сложнее - как можно определить принадлежность файла к неустановленному пакету т.е. порты в системе не развернуты, все инсталлируется только через пакеты?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс 09 ноя, 2008 10:27 am 
Не в сети

Зарегистрирован: Пт 06 окт, 2006 5:19 am
Сообщения: 186
Откуда: Владивосток
Ты ошибаешься, эта команда выполняет поиск порта с именем foo в дереве портов.
Чтобы определить, какому пакету принадлежит файл, необходимо использовать pkg_info с опцией -W:
Код:
customer135# pkg_info -W /usr/local/bin/wget
/usr/local/bin/wget was installed by package wget-1.11.2_1

Не совсем понятен вопрос, как файл может принадлежать (быть установленным) НЕУСТАНОВЛЕННОМУ пакету?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вс 09 ноя, 2008 3:37 pm 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: Вт 10 авг, 2004 2:24 am
Сообщения: 3297
Откуда: Харьков
passer-by писал(а):
Однако у меня вопрос чуть сложнее - как можно определить принадлежность файла к неустановленному пакету т.е. порты в системе не развернуты, все инсталлируется только через пакеты?

Пакеты в системе регистрируются также как и порты.

pkg_info -- покажет всё установленное
pkg_info -L perl-5.8.8_1 -- покажет все файлы установленного пакета perl-5.8.8_1
man pkg_info -- покажет остальные параметры утилиты pkg_info


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс 09 ноя, 2008 11:27 pm 
Не в сети

Зарегистрирован: Пн 09 янв, 2006 11:41 pm
Сообщения: 9
IIIenapg писал(а):
Не совсем понятен вопрос, как файл может принадлежать (быть установленным) НЕУСТАНОВЛЕННОМУ пакету?


Поясняю: допустим, что вы устанавливаете программу из сырцов. Установочный скрипт, допустим, перловый, по началу ищет prerequisites и выдает, что
Цитата:
не найдена программа foo
Вы, само собой, жмёте Ctrl+C либо открываете новую консоль и думаете, а как бы это мне узнать? какой нужно установить пакет, чтобы у меня появилась foo?
Надеюсь, что на сей раз я выразился понятнее :)

grayich, вывод `pkg_info -E foo` меня не впечатлил


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс 09 ноя, 2008 11:31 pm 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: Вт 10 авг, 2004 2:24 am
Сообщения: 3297
Откуда: Харьков
тогда только или через поиск или через гуглопоиск


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн 10 ноя, 2008 2:21 am 
Не в сети

Зарегистрирован: Пн 09 янв, 2006 11:41 pm
Сообщения: 9
мне не хочется верить, что в *BSD нету аналога `apt-cache search foo`


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн 10 ноя, 2008 3:38 am 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: Вт 10 авг, 2004 2:24 am
Сообщения: 3297
Откуда: Харьков
я совсем перестал понимать, чего найти то нужно


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн 10 ноя, 2008 11:36 pm 
Не в сети

Зарегистрирован: Пн 09 янв, 2006 11:41 pm
Сообщения: 9
1. порты не развернуты и разворачиваться не будут, точка.
2. вам нужна программа foo (у вас ее нету на компьютере, нужно подключиться к Интернету и скачать пакет, в котором эта программа есть).
3. вопрос - как узнать, в каком пакете она есть?

ps. спрашивайте более подробно, что нужно уточнить


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт 11 ноя, 2008 11:06 am 
Не в сети

Зарегистрирован: Сб 05 янв, 2008 4:36 pm
Сообщения: 295
Откуда: Белгород
Из базовой системы без портов, узнать - никак. Чем не устраивают порты? Они для того и сделаны, чтобы всё автоматизировать. При установке из портов всё скачается и установится само. Если компилируешь программу сам, то рискуешь нарваться на тысячу подводных камней. Читай readme в исходниках, там обычно пишутся зависимости - ну или смотри сами исходники :) Проще научится пользоваться портами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср 12 ноя, 2008 12:51 am 
Не в сети

Зарегистрирован: Пн 09 янв, 2006 11:41 pm
Сообщения: 9
infd писал(а):
Из базовой системы без портов, узнать - никак.

Хм.....допустим - просто допустим.
Тогда как вы отнесетесь к тому, чтобы в PKG_PATH через `pkg_info -L *tgz` перебрать пакеты и найти grep'ом по маске нужную программу? Я имею ввиду это:
Цитата:
export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/`uname -r`/packages/`machine -a`/
pkg_info -L *tgz |grep foo > ~/c_search

Если это валидно, то как организовать обход всего каталога? (конструкция выше выходит после первого же пакета - 915resolution)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср 12 ноя, 2008 4:50 pm 
Не в сети

Зарегистрирован: Сб 05 янв, 2008 4:36 pm
Сообщения: 295
Откуда: Белгород
Не знаю, у меня ничего не получилось из freebsd. Инфо ни у одного пакета не показало. В любом случае, для pkg_info пакет либо уже должен быть установлен, либо локально быть в системе. Не будет же твой скрипт скачивать все пакеты репозитория лишь для того, чтобы определить, какой файл принадлежит какому пакету.
Из man pkg_info:
Package info is either extracted from package files named on the command
line, or from already installed package information in
/var/db/pkg/<pkg-name>.
Непонятно только,зачем устанавливать программу из исходников, минуя порты?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср 12 ноя, 2008 5:17 pm 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: Вт 10 авг, 2004 2:24 am
Сообщения: 3297
Откуда: Харьков
passer-by писал(а):
мне не хочется верить, что в *BSD нету аналога `apt-cache search foo`

а apt-cache из воздуха чтоле информацию берет?.
Если нет дерева портов, то остается гугл.

з.ы.
в фре есть как порты так и пакаджи, что прекрасно само ставит зависимости.
собирать что то из сырцов не нужно! ,а если очень нужно, то тогда лучше сделать порт!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Чт 13 ноя, 2008 1:50 am 
Не в сети

Зарегистрирован: Ср 24 окт, 2007 10:34 pm
Сообщения: 59
Кстати вот это:
passer-by писал(а):
cd /usr/ports
make search name=foo

и это:
passer-by писал(а):
мне не хочется верить, что в *BSD нету аналога `apt-cache search foo`


по сути выполняют одну и ту же функцию, с одной только разницей, apt ищет среди готовых, собранных пакетов доступных в репозиторииях, а make search в дереве портов, т.е. иструкций по сборке из исходника в пакет и эту разницу нужно понимать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт 13 ноя, 2008 12:13 pm 
Не в сети

Зарегистрирован: Ср 03 мар, 2004 4:49 pm
Сообщения: 441
2passer-by
У меня ответный вопрос. Как определить принадлежность файла к неустановленной программе если система apt не установлена и устанавливатся не будет?

PS: pkg_add вполне справляется с установкой самостоятельно
# cd /var/db/pkg/
# ls | grep wget
wget-1.10.2_1
pkg_delete wget-1.10.2_1/
# ls | grep wget
# pkg_add -r wget
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports ... wget.tbz... Done.
# ls | grep wget
wget-1.10.2_1


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика