Архив Февраль 2010

FreeBSD: как заставить pf ждать подъема mpd(интерфейсов ngX)

1) В /etc/rc.d/NETWORKING, добавить строку:
# REQUIRE: mpd
2) Убедиться что в /usr/local/etc/rc.d/mpd5 присутствует строка:
# PROVIDE: mpd
3) В конец файла /usr/local/etc/rc.d/mpd5 добавить строчку:
sleep 10
если pf всё равно стартует раньше чем ng интерфейс — увеличьте значение
4) В /etc/rc.d/pf найти строку:
# REQUIRE: FILESYSTEMS netif pflog pfsync и добавить к ней NETWORKING:
# REQUIRE: FILESYSTEMS netif pflog pfsync NETWORKING
5) В /etc/rc.d/named найти строку:
# REQUIRE: SERVERS cleanvar и добавить к ней NETWORKING
# REQUIRE: SERVERS cleanvar NETWORKING

(k)ubuntu: нехватка шрифтов

В свежеустановленной ос имеется острая нехватка шрифтов, восполним её:
sudo apt-get install ttf-larabie-straight ttf-larabie-deco xfonts-terminus-dos xfonts-terminus xfonts-terminus-oblique xfonts-mona tv-fonts ttf-tuffy ttf-sjfonts ttf-sil-padauk ttf-sil-ezra ttf-paktype ttf-georgewilliams

kubuntu: переименование домашних папок с кирилицы на латиницу

Как известно, при установке системы и выборе русского языка как основного в домашней папке пользователя автоматически создаются папки с русскими именами: Рабочий стол, Документы, Картинки, Музыка, Видео, Шаблоны, Общедоступная.

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

1. Переименовываем папки с руссих букв на английские, на пример:
* Рабочий стол — Desktop
* Документы — Doc
* Картинки — Pictures
* Музыка — Music
* Видео — Video
* Шаблоны — Templates
* Общедоступная — Share

2. Открываем файл .config/user-dirs.dirs Папка .config находиться в домашней папке пользователя и так как имеет в начале точку — то это означает что папка скрытая. Потому чтобы её увидеть в дельфине нужно включить режим отображения скрытых файлов, это делается нажатием «Alt + .» (Альт и точка).
Ну и прописываем в открытом файле новые пути. У меня этот файл выглядит так:

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you’re
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR=»$HOME/yyy», where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR=»/yyy», where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR=»$HOME/Desktop»
XDG_DOWNLOAD_DIR=»$HOME/Desktop»
XDG_TEMPLATES_DIR=»$HOME/Templates»
XDG_PUBLICSHARE_DIR=»$HOME/Share»
XDG_DOCUMENTS_DIR=»$HOME/Doc»
XDG_MUSIC_DIR=»$HOME/Music»
XDG_PICTURES_DIR=»$HOME/Pictures»
XDG_VIDEOS_DIR=»$HOME/Video»

Материал взят с kubuntu.ru автор dm

Медленная запись на флешки в linux

Если скорость начинает жестко падать при загрузке файлов на флеху или фильм копируется около часа а то и более, то поможет следующее.

Первое что можно сделать — поставить apt-get install gnome-commander. Но в таком варианте, если у вас KDE, поятнутся кучка лишних библ. Если вам это не подходит, переходим к следующему варианту.

Вся траббла заключается в обработке прерываний ядром. Делаем

grep usb /proc/interrupts

16:    5264887    5197915   IO-APIC-fasteoi   uhci_hcd:usb5, HDA Intel, nvidia
18:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
19:          0          0   IO-APIC-fasteoi   uhci_hcd:usb3
23:     508188     502178   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2

Видим 16, 18, 19, 23 прерывания.

Делаем
echo 1 > /proc/irq/16/smp_affinity
echo 1 > /proc/irq/18/smp_affinity
echo 1 > /proc/irq/19/smp_affinity
echo 1 > /proc/irq/23/smp_affinity

Копируем на флешку.

monitoring: zabbix 1.8 install

Zabbix — считается одной из самых лучших, но при этом трудно-настраевоемой системой мониторинга.

Сначала я хотел описать процесс установки данной софтины, но понял что лучше чем wiki самого zabbix’а не выйдет, т.ч. даю просто url: zabbix 1.8 install

dir-320 + dd-wrt + gcc (пишем софт под dir-320)

Идем на dd-wrt.com. В разделе download качаем прошивку для dir-320 — dd-wrt.v24_usb_generic.bin ( на данный момент крайняя v24).

Понадобится консольная tftp, можно установить через менеджер установки стандартных приложений в windows, так же и в linux.

Сохраняем в некоторой папке под именем firmware.bin. Открываем консоль №1, переходим в папку, где лежит firmware.bin ,  набираем команду «tftp 192.168.0.1», готовим команду «put firmware.bin»

Открываем вторую консоль, пишем  и запускаем «ping -f 192.168.0.1» ( для linux) «ping 192.168.0.1 -n 1000» ( для win). ICMP ответ не должен возвращаться, если, конечно, у роутера ip не 192.168.0.1 .

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

Если все прошло успешно, то появится сообщение в первой консоли, что прошивка успешно загружена. В противном случае повторяем выше написанное.

Необходимо дождаться горения светодиода «статус», либо появления беспроводной сети dd-wrt, что сигнализирует о том, что роутер прошит успешно!

В итоге получаем роутер с прошивкой от dd-wrt.

Далее необходима будет флешка, отформатированная в ext2fs. Отформатировать можно любым способом. Пример для linux Ubuntu.

# mkfs.ext2 /dev/sdb1

В итоге получаем флеху с разделом ext2fs.

Вставляем ее в USB порт роутера.

Правим настройки роутера через web. По стандарту теперь у роутера IP будет 192.168.1.1. В адресной строке браузера пишем 192.168.1.1. Логин/pass — admin/admin. Далее  Службы->USB. Пункты включить на «Базовая поддержка USB», «Поддержка USB 1.1 (OHCI)», «Поддержка USB-дисков», «Поддержка файл.системы ext2/ext3», «Automatic Drive Mount», остально отключить. Пункт монтирования «/opt». Далее кнопка «Применить». Роутер перезагружается.

Далее вкладка «техобслуживание»(предпоследняя). Необходимо включить «Поддержка JFFS2. Так же жмем пункт применить. Роутер перезагружается.

Теперь необходимо телнетом зайти на роутер.

# telnet 192.168.1.1

login/pass — root/admin.

Теперь нужно проверить примонтировалась ли флешка.

# mount

Если есть пункт /dev/discs/disc0/part1 on /opt type ext2 (rw), значит примонтировалась.

Далее монтируем папку jffs.

# mkdir /opt/jffs/

# mount -o bind /opt/jffs/ /jffs/

Все. Система готова к установке!!

Ставим optware.

# wget -O /tmp/prep_optware http://wd.mirmana.com/prep_optware

# sh /tmp/prep_optware

Процесс длительный. Ждем.

Загружаем/обновляем дерево пакетов.
# ipkg-opt update

Ставим buildroot.
# ipkg install buildroot
процесс так же длительный.

Экспортируем енвироменты необходимые.
# export LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH

Все. Теперь можно компилисть свои написаные программы на С.

#gcc <input file> -o <outputfile>

FreeBSD: mpd5 pptp-client

cd /usr/ports/net/mpd5 && make install clean (в конфигурационном меню не ставим никаких галок).
cd /usr/local/etc/mpd5 && cp mpd.conf.sample mpd.conf
nano mpd.conf
default:
load pptp_client

pptp_client:
#
# PPTP client: only outgoing calls, auto reconnect,
# ipcp-negotiated address, one-sided authentication,
# default route points on ISP's end
#

create bundle static B1
set iface up-script /usr/local/etc/mpd5/up-script.sh
set iface down-script /usr/local/etc/mpd5/down-script.sh
#set iface route default
set ipcp ranges 0.0.0.0/0 0.0.0.0/0

create link static L1 pptp
set link action bundle B1
set auth authname USERNAME
set auth password USERPASSWORD
set link max-redial 0
set link mtu 1460
set link keep-alive 20 75
set pptp peer PPTP-SERVER-IP
set pptp disable windowing
open

nano up-script.sh
#!/bin/sh
/sbin/route add 10.166.1.1 10.0.2.154

nano down-script.sh
#!/bin/sh
/sbin/route delete 10.166.1.1 10.0.2.154

cp mpd.secret.sample mpd.secret

nano mpd.secret
USERNAME "USERPASSWORD" PPTP-SERVER-IP

echo «mpd_enable=YES» >> /etc/rc.conf
/usr/local/etc/rc.d/mpd start
ifconfig ng0
ng0: flags=88d1 metric 0 mtu 1460
inet PPTP-CLIENT-IP --> PPTP-GATEWAY-IP netmask 0xffffffff

PAM: pam_geoip

Итак разграничиваем доступ к сервисам по географическому расположению.
1) cd ~/ && wget http://ankh-morp.org/code/pam_geoip/pam_geoip-0.9.tar.gz
2) распаковываем и заходим в каталог pam_geoip-0.9
3) make update
4) cat README в самом конце читаем список необходимых библиотек
5) aptitude install список необходимых библиотек
6) make
7) cp pam_geoip.so /lib/security
8) cp geoip.conf /etc/security
9) cd /etc/pam.d && wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
10) gunzip GeoLiteCity.dat.gz
11) nano /etc/pam.d/sshd и добавляем строку:
account required pam_geoip.so geoip_db=/etc/pam.d/GeoLiteCity.dat system_file=/etc/security/geoip.conf action=allow
12) nano /etc/security/geoip.conf:
* sshd deny CN
* * ignore UNKNOWN

Вот так мы и закрыли наш ssh от китайских братьев ;)

samba: smb.conf

Простая настройка самбы: 2 шары: 1) Общий доступ 2) По учетке.
1) Создаем юзера в системе c именем %username%.
2) Создаем группу.(у меня это kss)
3) Включаем юзера в группу.
4) smbpasswd -c /etc/samba/smb.conf -a %username%
5) smb.conf:
[global]
dos charset = CP866
netbios name = DOCS_SRV
map to guest = Bad User
syslog only = Yes
deadtime = 15
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
show add printer wizard = No
dns proxy = No
hosts allow = 127.0.0.1, 172.24.0.192/26, 10.0.0.90
max connections = 100

[data]
comment = Общий каталог
path = /usr/samba/DOCS_SRV/DATA
read only = No
create mask = 0666
force create mode = 0666
directory mask = 0777
force directory mode = 0777
guest ok = Yes
mangled names = No

[tech]
comment = ТехУчет
path = /usr/samba/DOCS_SRV/TECH
write list = @kss
force group = +kss
create mask = 0660
force create mode = 0660
directory mask = 0770
force directory mode = 0770
mangled names = No

6) Ну и конечно же не забываем на папку юзера (в данном случае tech) дать права:
chown %username%:kss /usr/samba/DOCS_SRV/TECH

7) /etc/init.d/samba reload

FreeBSD: Порядок обработки пакетов ядром.

pf, ipfw и ipfilter вкомпилены в ядро
ipfw -> pf -> ipfilter -> stack - для входящего
stack -> ipfilter -> pf -> ipfw - для исходящего

pf загружен как модуль ядра
pf -> ipfw -> ipfilter -> stack - для входящего
stack -> ipfilter -> ipfw -> pf - для исходящего

(с) http://paix.org.ua/freebsd/fwpackets.html