Перейти к собственно контенту

AgR^ Live Blog

Общественные записки не поддающиеся вкуриванию…

Архив

Метка: FreeBSD

Решил подключиться к проекту narodmon.ru Пришлось повозиться, но результат был получен.
Из железа использую вот такой адаптер с датчиком DS18B20 — http://blog.amigas.ru/?p=1501
Адаптер подключен к серверу на FreeBSD. Скрипт, который предлагается на сайте narodmon.ru немного переписан мной и полностью рабочий. Комментарии кое где добавил и выделил красным цветом, для прояснения ситуации, что и где менять.

>cat narodmon.ru.sh
#!/bin/sh
# run every 10 min
#ifconfig | grep ether | awk '{FS=" "; if(NR==1) {print "#"$5}};' > /var/log/narodmon
#echo "#" > /var/log/narodmon

echo "#7171bdae364f#" > /var/log/narodmon # код - мак адрес сетевухи
sleep 7 # - ждём 7 секунд для того чтобы не попасть на одновременный опрос датчика из разных скриптов(если опрашивается только отсюда, то необязательно)
/usr/local/bin/digitemp_DS9097 -i -q -t 1 -s /dev/cuau0 -c /scripts/.digitemprc | /usr/bin/awk '{FS=" "; if($2==":") { mac[NR-1]=$1;}; if($4=="Sensor") { print "#"mac[$5]"#"$7;}}' >> /var/log/narodmon
echo "##" >> /var/log/narodmon
LC=`cat /var/log/narodmon | wc -l`
if [ $LC -gt 2 ]
then cat /var/log/narodmon | nc narodmon.ru 8283 > /var/log/narodmon.log
fi

и загоняем его в крон:
>echo "*/12 * * * * /scripts/narodmon.ru.sh > /dev/null 2>&1" >> /var/cron/tabs/root

После регистрации на сайте и добавления датчика, получаем вот такой результат:
http://narodmon.ru/?lat=54.737&lng=55.975&zoom=14&map=map
Заодно добавил скриншот с уличной камеры.
Вот. Ничего сложного. Удачи в повторении.

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
Загрузка...
1 011 views

Это по моему самый быстрый способ редиректа (форвардинга) входящей почты, на другие адреса.
Создаём в директории пользователя файл — .forward, в котором построчно прописываем адреса e-mail получателей почты.
ex:
.forward
xxx@1xxx1.cdm
sdfg@dsgjkh.ri
итд.
В итоге вся входящая почта юзера, рассылается по указанным адресам в файле .forward

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
808 views

Понадобилось подключить диски хранилища Thecus Nas8800Pro и FreeNas к серваку на FreeBSD. Задача оказалась очень лёгкой, тк у хранилища 8800pro оказались все подсказки, как это сделать!

Начнём.
Сперва ломимся в админку хранилища:


1. Заходим в Хранилище ->Папки.
2. Создаём необходимую нам папку.
3. Нажимаем кнопочку «NFS».

4. Нажимаем кнопку «Добавить».
5. И заполняем соответствующие поля своими данными и необходимыми настройками и получаем то что указано на рисунке.

6. Далее заходим в «Сетевая служба -> Настройка NFS»
7. И включаем сервис. Далее «Применить».
На этом настройка хранилища закончена.

Ниже привожу порядок настройки FreeNASа:
Также заходим в админку:


1. Идем в меню «Службы» -> «Управление службами»
2. Переводим слайдер в положение «ON»
3. Нажимаем на кнопку с гаечным ключом, для настройки. Если настройки такие же как и на рисунке, то жмём «ОК».

4. Идем далее в пункт «Совместное использование» -> «Unix (NFS) общие ресурсы»
5. Жмём «Добавить Unix (NFS)»
6. И заполняем таким вот образом данный пункт и потом «ОК».
Настройка на этом закончена. Осталось подключить данные сетевые ресурсы к серверу на FreeBSD.

Подклюаем так:
mount -t nfs 10.0.0.10:/raid0/data/_NAS_NFS_Exports_/nfs1 /home/obmen/public_html — NAS8800
mount -t nfs 10.0.0.11:/mnt/data/dvd /home/obmen/10.0.0.11 — FreeNAS

В итоге получили следующее:
Filesystem Size Used Avail Capacity Mounted on
/dev/ad2s1a 2.1G 210M 1.7G 11%
/ devfs 1.0k 1.0k 0B 100%
/dev /dev/ad2s1h 61G 1.5G 54G 3%
/data /dev/ad2s1g 104G 37G 57G 39%
/home /dev/ad2s1d 1.0G 112k 954M 0%
/tmp /dev/ad2s1e 62G 4.1G 53G 7%
/usr /dev/ad2s1f 10G 1.2G 8.4G 12%
/var linprocfs 4.1k 4.1k 0B 100%
/usr/compat/linux/proc
10.0.0.10:/raid0/data/_NAS_NFS_Exports_/nfs1 10T 2.9T 7.8T 27% /home/obmen/public_html
10.0.0.11:/mnt/data/dvd 78G 66G 11G 85% /home/obmen/10.0.0.11

Ну вот и всё. Абсолютно ничего сложного.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
1 319 views

Хоть это для меня и не особо критично, но всё же ради эксперимента решил защитить сервер от попыток перебора пароля. Самый простой способ — смена порта. Но мне захотелось оставить на стандартном. Ставить связку с фаерволом, тоже как-то не хотелось. И после очередного обновления портов, попалась на глаза, утилита написанная на перле, делающая то что мне нужно и без всяких «вагонов с тележками» в комплекте…
#cd /usr/ports/security/sshblock
#make install clean
#echo sshblock_enable="YES" >> /etc/rc.conf
#/usr/local/etc/rc.d/sshblock start
Опций минимум:
Usage: sshblock [ -b ] [ -l ] [ -t ]

Trigger list is a list of seconds:attempts threshold pairs for determining
whether a host should be blocked (Пара - время в секундах:количество попыток входа)

Default blockfile: /etc/hosts.allow
Default logfile: /var/log/auth.log
Всё остаётся по умолчанию, в том числе и тайминги, которые я подсмотрел в теле программы:
%SSHBlock::thresholds = (
# 5 attempts in 15 seconds
15 => 5,
# 10 attempts in 60 seconds
60 => 10,
# 20 attempts in one hour
3600 => 20,
# 30 attempts in one day
86400 => 30

Этого нам вполне хватит.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
982 views

После установки FreeBSD v9.0 , как всегда понадобилось русифицировать консоль. На удивление, с версии 9 немного изменился способ русификации. Вернее он просто упростился.
Здесь я опишу как это было до 9-ой ветки и как стало теперь.
Начнём:
1. Проверим для начала наличие таких строчек в файле /etc/login.conf
#
# Russian Users Accounts. Setup proper environment variables.
#
russian|Russian Users Accounts:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:\
:tc=default:
Если нету, то добавляем и потом выполняем следующую команду:
cap_mkdb /etc/login.conf
2. Отредактируем файл /etc/rc.conf , добавив следующие строчки:
font8x14="cp866-8x14"
font8x16="cp866-8x16"
font8x8="cp866-8x8"
scrnmap="koi8-r2cp866"
keymap="ru.koi8-r"
3. Отредактируем файл /etc/ttys изменив следующим образом:
было так:
ttyv0 "/usr/libexec/getty Pc" cons25 on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25 on secure
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
стало так:
ttyv0 "/usr/libexec/getty Pc" cons25r on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25r on secure
ttyv2 "/usr/libexec/getty Pc" cons25r on secure
ttyv3 "/usr/libexec/getty Pc" cons25r on secure
ttyv4 "/usr/libexec/getty Pc" cons25r on secure
ttyv5 "/usr/libexec/getty Pc" cons25r on secure
ttyv6 "/usr/libexec/getty Pc" cons25r on secure
ttyv7 "/usr/libexec/getty Pc" cons25r on secure
4. Даём юзерам возможность использовать русскую локаль:
pw usermod user -L russian
5. Перезагружаемся.

Этот способ для версий FreeBSD ниже 9.0
Начиная с 9-ой ветки, теперь нет необходимости вносить изменения в файл /etc/ttys !!!

Начиная с 11-ой ветки:
для русификации терминала при создании пользователя указывайте class russian:
pw useradd user_name -L russian

Или можете изменить класс существующего пользователя командой:
pw user mod user_name -L russian

После всего перезайти в сессию или перезапустить шелл.

P.S. Для поддержки кириллицы в консоли добавьте строку в /boot/loader.conf:
hw.vga.textmode=0
и перезагружаем комп.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
2 271 views

Решил наконец-то обновиться до ветки FreeBSD v8.3 Release + все патчи что успели выйти после релиза. Ну и естественно пересобрать со своими настройками ядро.
В общем план таков:
1. Для начала делаем бинарное обновление:
# freebsd-update upgrade -r 8.3-RELEASE
# freebsd-update install
# shutdown -r now
# freebsd-update install
# shutdown -r now
Всё. Бинарное обновление сделали. Теперь нам нужны соответствующие исходные коды системы.
2. Скачиваем с помощью svn соответствующие «сырцы»:
# rm -d /usr/src
# mkdir /usr/src
# svn checkout http://svn.freebsd.org/base/releng/8.3/ /usr/src
# svn update /usr/src/
Осталось пересобрать ядро и установить.
3. Ядро:
# cd /sys/i386/conf && config AGR83 && cd ../compile/AGR83 && make cleandepend && make depend && make && make install
# shutdown -r now
И вот что стало:
$ uname -a
FreeBSD k.xxxxxx.ru 8.3-RELEASE-p2 FreeBSD 8.3-RELEASE-p2 #0 r236713M: Thu Jun 7 19:07:20 YEKT 2012 v@x.xxxxx.ru:/usr/src/sys/i386/compile/AGR83 i386

Ну вот и всё. Теперь имеем новую ветку, плюс патчи и свои настройки. По времени это обновление заняло около часа, на машинке с процом на каком то там атоме.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
1 526 views

В один прекрасный момент слетели базы со статистикой сетевых интерфейсов. Естественно понадобилось восстановить. Архивы у меня создаются еженедельно. Но распаковывать пару гигов — не айс.
Поэтому делаем так:
#tar -xvzf archive.tar.gz var/db/vnstat — извлечение папки с файлами
#tar -xvzf archive.tar.gz var/db/vnstat/re0 — извлечение определённого файла
или же списка папок и файлов:
#tar -xvzf archive.tar.gz var/db/vnstat var/log usr/ports

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
1 263 views

Словив пару «глюков» при обновлении исходников с помощью cvsup, я решил наконец то перейти на svn.
Для начала установим subversion.
#cd /usr/ports/devel/subversion
#make install clean
После установки, можно почитать информацию по svn.
#svn help
Сперва я решил очистить каталог исходников подчистую.....#rm /usr/src
Дальше всё ещё проще.
Скачиваем нужную нам ветку:
#svn checkout http://svn.freebsd.org/base/releng/8.3/ /usr/src - через HTTP
или так:
#svn checkout svn://svn.freebsd.org/base/releng/8.3/ /usr/src - через SVN

Обновляем так:
#svn update /usr/src/
At revision 234940

Проверяем:
#grep -A 2 'TYPE="' /usr/src/sys/conf/newvers.sh
TYPE="FreeBSD"
REVISION="8.3"
BRANCH="RELEASE"

Вывод. Используйте SVN. Намного проще и надёжнее. И меньше шансов словить "глюки".

UPDATE 04-05-2012
Решил проверить обновления. И получил такое:
koms# svn update /usr/src/
Updating '/usr/src':
Skipped '/usr/src/crypto' -- Node remains in conflict
Skipped '/usr/src/UPDATING' -- Node remains in conflict
Skipped '/usr/src/sys' -- Node remains in conflict
At revision 234994.
Summary of conflicts:
Skipped paths: 3

Что делать!? А ничего. Просто ждать пару дней или больше. Происходит изменение кода на сервере в этих папках. И как код будет принят, исходники обновятся нормально, без всяких предупреждений.

p.s. Помогло полное удаление каталога src и по новому полное скачивание.

p.p.s. Чуть позже допишу статейку по поводу обновления и команды resolved.

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
Загрузка...
2 781 views

Довольно таки часто приходится собирать своё собственное ядро со своими опциями и устройствами. И соответственно бинарное обновление через интернет, отпадает напрочь. Вот и займёмся обновлением исходников в системе.

Создадим конфигурационный файл для cvsup:
koms# ee  /root/updatefile.cvs

и заполним следующим:
*default host=cvsup6.ru.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs
*default delete use-rel-suffix
*default compress
*default tag=RELENG_8_2
src-all

Запускаем обновление исходников:
koms# cvsup -L 2 /root/updatefile.cvs

Проверяем что скачалось:
koms# grep -A 2 'TYPE="' /usr/src/sys/conf/newvers.sh
TYPE="FreeBSD"
REVISION="8.2"
BRANCH="RELEASE-p6"
koms#

А далее уже пересобираем и устанавливаем как обычно.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
708 views

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

Отредактирую свой конфиг ядра:
>ee /usr/src/sys/i386/conf/AGR
и добавляю сюда строчку:
options QUOTA
Сохраняем конфиг и пересобираем ядро:
cd /sys/i386/conf && config AGR && cd ../compile/AGR && make depend && make && make install

Добавляем пару строчек в /etc/rc.conf
enable_quotas="YES"
check_quotas="YES"

Далее включаем квоты на тех "ФС", там где это нам нужно, добавляя опцию - userquota.(Лично мне нужны были только пользовательские квоты)
vadim# cat /etc/fstab
# Device Mountpoint FStype Options Dump Pass#
/dev/ad2s1b none swap sw 0 0
/dev/ad2s1a / ufs rw 1 1
/dev/ad2s1h /data ufs rw,userquota 2 2
/dev/ad2s1g /home ufs rw,userquota 2 2
/dev/ad2s1d /tmp ufs rw 2 2
/dev/ad2s1e /usr ufs rw,userquota 2 2
/dev/ad2s1f /var ufs rw 2 2
/dev/cd0 /cdrom cd9660 ro,noauto 0 0
linproc /compat/linux/proc linprocfs rw 0 0

Далее перезагружаемся.
И проверяем:
vadim# quota -v
Disk quotas for user root (uid 0):
Filesystem usage quota limit grace files quota limit grace
/data 13404 0 0 90 0 0
/home 19074004 0 0 677 0 0
/usr 3309778 0 0 284614 0 0

Ну и самое последнее. Раздаём юзерам квоты на разных файловых системах:
>edquota -u user
Quotas for user vadim:
/data: kbytes in use: 0, limits (soft = 0, hard = 0)
inodes in use: 0, limits (soft = 0, hard = 0)
/home: kbytes in use: 448260, limits (soft = 0, hard = 0)
inodes in use: 1769, limits (soft = 0, hard = 0)
/usr: kbytes in use: 228784, limits (soft = 0, hard = 0)
inodes in use: 75, limits (soft = 0, hard = 0)
Тут можно задать мягкое (Soft) и жёсткое (Hard) ограничение.

Новые ограничения вступят в силу после выхода из редактора.
Вот так. Если нужно больше инфы по квотам, то тогда курим хэндбук. Там всё расписано и разрисовано.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
1 244 views

Warning: Undefined array key "ltasurl" in /usr/home/vadim/data/www/db/wordpress/wp-content/plugins/flash-video-player/flash-video-player.php on line 96

Warning: Trying to access array offset on value of type null in /usr/home/vadim/data/www/db/wordpress/wp-content/plugins/flash-video-player/flash-video-player.php on line 96