Автоматизировать установку нескольких портов?

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
svmt
рядовой
Сообщения: 15
Зарегистрирован: 2008-08-21 13:07:42
Откуда: Тольятти
Контактная информация:

Автоматизировать установку нескольких портов?

Непрочитанное сообщение svmt » 2008-09-19 7:00:45

Приветствую
Тут вопросец созрел давяча а как решить чтото ни как...
хотелось бы написать скриптик при запуске которого онный устанавливал несколько портов сразу
собственно затык в следущем
что нужно написать чтоб была пауза пока идет процесс ......
к примеру

/usr/ports/чивототам/ make install clean
как собственно ЗДЕСЬ поставить ожидание окончания вышенаписанного а потом уже
/usr/ports/чивотатам/make install clean
.....
.....
.....

спасибо

Хостинговая компания 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/

Аватара пользователя
alex3
лейтенант
Сообщения: 872
Зарегистрирован: 2006-11-20 16:47:56
Откуда: Переславль
Контактная информация:

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение alex3 » 2008-09-19 7:09:25

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

cd /usr/ports/any/ && make install clean &&  cd ../any2 && make install clean
так?
Если ipfw можно считать речью обычного человека, то pf - речь политика. За каждой ошибкой -ядерный песец.


Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение zingel » 2008-09-19 8:52:28

синфронная сборка портов будет только в новом релизе и то только после GSOC
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение dikens3 » 2008-09-19 9:56:57

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

/usr/ports/чивототам/ make install clean
как собственно ЗДЕСЬ поставить ожидание окончания вышенаписанного а потом уже
/usr/ports/чивотатам/make install clean
Там ожидание будет по умолчанию.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

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

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение ProFTP » 2008-09-19 11:08:37

dikens3 писал(а):

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

/usr/ports/чивототам/ make install clean
как собственно ЗДЕСЬ поставить ожидание окончания вышенаписанного а потом уже
/usr/ports/чивотатам/make install clean
Там ожидание будет по умолчанию.
зачем ждать завершится ли первая установка или не завершится верно?

еще можно так:

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

perl -le system("/ make"); system("/ make ");
примерно так точно не пробовал
zingel писал(а):синфронная сборка портов будет только в новом релизе и то только после GSOC
можно в студию, что это? там еще бывает вылазит не в тему make config (можно скрипт написать...)
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение zingel » 2008-09-19 12:29:28

Title Allowing for Parallel builds in the FreeBSD Ports Collection
Student David Forsythe
Mentor Mark Linimon
Abstract
While building port dependencies sequentially is the safest and easiest way to install software from the FreeBSD Ports Collection, now that multiple cores and processors are available cheaply and have become more common, its possible for users to benefit from the ability to handle more than one port build and installation at a time. Currently, this functionality is not supported, because any one port build is unaware or others. This leads to the danger of multiple processes trying to write package data.

Possibly the best reason to implement parallel safe port building would be the ability to then add functionality for parallel dependency building. If multiple dependencies are not reliant on each other, building them at the same time would be a way to shorten overall port build times. However, because port builds are not aware of each other, if more than one port is dependent on a single port, there is the danger of both ports attempting to build the dependency.

These functionalities can be implemented with a degree of safety by locking PKG_DBDIR when a port goes into its install or registration phase. The lock and check can be accomplished with the bsd.*.mk makefiles. Because multiple builds are still dangerous without making ports aware of each other, a temporary file that has information as to which ports are currently building would also be created, and modified, as the building ports continued through their phases. The end goal is to make it possible to safely pass a -j flag to make(1) to allow for dependencies to be built concurrently, with builds surviving issues that are not their own, and with the entire build process being handled in a way that is still conducive to user interaction and monitoring.
Сам код, в исходниках

http://google-summer-of-code-2008-freeb ... the.tar.gz
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение Morty » 2008-09-19 20:50:13

там еще бывает вылазит не в тему make config (можно скрипт написать...)
чтоб не вылазило можно так

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

make install clean BATCH=YES
проверено на КДЕ...
а если спец опции для порта нада то писать их в make.conf

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение f_andrey » 2008-09-19 21:36:14

ProFTP писал(а):там еще бывает вылазит не в тему make config (можно скрипт написать...)
Эта читаем man make скорее всего и открываем для себя make configrecursive :st:
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение zg » 2008-09-19 22:25:41

f_andrey писал(а):Эта читаем man make скорее всего и открываем для себя make configrecursive :st:

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

zg# man make | col -b | grep configrecursive
zg# man ports | col -b | grep configrecursive
zg# cd /usr/ports/
zg# find . -name Makefile -exec grep -i configrecursive \{\} \;
zg#
:unknown: ткни куда смотреть :(

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение f_andrey » 2008-09-19 22:39:43

zg писал(а)::unknown: ткни куда смотреть :(

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

man ports | col -b | grep config
Formatting page, please wait...Done.
     do this are build, checksum, clean, configure, depends, extract, fetch,
     config     Configure OPTIONS for this port using dialog(1).
     configure  Configure the port.  Some ports will ask you questions during
     showconfig       Display OPTIONS config for this port.
     showconfig-recursive
                      Display OPTIONS config for this port and all its depen-
     rmconfig         Remove OPTIONS config for this port.
     rmconfig-recursive
                      Remove OPTIONS config for this port and all its depen-
     config-conditional
     config-recursive
     PORT_DBDIR    Directory where the results of configuring OPTIONS are
                   OPTIONS have been configured will have a uniquely named
блин обложался малость, но могли бы и сами догадаться :) направление было верным :sorry:
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение zg » 2008-09-19 22:45:51

f_andrey писал(а):Код:
вот это другой разговор :smile: сенкс, вещь и правда полезная :good:

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение f_andrey » 2008-09-19 22:52:33

Вот что только нерод не сделает, и не изобретет лишь бы маны не читать и поиском не пользоваться :evil:
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение zg » 2008-09-19 23:03:21

f_andrey писал(а):Вот что только нерод не сделает, и не изобретет лишь бы маны не читать и поиском не пользоваться :evil:
-)))) у нас админ такой же:
- была проблема, ты её устранил?
- да
- что сделад?
- ничего...

и ты туда же:
- ничё вы не знаете, надо делать так
- но так не работает
- ну одну букву пропустил, могли бы и сами догадаться, неучи!

))) попытка свалить вину на других или избежать отвественности не есть хороший признак :smile:

svmt
рядовой
Сообщения: 15
Зарегистрирован: 2008-08-21 13:07:42
Откуда: Тольятти
Контактная информация:

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение svmt » 2008-09-22 6:48:33

Все сбацал
вчарася обкатал.... прЭлисть!
запустил и пашол 3 часа курить бамбук 8)
Всем спасиб

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

#!/bin/sh

echo 'Copy files'

cp -Rf /cdrom/usr/ports/* /usr/ports/

echo 'Start Install Ports'
sleep 3

cd /usr/ports/misc/mc/ && make config &&
cd /usr/ports/www/squid/ && make config &&
cd /usr/ports/ftp/proftpd/ && make config &&
cd /usr/ports/lang/php5/ && make config &&

cd /usr/ports/misc/mc/ && make install clean && 
cd /usr/ports/sysutils/cdrtools/ && make install clean &&
cd /usr/ports/sysutils/webmin/ && make install clean && 
cd /usr/ports/www/squid/ && make install clean &&
cd /usr/ports/www/squidguard/ && make install clean &&
cd /usr/ports/www/sarg/ && make install clean &&
cd /usr/ports/net/samba/ && make install clean &&
cd /usr/ports/ftp/proftpd/ && make install clean &&
cd /usr/ports/net-mgmt/trafd/ && make install clean &&
cd /usr/ports/net/trafshow/ && make install clean &&
cd /usr/ports/net-mgmt/arpwatch/ && make install clean &&
cd /usr/ports/russian/apache13/ && make install clean &&
cd /usr/ports/databases/mysql50-server/ && make install clean &&
cd /usr/ports/lang/perl5/ && make install clean &&
cd /usr/ports/lang/php5/ && make install clean &&
cd /usr/ports/databases/php5-mysql/ && make install clean &&
cd /usr/ports/www/php5-session/ && make install clean &&

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение zg » 2008-09-22 7:00:00

пакетами проще :smile: тем более, что php5 всё равно собирается неправильно

MAK
ст. сержант
Сообщения: 344
Зарегистрирован: 2008-09-17 2:23:21

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение MAK » 2008-09-23 14:29:37

svmt писал(а):запустил и пашол 3 часа курить бамбук 8)
Ну это больше похоже на решение несуществующей проблемы. ) Если в порте зависимость требует конфигурации - весь ваш процесс остановится. ) А если надо добавить еще один порт - это +2 строки. А если порт уже установлен - опять отвалимся... Ну и тд...
update: а sleep 3 - похож на анек про индусов... ) извините, не удержался.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение zg » 2008-09-23 15:30:48

MAK писал(а):Ну это больше похоже на решение несуществующей проблемы. ) Если в порте зависимость требует конфигурации - весь ваш процесс остановится.
гм... ну таки да :smile: для сборки php нужно поставить php5-session, а для мускуля php5-mysql :ROFL: чтоб только испытать механизм зависимостей на практике :-D это напомнило анек про стоматологов, которые хвастались как зубы дёргают :roll:

Аватара пользователя
mike345
сержант
Сообщения: 170
Зарегистрирован: 2007-12-09 15:57:55

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение mike345 » 2008-09-24 15:47:56

MAK писал(а): Если в порте зависимость требует конфигурации - весь ваш процесс остановится. )
Ну это можно обойти скопировав /var/db/ports/*name_port*/options c системы где уже установлен порт. Я так делал. Правда если опции поменялись, то фиг его знает что получится...

Аватара пользователя
Volodymyr
лейтенант
Сообщения: 614
Зарегистрирован: 2008-06-17 16:04:56
Откуда: Ukraine, Lviv
Контактная информация:

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение Volodymyr » 2008-12-06 16:59:54

MAK писал(а):Если в порте зависимость требует конфигурации - весь ваш процесс остановится.
Не совсем по теме, но. Как установить порт (скажем /usr/ports/x11/kde3) у которого много зависимостей да и он сам требует конфигурации через интерактивное меню без постоянного подтверждения в этом меню?

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

Re: Автоматизировать установку нескольких портов?

Непрочитанное сообщение ProFTP » 2008-12-06 17:02:30

Volodymyr писал(а):
MAK писал(а):Если в порте зависимость требует конфигурации - весь ваш процесс остановится.
Не совсем по теме, но. Как установить порт (скажем /usr/ports/x11/kde3) у которого много зависимостей да и он сам требует конфигурации через интерактивное меню без постоянного подтверждения в этом меню?
Morty писал(а):
там еще бывает вылазит не в тему make config (можно скрипт написать...)
чтоб не вылазило можно так

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

make install clean BATCH=YES
проверено на КДЕ...
а если спец опции для порта нада то писать их в make.conf
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение