portupgrade

Все вопросы по установке, обновлению и эксплуатации FreeBSD: конфигурация и сопровождение.

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
QuAzI
мл. сержант
Сообщения: 79
Зарегистрирован: 2009-08-04 16:41:09

portupgrade

Непрочитанное сообщение QuAzI » 2010-04-01 10:46:44

Если долго не обновляться, накапливается прилично портов, которым требуется прилично места в /var и /tmp и много времени на сборку. Использовать mount -t tmpfs для portswrkdir не вариант - уже несколько раз напоролся на кернел паник (да он и при монтировании пишет, что сыровато ещё tmpfs). Обновлять всё через пакеты тоже не катит - кой чего собрано со специфическими опциями.
Взял за основу эту доку http://www.lissyara.su/articles/freebsd ... rtupgrade/
Чуть чуть допилил, получилось что пробегается по портам, а потом то что не обновил из портов (не нашёл файла options или ещё чего) - пробует обновить через пакеты.

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

#!/bin/sh
echo Обновляем порты имеющие конфиг
cd /var/db/ports
ls |
{
while read port_name
do
if [ -f /var/db/ports/${port_name}/options ]
then
echo Updating ${port_name}
portupgrade -R ${port_name}
fi
done
}

echo Обновляем всё что ещё не обновилось,  желательно через пакеты
/usr/sbin/pkg_version -v | grep "need" | awk '{print $1}' |
{
while read pkg_name
do
echo Updating ${pkg_name}
/usr/local/sbin/portupgrade -RP ${pkg_name}
done
}
Но тут, как и в исходном скрипте лиссяры есть какой-то затык. Порты типа erun, qt4-gui и ещё некоторые не обновляются. Он пишет что начал обновлять его, в памяти процессы висят... и всё. Отстояло всю ночь в пустую, с места не двинулось. Ctrl+c нажал, этот порт он пропустил и сразу же начал собирать следующий (причём реально видно что он его собирает).
Отсель два вопроса :
1) Почему он может стопориться?
2) Прокатывает ли такой метод обновления портов, для которых заданы какие-то опции при сборке (ака "make config") или как лучше такие порты обновлять?
Сидеть сутки и тыкать каждый порт ежемесячно что-то не в кайф.
Последний раз редактировалось QuAzI 2010-04-01 13:20:26, всего редактировалось 1 раз.

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

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

Re: portupgrade

Непрочитанное сообщение ProFTP » 2010-04-01 12:36:03

уточяйте что не собирается?

для тех кто в танке:
http://www.lissyara.su/articles/freebsd ... t_upgrade/

в прицнипе можно сделать, чтоыб скрипт нажимал на энтер
(я это не тестировал...)

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

   #  экспериментально: 
   #  можно добавить чтобы скрипт автоматически нажимал на энтер
   #    use IO::Select;  
   #     my $select = IO::Select->new;
   #    for(@array) 
   #     open my $pipe, "|$_";
   #     $select->add($pipe);
   #    }
   #    my @waiters = $select->can_write($timeout);
   #    print $_ "\x0a" for @waiters; 
или если некотрое время ничего не собирается, чтобы то вырубил Ctrl+c и пошел дальше

для make config
есть make.conf
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

QuAzI
мл. сержант
Сообщения: 79
Зарегистрирован: 2009-08-04 16:41:09

Re: portupgrade

Непрочитанное сообщение QuAzI » 2010-04-01 13:35:50

erun и qt4-gui не собираются. Я тоже думал, что он чего-то там спрашивает. Жал Enter, таб и enter, без толку.
По ходу надо по этим портам самому проходиться, а уже остальные собирать "на автопилоте".

kbakenov
мл. сержант
Сообщения: 74
Зарегистрирован: 2010-01-20 17:03:47
Откуда: оттуда
Контактная информация:

Re: portupgrade

Непрочитанное сообщение kbakenov » 2010-04-04 10:18:29

портапгрейд портапгрейд - конца не найдешь - недоделанная вата

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

Re: portupgrade

Непрочитанное сообщение ProFTP » 2010-04-05 9:58:21

kbakenov писал(а):портапгрейд портапгрейд - конца не найдешь - недоделанная вата
но другие аналоги такие же?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

kbakenov
мл. сержант
Сообщения: 74
Зарегистрирован: 2010-01-20 17:03:47
Откуда: оттуда
Контактная информация:

Re: portupgrade

Непрочитанное сообщение kbakenov » 2010-04-05 20:04:26

аналоги понятие растяжимое....