Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
www.lissyara.su
—> главная
|
|
Тутже вылезет синенькое окошко с выбором - какую БД использовать. Я выбрал BDB4 - с первой были проблемы на 4.11. (правда всё это делается под шохой, но тем не менее.)
|
После установки (кстати, тянет он за собой немало - мегов на 10 выльется.) смотрим, что нам надо обновить:
|
Немало. Руками вводить столько команд:portupgrade имя_порта ломало. Решил написать скриптик такого вида:
|
Советую не увлекаться подобными скриптами, а думать прежде чем обновлять - т.к. при обновлении приложение, обычно останавливается, то подумайте, чем грозит остановка, например, MySQL? Или samba, если эта машина файл-сервер конторы? В данном случае это был сервер для архивации, и днём он не использовался - значит можно творить что душе угодно. Потому запускаем и ждём - времени уйдёт прилично, т.к. там пара тяжёлых приложений типа MySQL, perl`a и той же самбы. По окончании обновления имеем следующее:
|
Ага. libtool в двух экземплярах... Либо чё-то глюкануло, либо так и задумано, ввиду того что не все приложения переваривают новые версии зависмостей, а хотят чё-то старое. Попробуем пофиксить БД:
|
Прервал - куча ошибок из-за одного отсутствующего порта. Значит пойдём правильным путём, - доставим зависисмось, которую он хочет:
|
Всё. Никакой ругани, в системе стоят последние версии портов.
P.S. Насчёт того, какие опции выбирались при установке приложения, и какие ключи make использовались - можно не беспокоится, portupgrade пересоберёт с такими же опциями и ключами. Проблемы могут возникнуть только в случае если Вы руками правили Makefile - ибо это за Вас он сделать не сможет. В таком случае - тока руками - pkg_delete и в портах make && make install && make clean :)
P.S.2 надо заметить, что с portupgrade устанавливается далеко не два приложения:
|
И функциональность у проги весьма богатая.
P.S. По следам наделанного :) Совет - перед использованием portupgrade делайте пакеты, и обязательно сохраняйте конфиги! На выходных напоролся на два косяка:
1. courier-imap при обновлении затёр нахер мои конфиги. Хорошо они были почти один-в-один со статьёй на сайте.
2. MySQL у меня собрана с дефаулт чарсет и коллатион cp1251 - слетело всё - вместо русских символов везде вопросы были... Два раза пересобирал, пока вспомнил с чем у меня что было собрано. Причём и клиент тоже с нужной кодировкой пришлось пересобирать.
|
Abigor, 2006-03-27 в 13:42:19
хорошо обновлять порты такой командой portupgrade -Rcvf name_port польностью пересобрет все зависимости, но долго =) в большей части удобно portupgrade -rcvf name_port
UFOS, 2006-08-11 в 15:38:47
Последний portupgrade чем то поменялся и теперь данный скрипт обносления выводит полную инфу обносления и обновляет только 1 порт, а не все.
Eric, 2006-09-01 в 16:45:11
Параметр -a ставить надо
blackp, 2006-09-18 в 15:33:16
есть еще прекрасные вещи, такие как portmaster и portmanager
http://mikestammer.com/dokuwiki/doku.php?id=bsd:maintainports
Erley, 2006-09-29 в 1:14:07
Можно ещё делать
pkg_version -L=
чтобы увидеть устаревшие порты
и
portupgrade -kva
чтоб обновиться. В общем, думаю, можно обойтись без скриптов.
Александр, 2006-10-19 в 15:07:49
не совсем по теме, но может быть полезно
в старых портах, где нет опции make config
все ключи сборки можно записать в файл sys.mk
в дальнейшем не придется мучиться вспоминать
что с чем было собрано
guest, 2006-10-26 в 22:01:34
Вместо скриптика лучше писать так:
portupgrade -r -R -a
А еще лучше, добавлять ключик -i и глазами смотреть что можно сейчас обновить (всмысле что сервис может быть остановлен или новая версия сглючить...), а что нет)
warwar, 2007-02-09 в 12:44:14
после cvsup порт portupgrade "корова языком слизала" (удалили).
FreeBSD 6.1
lissyara, 2007-02-09 в 12:48:22
Недавно добавился новый раздел в портах:
/usr/ports/ports-mgmt
Туда собрали всё что касается портов.
warwar, 2007-02-09 в 18:53:54
cd /usr/ports
make fetchindex
cvsup...
portupgrade....
Snaut, 2007-04-10 в 20:09:48
а чем cvsup не устраивает?
staskur, 2007-04-27 в 14:02:10
courier-authlib при обновлении пишет свои конфиги, а текущие рабочие переименовывает, добавляя .BAK
nk, 2007-07-04 в 17:42:02
courier вообще криволапый софт:)
Quake, 2007-09-13 в 11:01:13
%cd /usr/ports/sysutils/portupgrade
/usr/ports/sysutils/portupgrade: No such file or directory.
Он из портов везде пропал...
lissyara, 2007-09-13 в 11:21:45
Просто, изменилась категория.
Используйте поиск.
kmb, 2007-10-23 в 15:10:09
А скрипт проверяли? у меня есть чувство, что он не правильно работает =)
lissyara, 2007-10-23 в 15:13:58
Работает.
тока лучше юзать portupgrade -R \*
kmb, 2007-10-23 в 15:37:37
странно, у меня этот скрипт обновляет только(первый в списке) один порт...
kmb, 2007-10-23 в 18:15:00
Упс... дико извиняюсь за флуд, не внимательно прочел комменты, в частности второй :(
San, 2007-11-14 в 23:28:05
Народ, всю жизнь обновлялся portupgrade -arR, но тут в наследство достался тазик, где один порт собран как-то по хитрому, соответственно когда его обновляешь, половина фичъ в нём перестаёт работать... Так вот вопрос, как сделать (не скриптом и не руками) чтобы portupgrade не обновлял один порт? Ман курил, но что-то не воткнул... :(
lisergey, 2007-11-14 в 23:49:11
чтобы portupgrade не обновлял конкретный порт
portupgrade -x имя_порта_не_обновлять все остальное
по личным наблюдениям, портапгрейд не сразу принимал имя_порта к исключению, поэтому я тренировался "на кошках" в имени порта так
portupgrade -n -x имя_хитрого_порта -a
ключик -n говорит портапгрейду все делать как обычно, кроме реального обновления.
lisergey, 2007-11-15 в 0:02:30
а нафига такие извороты
pkg_version -v | grep "need"
??
есть стандартный ключ pkg_version -l "<"
который покажет все что надо обновлять
у меня он сразу "все в одном флаконе"
cvsup -g -L 2 /root/cvsup-ports && pkg_version -l "<"
а вот делать портапгрейд сразу всему, что покажет pkg_version, я бы не стал:
1) надо бы проверить /usr/ports/UPDATING на предмет нетривиальных путей обновления какого-либо порта.
редко, но бывают "засады", которые требуют вручную что-то сделать еще.
перед такими обновлениями рекомендуется сделаь бэкап
/var/db/pkg
2) есть порты, например postgresql, которому при увеличении версии релиза (например 8.2.5->8.3.2 ) необходимо САМОСТОЯТЕЛЬНО (ни сам постгрес, ни портапгрейд) делать полноценный бэкап и восстановление всей базы из бэкапа, так как существенно меняется "движок" и появляются принципиально новые возможности, которые требуют соотвественного отражения в формате хранилища
artem, 2008-02-27 в 12:37:00
делаю так
update.sh
#!/bin/sh
csup -g -L 2 /usr/ports/sup1 && make fetchindex
rm /usr/ports/*.bz*
echo "Ports updated" | mail -s "Ports updated" root@localhost
./portupgrade.sh
portupgrade.sh
#!/bin/sh
pkgdb -F
pkg_version -v | grep "need"
pkg_version -v | grep "need" >> portupgrade.lst
date >> portupgrade.lst
mail -s "portupgrade need" root@localhost < portupgrade.lst
portupgrade -rRai
az, 2008-08-13 в 18:08:06
зачем изобретать велосипед, очень старенькая статья
http://www.opennet.ru/base/sys/freebsd_ports_tips.txt.html
+ man portupgrade на предмет portupgrade.conf
90h, 2008-12-05 в 20:36:46
## Делаю так
#!/bin/sh
portupgrade="/usr/local/sbin/portupgrade"
pkg_ver="/usr/sbin/pkg_version"
echo Starting update.
if test -e ports.txt
then
rm -f ports.txt
fi
/usr/local/bin/cvsup -g -L 2 /usr/local/etc/cvsup/cvs-supfile
echo Making ports.txt
${pkg_ver} -v | grep "need" | awk '{print $1}' > ports.txt
ii=`wc -l ports.txt |awk '{print $1}'`
i=`expr $ii`
j=$i
a=1
echo $i packages update needed.
while [ $a -le $i ]
do
echo $a package now updating.
echo $j estimated package to update.
pkg_name=`head -n 1 ports.txt`
echo Package $pkg_name updating!
${portupgrade} ${pkg_name}
echo Package $pkg_name done!
( echo '1,1 d' ; echo 'wq' ) | ed - ports.txt
a=`expr $a + 1`
j=`expr $j - 1`
done
pkgdb -aFO
KrivoSoft, 2009-04-25 в 15:13:44
Недавно потребовалось откатить обновленную програмулину назад. Бекап перед обновлением ессно не делался.
Для обратной процедуры (т.е. donwgrade) нашлась в портах тулза portdowngrade: /usr/ports/ports-mgmt/portdowngrade .
portdowngrade используя анонимный cvs умеет откатить любой указанный порт до любой предыдущей версии.
После обновляемся "вниз" используя portupgrade -f <programka>
dl, 2009-05-03 в 14:20:23
portupgrade переехал в ports-mgmt :)
kirgudu, 2010-04-21 в 13:58:55
Кстати, не обязательно юзать
$ pkg_info | grep libtool
Можно просто
$ pkg_info -Ix libtool
:D
Alpha, 2010-07-16 в 11:24:49
РџРѕ РїРѕРІРѕРґСѓ:
”
"2. MySQL Сѓ меня собрана СЃ дефаулт чарсет Рё коллатион cp1251 - слетело РІСЃС‘ - вместо СЂСѓСЃСЃРєРёС… символов везде РІРѕРїСЂРѕСЃС‹ были... РРІР° раза пересобирал, РїРѕРєР° РІСЃРїРѕРјРЅРёР» СЃ чем Сѓ меня что было собрано. Причём Рё клиент тоже СЃ нужной РєРѕРґРёСЂРѕРІРєРѕР№ пришлось пересобирать."
Р?спользуйте pkgtools.conf (/usr/local/etc/pkgtools.conf)
Выставляете MAKE_ARGS к примеру
'database/mysql50-server-* => 'WITH_CHARSET=utf8',
и в дальнейшем при обновлении, portupgrade будет применять описанные аргументы к данному порту...
Alpha, 2010-07-16 в 11:27:16
"2. MySQL у меня собрана с дефаулт чарсет и коллатион cp1251 - слетело всё - вместо русских символов везде вопросы были... Два раза пересобирал, пока вспомнил с чем у меня что было собрано. Причём и клиент тоже с нужной кодировкой пришлось пересобирать."
Используйте pkgtools.conf (/usr/local/etc/pkgtools.conf)
Выставляете MAKE_ARGS к примеру
'database/mysql50-server-* => 'WITH_CHARSET=utf8',
и в дальнейшем при обновлении, portupgrade будет применять описанные аргументы к данному порту...
redhat, 2010-09-07 в 15:57:14
При make выдавало эррор
Could not find /usr/ports/misc/ldconfig_compat/bsd.ldconfig.mk
Лечил комментированием
#.include «${PORTSDIR}/misc/ldconfig_compat/bsd.ldconfig.mk»
в Makefile
п.с.
Спасибо Лису - отличный ресурс.
kirgudu, 2010-09-07 в 16:05:17
@redhat нужно было сделать portsnap fetch extract и ничего не комментировать.
Dimitryus, 2011-03-15 в 2:45:02
#!/usr/local/bin/bash
# echo "Введите название для обновления : "
# read program
# Скриптик для обнввления всех портов,
# что нуждаются в обновлении
portupgrade="/usr/local/sbin/portupgrade"
pkg_ver="/usr/sbin/pkg_version"
# Получаем список портов, нуждающихся в обновлении
LIST=`${pkg_ver} -v | grep 'gstreamer' | awk '{print $1}'`
for pkg_name in ${LIST}
do
${portupgrade} ${pkg_name}
done
Klop, 2011-09-07 в 16:08:49
А зачем в цикле вызывать каждый раз portupgrade (в статье, и в каментах тоже)?
Не правильней ли будет конструкцию:
portupgrade="/usr/local/sbin/portupgrade"
pkg_ver="/usr/sbin/pkg_version"
# Получаем список портов, нуждающихся в обновлении
# и в цикле обновляем их
${pkg_ver} -v | grep "need" | awk '{print $1}' |
{
while read pkg_name
do
# обновляем порт, имя которого в переменной pkg_name
${portupgrade} ${pkg_name}
done
}
и им подобные, заменить на такую:
portupgrade="/usr/local/sbin/portupgrade"
pkg_ver="/usr/sbin/pkg_version"
xargs="/usr/bin/xargs"
# Получаем список портов, нуждающихся в обновлении
# и в цикле обновляем их
${pkg_ver} -v | grep "need" | awk '{print $1}' | $xargs $portupgrade
И не только в этом примере. Ресурсы экономить надо. =)
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
вверх
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [34 шт.]