Пересборка всех портов

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Nagainos
рядовой
Сообщения: 31
Зарегистрирован: 2008-06-09 9:38:10
Откуда: в жопе алмазы...
Контактная информация:

Пересборка всех портов

Непрочитанное сообщение Nagainos » 2009-08-30 21:10:48

На сервере(FreeBSD 6.1) собирал образ для бездисковых станций, в make.conf добавил опцию CPUTYPE?=pentium3m дабы образы были именно под железо на тонких клиентах.
Через несколько месяцев стал обновлять порты. После обновления выяснилось что весь обновленный софт так-же собрался под pentium3m и теперь не работает. Можно-ли заставить все установленные порты пересобраться???
0xFF

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
xDi
мл. сержант
Сообщения: 118
Зарегистрирован: 2009-01-01 20:27:26

Re: Пересборка всех портов

Непрочитанное сообщение xDi » 2009-08-30 22:10:59

Запросто.

Если не установлено, ставим portupgrade:

Код: Выделить всё

cd /usr/ports/ports-mgmt/portupgrade
make install clean
Затем запускаем пересборку всех (-a) приложений, даже если версия установленная соответствует версии в портах (-f) попутно обновляя зависимости вверх (-r) и вниз (-R), доустанавливая недостающие (-N), если надо. Можно попросить собрать пакеты (-p) чтобы уже из них можно было разнести скомпиленые приложения на другие машины с тем же железом.

Код: Выделить всё

portupgrade -afrRNp

Nagainos
рядовой
Сообщения: 31
Зарегистрирован: 2008-06-09 9:38:10
Откуда: в жопе алмазы...
Контактная информация:

Re: Пересборка всех портов

Непрочитанное сообщение Nagainos » 2009-08-30 22:32:13

Большое спасибо, будем пробовать и надееться что до завтрашнего утра все случится))))
Последний раз редактировалось Nagainos 2009-08-31 0:17:16, всего редактировалось 1 раз.
0xFF

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1089
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: Пересборка всех портов

Непрочитанное сообщение iZEN » 2009-08-30 23:29:38

Код: Выделить всё

% portupgrade -afp
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

leha
проходил мимо

Re: Пересборка всех портов

Непрочитанное сообщение leha » 2009-09-04 14:48:36

Тема о портах. Если не сюда - подскажите, пожалуйста, где спросить.
Вопрос такой.
Трафик дорогой, да и на той машине, где фря инет не всегда доступен, иногда приходится качать на другой машине, потом нести на флешке и т.п., но не всегда. И поэтому, чтобы лишнее не качать, зависимости, по возможности, ставлю используя пакеты с DVD диска (пока коллекция еще не устарела). Но приходится ставить используя sysinstall (ничего против самой проги не имею, просто как-то много всего надо нажимать, чтобы выбрать нужное) по мере поступления "заявок" от make install, т.е. по одной..

Так вот, нельзя ли сделать что-то типа репозитория (в Ubunte видел), чтобы при инсталляции make install искал сначала на диске (дисках), а уж потом лез в инет.

Заранее спасибо.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Пересборка всех портов

Непрочитанное сообщение ProFTP » 2009-09-04 14:51:53

-F для того что скачать все исходники сразу, если проблемы с интернетом: portupgrade -aFrR
опции -f устанавливает дальше все зависимости, если даже где-то ошибка, то пытается продолжить дальше...;
http://www.lissyara.su/?id=1957
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

leha
проходил мимо

Re: Пересборка всех портов

Непрочитанное сообщение leha » 2009-09-06 13:48:57

Спасибо, что откликнулись!

Вообще-то хотелось минимизировать закачку портов из инета, т.к. инет ограничен и дороговат, понятно, что проще закачать все исходники разом и не париться...
Но хотелось использовать то что люди, создавая диски Free залили на них в виде пакетов, чтобы не качать эти же проги из инета...
Может как-то можно переделать пакеты в те файлы которые кладуться в папочку /usr/ports/distfiles
или поднастроить make, чтобы он сначала зависимости с диска брал, а потом уже пытался в инет лезть.
Может можно, что-то типа "ложного" ftp сервера сделать из DVD диска, но там .tbz файлы, а в портах, как правило .tar.gz иногда .zip (может еще какие бывают - не вникал), может их перепаковать, но будет ли это то что нужно (суммы совпадут ли).
Неужели у всех всегда был открытый выход в инет?
Может кто сталкивался? Не может быть, чтобы никто...

Заранее, спасибо.

Да, вот еще, может кто подскажет
у WinAMP есть такой плагин Joseph_DkE_Lyrics_plugin_3.0M.exe он текст песни умеет в mp3 сохранить,
так вот к xmms что-то мне не удалось его прикрутить :(
для изучения перла залез в формат mp3 файла разобрался как это работает, написал скриптик для вывота в консоли этого текста из mp3 файла,
а может кто подскажет куда обратится чтобы посмотреть как плагины к xmms пишуться - может удасться что-нибудь такое написать
или может кто подскажет уже готовый плагин, но я что-то уже не надеюсь ...

Еще раз, спасибо!

Аватара пользователя
xDi
мл. сержант
Сообщения: 118
Зарегистрирован: 2009-01-01 20:27:26

Re: Пересборка всех портов

Непрочитанное сообщение xDi » 2009-09-06 14:29:22

leha писал(а): Но хотелось использовать то что люди, создавая диски Free залили на них в виде пакетов, чтобы не качать эти же проги из инета...
Может как-то можно переделать пакеты в те файлы которые кладуться в папочку /usr/ports/distfiles
или поднастроить make, чтобы он сначала зависимости с диска брал, а потом уже пытался в инет лезть.
В distfiles хранятся как раз исходники с инструкциями по сборке + другие необходимые ресурсы для приложения. make для порта будет сначала искать такие файлы в папке distfiles. Если его там не окажется, то он его будет тянуть из сети (список, откуда именно качать, прописан в самом порте).
Для обновления портов удобно пользоваться программой portupgrade (ports-mgmt/portupgrade).
Для скачивания всех необходимых distfiles для установленных приложений и соответствующих версиям в дереве портов, используется команда:

Код: Выделить всё

portupgrade -arRF
-a - все
-r -R - зависимости вниз и вверх
-F - только скачать
portupgrade может не только из портов собирать, но и пытаться сначала скачать из сети пакет, и только если не получится - собирать из пакета. За такое поведение отвечает ключ -P.
Если требуется именно пакет, и не делать попытки собрать из порта, то используется опция -PP.
Добавив к ним -F мы заставим portupgrade скачать пакеты, но пока не устанавливать.
Если же мы устанавливаем прогу из портов, то можем собрать заодно и пакет (при чем именно с вашими опциями), задав опцию -p. Пакет будет размещеен в подпапках /usr/ports/packages/ в соответствующей категории.
В любом случае, portupgrade будет ломиться в сеть только тогда, когда нужного файла (distfile или package) нужной версии нет в системе или его хеш не совпадает.

P.S. Чтобы во всем этом хозяйстве не было ничего лишнего, можно пользоваться portsclean (входит в состав пакета portupgrade).

Код: Выделить всё

portsclean -CDLP
опции:
-С - делает make clean для всех портов
-D - удаляет устаревшие и битые distfiles (соответствующие версиям в дереве портов не трогает)
-L - удаляет устаревшие библиотеки
-P - удаляет устаревшие пакеты (соответствующие версиям в дереве портов не трогает)
Последний раз редактировалось xDi 2009-09-06 16:49:41, всего редактировалось 1 раз.

arkan
ст. прапорщик
Сообщения: 559
Зарегистрирован: 2008-08-03 19:58:13
Откуда: Новосибирск
Контактная информация:

Re: Пересборка всех портов

Непрочитанное сообщение arkan » 2009-09-06 16:03:25

Код: Выделить всё

portsclean -CDLP
ГЫ ГЫ
на 140 гигов уменьшилось
спасибо незнал о такой фишке

leha
проходил мимо

Re: Пересборка всех портов

Непрочитанное сообщение leha » 2009-09-08 12:18:45

Огромное спасибо, за предоставленную инфу!
Побежал пробовать...