Страница 1 из 1

Как обновить страшное

Добавлено: 2013-09-24 8:02:06
Abyrvalg
Челом бью тебе, великий All! Не гневайся за вопросы дурацкие.

Фря у меня старая, версии 7.2. Консольная, без гуёв. Крутятся на ней всякие серверы.
Так вот, на днях я с размаху налетел на грабельки, из которых едва-едва выпутался.

Программы ставлю обычно из портов с помощью portupgrade. Полез я обновлять mysql-server (с 5.0 до 5.5), а заодно и mysql-client. А там куча зависимостей, и ничего не обновляется. Не знаю, как в таких случаях поступать. Короче, насильственно выкорчевал старый mysql, поставил новый. Половина программ стала жаловаться на отсутствие библиотеки от старого клиента (libmysqlclient-чего-то-там). Хорошо, начал выкручиваться. Скомпилировал на виртуалке старую библиотеку, скопировал её. Она захотела ещё какие-то библиотеки, я и их скопировал. Всё вроде ок, проги начали запускаться. Но тут внезапно другая куча программ стала выдавать Bad system call (errno 12) или что-то в этом духе. Даже sshd.

Короче, в итоге пришлось мне откатываться с бэкапа :(

Так собственно вопрос. Как во Фре корректно и правильно обновлять такие вещи, на которые очень много чего завязано? Например, Перл, mysql и прочие вещи, в составе которых есть библиотеки, на которые завязано множество других программ? Подскажи, All - вовек не забуду!

Re: Как обновить страшное

Добавлено: 2013-09-24 8:19:54
Bayerische
Я бы при такой древности поставил на другую машину весь софт, отладил, а потом перенёс бы туда рабочие проекты.

Re: Как обновить страшное

Добавлено: 2013-09-24 9:59:18
Alvares
Ну, во-первых, читать UPDATING в портах. Там есть указания на корректный путь обновления.
Во-вторых, как предложил оратор выше, делать на другой машине.
В-третьих, прежде чем обновляться на рабочей тачке (чтобы потом не восстанавливать все добро из бекапов), все действия нужно проверять в тестовой среде. Сделать дамп, развернуть на виртуалке и обновиться. Потом можно перенести обратно на рабочую машину.

Re: Как обновить страшное

Добавлено: 2013-09-24 10:02:43
Sadok123
Да, никак. 7.2 уже не поддерживается. Либо оставить и "не трогать налаженный механизм", либо ползти вверх по релизам. Или руками из исходников.

Re: Как обновить страшное

Добавлено: 2013-09-24 10:41:39
liet
поддерживаю выше отписавшихся. лучше рядышком собрать стенд, на котором все отладить и пустить в продакшн.
на своем опыте - только с пхп были проблемы. и то только изза того, что в 5.3/5.4 сильно отличаются от 5.2.

Re: Как обновить страшное

Добавлено: 2013-09-24 10:49:25
Abyrvalg
Alvares писал(а):Сделать дамп, развернуть на виртуалке и обновиться. Потом можно перенести обратно на рабочую машину.
А не будет ли косяков из-за того, что на виртуалке как бы другое оборудование?
Bayerische писал(а):Я бы при такой древности поставил на другую машину весь софт, отладил, а потом перенёс бы туда рабочие проекты.
А если б была не древность? В современных релизах есть механизмы обхода проблемы?

Re: Как обновить страшное

Добавлено: 2013-09-24 11:10:43
Bayerische
А не будет ли косяков из-за того, что на виртуалке как бы другое оборудование?
В большинстве случаев, нет. Вам надо лишь испытать работу обновлённого софта на имеющемся железе, лишь бы взлетело.
А если б была не древность? В современных релизах есть механизмы обхода проблемы?
Обновление через меньшее количество версий должно быть менее геморройным, это же очевидно.

Re: Как обновить страшное

Добавлено: 2013-09-24 14:04:00
Abyrvalg
Bayerische писал(а):В большинстве случаев, нет. Вам надо лишь испытать работу обновлённого софта на имеющемся железе, лишь бы взлетело.
Хммм. Часть софта у меня юзается с учётом роли машинки - шлюза между рабочими станциями и интернетом. На виртуалке трудновато будет организовать что-то аналогичное. Буду думать...

Правильно ли я понимаю, что иной путь - это удалять все связанные программы, удалять mysql, ставить новый mysql, заново собирать все программы?

Re: Как обновить страшное

Добавлено: 2013-09-24 20:29:54
FiL
a не надо было библиотеки старые сносить. Пускай-бы старые программы пользовались старыми библиотеками, а новые - новыми.
Клиента-то можно было и старого оставить, а нового поставить рядом. Вроде как старый клиент с новым сервером работает.
Вот когда старый клиент не работает с новым сервером тогда начинается гемор с перестановкой всего зависимого софта. Но это все-таки гораздо более редкий случай.

Re: Как обновить страшное

Добавлено: 2013-09-24 23:10:23
Abyrvalg
А вот как это - ставить рядом?

Re: Как обновить страшное

Добавлено: 2013-09-24 23:56:13
FiL
Если я правильно помню, то

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

make install DESTDIT=/altroot/usr/local
Но я давно фрю не трогал, пускай старшие товарищи меня поправят, если что не так.

Re: Как обновить страшное

Добавлено: 2013-09-25 14:34:52
mikie
всем здравствуйте
хочу спросить совета у старших товарищей относительно обновления установленых портов
я делаю так

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

#portsnap fetch
#portsnap update
потом получаю дерево портов требующих обновления

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

#pkg_version | grep '<' -> somefile
захожу в каталог определенного порта и делаю

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

make deinstall && make clean && make && make install && make clean
на сколько верен мой способ и чем, в данном случае, будет отличаться
#make install
от
#make reinstall

Re: Как обновить страшное

Добавлено: 2013-09-25 14:37:15
mak_v_
Ну есть же portupgrade, portmaster (его и юзаю).