воскресенье, 27 декабря 2009 г.
Интересные сайты по микроконтроллерам и пр.
http://www.microsyl.com/ - обязательно изучить вдоль и поперек
суббота, 12 декабря 2009 г.
psi - установка jabber клиента.
Основная страница http://psi-im.org/
Качаем отсюда http://sourceforge.net/projects/psi/files/Psi/0.14/psi-0.14.tar.gz/download
Дальше все как обычно, кроме make install. Вместо DESTDIR=/xx применяем INSTALL_ROOT=/xx
И еще, при установке в bin закидывается кроме самого psi еще и psi.debug весом по 60 мег, удалил, все и без него работает
Качаем отсюда http://sourceforge.net/projects/psi/files/Psi/0.14/psi-0.14.tar.gz/download
Дальше все как обычно, кроме make install. Вместо DESTDIR=/xx применяем INSTALL_ROOT=/xx
И еще, при установке в bin закидывается кроме самого psi еще и psi.debug весом по 60 мег, удалил, все и без него работает
среда, 9 декабря 2009 г.
firefox = плагины и оптимизация
Поменяли открытие в табах. не удобно стало, испльзуем плагин - море настроек
Tab mix plus https://addons.mozilla.org/ru/firefox/addon/tab-mix-plus/
То что нужно непременно:
NoScript https://addons.mozilla.org/en-US/firefox/addon/722
Adblock Plus https://addons.mozilla.org/en-US/firefox/addon/1865
Flashblock https://addons.mozilla.org/en-US/firefox/addon/433
Tab Mix Plus https://addons.mozilla.org/en-US/firefox/addon/1672
Оптимизация быстродействия и памяти.
user_pref("browser.sessionhistory.max_total_viewers", 1);
user_pref("config.trim_on_minimize", true);
user_pref("nglayout.initialpaint.delay", 0);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.proxy.pipelining", true);
==================================================
user_pref("content.notify.backoffcount", 5);
user_pref("plugin.expose_full_path", true);
user_pref("ui.submenuDelay", 0);
==================================================
Сделайте vacuum-очистку баз данных.
Firefox хранит все данные в базе sqlite, при интенсивной работе эти базы разрастаются из-за кусков пустого места, кроме того, оказываются довольно сильно фрагментированными. Операция "Vacuum" в sqlite приводит к пересозданию базы в новом файле. Таким образом удаляются все пустые места и исчезает фрагментация.
Для этого откройте "Инструменты -> Консоль ошибок", вставьте в поле "Код" следующий код:
Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsPIPlacesDatabase).DBConnection.executeSimpleSQL("VACUUM");
Linux
find ~/.mozilla/firefox/ -name '*.sqlite' -print0 | xargs -0 -I {} sqlite3 {} "vacuum;"
Flashblock === https://addons.mozilla.org/en-US/firefox/addon/433
AdblockPlus === https://addons.mozilla.org/en-US/firefox/addon/1865
Еще для отладки и разработки:
Live Http Headers - позволяет смотреть заголовки и ответы от вебсерверов
https://addons.mozilla.org/en-US/firefox/addon/3829/
HTTP Resource Test - позволяет создавать GET/POST запросы
https://addons.mozilla.org/en-US/firefox/addon/15045/
Tab mix plus https://addons.mozilla.org/ru/firefox/addon/tab-mix-plus/
То что нужно непременно:
NoScript https://addons.mozilla.org/en-US/firefox/addon/722
Adblock Plus https://addons.mozilla.org/en-US/firefox/addon/1865
Flashblock https://addons.mozilla.org/en-US/firefox/addon/433
Tab Mix Plus https://addons.mozilla.org/en-US/firefox/addon/1672
Оптимизация быстродействия и памяти.
user_pref("browser.sessionhistory.max_total_viewers", 1);
user_pref("config.trim_on_minimize", true);
user_pref("nglayout.initialpaint.delay", 0);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.proxy.pipelining", true);
==================================================
user_pref("content.notify.backoffcount", 5);
user_pref("plugin.expose_full_path", true);
user_pref("ui.submenuDelay", 0);
==================================================
Сделайте vacuum-очистку баз данных.
Firefox хранит все данные в базе sqlite, при интенсивной работе эти базы разрастаются из-за кусков пустого места, кроме того, оказываются довольно сильно фрагментированными. Операция "Vacuum" в sqlite приводит к пересозданию базы в новом файле. Таким образом удаляются все пустые места и исчезает фрагментация.
Для этого откройте "Инструменты -> Консоль ошибок", вставьте в поле "Код" следующий код:
Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsPIPlacesDatabase).DBConnection.executeSimpleSQL("VACUUM");
Linux
find ~/.mozilla/firefox/ -name '*.sqlite' -print0 | xargs -0 -I {} sqlite3 {} "vacuum;"
Flashblock === https://addons.mozilla.org/en-US/firefox/addon/433
AdblockPlus === https://addons.mozilla.org/en-US/firefox/addon/1865
Еще для отладки и разработки:
Live Http Headers - позволяет смотреть заголовки и ответы от вебсерверов
https://addons.mozilla.org/en-US/firefox/addon/3829/
HTTP Resource Test - позволяет создавать GET/POST запросы
https://addons.mozilla.org/en-US/firefox/addon/15045/
вторник, 8 декабря 2009 г.
fdisk на "живом" диске, перечитывание таблицы разделов.
После переразбиения диска с помощью fdisk ядро до перезагрузки не перечитывает новую таблицу разделов. Что бы избежать перезагрузки и перечитать таблицу, можно использовать
partprobe /dev/sd..
или
echo 1 > /sys/block/sdc/device/rescan (сам не пробовал, но пишут, что работает)
Если при partprobe выдалась ошибка о том, что устройство занято, то надо проверить, может он куда смонтировано, или как в моем случае часть его была "подключена" к неработающему райду.
partprobe /dev/sd..
или
echo 1 > /sys/block/sdc/device/rescan (сам не пробовал, но пишут, что работает)
Если при partprobe выдалась ошибка о том, что устройство занято, то надо проверить, может он куда смонтировано, или как в моем случае часть его была "подключена" к неработающему райду.
понедельник, 7 декабря 2009 г.
Настройка Apache и SSL
Почти что все утащено с http://www.freebsdrocks.ru/index.php/guides/application-installs/57-apache-22.html
Пути нужно поменять на свои.
Настроим SSL:
# mkdir /usr/local/etc/apache22/ssl.key
# mkdir /usr/local/etc/apache22/ssl.crt
# chmod 0700 /usr/local/etc/apache22/ssl.key
# chmod 0700 /usr/local/etc/apache22/ssl.crt
Создаем сертификат:
# cd /root
# openssl genrsa -des3 -out server.key 1024
# openssl req -new -key server.key -out server.csr
# openssl x509 -req -days 3650 -in /root/server.csr -signkey /root/server.key -out /root/server.crt
Сертификат будет действителен 3650 дней. Вполне достаточно, чтобы не вспоминать эту процедуру каждый год :-)
Хотите знать больше о SSL Certs, вам сюда: http://httpd.apache.org/docs-2.0/ssl/ssl_faq.html#aboutcerts
Копируем сертификаты:
# cp /root/server.key /usr/local/etc/apache22/ssl.key/
# cp /root/server.crt /usr/local/etc/apache22/ssl.crt/
Установим права:
# chmod 0400 /usr/local/etc/apache22/ssl.key/server.key
# chmod 0400 /usr/local/etc/apache22/ssl.crt/server.crt
Правим конфигурационный файл:
# cd /usr/local/etc/apache22/extra
# ee httpd-ssl.conf
Приводим к виду:
DocumentRoot "/usr/local/www/apache22/data" — смените путь на ваш httpd.conf document root.
ServerName www.example.com:443 - Смените www.example.com на ваше доменное имя (domain name).
ServerAdmin : Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript - Смените на ваш e-mail адрес
ErrorLog /var/log/httpd-error.log — Вы можете расскоментировать эту линию .
TransferLog /var/log/httpd-access.log - Вы можете расскоментировать эту линию .
SSLCertificateFile "/usr/local/etc/apache22/ssl.crt/server.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/ssl.key/server.key"
Удаляем pass-phrase (опционально):
# cp /usr/local/etc/apache22/ssl.key/server.key /usr/local/etc/apache22/ssl.key/server.key.org
# cd /usr/local/etc/apache22/ssl.key/
# openssl rsa -in server.key.org -out server.key
Enter pass phrase for server.key.org:
writing RSA key
# chmod 400 server.key
Разрешаем HTTPS:
# ee /usr/local/etc/apache22/httpd.conf
Include etc/apache22/extra/httpd-ssl.conf
Перезапускаем APACHE:
Пути нужно поменять на свои.
Настроим SSL:
# mkdir /usr/local/etc/apache22/ssl.key
# mkdir /usr/local/etc/apache22/ssl.crt
# chmod 0700 /usr/local/etc/apache22/ssl.key
# chmod 0700 /usr/local/etc/apache22/ssl.crt
Создаем сертификат:
# cd /root
# openssl genrsa -des3 -out server.key 1024
# openssl req -new -key server.key -out server.csr
# openssl x509 -req -days 3650 -in /root/server.csr -signkey /root/server.key -out /root/server.crt
Сертификат будет действителен 3650 дней. Вполне достаточно, чтобы не вспоминать эту процедуру каждый год :-)
Хотите знать больше о SSL Certs, вам сюда: http://httpd.apache.org/docs-2.0/ssl/ssl_faq.html#aboutcerts
Копируем сертификаты:
# cp /root/server.key /usr/local/etc/apache22/ssl.key/
# cp /root/server.crt /usr/local/etc/apache22/ssl.crt/
Установим права:
# chmod 0400 /usr/local/etc/apache22/ssl.key/server.key
# chmod 0400 /usr/local/etc/apache22/ssl.crt/server.crt
Правим конфигурационный файл:
# cd /usr/local/etc/apache22/extra
# ee httpd-ssl.conf
Приводим к виду:
DocumentRoot "/usr/local/www/apache22/data" — смените путь на ваш httpd.conf document root.
ServerName www.example.com:443 - Смените www.example.com на ваше доменное имя (domain name).
ServerAdmin : Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript - Смените на ваш e-mail адрес
ErrorLog /var/log/httpd-error.log — Вы можете расскоментировать эту линию .
TransferLog /var/log/httpd-access.log - Вы можете расскоментировать эту линию .
SSLCertificateFile "/usr/local/etc/apache22/ssl.crt/server.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/ssl.key/server.key"
Удаляем pass-phrase (опционально):
# cp /usr/local/etc/apache22/ssl.key/server.key /usr/local/etc/apache22/ssl.key/server.key.org
# cd /usr/local/etc/apache22/ssl.key/
# openssl rsa -in server.key.org -out server.key
Enter pass phrase for server.key.org:
writing RSA key
# chmod 400 server.key
Разрешаем HTTPS:
# ee /usr/local/etc/apache22/httpd.conf
Include etc/apache22/extra/httpd-ssl.conf
Перезапускаем APACHE:
суббота, 5 декабря 2009 г.
Видеонаблюдение и Motion
Брать здесь http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome
Ему требуется ffmpeg (вроде заточенный под него)
http://www.lavrsen.dk/foswiki/bin/view/Motion/VideoFourLinuxLoopbackDevice
http://www.lavrsen.dk/foswiki/bin/view/Motion/LoopbackDevice
video loopback
mplayer tv:// -tv device=/dev/video9:driver=v4l:input=0:width=640:height=480:normal=pal -fps 25
Video loopback (http://novotorg.net/motonpublic/15-motion-vloopback)
MjpgStreamer (http://www.lavrsen.dk/foswiki/bin/view/Motion/MjpgStreamer)
Ну в общем-то работает. И даже вещает по заданному порту. Только у меня нужно было с video loopback девайса взять сигнал, так вот плагин input_uvc отказался с ним работать (типа не смог опросить устройство), а у плагина input_gspcav1 была проблемма с установкой palette, ну в общем пришлось его исходники варварски допилить и он таки заработал. В настоящем девайсе наверное проблеммы такой не будет.
Запускалось все это вроде так =
mjpg_streamer --input "input_gspcav1.so -d /dev/video9" --output "output_http.so -p 8084"
Ну и еще допилить плагин output_http, в нем "фишек" разных много реализовано, кот. мне не нужны были (типа доп. параметров - вывод статической картинки, вывод потока и прочего). А мне просто нужно было как в motion сделать, "присосался" к нужному порту и получай поток. Еще из минусов input_gspcav1 - он не умеет ограничивать fps как в плагине input_uvc, в итоге firefox на удаленной машине получает поток реальных кадров (к примеру 25fps) и начинает дико кушать ресурсы (память и проц). И практически виснет через короткое время. В общем надо будет самому прикрутить делитель fps.
И пару слов, а на кой мне это все надо было пробовать.
Не знаю как у вас, а у меня motion (версия 3.2.11.1) когда почуял движение выдает загрузку проца что-то около 27-33% (htop). Так вот если в этот момент брать поток (в смысле смотреть через "сетку") на удаленном компьютере, загрузка motion возрастает практически в 2 раза. Даже если ограничить webcam_maxrate 2. Казалось бы куда уж ниже (1 и так по умолчанию). Вот с помощью video loopback и mjpg_streamer и удалось "решить" эту проблему. При это связке загрузка проца вырастала дополнительно на 5-10%, что конечно гораздо меньше чем было с одним motion и его встроенном сервере.
Затем покопав исходник motion.c нашел там интересный момент, при сработке детектора он начинает отправлять ВСЕ полученные кадры в функцию webcam_put (что в webcam.c), та выделяет память под буфер, формирует его, список клиентов и пр. и уже только ПОСЛЕ этого "принимается" решение а вообще его слать или нет в соответствии с заданным webcam_maxrate (расчитывается время прошлого кадра, теперешнее време - что-то вроде этого). Сделано там с одной стороны все правильно и логично, НО! зачем к примеру при fps=2 обрабатывать 25 кадров, выделяя под них динамически память и копируя туда-сюда. ну в общем как-то так. Более детально я в исходник не лез, мало времени, а заказчику надо уже сдаваться.
Так что на скору руку подкрутил здесь строку, добавив в нее инструкцию по отправлению каждого 5 кадра в функцию webcum_put(). Что при условии fps=25 на входе, на выходе (webcam) получим:
первый кадр отправляем в любом случае, а дальше 5,10,15,20 -- fps=5
вот что было
if (conf->webcam_motion && !conf->setup_mode && img->shot != 1)
event(cnt, EVENT_WEBCAM, img->image, NULL, NULL, &img->timestamp_tm);
вот что получилось
if (conf->webcam_motion && !conf->setup_mode && img->shot != 1 && img->shot%5 == 0)
event(cnt, EVENT_WEBCAM, img->image, NULL, NULL, &img->timestamp_tm);
При этом загрузка проца при просмотре со встроенного в motion сервера возрастает с 30% (засекли движение, но не смотрим с порта) до 40% (есть движение и смотрим). что для меня вполне приемлемо. топорное и "тупое" решение. Можно было бы сделать все это поизящнее, но время поджимает и главное лень. работает ведь.
Будут мысли или уточнения, критика? Может кто уже наступал на эти грабли?
В общем можно на скору руку именно в webcam.c (stream.c) в функции webcam_put (stream_put) после переменных и строки
Код:
char len[20]; /* will be used for sprintf, must be >= 16 */
добавить что-то вроде этого:
Код:
if (! (( cnt->shots%3 ==0 && cnt->shots != 0 ) || cnt->shots == 1 )) return;
т.е. примитивно выпрыгиваем из функции ничего не делая если не удвлетворяем условиям отбора кадров. (а еще раскрыть скобки в условии и применить not и записать по-людски)
В данном примере будет на порт выводиться примерно каждый 3 кадр. При этом motion.c не трогаем, пусть живет.
Посмотрел на загрузку проца, такая же как и при правке motion.c (а с чего ей и изменяться существенно, принцип фильтрации кадров тот же).
Ему требуется ffmpeg (вроде заточенный под него)
http://www.lavrsen.dk/foswiki/bin/view/Motion/VideoFourLinuxLoopbackDevice
http://www.lavrsen.dk/foswiki/bin/view/Motion/LoopbackDevice
video loopback
mplayer tv:// -tv device=/dev/video9:driver=v4l:input=0:width=640:height=480:normal=pal -fps 25
Video loopback (http://novotorg.net/motonpublic/15-motion-vloopback)
MjpgStreamer (http://www.lavrsen.dk/foswiki/bin/view/Motion/MjpgStreamer)
Ну в общем-то работает. И даже вещает по заданному порту. Только у меня нужно было с video loopback девайса взять сигнал, так вот плагин input_uvc отказался с ним работать (типа не смог опросить устройство), а у плагина input_gspcav1 была проблемма с установкой palette, ну в общем пришлось его исходники варварски допилить и он таки заработал. В настоящем девайсе наверное проблеммы такой не будет.
Запускалось все это вроде так =
mjpg_streamer --input "input_gspcav1.so -d /dev/video9" --output "output_http.so -p 8084"
Ну и еще допилить плагин output_http, в нем "фишек" разных много реализовано, кот. мне не нужны были (типа доп. параметров - вывод статической картинки, вывод потока и прочего). А мне просто нужно было как в motion сделать, "присосался" к нужному порту и получай поток. Еще из минусов input_gspcav1 - он не умеет ограничивать fps как в плагине input_uvc, в итоге firefox на удаленной машине получает поток реальных кадров (к примеру 25fps) и начинает дико кушать ресурсы (память и проц). И практически виснет через короткое время. В общем надо будет самому прикрутить делитель fps.
И пару слов, а на кой мне это все надо было пробовать.
Не знаю как у вас, а у меня motion (версия 3.2.11.1) когда почуял движение выдает загрузку проца что-то около 27-33% (htop). Так вот если в этот момент брать поток (в смысле смотреть через "сетку") на удаленном компьютере, загрузка motion возрастает практически в 2 раза. Даже если ограничить webcam_maxrate 2. Казалось бы куда уж ниже (1 и так по умолчанию). Вот с помощью video loopback и mjpg_streamer и удалось "решить" эту проблему. При это связке загрузка проца вырастала дополнительно на 5-10%, что конечно гораздо меньше чем было с одним motion и его встроенном сервере.
Затем покопав исходник motion.c нашел там интересный момент, при сработке детектора он начинает отправлять ВСЕ полученные кадры в функцию webcam_put (что в webcam.c), та выделяет память под буфер, формирует его, список клиентов и пр. и уже только ПОСЛЕ этого "принимается" решение а вообще его слать или нет в соответствии с заданным webcam_maxrate (расчитывается время прошлого кадра, теперешнее време - что-то вроде этого). Сделано там с одной стороны все правильно и логично, НО! зачем к примеру при fps=2 обрабатывать 25 кадров, выделяя под них динамически память и копируя туда-сюда. ну в общем как-то так. Более детально я в исходник не лез, мало времени, а заказчику надо уже сдаваться.
Так что на скору руку подкрутил здесь строку, добавив в нее инструкцию по отправлению каждого 5 кадра в функцию webcum_put(). Что при условии fps=25 на входе, на выходе (webcam) получим:
первый кадр отправляем в любом случае, а дальше 5,10,15,20 -- fps=5
вот что было
if (conf->webcam_motion && !conf->setup_mode && img->shot != 1)
event(cnt, EVENT_WEBCAM, img->image, NULL, NULL, &img->timestamp_tm);
вот что получилось
if (conf->webcam_motion && !conf->setup_mode && img->shot != 1 && img->shot%5 == 0)
event(cnt, EVENT_WEBCAM, img->image, NULL, NULL, &img->timestamp_tm);
При этом загрузка проца при просмотре со встроенного в motion сервера возрастает с 30% (засекли движение, но не смотрим с порта) до 40% (есть движение и смотрим). что для меня вполне приемлемо. топорное и "тупое" решение. Можно было бы сделать все это поизящнее, но время поджимает и главное лень. работает ведь.
Будут мысли или уточнения, критика? Может кто уже наступал на эти грабли?
В общем можно на скору руку именно в webcam.c (stream.c) в функции webcam_put (stream_put) после переменных и строки
Код:
char len[20]; /* will be used for sprintf, must be >= 16 */
добавить что-то вроде этого:
Код:
if (! (( cnt->shots%3 ==0 && cnt->shots != 0 ) || cnt->shots == 1 )) return;
т.е. примитивно выпрыгиваем из функции ничего не делая если не удвлетворяем условиям отбора кадров. (а еще раскрыть скобки в условии и применить not и записать по-людски)
В данном примере будет на порт выводиться примерно каждый 3 кадр. При этом motion.c не трогаем, пусть живет.
Посмотрел на загрузку проца, такая же как и при правке motion.c (а с чего ей и изменяться существенно, принцип фильтрации кадров тот же).
вторник, 1 декабря 2009 г.
Переустановка сервера
Поднять сервер на софтовом райде. Можно сначала разбить диски и создать райд, а потом на него поставить.
Для начала дать файлы и интернет. Затем уже все остальное.
1. Файлы паролей. Проверить номер группы users и добавить недостающие группы. скорректировать файлы /etc/group /etc/passwd /etc/shadow
2. Samba - скопировать и допилить конфиги. Ну и конечно скопировать данные. Сделать скрипт запускаемым.
3. Firewall - копируем наш rc.firewall
4. Сетевые интерфейсы определялись не в том порядке eth1 eth0. Надо было подкрутить номера в /etc/udev/rules.d/70-persistent-net.rules
5. ДНС (DNS). Копируем /var/named /etc/named.conf /etc/resolv.conf. И делаеам запускаемым /etc/rc.d/rc.bind
Так же в /var/log/messages валяться в огромном количестве строчки вида network unreachable resolving. Это из-за попытки работать с IPv6. Отредактируем в /etc/rc.d/rc.bind запуск named с ключем -4, тем самым заставив его работать только с версией IPv4.
6. Интернет. В /etc/ppp копируем прежний конфиг и подкручиваем запуск в /etc/rc.d/rc.local
7. Squid. брать здесь = http://www.squid-cache.org/Versions/
собирать с опцией --enable-delay-pools
и проверить права на лог-каталоги и каталог кэша /usr/local/squid/var/...
запускать с ключем "/usr/local/squid/sbin/squid -z" для создания каталогов кэша
настройки копируем со старого сервера, и не забыть подкрутить права и собственника (nobody.nogroup) на каталоги
добавляем запуск в /etc/rc.d/rc.local в виде squid -D т.е. без проверки ДНС потому как интернета на момент запуска проксика может и не оказаться.
Далее уже по мере сил и желания поднимаем все остальное.
8. Mysql. Смонтируем все базы в /var/lib/mysql. Сделать исполняемым /etc/rc.d/rc.mysqld
9. Jabber берем здесь http://codex.xiaoka.com/wiki/jabberd2:start
Этой ... понадобилась либа udns, взять здесь http://www.corpit.ru/mjt/udns.html#download. Но на нормальный make install у них видно не хватило ума. Короче здесь http://repository.slacky.eu/slackware-12.2/libraries/udns/0.0.9/src/udns.SlackBuild есть билд скрипт для слаквари (или самому ручками файлы затолкать куда надо).
Еще нужен gsasl здесь http://www.gnu.org/software/gsasl/#downloading
Так же надо вручную создать каталоги /usr/local/var/{db,log,pid} и выставить права доступа к ним
Ну и настройки берем от старого конфига.
Есть еще конфиг пользователей, который через скрипт загоняется в базу jabber. Надо объеденить все эти разрозненные конфиги.
10. Сервер времени. Копируем /etc/ntp.conf /etc/adjtime и делаем исполняемым /etc/rc.d/rc.ntpd
Надо еще подкрутить adjtime !!!!
11. Запустить скрипт UPS (это надо было сделать в самом начале).
12. Скрипт для byfly. Понадобились перл модули LWP, Text::Iconv, IO::Socket::SSL.
13. Так же для сообщений внутри сети потребовался модуль Net::Jabber.
14. Слежение и перезапуск интернета.
15. mldonkey брать здесь http://mldonkey.sourceforge.net/Main_Page. Ему как обычно очень нужен Ocaml который он прделожит скачать с сайта caml.inria.fr
Скопировать настройки downloads.ini, users.ini, donkey.ini
Еще для скриптов включающих настройки mldonkey по telnet нужен модуль Net::Telnet
16. Обновление НСПИ, создать правильный симлинк
17. Напоминалка и очищалка общественного хранилища файлов. У нее есть свой конфиг для отправки напоминаний пользователям - его надо допилить.
18. Напоминалка о почте. понадобился модуль Net::IMAP::Client.
19. Монитор слежения за температурами и системой.
Выполнил sensors-detect. В результате стало ясно, что модуль для чипа it87 - добавить в rc.local
hddtemp - скомпилировать и добавить в базу винтов наши винты
Допилить скрипт.
20. Подсчет трафика - понадобился модуль Date::Simple
21. Apache. Нужно перенести настройки или создать по новой. Не забыть про копирование или генерацию ключа SSL.
Скопировать все скрипты из cgi-bin и инфо из htdocs
22. Для авторизации пользователей нужен еще модуль CGI::Session
Spreadsheet::WriteExcel
23. Х-терминалы
Копируем /tftpboot /opt/ltsp /home/xterm /etc/dhcpd.conf /etc/export /etc/rc.d/rc.xterm (в нем запускается dhcpd и прочие нужные действия)
/etc/rc.d/rc.nfsd делаем исполняемым
/etc/rc.d/rc.local добавляем запуск rc.xterm
в /etc/inetd.conf раскоментировать протокол tftp и перезапустить демон /etc/rc.d/rc.inetd restart
копируем /etc/ssh/sshd_config и перезапускаем демон /etc/rc.d/rc.sshd restart
24. Модуль Time::Simple
Chart::Points
XBase
Для начала дать файлы и интернет. Затем уже все остальное.
1. Файлы паролей. Проверить номер группы users и добавить недостающие группы. скорректировать файлы /etc/group /etc/passwd /etc/shadow
2. Samba - скопировать и допилить конфиги. Ну и конечно скопировать данные. Сделать скрипт запускаемым.
3. Firewall - копируем наш rc.firewall
4. Сетевые интерфейсы определялись не в том порядке eth1 eth0. Надо было подкрутить номера в /etc/udev/rules.d/70-persistent-net.rules
5. ДНС (DNS). Копируем /var/named /etc/named.conf /etc/resolv.conf. И делаеам запускаемым /etc/rc.d/rc.bind
Так же в /var/log/messages валяться в огромном количестве строчки вида network unreachable resolving. Это из-за попытки работать с IPv6. Отредактируем в /etc/rc.d/rc.bind запуск named с ключем -4, тем самым заставив его работать только с версией IPv4.
6. Интернет. В /etc/ppp копируем прежний конфиг и подкручиваем запуск в /etc/rc.d/rc.local
7. Squid. брать здесь = http://www.squid-cache.org/Versions/
собирать с опцией --enable-delay-pools
и проверить права на лог-каталоги и каталог кэша /usr/local/squid/var/...
запускать с ключем "/usr/local/squid/sbin/squid -z" для создания каталогов кэша
настройки копируем со старого сервера, и не забыть подкрутить права и собственника (nobody.nogroup) на каталоги
добавляем запуск в /etc/rc.d/rc.local в виде squid -D т.е. без проверки ДНС потому как интернета на момент запуска проксика может и не оказаться.
Далее уже по мере сил и желания поднимаем все остальное.
8. Mysql. Смонтируем все базы в /var/lib/mysql. Сделать исполняемым /etc/rc.d/rc.mysqld
9. Jabber берем здесь http://codex.xiaoka.com/wiki/jabberd2:start
Этой ... понадобилась либа udns, взять здесь http://www.corpit.ru/mjt/udns.html#download. Но на нормальный make install у них видно не хватило ума. Короче здесь http://repository.slacky.eu/slackware-12.2/libraries/udns/0.0.9/src/udns.SlackBuild есть билд скрипт для слаквари (или самому ручками файлы затолкать куда надо).
Еще нужен gsasl здесь http://www.gnu.org/software/gsasl/#downloading
Так же надо вручную создать каталоги /usr/local/var/{db,log,pid} и выставить права доступа к ним
Ну и настройки берем от старого конфига.
Есть еще конфиг пользователей, который через скрипт загоняется в базу jabber. Надо объеденить все эти разрозненные конфиги.
10. Сервер времени. Копируем /etc/ntp.conf /etc/adjtime и делаем исполняемым /etc/rc.d/rc.ntpd
Надо еще подкрутить adjtime !!!!
11. Запустить скрипт UPS (это надо было сделать в самом начале).
12. Скрипт для byfly. Понадобились перл модули LWP, Text::Iconv, IO::Socket::SSL.
13. Так же для сообщений внутри сети потребовался модуль Net::Jabber.
14. Слежение и перезапуск интернета.
15. mldonkey брать здесь http://mldonkey.sourceforge.net/Main_Page. Ему как обычно очень нужен Ocaml который он прделожит скачать с сайта caml.inria.fr
Скопировать настройки downloads.ini, users.ini, donkey.ini
Еще для скриптов включающих настройки mldonkey по telnet нужен модуль Net::Telnet
16. Обновление НСПИ, создать правильный симлинк
17. Напоминалка и очищалка общественного хранилища файлов. У нее есть свой конфиг для отправки напоминаний пользователям - его надо допилить.
18. Напоминалка о почте. понадобился модуль Net::IMAP::Client.
19. Монитор слежения за температурами и системой.
Выполнил sensors-detect. В результате стало ясно, что модуль для чипа it87 - добавить в rc.local
hddtemp - скомпилировать и добавить в базу винтов наши винты
Допилить скрипт.
20. Подсчет трафика - понадобился модуль Date::Simple
21. Apache. Нужно перенести настройки или создать по новой. Не забыть про копирование или генерацию ключа SSL.
Скопировать все скрипты из cgi-bin и инфо из htdocs
22. Для авторизации пользователей нужен еще модуль CGI::Session
Spreadsheet::WriteExcel
23. Х-терминалы
Копируем /tftpboot /opt/ltsp /home/xterm /etc/dhcpd.conf /etc/export /etc/rc.d/rc.xterm (в нем запускается dhcpd и прочие нужные действия)
/etc/rc.d/rc.nfsd делаем исполняемым
/etc/rc.d/rc.local добавляем запуск rc.xterm
в /etc/inetd.conf раскоментировать протокол tftp и перезапустить демон /etc/rc.d/rc.inetd restart
копируем /etc/ssh/sshd_config и перезапускаем демон /etc/rc.d/rc.sshd restart
24. Модуль Time::Simple
Chart::Points
XBase
Подписаться на:
Сообщения (Atom)