BSDPORTAL.RU http://bsdportal.ru/ |
|
Установка и переустановка из портов http://bsdportal.ru/viewtopic.php?f=58&t=28816 |
Страница 1 из 1 |
Автор: | Double [ Пт 26 окт, 2018 6:18 pm ] |
Заголовок сообщения: | Установка и переустановка из портов |
Приветствую. Обычно использую FreeBSD в качестве шлюза или, изредка, web сервера. Решил на днях попробовать собрать тестовый почтовый сервер и столкнулся с двумя проблемами: 1. Не понял как правильно пересобрать порт с новыми опциями. Например: забыл в апаче установить mod_dir. Думал сделаю make config, добавлю опцию, сделаю make и make install. Но не получилось. make ошибок не выдавал но и ничего не менял. make install, вроде, выдавал ошибку. Сейчас уже не помню последовательность действий, но чуть-ли не через pkg удалил, что вроде как не правильно. Вопрос: Может подскажет кто правильную последовательность действий если нужно пересобрать уже установленный порт с другими опциями. Через deinstall или есть еще путь? 2. Решил протестировать rspamd. Как обычно в портах сделал make config-recursive и... устал задавать опции. Реально несколько десятков пакетов, причем опции первых штук пятнадцати я еще пытался просмотреть и понять нужны ли они мне, а потом просто соглашался. В итоге началась установка, но к счастью я следил за процессом и обратил внимание что скачивается порт размером 1800+Mb и немого опечалился. Убрал все опции у rspamd, но этот здоровенный порт все равно скачивается. Плюнул и поставил через pkg install. В итоге скачалось что-то около 8Mb и, вроде работает. Как так-то? (с) Вопрос: Как быть с такими портами, может быть это как-то обходится? |
Автор: | AMDmi3 [ Пт 26 окт, 2018 6:54 pm ] |
Заголовок сообщения: | Re: Установка и переустановка из портов |
Double писал(а): Вопрос: Может подскажет кто правильную последовательность действий если нужно пересобрать уже установленный порт с другими опциями. Через deinstall или есть еще путь? portmaster <порт> Для портов от которых ничего не зависит можно и make clean deinstall install clean, но лучше всегда portmaster. Double писал(а): Убрал все опции у rspamd, но этот здоровенный порт все равно скачивается Потому что это не прямая зависимость rspamd. Скорее всего это latex который нужен ragel'ю для сборки его документации. Double писал(а): Плюнул и поставил через pkg install. В итоге скачалось что-то около 8Mb и, вроде работает. Как так-то? (с) Есть зависимости, нужные только для сборки. В установке из пакетов, понятно, они никак не участвуют. Double писал(а): Вопрос: Как быть с такими портами, может быть это как-то обходится? Может и обходится. make missing и логи сборки чтобы понять что тянет что у вас есть, далее либо make config в руки, либо vim Makefile. |
Автор: | Double [ Вт 30 окт, 2018 5:49 pm ] |
Заголовок сообщения: | Re: Установка и переустановка из портов |
Спасибо за ответы. AMDmi3 писал(а): portmaster <порт> Для портов от которых ничего не зависит можно и make clean deinstall install clean, но лучше всегда portmaster. Из описания portmaster я понял что он служит для обновления(версии) без обновления зависимостей, а если у порта нет обновлений, но изменился конфиг опций он будет пересобирать порт? В общем пока писал сообщение поставил portmaster и натравил его на Апач, посмотрим что получится. Интересно как он себя поведет если опции не подключать а отключать, не нарушатся зависимости? AMDmi3 писал(а): Может и обходится. make missing и логи сборки чтобы понять что тянет что у вас есть, далее либо make config в руки, либо vim Makefile. Правильно-ли я понял что автоматизации нет? А прокатит вариант если ставить зависимости пакетами? Т.е. посмотреть зависимости, большие поставить из пакетов, а потом уже из порта поставить основной. |
Автор: | AMDmi3 [ Вт 30 окт, 2018 9:26 pm ] |
Заголовок сообщения: | Re: Установка и переустановка из портов |
Double писал(а): Из описания portmaster я понял что он служит для обновления(версии) без обновления зависимостей Вообще-то прежде всего как раз для обновления вместе с зависимостями. Double писал(а): а если у порта нет обновлений, но изменился конфиг опций он будет пересобирать порт? В общем пока писал сообщение поставил portmaster и натравил его на Апач, посмотрим что получится. portmaster <порт> безусловно пересоберёт указанный порт, независимо от его текущей версии и опций. Double писал(а): Интересно как он себя поведет если опции не подключать а отключать, не нарушатся зависимости? Нет разницы в какую сторону переключать опции - само по себе это действие никакую консистентность не нарушает, но потенциально может что-то сломать всегда. Double писал(а): Правильно-ли я понял что автоматизации нет? Автоматизации чего именно? Чего-то типа выявления и выключения зависимостей которые лично вы посчитали бы избыточными точно нет. Как смотреть что будет поставлено я написал, плюс некоторые опции можно выключить заранее (WITHOUT=DOCS, например, спасло бы вас от этого LaTeX'а). Double писал(а): А прокатит вариант если ставить зависимости пакетами? Т.е. посмотреть зависимости, большие поставить из пакетов, а потом уже из порта поставить основной. Порты и пакеты мешать нельзя. |
Автор: | Double [ Ср 31 окт, 2018 1:28 pm ] |
Заголовок сообщения: | Re: Установка и переустановка из портов |
AMDmi3 писал(а): Вообще-то прежде всего как раз для обновления вместе с зависимостями. Видимо я не правильно понял фразу из мануала: This allows you to safely update a specific port without having to update all of the ports "above" it. Возможно above подразумевает порты которые зависят от него, а не те от которых он зависим. AMDmi3 писал(а): Как смотреть что будет поставлено я написал, плюс некоторые опции можно выключить заранее (WITHOUT=DOCS, например, спасло бы вас от этого LaTeX'а). Вот именно это я и имел ввиду. Нужно смотреть makefile и править ручками. Как примерно работает установка портов я представляю, но, увы, примерно. Вероятно надо будет почитать porter's / developer's handbook. Спасибо что задали направление. AMDmi3 писал(а): Порты и пакеты мешать нельзя. Это категоричное правило? В смысле: если начал в системе ставить порты, то пакеты ставить нельзя или это в рамках одной установки - поставил порт, все его зависимости должны быть портами. Как быть если у меня были поставлены пакеты, а потом я захотел поставить некий порт который зависим от программ которые у меня установлены из пакетов. Вопрос чисто теоретический. |
Автор: | ankor [ Ср 31 окт, 2018 4:21 pm ] |
Заголовок сообщения: | Re: Установка и переустановка из портов |
Double писал(а): AMDmi3 писал(а): Порты и пакеты мешать нельзя. Это категоричное правило? Да. Можно при первоначальной установке все поставить из пакетов, это быстрее чем из портов. Если в пакетах по умолчанию нет нужных опций, то нужно переходить на порты. Обновляется(устанавливается) дерево портов потом обновляем всё, что установленно: #portmaster -a После обновления можно преустанавливать порты с нужными опциями. В портах последние версии ПО в пакетах нет. |
Автор: | xemul [ Ср 31 окт, 2018 5:35 pm ] |
Заголовок сообщения: | Re: Установка и переустановка из портов |
Double писал(а): Это категоричное правило? Для портов, которые хочется собрать с отличными от умолчательных опциями, можно/нужно завести свой локальный репозиторий, и всё-всё-всё устанавливать пакетами. Сэкономите и время, и электроэнергию. |
Автор: | AlexVPetrov [ Ср 31 окт, 2018 5:46 pm ] |
Заголовок сообщения: | Re: Установка и переустановка из портов |
Порт при установке собирается в пакет и устанавливается как пакет через pkg. Если потом обновлять как пакеты, то pkg скажет, что такой-то пакет нужно обновить, т.к. опции изменились. В этом случае можно делать pkg lock/pkg unlock (я практиковал на слабой машине в отношении nginx, который из пакетов не имел нужных опций) Т.е., если программа является конечной, т.е. от неё не зависят другие пакеты /много других пакетов, то мешать - ничего страшного. Но в любом случае пакеты не содержат всех программ из портов, и пакеты собраны с опциями "по умолчанию". Думаю понимание что нужно и как действовать в конкретной ситуации придёт со временем. |
Автор: | AMDmi3 [ Чт 01 ноя, 2018 12:51 am ] |
Заголовок сообщения: | Re: Установка и переустановка из портов |
xemul писал(а): Для портов, которые хочется собрать с отличными от умолчательных опциями, можно/нужно завести свой локальный репозиторий, и всё-всё-всё устанавливать пакетами. Сэкономите и время, и электроэнергию. Ничего подобного. Должно быть очевидно что там где вы собрали бы порт, придётся собрать и пакет. На самом деле пакетов придётся собрать намного больше, поскольку poudriere с готовностью пересобирает всё что зависит от порта у которого изменилась версия. Соответственно, при обновлении какого-нибудь gettext пересобирается вообще всё. С портами этого можно избежать. У самосборных пакетов есть только два плюса по сравнению со сборкой из портов - раскатка на много машин (понятно, теряет актуальность когда нет "много машин") и сборка в чистом окружении, которая позволяет избежать некоторых проблем. |
Автор: | xemul [ Чт 01 ноя, 2018 10:49 am ] |
Заголовок сообщения: | Re: Установка и переустановка из портов |
Если кому-то хочется поправить опции у всех портов, у которых они (опции) есть, пусть правит. Это другой случай. Если предположить, что портов, которым совершенно необходимо _добавить_ функционал относительно дефолтных опций - по двум пальцам перечесть, и эти порты без R-deps, то, имхо, вполне возможно завести виртуальную машину или клетку, которая будет запускаться на сборку обновлений этих портов. Из минусов - читать ports/UPDATING всё равно придётся. Из плюсов - освободится время на подумать, как ещё можно организовать требуемый функционал, отсутствующий в оригинальном пакете. |
Автор: | arrowdodger [ Чт 01 ноя, 2018 12:41 pm ] |
Заголовок сообщения: | Re: Установка и переустановка из портов |
Ну я, вообще, мешал порты и пакеты, и ничего страшного не случалось. Нужно просто понимать что ты делаешь. Если ты точно уверен, что в порте не поменялись никакие API/ABI или он вообще не имеет других зависимостей, то можно и из портов обновить. |
Автор: | AMDmi3 [ Чт 01 ноя, 2018 7:42 pm ] |
Заголовок сообщения: | Re: Установка и переустановка из портов |
arrowdodger писал(а): Ну я, вообще, мешал порты и пакеты, и ничего страшного не случалось. Я тоже ржавым гвоздём как-то поцарапался, никому ничего не сказал и не умер. arrowdodger писал(а): Если ты точно уверен, что в порте не поменялись никакие API/ABI Я напомню, это форум "FreeBSD для новичков". Кто знает как узнать не поменялись ли API/ABI сам разберётся как и откуда ему софт ставить и обновлять, что при этом может сломаться и как это исправить. А для того кто спрашивает совета здесь - однозначно "не мешать порты и пакеты ни при каких условиях". |
Страница 1 из 1 | Часовой пояс: UTC + 4 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |