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

При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-20 9:50:12
Violator
Моя система сейчас:

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

# uname -a
FreeBSD [скрыто] 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Oct 21 08:54:42 UTC 2011     root@[скрыто]:/usr/src/sys/amd64/compile/GENERIC  amd64
Устанавливалась в датацентре автоматически. Пытаюсь:

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

# freebsd-update -r 8.4-RELEASE upgrade
В итоге в каждом конфиге не может смержить автоматом следующий код:

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

<<<<<<< current version
# $FreeBSD: releng/8.2/etc/amd.map 164015 2006-11-06 01:42:11Z obrien $
=======
# $FreeBSD: release/8.4.0/etc/amd.map 164015 2006-11-06 01:42:11Z obrien $
>>>>>>> 8.4-RELEASE
Править сотню конфигов руками вообще не хочется. Есть предложения?

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-21 7:12:06
Alex Keda
Почитать man mergemaster

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-21 16:24:15
id892
Alex Keda писал(а):Почитать man mergemaster
Похоже, что Ваше условие не является достаточным. Можно подробнее? В man ничего нету про freebsd-update, который мы запускаем. Допустим, я хочу дать опцию

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

-a	  Run automatically.  This option will leave all	the files that
		 differ	from the installed versions in the temporary directory
		 to be dealt with by hand.  If the temproot directory exists,
		 it creates a new one in a previously non-existent directory.
		 This option unsets the	verbose	flag, and is not compatible
		 with -i, -F, or -U.  Setting -a makes -w superfluous.
Если я правильно понял man, то в config-файл (/etc/mergemaster.rc или $HOME/.mergemasterrc) опция не прописывается. Как это обходится? Либо она вовсе не нужна для задачи автора?

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

# Automatically install files that do not exist
AUTO_INSTALL='yes'
# Automatically upgrade files that have not been edited
AUTO_UPGRADE='yes'
И хватит этого, например?

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-21 16:31:22
id892
There is no easy way to merge these changes using freebsd-update. freebsd-update uses merge(1) to perform the diffs and merging, and merge is not very friendly or flexible

...

From what I read, freebsd-update is a convenient way to upgrade FreeBSD, but it fails in other ways. Many FreeBSD admins don't use freebsd-update at all, and prefer the manual way using using the source and mergemaster(8).
И может быть дело не в mergemaster, а в merge?

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-21 17:04:59
Alex Keda
Незнаю как freebsd-update, а мергемастер может спрашивать только про изменившиеся файлы.
Обычно, таких 5-7 штук всего

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-21 18:36:24
guest
Alex Keda писал(а):Почитать man mergemaster
каким боком mergemaster относится к freebsd-update?

Топикастеру, очень странная ситуация, попробуйте смоделировать под VirtualBox, не помню проблем:

freebsd-update 8.2 -> 8.4

Правда, правильный путь такой:

# freebsd-update fetch
# freebsd-update install

8.2-RELEASE -> 8.2-RELEASE-pX
и только потом:

# freebsd-update -r 8.4-RELEASE upgrade

смотрите что в IDS и как выполняется merge в freebsd-update, посмотрите патчи для freebsd-update...

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-21 19:09:16
andrian_freebsd
перед обновлением надо:
1. обновить установленную систему до акктуального состояния
http://www.freebsd.org/doc/en_US.ISO885 ... pdate.html
пункт 24.2.2. Applying Security Patches

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

# freebsd-update fetch
# freebsd-update install
конечно перезагрузится.
2. пересобрать порты
http://www.freebsd.org/doc/en_US.ISO885 ... pdate.html
пункт 24.2.3.3. Rebuilding Ports After a Major Version Upgrade

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

# portmaster -af
3. Тепер уже минорное обновление пункт 24.2.3. Performing Major and Minor Version Upgrades и повторить 24.2.3.3. Rebuilding Ports After a Major Version Upgrade

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-22 19:55:11
Violator
andrian_freebsd писал(а):перед обновлением надо:
1. обновить установленную систему до акктуального состояния
http://www.freebsd.org/doc/en_US.ISO885 ... pdate.html
пункт 24.2.2. Applying Security Patches

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

# freebsd-update fetch
# freebsd-update install
Спасибо, попробую.

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-24 7:55:48
Violator
Не помгло:

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

# freebsd-update fetch
# freebsd-update install
# reboot
Всё равно не может смержить автоматически.

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-29 16:03:25
Violator
Разобрался. Система стояла RELEASE, а в конфигах был releng (вот так датацентр поставил). Заменил в конфигах releng на release, вроде помогло.

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-29 16:43:41
guest
Violator писал(а):Разобрался. Система стояла RELEASE, а в конфигах был releng (вот так датацентр поставил). Заменил в конфигах releng на release, вроде помогло.
в каких это конфигах был releng?

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-29 18:21:57
Alex Keda
интересно, каша на выхлопе не получилась ли? ....

Re: При upgrade не срабатывает автоматический merge конфигов

Добавлено: 2014-10-29 21:08:05
Violator
Во всех файлах в /etc/ был releng.
Теперь другая проблема:

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

/usr/sbin/freebsd-update: cannot open files/.gz: No such file or directory