Правильное обновление openldap

Всем привет!
Как надо правильно обновлять openldap? С момента установки и введения в эксплуатацию сервера еще никогда не обновлял ldap, просто его пропускал. Портаж говорит о необходимости экспорта и последующем импорте данных базы. Может кто что посоветует, как вообще правильно это делать? Не хотелось бы потерять все данные. Как-никак, контроллер домена.

# emerge -pv openldap

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] net-nds/openldap-2.4.17-r1 [2.3.40-r1] USE="berkdb crypt gnutls%* perl samba sasl ssl tcpd -cxx% -debug -experimental% -icu% -iodbc% -ipv6 -kerberos -minimal -odbc -overlays (-selinux) -slp -smbkrb5passwd -syslog% (-gdbm%*)" 0 kB

Total: 1 package (1 upgrade), Size of downloads: 0 kB

.

gentooman написал(а):
Как надо правильно обновлять openldap?

Просто :)

gentooman написал(а):
С момента установки и введения в эксплуатацию сервера еще никогда не обновлял ldap, просто его пропускал.

Что ж ты так? ;)

gentooman написал(а):
Портаж говорит о необходимости экспорта и последующем импорте данных базы.

ИМХО скорее с точки зрения "бэкап карман не тянет".
И снова ИМХО куда интереснее возможные изменения стандартных схем.

gentooman написал(а):
Может кто что посоветует, как вообще правильно это делать?

Полный бэкап базы: slapcat тебе в помощь.
Обновление openldap и рестарт сервера --- и должно наступить счастье.

Если же паче чаяния счастье не наступило:
1. Остановить сервер;
2. Зачистить файлы базы (rm в помощь);
3. Загрузить бэкап (slapadd -l backup.ldif;
4. Проиндексировать базу (slapindex, относительно состояния сервера --- не помню, скорее остановлен);
5. Запустить сервер.

NightNord: оффтоп с шансами перерости в холивор
Про охоту на ведьм: есть два способа ее прекратить, один из них - нет ведьм, нет охоты ;)

:wq
--
Live free or die

- - -

Отпишусь что бы за темкой последить. А то, тоже пора бы уже обновлять сервер, да стремно. Вся авторизация в сети по ldap и если что не так пойдет, времени на разборки совсем мало.

2 gentooman,
Если не затруднит - сообщите о любом результате.

Кстати, методика обновления

Кстати, методика обновления описана в самом ebuild'е, с приведением нужных команд и т.д.

Да, знаю, смотрел. Но прежде

Да, знаю, смотрел. Но прежде чем делать, хотел поинтересоваться как остальные поступают. Сервер то боевой, работает в режиме 24/7. Если что пойдет не так, будет очень плохо. Потому и не обновлял его. Но долго так продолжаться не может, рано или поздно это надо сделать. Я честно говоря, еще думал что настроен ldap не стандартно, потому и отказывается автоматом обновлятся. Базы там не в том месте лежат, где он ожидает их увидеть, или еще что...

.

gentooman написал(а):
Да, знаю, смотрел.

Процитируй :)
А то я туда как-то не заглядывал :)))

gentooman написал(а):
Но прежде чем делать, хотел поинтересоваться как остальные поступают.

Ну лично я --- профессиональный... телефонист :)))

gentooman написал(а):
Сервер то боевой, работает в режиме 24/7. Если что пойдет не так, будет очень плохо.

Если всё действительно так серьёзно, то должен бть как минимум репликант (интересно, Самба умеет балансировать запросы между мастером и репликой?..).

gentooman написал(а):
Потому и не обновлял его.

Палка о двух концах.

gentooman написал(а):
Я честно говоря, еще думал что настроен ldap не стандартно, потому и отказывается автоматом обновлятся. Базы там не в том месте лежат, где он ожидает их увидеть, или еще что...

Есть мнение, что не все приложения стоит обновлять на автомате (допускают с достаточно высокой степенью надёжности полностью автоматическое обновление).

В случае с OpenLDAP'ом: бэкап базы накануне обновления --- залог твоего спокойствия.
Из личного опыта: как-то раз, когда в рамках обновления у меня обновился не только OpenLDAP, но и bdb (используемый в качестве бэк-энда), OpenLDAP после обновления, естественно, не запустился :))) Пришлось зачистить рабочий каталог и импортировать бэкап. После этого обновление было успешно завершено.
Это --- всего лишь один из примеров: почему не стоит пускать обновление OpenLDAP'а на самотёк.

:wq
--
Live free or die

Вот кусок ебилда с

Вот кусок ебилда с разъяснениями:

openldap_upgrade_howto() {
	eerror
	eerror "A (possible old) installation of OpenLDAP was detected,"
	eerror "installation will not proceed for now."
	eerror
	eerror "As major version upgrades can corrupt your database,"
	eerror "you need to dump your database and re-create it afterwards."
	eerror ""
	d="$(date -u +%s)"
	l="/root/ldapdump.${d}"
	i="${l}.raw"
	eerror " 1. /etc/init.d/slurpd stop ; /etc/init.d/slapd stop"
	eerror " 2. slapcat -l ${i}"
	eerror " 3. egrep -v '^entryCSN:' <${i} >${l}"
	eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/"
	eerror " 5. emerge --update \=net-nds/${PF}"
	eerror " 6. etc-update, and ensure that you apply the changes"
	eerror " 7. slapadd -l ${l}"
	eerror " 8. chown ldap:ldap /var/lib/openldap-data/*"
	eerror " 9. /etc/init.d/slapd start"
	eerror "10. check that your data is intact."
	eerror "11. set up the new replication system."
	eerror
	die "You need to upgrade your database first"
}

Ну а теперь по делу. Во первых, обнаружил в package.keywords для openldap запись насчет ~x86. Удалил.
Сделал все по инструкции и обновился до

# emerge -pv openldap

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] net-nds/openldap-2.3.43  USE="berkdb crypt gdbm perl samba sasl ssl tcpd -debug -ipv6 -kerberos -minimal -odbc -overlays (-selinux) -slp -smbkrb5passwd" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

все нормально, все работает.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".