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

AgR^ Live Blog

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

Архив

Рубрика: FreeBSD

Решил наконец-то обновиться до ветки 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 330 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 180 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 392 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)
Загрузка...
627 views

Я уже как то описывал, как создавать SSL сертификаты. Но там слишком долгий путь. Во всяком случае для меня. А недавно в портах на глаза попалась утилита, которая делает тоже самое, но гораздо проще и быстрее.
>whereis ssl-admin
ssl-admin: /usr/ports/security/ssl-admin
Почитаем что там:
>cat /usr/ports/security/ssl-admin/pkg-descr
ssl-admin was designed to create a user-friendly, menu-driven interface
to the OpenSSL programs.

ssl-admin will help you do the following tasks with SSL certificates:
* Create your own CA certificate.
* Create new Certificate Signing Requests
* Sign existing Certificate Signing Requests
* Manage Certificate Revokation Lists
* Export configurations and certificates for OpenVPN.

WWW: http://www.secure-computing.net/ssl-admin/
О да. Это то, что нам нужно.

Ставим:
>cd /usr/ports/security/ssl-admin ; make install clean

И запускаем:
>ssl-admin

Далее читаем и следуем простым инструкциям, в зависимости от того что нам требуется.
И результат не заставит себя ждать 🙂

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

В статистике веб сервера apache со временем стали появляться ошибки — 206 Partial Content. Кто то пишет что это баг апача. Но чтобы эта ошибка не мозолила глаза — уберём её.
Для начала проверим апач на «вшивость»:

curl -I -H "Range: bytes=0-1,0-2" -s amigas.ru/robots.txt | grep Partial
curl -I -H "Request-Range: bytes=0-1,0-2,0-3,0-4,0-5,0-6" -s amigas.ru/robots.txt | grep Partial
И если ответ сервера - 206 Partial Content, значит наш сервер уязвим.

1. Проверяем, собран ли наш апач с модулем mod_headers:
cd /usr/ports/www/apache22 ; make config
и ищем данную опцию - [X] HEADERS Enable mod_headers
Если установлена, то всё ОК. Если нет, то пересобираем апач.
2. Редактируем конфиг апача, путём добавления пары строчек:
ee /usr/local/etc/apache22/httpd.conf
и добавляем:
RequestHeader unset Request-Range
RequestHeader unset Range
3. Перезапускаем апач.


Вот и всё. Теперь в статистике апача полностью отсутствует данная ошибка.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
2 581 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 101 views

В один прекрасный день понадобилось создать подписанные SSL сертификаты для жаббер сервера и веб сервера. Ну чтож. Приступим.
1. Сгенерим приватные ключи:
$ openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
………….++++++
………………………..++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:
Verifying — Enter pass phrase for server.key:
$
Далее…

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

Проснулся утром и обнаружил что смартфон почему то начал отставать на час. Пошуршав в инете  понял, что это был день перевода часов на зимнее время. Но т.к. зимнее время отменили, то переводить время не надо.
Заодно решил проверить сервера. Что и как там со временем. Оказалось, что и они стали отставать на 1 час. А это совсем плохо. Т.к. там некоторые вещи привязаны ко времени.
Полазив по инету нашёл решение.
Лезем в порты и ставим тайм зону.
>cd /usr/ports/misc/zoneinfo
>make install clean
Далее:
>ln -sf /usr/share/zoneinfo/Etc/GMT-6 /etc/localtime — временная зона для Уфы
и смотрим
>date
vadim# date
воскресенье, 30 октября 2011 г. 22:20:27 (GMT-6)
теперь имеем то, что должны иметь 🙂

UPD: 03-01-2012
Кстати. Вот более правильный метод.
# make -C /usr/ports/misc/zoneinfo install clean
# tzsetup

После этого имеем более правильный формат времени:

# date
среда,  4 января 2012 г. 14:15:06 (YEKT)

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

Был…Стоял и работал. Но потом вдруг перестал после каких-то обновлений. Посмотрел что стояло — linux-flash9 — ый. Хммммм….старьё. Удаляем нах.
Начнём ставить новый и настраивать всё по новой.


Проверяем наличие такой строчки в /etc/rc.conf
linux_enable="YES"

и наличие этой в /etc/fstab
linproc /compat/linux/proc linprocfs rw 0 0

Если их нету то делаем следующее:
echo linux_enable="YES" >> /etc/rc.conf
mkdir -p /compat/linux/proc
mount /compat/linux/proc
/etc/rc.d/abi start

Далее ставим сам плагин и враппер:
cd /usr/ports/www/linux-f10-flashplugin10
make install clean
cd /usr/ports/www/nspluginwrapper
make install clean

Я использую три браузера - Mozzila Firefox, Opera, SeaMonkey.
Добавим этот плагин в эти браузеры.
FireFox:
mkdir /usr/local/lib/browser_plugins
nspluginwrapper -a -i
ln -s /usr/local/lib/browser_plugins/npwrapper.libflashplayer.so ~/.mozilla/plugins

Opera:
cd /usr/ports/www/opera-linuxplugins
make install clean
В настройках оперы иногда надо зайти в настройки и сделать рескан плагинов.

SeaMonkey:
Похоже также как и для лисы :)

Ну вот. Теперь имеем полноценный флеш в браузерах. Хотя пару раз браузер упал при просмотре флеша. Может конечно и не из-за флеша. Хз…

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