Заметки о работе с ОС FreeBSD. Статьи об установке и настройке ПО для FreeBSD.

22 октября 2008 г.

Установка и настройка cvsup-mirror

Итак, имеем FreeBSD 7. Хотим создать собственное зеркало портов и исходников для централизованного обновления своего парка серверов и для минимизирования количества трафика исходящих от серверов на внешние каналы.
[root@atlant /usr/ports]# uname -mrs
FreeBSD 7.0-RELEASE-p3 i386
Перед установкой не забывайте обновить дерево портов.

Собственно, сама установка cvsup-mirror:
[root@atlant ~]# cd /usr/ports/net/cvsup-mirror/
[root@atlant /usr/ports/net/cvsup-mirror]#
[root@atlant /usr/ports/net/cvsup-mirror]# make install clean
Во время установки Вам будут заданы несколько вопросов:
I am going to ask you a few questions so that I can set up your
FreeBSD mirror configuration.  Every question has a [default]
answer.  To accept the default, just press ENTER.

At this point, I am just gathering information.  I will not touch
your system until you type "make install".
Master site for your updates [cvsup-master.freebsd.org]? cvsup4.ru.freebsd.org
Зеркало обновлений для сервера. Я использую cvsup4.ru.freebsd.org. Определил при помощи утилиты fastest_cvsup (ports/sysutils/fastest_cvsup).
How many hours between updates of your files [1]?
Интервал в часах между обновлениями.
Do you wish to mirror the main source repository [y]? y
Хотим ли мы создать зеркало исходников?
Where would you like to put it [/home/ncvs]? /wrk/cvsup
И куда хотим разместить...
Я для этих целей создал отдельный раздел:
/dev/da2s1g on /wrk/cvsup (ufs, local, soft-updates)

размером:
/dev/da2s1g                      9.7G    4.0K    8.9G     0%    /wrk/cvsup
Далее...
Do you wish to mirror the installed World Wide Web data [y]? n
Хотим ли мы создать зеркало веб-страниц сайта freebsd.org?
Do you wish to mirror the GNATS bug tracking database [y]? n
Хотим ли мы создать зеркало базы данных баг-репортов FreeBSD?
Do you wish to mirror the mailing list archive [y]? n
Хотим ли мы создать зеркало архива списков рассылки FreeBSD?

Дальше пойдет речь о том, что в целях безопасности cvsup-клиент и -сервер должны запускаться от разных пользователей и групп. Авторы не рекомендуют использовать "nobody", "nonroot" или "nogroup".

Unique unprivileged user ID for running the client [cvsupin]?
Unique unprivileged group ID for running the client [cvsupin]?
Unique unprivileged user ID for running the server [cvsup]?
Unique unprivileged group ID for running the server [cvsup]?

Syslog facility for the server log [daemon]?
Предлагает настроить логи через syslog, чтобы логи хранились в отдельных файлах (типа cvsup.log)
Maximum simultaneous client connections [8]? 7
Максимальное количество соединений к Вашему cvsup-серверу.

You need a group "cvsup".
Would you like me to create it [y]?
You need a user "cvsup".
Would you like me to create it [y]?
You need a group "cvsupin".
Would you like me to create it [y]?
You need a user "cvsupin".
Would you like me to create it [y]?
Предлагает создать пользователей и групп в системе.

Would you like me to set up the syslog logging [y]?
Предлагает настроить syslog.
Would you like me to set up your crontab for hourly updates [y]?
Предлагает настроить crontab для обновлений раз в час.

Все!

Done.  The first update will be 5 minutes from now, at 15:40.
The cvsupd server will be started automatically after the first update,
and whenever you reboot.
You are now a FreeBSD mirror site.

Проверяем:
[root@atlant /wrk/cvsup]# ps -ax | grep cvsup
17834  ??  Is     0:00.01 /bin/sh -c /usr/local/etc/cvsup/update.sh
17838  ??  I      0:00.01 /bin/sh /usr/local/etc/cvsup/update.sh
17842  ??  I      0:00.00 lockf -t 0 /var/spool/lock/cvsup.lock /bin/sh
17844  ??  I      0:00.01 su -f -m cvsupin -c exec env HOME=/home/cvsupin cvsup -1gL 1 -b /usr/local/etc/cvsup -c sup.client  -h cvsup4.ru.freebsd.org /usr/
17845  ??  S      0:23.75 cvsup -1gL 1 -b /usr/local/etc/cvsup -c sup.client -h cvsup4.ru.freebsd.org /usr/local/etc/cvsup/supfile
17899  p0  S+     0:00.00 grep cvsup

Запустилось, работает. Синхронизирует...

В каталоге /wrk/cvsup появились каталоги и файлы:
[root@atlant /wrk/cvsup]# ls -al
total 22
drwxr-xr-x  11 cvsupin  cvsupin   512 Oct 22 15:43 .
drwxr-xr-x   5 root     wheel     512 Oct 21 14:12 ..
drwxrwxr-x   2 cvsupin  cvsupin   512 Oct 19 15:59 .snap
drwxr-xr-x   5 cvsupin  cvsupin  1024 Oct 22 15:40 CVSROOT
drwxrwxr-x   5 cvsupin  cvsupin  1536 Oct 22 15:40 CVSROOT-doc
drwxrwxr-x   5 cvsupin  cvsupin  1536 Oct 22 15:40 CVSROOT-ports
drwxrwxr-x   5 cvsupin  cvsupin  1536 Oct 22 15:40 CVSROOT-projects
drwxrwxr-x   6 cvsupin  cvsupin  2048 Oct 22 15:41 CVSROOT-src
drwxrwxr-x   3 cvsupin  cvsupin   512 Oct 22 15:41 distrib
drwxrwxr-x  13 cvsupin  cvsupin   512 Oct 22 15:43 doc
drwx------   8 cvsupin  cvsupin   512 Oct 22 15:45 ports
В логфайле cvsup.log
Updating from cvsup4.ru.freebsd.org
Connected to cvsup4.ru.freebsd.org
...
Finished successfully

Теперь к cvsupd...

Добавляем строку в rc.conf:
[root@atlant ~]# echo 'cvsupd_enable="YES"' >> /etc/rc.conf
Стартуем:
[root@atlant ~]# /usr/local/etc/rc.d/cvsupd start Starting cvsupd.
Проверяем:
[root@atlant ~]# ps -ax | grep cvsupd 18062 ?? Is 0:00.00 /usr/local/sbin/cvsupd -e -C 7 -l @daemon -b /usr/local/etc/cvsup -s sup.client
[root@atlant ~]# sockstat | grep cvsupd
cvsup cvsupd 18062 3 tcp4 *:5999 *:*


Комментариев нет: