Навигация
  Главня
Статьи
-Сеть
--Безопасность
-Графика
--Photoshop
--Corel Draw
--Illustrator
-ОС
--Windows
--Linux
--Unix
-SEO
-Дизайн
--Web-Design
-Разное
-Программирование
--Delphy
--C/C++
--.NET
--PHP
--Pascal
--Perl
--Visual Basic
--Ассемблер
--Java
--Java Script
--ASP
Книги

Карта Сайта
Наши Сайты
Обратная связь
Новое на сайте
Статьи про любовь

 
Вход
 
Логин
Пароль
 

 
Найти
 

 
Партнёры
 

 
Статистика
 

 
Популярное
 

 
Календарь
 
«    Ноябрь 2007    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 

 
Архив
  Сентябрь 2008 (4)
Июнь 2008 (4)
Май 2008 (12)
Апрель 2008 (49)
Март 2008 (51)
Февраль 2008 (73)
Январь 2008 (40)
Декабрь 2007 (58)
Ноябрь 2007 (61)
Октябрь 2007 (51)
Сентябрь 2007 (82)

 
Реклама
  Дать объявление бесплатно
краны шаровые стальные
шлифовка гранита
Проекционное оборудование смотри здесь. Кулинарные рецепты на Cook-room.com - с пошаговыми фото

 
Казино
 

Интернет-казино Grand Casino произвело фурор в игорном мире. Одно из самых важных нововведений - наличие системы контроля честности всех азартных игр казино. Наличие контроля честности дает возможность полностью уйти в игру, не задумываясь о подтасовке или обмане. В Grand Casino можно пополнить счет и вывести выигрыш большим количеством способов:(SMS, E-gold, Rupay, Яндекс.Деньги, Webmoney,Кредитные карты,...). Теперь азартные игры на деньги стали доступнее. Предоставлены игры: Рулетка, Покер, Блэкджек, Видео Покер, Игровые автоматы, Кено.

   

Статьи » ОС » Unix » Запуск mergemaster для обновления конфигов системы

В статье рассматривается работа с программой mermemaster при обновлении ОС FreeBSD

Disclaimer
Я ни в коем разе не претендую, что установка сделана правильно, корректно, "так как надо" и прочая. Я описываю только что, что у меня работает. Кроме того, я не обещаю, что это будет работать у всех, что это будет работать именно так, как задумано и т.д. и т.п. Пожалуйста, перед запуском чего-либо ПРОЧИТАЙТЕ ЭТУ СТАТЬЮ ЦЕЛИКОМ, не надо ее рассматривать как пошаговое руководство к действию в формате "1-в-1".

Мысли вслух

Очень много администраторов боятся делать mergemaster, и при минорных обновлениях это зачастую делать вовсе необязательно, но иногда делать mergemaster все-таки приходится. Если у вас есть возможность - заранее сделайте backup сервера, еще до cvsup с новой версией.

Подготовка

Сохраните на всякий случай файлы из /etc отдельно. Они нам еще понадобятся, в том числе в ходе работы

Вдумчиво и внимательно почитайте /usr/src/UPDATING для понимания того, что затронуто в системе. Кроме того, там зачастую есть хинты, облегчающие жизнь.
CVSUP сделан, что дальше?

Соберите и мир и ядро как обычно, с использованием make buildworld и make buildkernel KERNCONF=YOUR_CONFIG_FILE.

Теперь надо произвести изменения, без которых make installworld может дать некорректные результаты или не запуститься. Это достигается путем выполнения команды mergemaster -p. Как правило, на этом шаге меняются только /etc/group и /etc/master.passwd, создаются новые группы и пользователи, необходимые для работы новой системы. Handbook рекомендует запускать mergemaster -p из новой системы - /usr/src/usr.sbin/mergemaster -p.

После запуска mergemaster будет задавать различные вопросы, которые наперво кажутся непонятными. На самом деле, все не так страшно. Надо заметить, что все конфигурационные файлы, которые остались нетронутыми вами ранее, можно смело будет заменить новыми версиями. Те файлы, которые вы сами не трогали и о предназначении которых имеете лишь смутные догадки (и они вам подсказывают, что вот без этого можно и пережить), но которые отсутствуют в новой версии системы - можно удалить.

Я рекомендую прогнать сначала установку в автоматическом режиме, но оставить модифицированные вами файлы нетронутыми. Это достигается путем mergemaster -a -p. Запускаем, получаем на выходе /var/tmp/temproot-разные числа. Это - список файлов, которые не были установлены в автоматическом режиме, с ними мы будем разбираться отдельно.

Теперь запускаем mergemaster в ручном режиме - mergemaster -p. Мы будем получать на консоль сообщения примерно такого плана:

+++ ./etc/rc.d/LOGIN Thu Nov 11 17:48:33 2004
@@ -1,12 +1,11 @@
#!/bin/sh
#
# $NetBSD: LOGIN,v 1.7 2002/03/22 04:33:57 thorpej Exp $
-# $FreeBSD: src/etc/rc.d/LOGIN,v 1.3 2002/10/12 13:49:20 schweikh Exp $
+# $FreeBSD: src/etc/rc.d/LOGIN,v 1.4.2.1 2004/10/10 09:50:53 mtm Exp $
#

# PROVIDE: LOGIN
# REQUIRE: DAEMON
-# KEYWORD: FreeBSD NetBSD

# This is a dummy dependency to ensure user services such as xdm,
# inetd, cron and kerberos are started after everything else, in case

Use 'd' to delete the temporary ./etc/rc.d/LOGIN
Use 'i' to install the temporary ./etc/rc.d/LOGIN
Use 'm' to merge the temporary and installed versions
Use 'v' to view the diff results again

Default is to leave the temporary file to deal with by hand

How should I deal with this? [Leave it for later]

Смотрим, что мы имеем здесь. В меню мы видим название файла (/etc/rc.d/LOGIN) и варианты действий. Если мы не трогали этот файл ранее - то можно смело говорить i и mergemaster установит новую версию. Если вы понимаете diff-формат и явно видите, что в новом файле чушь, а вы модифицировали файл и хотите оставить свой старый вариант - то указывайте d, и mergemaster более не будет предлагать изменить ваш файл. Кратко по diff-формату: строчки, начинающиеся с минуса - это строчки в вашем старом файле, которых в новом нет. Строчки, начинающиеся с плюса - это строчки, которые есть в новом файле, а в старом отсутствуют. Если же вы модицифицировали файл, но не понимаете diff-формат "с экрана", то просто нажмите Enter, это оставит вам ваш и новый файлы для дальнейших более подробных разбирательств.

В ходе выполнения mergemaster -p может быть предложен вариант того, что у вас на старой системе есть файлы, а в новой их нет. Выбор будет - удалить ваши файлы или оставить их. Если вы не модифицировали эти файлы или понимаете, что они вам не нужны - удалите их. В частности, при переходе с 5.2.1-p5 на 5.3-R у меня были удалены файлы /etc/rc.d/diskless и /etc/rc.d/ttys. Выглядит это так:

*** The following files exist only in the installed version of
/etc. In the vast majority of cases these files
are necessary parts of the system and should not be deleted.
However because these files are not updated by this process you
might want to verify their status before rebooting your system.

Далее следует список файлов.

Если вдумчиво читать /usr/src/UPDATING, то можно избежать очень большого количества нажатий клавиш. Например, при переходе с pre-5.3 на 5.3 и выше, в скриптах в /etc/rc.d было убрано одно ключевое слово. Проще просто удалить каталог /etc/rc.d и при запустить mergemaster с ключом -i. Тогда при запуске mergemaster вы увидите такие строки:

...
*** There is no installed version of ./etc/rc.d/nsswitch
*** ./etc/rc.d/nsswitch installed successfully
*** There is no installed version of ./etc/rc.d/ntpd
*** ./etc/rc.d/ntpd installed successfully
...

Имена файлов, разборки с которыми вы оставили "на потом", будут показаны в конце работы mergemaster:

Теперь вручную отсмотрите эти файлы, внесите в ваши файлы соответствующие изменения. Для упрощения просмотра можно взять какой-либо visual diff, т.е. программу, позволяющую наглядно увидеть изменения в файлах. Например, это может быть ExamDiff.

*** Files that remain for you to merge by hand:
/var/tmp/temproot/etc/master.passwd
/var/tmp/temproot/etc/group
/var/tmp/temproot/etc/defaults/rc.conf

Особенно внимательно отнеситесь к файлу /etc/master.passwd, вы можете потерять базу паролей и пользователей. Также при переходе 5.2.1 - 5.3 make installworld не запустится без необходимых изменений в /etc/group и пользователей в /etc/master.passwd.
Установка мира и ядра

Теперь запустите mergemaster -a, затем mergemaster (вспомните про ключ -i, могущий облегчить работу. Зачастую рекомендуется выполнять этот процесс в single-user режиме. Работа с mergemaster происходит так же, как описано чуть выше.

Все, можно устанавливать мир и ядро, проверить, что все прошло нормально, проверить наличие бэкапа и перезагрузиться.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.
Вы читаете: Статьи » ОС » Unix » Запуск mergemaster для обновления конфигов системы
Статьи по теме:
  • FreeBSD под эмулятором Bochs
  • Unix-сервер: Установка и настройка
  • Загрузка FreeBSD 5.0 на Sun машине через сеть
  • Шаги по увеличению безопасности FreeBSD
  • Собираем Apache + PHP + XML для Linux
  •  (голосов: 0)
    Просмотров: 2798 :: Комментарии: (0) :: :: Напечатать

    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
     
    Design by PODPOLE