Что то типа путевых записок, и размышлений об жизни, ну и о FreeBSD конечно, иногда какие нибудь новости и что то типа переводов.

Показаны сообщения с ярлыком utilities. Показать все сообщения
Показаны сообщения с ярлыком utilities. Показать все сообщения

15.05.2016

Приключения DIR-825

Что енто тут никто не пишет, обленились все.

А вот попался, мне тут в руки DIR-825, даже уже прошитый OpenWRT но как то не очень хотевший работать. Ну то есть, он включался, хитро мигал и ... опять мигал. Как далее подтвердилось, он и правда вошел в вечный ребут.
После нескольких попыток, хитро понажимать кнопки и повыдёргивать шнур, было решено всё же добраться до потрохов, благо уже который год подряд, на письменном столе, в виде макетной платы, всё так же поживает мой преобразователь для RS232. Сказано, сделано, но вот незадача, в интернетах имеется всего пара замыленных фото, а распайки именно этой ревизии DIR-825 B2 (B1 если верить cpuinfo) ну ни в какую не видно, пусть теперь вот мир обогатится.
DIR-825 B2 (B1 cpuinfo)
Кстати забавное отступление, обнаружил, как можно толково снимать свои железки, оказывается, тренога на подоконнике, 50mm объектив и всё очень даже вот как симпатично, ну и утреннее солнышко.
serial port
```
  PIN1*–>3.3V 
  PIN2–>RX 
  PIN3–>TX 
  PIN4–>GND
```
* first square

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

А внутри местами чудесное, вот это например
# cat /proc/meminfo 
MemTotal:          11816 kB
MemFree:            1016 kB
MemAvailable:       3136 kB
Buffers:            1220 kB
Cached:             1684 kB
SwapCached:            0 kB
Active:             2664 kB
Inactive:            740 kB
Active(anon):        516 kB
Inactive(anon):        8 kB
Active(file):       2148 kB
Inactive(file):      732 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:           504 kB
Mapped:             1160 kB
Shmem:                24 kB
Slab:               4012 kB
SReclaimable:        604 kB
SUnreclaim:         3408 kB
KernelStack:         216 kB
PageTables:          108 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:        5908 kB
Committed_AS:       1668 kB
VmallocTotal:    1048372 kB
VmallocUsed:        1292 kB
VmallocChunk:    1044380 kB
# cat /proc/cpuinfo 
system type             : Atheros AR7161 rev 2
machine                 : D-Link DIR-825 rev. B1
processor               : 0
cpu model               : MIPS 24Kc V7.4
BogoMIPS                : 452.19
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 16
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

И если cpuinfo, вроде нормален, о вот показания meminfo, заставляют глубоко задуматься, как блин так, ну и вот
# free
             total       used       free     shared    buffers     cached
Mem:         11816      10796       1020         24       1220       1684
-/+ buffers/cache:       7892       3924
Swap:            0          0          0
# ps w
  PID USER       VSZ STAT COMMAND
    1 root      1516 S    /sbin/procd
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [ksoftirqd/0]
    4 root         0 SW   [kworker/0:0]
    5 root         0 SW<  [kworker/0:0H]
    6 root         0 SW   [kworker/u2:0]
    7 root         0 SW<  [khelper]
    8 root         0 SW   [kworker/u2:1]
   68 root         0 SW<  [writeback]
   70 root         0 SW<  [crypto]
   71 root         0 SW<  [bioset]
   73 root         0 SW<  [kblockd]
  108 root         0 SW   [kswapd0]
  158 root         0 SW   [fsnotify_mark]
  194 root         0 SW   [spi0]
  406 root         0 SW<  [ipv6_addrconf]
  412 root         0 SW<  [deferwq]
  415 root         0 SW<  [kworker/0:1H]
  434 root         0 SW   [kworker/0:2]
  479 root         0 SWN  [jffs2_gcd_mtd5]
  549 root      1168 S    /sbin/ubusd
  550 root      1176 S    /bin/ash --login
  715 root         0 SW<  [cfg80211]
  787 root      1168 S    /sbin/logd -S 16
  810 root      1620 S    /sbin/netifd
  852 root      1052 S    /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p 22 -K 300
  955 root      1172 R    ps w

Становится скорее всего абсолютно понятно, что так оно ну никак не взлетит.

Так же попутно, открыл для себя ещё немного этой чёрной магии, найдя вот эту замечательную заметку Boot into OpenWrt Failsafe Mode and reflash a firmware, которая научила, как залить на мало живую тушку OpenWRT возможно живительную firmware. Так как коннектился я к ней по RS232, то было не очень понятно, как же туда закинуть образ, как оказалось просто, даже в рескьюре режиме, на локальных портах, у роутера поднимается 192.168.1.1 через который и можно с ним взаимодействовать,хотя в моём случае всё было не так просто, так как роутеру совсем плохо, то через ком, ему не нормально конфиги поредактировать, да даже команды из-за куцего режима терминала, воспринимают ввод только через pipe, благо нам от роутера не так и много то надо. Однако, так просто как в заметке не вышло, так как для старта dropbeard тупо не было необходимых условий, была не поднята шина ubus. А с роутера, как выше сказал, нельзя было ничего интерактивно ввести ни пароль для ssh, да даже согласится на приём ключа удалённого хоста. Хотя...
yes | user@192.168.1.99
решило проблему с ключем хоста, а потом был найден способ сгенерировать и ключ для ssh
/# dropbearkey -t rsa -f ~/.ssh/id_dropbear
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCykyumfqgPeeLtMFjRSZbSUqcYAI2exCQShEvYrpPXNAurdI4SlN5WRY+mcR5Zfi7ITnh88daaUhMR2IZCG7uxGysPo1nc8pUhF2crVyNuffpwJ3vGt+PbuY/tlDj5I0PGda5IIC6vWZE7MVdmfljNVeAafOSmzX452TiKX9zq+o+/54+4vEI+Z0/iP5Fi0+kf8Y5zXClrXkLfojJbq9TFZTTHZP3I4pblZruSlgLRwU2MADxRQMUXraS4fMOAfBC4e/jaRCoZznJuTV1tIGsXCWnCYDdJWw0cAQKrnJZTaGPOKiIgRC453YJgraR/l2r80FrUfVWN8Cs+5483WSIz root@OpenWrt
Fingerprint: md5 01:46:a6:92:7b:a9:a7:57:d3:09:6c:00:3d:b4:a3:8b
Закидываем его, на свой хост в .ssh/authorized_keys и качаем напрямую scp

15.09.2010

What is MTR?

Мне как то не так уж и часто приходится мониторить состояние соединения до какого либо хоста, чаще всего мне достаточно показаний простого ping'а, ну или traceroute, если уж захотелось поэстетствовать. А тут больше по работе посоветовали посмотреть программку MTR, которая на редкость любопытна, и вдобавок вроде мало описана по русски.
Итак, MTR по заявлению в man, это утилита объединяющая в себе возможности traceroute и ping. Надо добавить что вдобавок она даёт возможность наблюдать их показания в динамике, во вполне юзерфрендли интерфейсах. Тоесть в принципе ничего нового, но если привыкнуть то пожалуй можно извлечь полезную информацию.
Во FreeBSD, как это не странно, устанавливается из порта net/mtr, что немного неприятно, почему то мантейнер пренебрег менюшкой выбора опций, и по дефолту ставится Х'овый интерфейс и используется IPv6, хотя судя по Makefile, при нужных ключах оно легко отключается.
В одном из коментариев к комитам попалась интересная строка
- Welcome X.org 7.2 \o/.
О работе самой программы писать особо нечего, ну разве что немного лирики и скриншотов для любопытных, и тех кому лень было в ман глядеть
Так выглядит графическая GTK "морда", которая и запускается по дефолту если у вас есть Х'ы, как видно она хоть и похорошела со времен официального скриншота, но особого удобства не добавилось, из неё можно задать только испытуемый адрес и интервал опроса, кстати нашел интересную багу/фичу, если поставить паузу и поменять интервал, то она сразу же снимается, а кнопка паузы уже не работает, до перезапуска :)
У програмы есть, по моему более удобный и функциональный интерфейс --curses, который в работе выглядит вот так

> mtr -a 192.0.2.1 www.freebsd.org
My traceroute  [v0.80]
example.org (0.0.0.0)                                         Tue Sep 14 23:24:46 2010
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                                           Packets               Pings
 Host                                               Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 74.86.115.1-static.reverse.softlayer.com        0.0%    14    0.3   4.9   0.2  48.5  13.0
 2. po103.dar01.sr01.dal01.networklayer.com         0.0%    14    3.4   4.6   0.3  37.9  10.2
 3. po8.bbr01.eq01.dal01.networklayer.com           0.0%    14    9.3   7.9   0.3  55.8  16.7
 4. exchange-cust2.da1.equinix.net                  0.0%    14    0.8   8.1   0.5  52.8  16.8
 5. ae-5.pat2.pao.yahoo.com                         0.0%    14   55.5  57.7  52.7  85.1  10.3
 6. ae-0-d151.msr2.sp1.yahoo.com                    0.0%    13   59.3  61.7  53.2 110.1  16.5
    ae-0-d141.msr1.sp1.yahoo.com                                                         
    ae-1-d141.msr1.sp1.yahoo.com                                                         
    ae-1-d151.msr2.sp1.yahoo.com
 7. gi-1-39.bas-b2.sp1.yahoo.com                    0.0%    13   53.3  57.4  53.3 104.3  14.1
    gi-1-36.bas-b1.sp1.yahoo.com                                                         
    gi-1-33.bas-b2.sp1.yahoo.com                                                             
    gi-1-38.bas-b2.sp1.yahoo.com
 8. www.freebsd.org                                 0.0%    13   53.7  56.3  53.1  76.8   7.4

причём хитрые yahoo'вские шлюзы вначале показываются одним хостом, а со временем накапливаются, то есть при старте картинка выглядит так, вернее это первый проход, строчки отрисовываются последовательно

My traceroute  [v0.80]
example.org (0.0.0.0)                                         Tue Sep 14 23:24:46 2010
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                                         Packets               Pings
 Host                                               Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 74.86.115.1-static.reverse.softlayer.com        0.0%    1     0.3   4.9   0.2  48.5  13.0
 2. po103.dar01.sr01.dal01.networklayer.com         0.0%    1     3.4   4.6   0.3  37.9  10.2
 3. po8.bbr01.eq01.dal01.networklayer.com           0.0%    1     9.3   7.9   0.3  55.8  16.7
 4. exchange-cust2.da1.equinix.net                  0.0%    1     0.8   8.1   0.5  52.8  16.8
 5. ae-5.pat2.pao.yahoo.com                         0.0%    1    55.5  57.7  52.7  85.1  10.3
 6. ae-0-d151.msr2.sp1.yahoo.com                    0.0%    1    59.3  61.7  53.2 110.1  16.5
 7. gi-1-39.bas-b2.sp1.yahoo.com                    0.0%    1    53.3  57.4  53.3 104.3  14.1
 8. www.freebsd.org                                 0.0%    1    53.7  56.3  53.1  76.8   7.4

Этот интерфейс имеет несколько режимов и в умелых руках похоже может быть более информативным.
Например ключ -o задаёт порядок отображения столбцов и отображаются ли они вообще, работает только с  --curses интерфейсом, и как то не совсем явно, ну как мне показалось, в общем экспериментируйте, да он так же доступен когда софтина запущена, то есть применяется на лету.

> mtr -a 192.0.2.1 -o "LSD BA" www.freebsd.org
example.org (0.0.0.0)                                         Wed Sep 15 00:12:05 2010
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                                               Packets               Pings
 Host                                                      Loss%   Snt Drop   Best   Avg StDev
 1. 74.86.115.1-static.reverse.softlayer.com               0.0%   105    0    0.2   3.9  14.2
 2. po103.dar01.sr01.dal01.networklayer.com                0.0%   105    0    0.3   8.7  30.4
 3. po8.bbr01.eq01.dal01.networklayer.com                  0.0%   105    0    0.3   9.7  35.7
 4. exchange-cust2.da1.equinix.net                         0.0%   104    0    0.4   6.1  21.7
 5. ae-5.pat2.pao.yahoo.com                                0.0%   104    0   52.5  58.8  15.8
 6. ae-0-d151.msr2.sp1.yahoo.com                           0.0%   104    0   53.0  58.2  14.9
    ae-1-d151.msr2.sp1.yahoo.com                                                             
    ae-1-d141.msr1.sp1.yahoo.com                                                             
    ae-0-d141.msr1.sp1.yahoo.com
 7. gi-1-33.bas-b2.sp1.yahoo.com                           0.0%   104    0   53.1  56.6   8.2
    gi-1-36.bas-b1.sp1.yahoo.com                                                             
    gi-1-38.bas-b2.sp1.yahoo.com                                                             
    gi-1-39.bas-b2.sp1.yahoo.com
 8. www.freebsd.org                                        0.0%   104    0   53.1  56.3   9.9

Так же в этом режиме есть разные способы отображения, например вот такой (да при изменении ширины окна на нем изменяется количество pings)
Но что всё это значит я пока не очень понял :)

Ну если кратенько то пожалуй и всё, хотя пожалуй напишу про пару любопытных ключей и применений.
-a как не странно IP адрес(с которого шлется запрос), например на VDS-ке без него тупо не работало, видимо особенности сетевого стека.
-u использовать ICPM пакеты, аккуратнее для них часто устанавливают низший приоритет, и они "теряются"

Остальное пожалуй лучше посмотреть в документации, ещё пожалуй было бы любопытно глянуть как применяются режимы raw и отчетов, но тут уже скорее к более компетентным товарищам которые смогут красиво рассказать как это анализировать, я тут не очень силен.

08.05.2010

IPMI, KVM и другие страшные вещи

Что то давно крутится мысль написать про то как сейчас обстоит дело со всякими IPMI и IP-KVM, не то чтоб сильно глубоко, но просто я частенько сталкиваюсь, а как видно вокруг народ вроде не сильно то и в курсе как сейчас дела обстоят.
Если верить вики то стандарту уже более 10 лет, и даже его 2-й версии уже поболее 5 лет, что по компьютерным меркам срок не малый, но по моему до недавнего времени, данные железки были весьма экзотичны, ну и стоили весьма нормальных денег, ну или я был так же далек от них как и большинство народа.
Итак для прояснения ситуации для тех кому лень ходить по ссылкам, и он вдруг не слышал что за функционал предоставляют данные устройства, парой слов можно выразить так. При их помощи можно получить полноценный доступ к консоли удаленного компьютера, и полноценно управлять им, что весьма удобно для администраторов.
Раньше устройства такого типа были весьма экзотичны, и устанавливались либо в серверы высокой ценовой категории, либо выполнялись в виде отдельных устройств, которые тоже могли стоить не дешево. Сейчас же насколько я понимаю карты IPMI весьма недорогое дополнение, что то в районе 50-100$, да и внешних устройств хватает, например те же dlink или например вот у нас применяют SecureLinx Spider™.
Так как пользуюсь вышеозначенными девайсами довольно частенько, то могу высказать что наболело.
Внутренние IPMI я наблюдаю на примере того что встроено в Supermicro, у них на сайте кстати весьма неплохо все расписано, ну и вышеупомянутый SecureLinx от lantronix. Во первых конечно убивает что для работы нужа установленная Java, а это как обычно большой кусок проблем, хотя в зато вроде работает почти везде и более менее стандартно. Да есть иногда самописные программы но они рассчитаны на винду, и даже управление из консоли для альтернативных систем часто либо весьма урезано либо не тривиально. А Java нам нужна не просто так, а так как данные устройства отдают практически полноценную консоль сервера по IP, и зайти на неё можно через обычный браузер. После логина на страничке авторизации и выбора соответствующей ссылки получаем окошко аплета в котором можно получить весьма неплохой набор инструментов, для управления сервером со своего компьютера. В открывшейся консольке видно то же что и если бы мы подключились монитором, так же на сервер перенаправляется вывод клавиатуры и мышь, можно монтировать диски, и чатится во внутреннем чате, в общем крайне полезный инструмент.
Кстати при помощи IPMI можно настраивать в том числе и BIOS, ну конечно если это встроенное решение то его нужно первоначально настроить, что бы получить доступ к нему по сети, зато встроенные решения имеют больший функционал за счет большей интеграции, так с их помощью можно включать и выключать сервер, и они работаю всегда когда к серверу подведено напряжение, а не только тогда когда сервер включен.
Из минусов пожалуй стоит отметить не совсем хорошую работу с графическими режимами, мышка может быть как бы не совсем синхронна с локальной, да и отзывчивость графики не очень шустрая, при больших разрешениях картинка может вообще перестать выводится, но в текстовом режиме работать весьма неплохо. Так же есть проблемы со стабильностью удаленного монтирования iso образов, бывает и просто отваливается, а бывает и зависает, так что без переинициализации и не обойдешься, правда на работу самого сервера это не влияет. так же замечено что в более старых версиях ОС может быть очень плохая поддержка данной технологии, так как многое завязано на USB шину, так например FreeBSD стабильно начало работать с встроенными IPMI от Supermicro только с 8-й версии, у CentOS тоже были замечены проблемы с совместимостью, в общем все надо пробовать на практике.
Ну вот вроде и все о такой полезной технологии, да та же Intel довольно активно пытается продвигать аналогичные решения и для десктопных решений, видимо из маркетинговых соображений назвав её Intel vPro.

26.10.2009

Write OpenSolaris usb image

Расскажу ка я о том, как записывал образ OpenSolaris на флешку.
Казалось бы элементарная задача, тем более что есть даже специальный образ для usb-flash, но когда я попытался его применить, сразу всплыло что задача не столь тривиальна, ну или может у меня руки не оттуда растут :)
Для начала надо скачать сам образ, можно воспользоваться последним стабильным, или закачать торрент со свеженькой тестовой сборкой. Можно конечно нарезать и просто CD-диск, но работает он медленнее, да и флешка практичнее.
Однако с записью самого образа возникла проблема, простой вариант
dd if=torrent/osol-1002-125-x86.usb of=/dev/da0
заканчивался удачной записью, то есть флешка успешно монтировалась, на ней можно было видеть нужную файловую структуру, но вот не грузилась она ни в какую, почему разработчики не записывают в образ загрузчик, не понятно, для эксперименте даже скачал образ с FreeBSD 8.0-RC1, и протестировал, так же прекрасно записывается и загружается без проблем.
Дальше были попытки записать загрузчик, под FreeBSD это оказалось мало реально, grub на 64-битной системе даже не собирается, ну загрузился с диска, пробовал инсталлировать, с помощью installgrub, ничего не происходило, или приводило к неработоспособности образа.
довольно быстро была найдена инструкция от автора MilaX, с удобным скриптом инсталляции, судя по содержанию там все происходит стандартно, но он работает, да к тому же позволяет автоматизировать процесс установки, сам находит доступные флешки, и позволяет даже управлять размером занятого образом пространства, так что пожалуй полезен, только, нуждается для работы в установленном bash и grub, то есть ориентирован на ту же OpenSolaris и Linux.
В итоге флешка была легко записана, работает OpenSolaris с неё довольно быстро, да устанавливается неплохо.

10.09.2009

Технический лытдыбр

Что то опять, ничего особо не делается и не пишется, хотя потихому продолжаю эксперименты с новым сайтом, ну и соответственно с FreeBSD, в условиях довольно ограниченных ресурсов VSD. Дело это как оказалось довольно любопытно, и пожалуй стоит времени и усилий на него затрачиваемого, к тому же они пока не велики.
Итак первые результаты, оно работает, но надо бы это все наладить получше прежде чем тестировать на людях, хотя уже и открыл для гугла и яндекса индексацию, и вроде кто то уже заглядывал :)
Установил тут rrdtool, для построения графиков нагрузки, ибо lighttpd поддерживает выгрузку в его базу, но вот незадача, последняя версия rrdtool, имеет уж очень много весьма крупных зависимостей, что для не очень мощьного сервера как бы излишне, может кто читает из пользующихся, что скажете пользуетесь тем что есть, старыми версиями, или ещё как исхитряетесь. В принципе от набора нужен бы только сам rrdtool, даже пожалуй без возможности строить графики.

Так же сломал всю голову как бы приспособить mercurial, для хранения конфигов, да и самого сайта, хотя последние может и лишнее, но есть там элементы которые не бекапятся средствами самого движка. Но возникла следующая загвоздка, mercurial как я понял может работать только с файлами которые не выходят за пределы директории хранилища, ну то есть если надо поместить в хранилище /etc и /usr/local/etc, то хранилище надо располагать в корне, а остальные папки исключать по шаблонам, других вариантов пока что то не нашел. Да и что то работа с самим репозиторием пока не клеится, особенно в части работы с push/pull, создается и клонируется вроде все нормально, а вот обновится что то никак, но пока не сильно экспериментировал, все пытаюсь понят,ь как же все таки организовать.

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

29.07.2009

Ivan Voras, новости проекта и может ещё чего

Как то весьма малое освещение получила, да пожалуй почти статья, Ivana Vorasa о планируемых нововведениях в предстоящем релизе. В общих чертах, похоже на то что релиз готовит просто таки гору новых возможностей, и развитие имеющихся. Для начала приведу вольный перевод с некоторыми своими комментариями, ну а под конец немного добавлю отсебятины :)
Итак если кто не следил за тем что происходило с проектом FreeBSD, рекомендуется ознакомится со следующим списком:
Что происходит в 7-STABLE статья Ivan Voras,
UPDATING файл к текущему релизу, содержит записи о низкоуровневых изменениях,
Квартальные отчеты, за прошедшее время
Кстати странно отчета за второй квартал не видно, хотя они вроде частенько выходят с задержкой,
Ну и так же можно почитать листы рассылок и блоги разработчиков, есть еще агрегатор блогов, поддерживаемый Florent Thoumie, от официального отличается пожалуй поддержкой тегов, что может иногда пригодится.

INET-less / IPv6-only kernel

Status: в стадии разработки, в основном работает
Will appear in 8.0: скорее всего нет
Authors: Bjoern Zeeb and others
Web: mailing list announcement

Как я понимаю речь идет о разделении кода ядра, необходимого для функционирования сетевой подсистемы, в IPv6 и IPv4 сетях, в настоящий момент, при удалении из ядра поддержки INET (IPv4), многое перестает функционировать. Большие подробности вероятно будут позже, но в листе рассылки как то обсуждение не началось.

CLANG / LLVM compiler

Status: Экспирементальное, но работает. Высокая степень мотивации.
Will appear in 8.0: нет
Authors: Roman Divacky, Pawel Worach, Ed Schouten and others
Web: LLVM, CLANG, FreeBSD wiki, mailing list announcement

Тут все более менее очевидно, работа по отказу от GCC, активизировалась после известия о том что после версии 4.2 схема его лицензирования меняется на GPLv3, что является неприемлемым для некоторых коммерческих пользователей, поэтому версия 4.3, не будет включена в основную систему, и базовая система в дальнейшем будет собираться с помощью LLVM, но это касается только базовой системы, так как софт находящийся в системе портов часто сильно завязан на использование GCC. Как показали эксперименты, система уже сейчас довольно успешно собирается, новым компилятором, но по умолчанию пока будет поставляться с GCC.

Параллельная сборка портов.

Status: Включено
Will appear in 8.0: Обязательно
Authors: Pav Lucistnik and a cast of thousands
Web: mailing list

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

Better handling of mounted device removals

Status: Включено в -CURRENT, MFCed
Will appear in 8.0: Обязательно
Author: Edward Tomasz Napierala
Web: FreeBSD Foundation Projects
Исправлены проблемы приводящей к панике, при обращении к извлеченной, не отмонтированной ФС, работает уже сейчас. На эту проблему поступало очень много жалоб пользователей, исправлено при финансировании FreeBSD foundation.

Jails v2

Status: Включено в -CURRENT, MFCed
Will appear in 8.0: Обязательно
Author: Bjoern Zeeb and others
Web: commit message

В подсистему jail, внесено множество изменений, теперь возможно назначать несколько IP адресов, IPv6 и SCTP, вложенные jail, стоит отметить что некоторые были раньше доступны как доработки коммерческих компаний. Обещана возможность управления ФС из jail, при помощи новых свойств ZFS.

Новый USB стек

Status: Включено в -CURRENT
Will appear in 8.0: Обязательно
Author: Hans Petter Selasky
Web: announcement, SVN message

Новый USB стек, добавлено нового функционала, и решены некоторые проблемы старой реализации, подробности можно посмотреть в сообщениях SVN.
Новый стек использует старые имена устройств, для увеличения обратной совместимости.

MPSAFE TTY

Status: Включено в -CURRENT
Will appear in 8.0: Обязательно
Author: Ed Schouten
Web: wiki page

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

Увеличение лимита памяти ядра для AMD64

Status: Включено в -CURRENT, MFCed
Will appear in 8.0: Обязательно
Author: Alan Cox
Web: announcement, SVN commit

Для некоторых новых функций требовалось увеличить память ядра, в том числе для ZFS, раньше она была ограничена 2 GB для kmem_max, теперь она расширена до 512 GBю

Kernel threads

Status: Включено в -CURRENT
Will appear in 8.0: Обязательно
Author: Julian Elischer
Web: commit message

Оптимизация подсистемы Kernel threads, позволит более наглядно группировать нити.

procstat(1): A process inspection utility

Status: Включено в -CURRENT
Will appear in 8.0: Обязательно
Author: Robert Watson
Web: announcement

Утилита призванная заменить procfs(4), и добавить новый функционал, в основном эта утилита будет полезна для отладки.

TextDumps: сбор информации, после паники ядра

Status: Включено в -CURRENT, MFCed
Will appear in 8.0: Обязательно
Author: Robert Watson
Web: Q&A on textdumps

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

ULE 3.0: Новая версия SMP-оптимизированного планировщика

Status: Включено в -CURRENT
Will appear in 8.0: Обязательно
Author: Jeff Roberson
Web: commit message, commit message, announcement

Эволюция планировщика ULE, добавляет новые возможности, в том числе позволит выделять ограниченные ресурсы отдельным jail, улучшена производительность.

DTrace

Status: Включено в -CURRENT (kernel trace only)
Will appear in 8.0: обязательно
Author: John Birrell
Web: project web page

Кстати а кто нибудь пользовался на amd64 системах, а то у меня так что то и не вышло, ни разу, все ошибки выдавал.

VirtNet / VIMAGE / Imunes / Виртуализация сетевого стека

Status: Завершающая стадия разработки
Will appear in 8.0: Обязательно
Author: Marko Zec
Web: project web page

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

Multiple routing tables / FIBs

Status: Committed to 8-CURRENT
Will appear in 8.0: sure
Authors: Julian Elischer
Web: proposal

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

NFSv4 support

Status: В разработке
Will appear in 8.0: Обязательно
Author: Rick Macklem
Web: call for testing

Новая реализация NFS стека, в том числе полная поддержка NFSv4.

Эксперементальный, новый драйвер для AHCI

Status: Включено в -CURRENT, экспериментальный
Will appear in 8.0: Обязательно
Author: Scott Long & others
Web: commit message

Новый драйвер будет отключен по умолчанию в 8.0, запланирована поддержка AHCI через CAM, была интегрирована поддержка нового функционала, такого как NCQ.

gvinum 2

Status: Включено в -CURRENT
Will appear in 8.0: обязательно
Author: Ulf Lilleengen
Web: commit message, commit message

Новая реализация vinum поддерживает JBOD, RAID 0, RAID 1 и RAID 5, в том числе решены многие проблемы старых реализаций, и добавлена поддержка новых технологий.

GEOM_PART becomes the default slicer

Status: Включено в -CURRENT
Will appear in 8.0: Обязательно
Author: Marcel Moolenaar & others
Web: commit message

Новый класс GEOM и новые утилиты для поддержки множества схем разметки (MBR, BSD, GPTи т.д.).
Предостережение: при обновлении могут быть переименованны некоторые разделы, так же старые утилиты не поддерживают некоторые схемы.

Поддержка загрузки с GPT разделов

Status: Включено в -CURRENT
Will appear in 8.0: Обязательно
Author: John Baldwin
Web: commit message

bsdlabel расширенная поддержка до 26 разделов

Status: Включено в -CURRENT
Will appear in 8.0: Обязательно
Author: Marcel Moolenaar
Web: commit message

bsdlabel теперь поддерживает до 26 разделов, необходимо включение GEOM_BSD в ядро.

ProPolice SSP (stack-smashing protection)

Status: Включено в -CURRENT
Will appear in 8.0: Обязательно
Author: Jeremie Le Hen

Увеличение безопасности, тут я совсем не специалист, так что кому интересно сами почитайте :)

Так же ожидается еще ряд, более мелких изменений и дополнений, ну и я кое что там пропустил, правда немного.
  • User-controllable CPU/IRQ binding (jhb)
  • User-controllable CPU-thread binding with support for CPU sets (jeffr)
  • RDMA (Remote DMA) support for InfiniBand
  • ZFS updated to at least zpool format 13 (from 6), with most (if not all) problems in the previous implementation fixed (pjd, kip), MFC-ed
  • Increased the maximum number of groups a user may belong to (NGROUPS) to 1024 by default, in a way that allows further extension if needed. (brooks)
  • Started upgrade of syscons renderer to support UTF-8 (ed)
  • Imported new version of OpenBSM (rwatson)
  • Support for more ARM / Xscale platforms
  • Imported makefs utility from NetBSD (sam)
  • Support for SYSVSHM segments larger than 2 GB on AMD64 (kib), MFC-ed
  • New network ARP code
  • Wireless Virtual AP (aka VAP, aka "virtual WiFi") mode (sam)
  • tcpdump updated to 4.0 (note: new output format) (rpaulo)
  • Performance improvements, mostly for SMP scalability
  • Support for the Intel Nehalem / Core i7 platform (jeffr), MFC-ed
  • New import of ACPICA (jkim)
Вот такой нехилый списочек получился, так же рекомендую заглянуть на вики страничку, там тоже есть список обновлений, со степенью готовности, и перспективами включения в релиз, обновляется правда не совсем своевременно, но лучше чем ничего. А так все по старому следим за рассылками, и обновляемся и тестим, кстати релиз все таки задерживается, даже перенос сроков выхода BETA-3 на неделю, не помог пока, но это просто констатация, в свете того что многие пишут новости ориентируясь на это расписание с планируемой датой релиза на начало сентября, они как то забывают что частенько релиз задерживается так как во главу угла поставлена стабильность а ни какие то сроки, а тут ещё перед самым релизом внесли довольно много нововведений, да и сейчас вносят.
Да если кто то, все таки осилит прочесть, эту портянку, и увидит дикие логические или еще какие ошибки, отписывайтесь, постараюсь поправить, ну или поизучить предмет поглубже, чтоб не делать их в дальнейшем :)

26.07.2009

Утренний лытдыбр

Для начала про нововведения тут, прикрутил ссылки добавления постов в закладки, ну а чë у всех есть а мне все лень, хотя сам не пользуюсь но вдруг кому пригодится, да и просто интересно было, прикручивается элементарно, делал вот по этой инструкции, там даже есть генератор шаблона, с кучей импортных социальных и закладочных сервисов, хотя нет это из какой то другой статьи, а ладно вдруг кому пригодится.
Потом в первом приближении добил moinmoin, до юзабельного состояния, более менее разобрался с принципом работы, надо ещë найти сил, и сформулировать основные концепции сайта, и можно будет хотя бы здесь дать ссылочку, и начинать что нибудь туда графоманить :)
Кстати на форуме у Лиссяры подкинули сегодня любопытную загадку
Как удалить файл с именем "------ Name (2004) ------.mp3" ?
%rm "------ Name (2004) ------.mp3"
rm: illegal option -- -
usage: rm [-f | -i] [-dIPRrvW] file ...
unlink file
В принципе ничего особо сложного, подобные примеры попадаются наверное в большинстве нормальных книжек, по принципам работы с шелом, в *nix подобных ОС. И даже как не странно именно подобный случай рассмотрен в man rm, причем довольно подробно и с примерами, ну тут пожалуй играет роль то что природа действия не так уж тривиальна, в итоге решение как и ожидалось просто
> tar cvf "------ Name (2004) ------.mp3" ../pkg_desk
a ../pkg_desk
> ls
------ Name (2004) ------.mp3
> rm "./------ Name (2004) ------.mp3"
> ls
>
Ну вот примерно так, хотя может это решение и не блестяще, если кто подскажет почему его стоит переделать, будет интересно послушать. Кстати в примере есть и способ создавать файлы с любым именем, ибо насколько я понял, tar просто берет переданный в качестве имени набор, и присваивает его имени файла :)
Но как не странно этот случай продемонстрировал ещë раз что полно людей не хотящих думать и читать man, даже после моей подсказки, но пока без готового решения, человек решил еще повыспрашивать, и потом воспользовался весьма абсурдным советом применить для этого perl, нет ну оно конечно тоже может иметь применение, но по моему излишне.
Кстати тут наткнулся на блог Юрия Воинова, очень интересно пишет, и по моему весьма обоснованно. Хотя статьи не маленькие но почитать стоит, и в том числе что бы не подтверждать тезисы из его статьи "Многабукф. Ниасилил!", тенденция такая и правда есть, да что греха таить, я сам иногда ленюсь, но стараюсь исправится, там у него ещë хватает статей и философского характера, и весьма своеобразных взглядов на современные технические решения, да и просто про Solaris и ZFS, а главное их "живое" применение там можно прочесть много интересного, так что весьма рекомендую. побольше бы таких блогов, глядишь и как то стало бы ..., в общем лучше больше :)

19.04.2009

SysInfo: набор скриптов для сбора информации о системе

Обещал написать вчера, но что то не сложилось :)
Итак несколько дней назад, на официальном форуме, появился набор скриптов SysInfo: для сбора статистики о системе, авторства danger@, мне показалась интересной идея и незамедлительно скачав последнюю на тот момент версию sysinfo-150409.tar.gz, распаковал ее и испробовал.
В принципе идея интересная, видел когда то подобный скрипт во время разбора взломанной машины, там его вывод отправлялся на почту, надо кстати найти что ль его в архивах . Ну ладно отвлекся, немного о впечатлениях от работы с SysInfo.
Ну разобраться несложно так как после распаковки, и запуска без параметров выводится довольно таки информативная подсказка:
SysInfo v0.6 by Daniel Gerzo for FreeBSD Operating System
Usage: sysinfo [-a] [-c] [-h] [-v [level]] module
The following options are available
-a Display complete system information
-c Disable colorful output
-h Print this help
-v [level] Verbose level (0-1), default is 0 (no verbose output)
module Display system information related to specified subsystem type.
The following values are supported:
cpu CPU details
mem Memory details
os Operating system details
storage Details about storage system
network Network-related details
services Information about system services
packages Information about installed packages
misc Miscellaneous information
./sysinfo: ERROR: Not enough arguments provided.
Тоесть видно какие ключи поддерживаются и как их указывать, в принципе для сбора полной статистики достаточно указать один ключ -a, остальные можно указать по вкусу.
Однако применение той же расцветки по умолчанию, не самый наверное логичный вариант, да к тому же как указывает "Анонимус", в комментариях к прошлой записи, реализован он не совсем прямо.
Из замеченных недостатков, пожалуй то что нельзя указывать ключи подряд, если кто знает как реализовать этот способ на sh, то пожалуй стоит подкинуть ссылку в основное обсуждение, ибо danger@ сослался на то что он не знает как реализовать. Ну и похоже на системах с установленным CURRENT скрипт не совсем корректно работает в секции Services status
# sh -x ./sysinfo -a -v 1
...
Cannot 'status' kpasswdd. Set kpasswdd_server_enable to YES in /etc/rc.conf or use 'onestatus' instead of 'status'.
ps: illegal argument: to
...
Cannot 'status' yppasswdd. Set nis_yppasswdd_enable to YES in /etc/rc.conf or use 'onestatus' instead of 'status'.
ps: illegal argument: to
...

при указании ключа для вывода подробной статистики, как видно иногда неправильно обрабатывается ps, причем ошибка появляется устойчиво, но похоже на системах отличных от CURRENT не возникает.
Еше пожалуй следует отметить, что пока о пакетах выводится лишь общая информация, то есть сколько установлено, и какие утилиты смотреть подробнее. Но если учесть модульность то можно без труда добавить и подробную выборку.
Да скрипт работает в принципе не торопливо, но так ли это важно при задаче узнать максимум сведений, о вероятно не известной системе :)
Так что всем кому интересен вопрос наверное стоит присоединится к обсуждению, на форуме, автор там бывает, и в принципе вроде готов править то да се. А вообще наверное не плохо было бы иметь такую утилиту в системе на только на основе sh но и в какой то более серьезной реализации, может тогда и скорость работы повысится, и некоторые косяки пропадут.

UPD: а тем временем вышла версия SysInfo 0.8.1, которая стала работать корректно на CURRENT, ну по крайней мере у меня ошибок, больше пока не нашлось, так что тестим, новую версию, и отписуемся, о пожеланиях и замечаниях, в форум :)

UPD2: теперь утилита доступна в портах sysutils/sysinfo

17.12.2008

Программки

Последние время довольно таки часто под руку попадаются маленькие, но от этого не менее полезные программки.
1. cpubar- показывает информацию о вашем процессоре, крайне проста и выдает много информации о процессоре, но по моему оптимизирована под процессоры Intel, о её существовании подсказал загадочный "Гость" с форума lissyara.su
2. IPFW grapher как видно из названия отображает активность ipfw в графическом виде, взята как и предыдущий тест на сайте у Edwin Groothuis
3. freebsd-memory и freebsd-irqs перловые скрипты показывающие статистику использования памяти и irq, на страничке Ralf S. Engelschall есть и другие интересные идеи так что советую посетить.
И вообще общая мысль которую хотелось выразить не стесняйтесь искать, и пробовать, а возможно и писать пусть и небольшие, но вполне возможно кому то как и вам нужные утилиты, в конце концов если бы не похожий подход возможно и не было бы опенсорц сообщества :)

UPD: тут в комментариях посоветовали вместо cpubar использовать sysutils/x86info, попробовал, и в принципе согласен, дает побольше информации и главное более структурированно, но немного больше в размере, зато ставится из портов :)

16.12.2008

Задумки, и мысли

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

Все довольно просто, заодно решил потестить возможности роутера по поддержке VLAN, может еше чего прикручу, есть конечно жуткое желание пересобрать ихний линукс, но для этого видно надо поднять виртуалку(ну не ставить же ради этого линукс на железо), можно попробовать еше как поведет себя эта железка с новым FreeBSD MIPS ядром но пока все никак порт не припаяю, ибо выяснилось что нужен переходничек на микросхемке а за ней ехать надо да все никак.
Итак если кому интересна задумка, пока планирую получать Интернет от Корбины (облачко на схеме) роутер получает адрес по DHCP, и по VLAN2 это дело будет поступать на сервер, там планирую поднять таки mpd5 с l2tp и настроить как нибудь интересно фаерфол, ну и сервисы по потребностям, а уже оттуда нормальный интернет раздавать во VLAN1, к которому и будут подключены остальные потребители, пока это конечно один ноут, но ещё есть железки в доме :)
Вот такая вот задумка, правда пока все упирается в то что mpd удается заставить работать только с pptp что не совсем оптимально, или из-за самого протокола то ли из-за того как у меня настроено, но работает оно в таком режиме не слишком хорошо например при реконекте не убивает старый маршрут, в итоге соединение автоматически не подымается, как побороть пока не нашел, если честно искал не сильно, но надо бы наладить а то уже третья неделя пошла, а проблема не решена, не хорошо как то. Есть конечно вариант, помучать старенький dlink di-524 он вроде как должен уметь сам тоннель держать, но там есть ряд других загвоздок, ну во первых бросать задачку не хорошо (хуже чем откладывать в долгий яшик:), во вторых там железная основа слабенькая, помнится когда только реализовали l2tp, народ на форумах жаловался на тормознутость, да и были жалобы что на WAN он что ли 2Мб может всего отдать что как то не серьезно, в общем попробовать конечно можно но как то пока больше против чем за.
Да если кому интересно то при подготовке иллюстрации использованы
  • dia - для рисования иллюстрации
  • xv - смотрения результата, попутно устанавливания обоины
  • ida - для легкой обрезки скриншота
  • printscreen - для получения скриншота, а то распечатку с виртуального принтера dia не удалось ничем быстро и просто обработать :)
ну вот вроде и все пока, если кто что подскажет по теме буду благодарен, особенно про mpd толковое бы руководство не помешало, ибо есть мысли его использовать не только как примитивную звонилку, я конечно соберусь и прочту документацию и попытаю гугль но вдруг у кого есть стоящие закладки ;)

22.09.2008

А тем временем в Мире...

У нас вроде все пока спокойно, а вот судя по новостям в мире FreeBSD жизнь бьёт ключом.
В пятницу в рассылке FreeBSD-Announce появилось сообщение о завершении очередного Summer of Code из которого можно узнать много любопытных фактов, дальше пойдёт вольный перевод, мест наиболее мне интересных, может решусь и на полный перевод ибо документ довольно интересный а русскоязычной его инкарнации мы вряд ли дождёмся :(
Успешно завершился очередной Summer of Code, это проект который поощряет студентов под руководством наставников внести вклад в развитие открытых проектов, в течении летних каникул, и щедро финансируемый Google.
За 2005 - 2008 годы, в рамках этой программы, было выполнено более 70 студенческих работ, для сообщества FreeBSD. Многие студенты и по окончании конкурса продолжают работать с системой FreeBSD, этим летом благодаря данной программе сообщество получило около дюжины коммитеров.
Информацию о работах можно получить на Wiki проекта, так же весь код проверяется в системе Perforce.
Пожалуй стоит присоединится, и поблагодарить участников проекта за их вклад в развитие FreeBSD.
В 2008 году были представлены следующие проекты:
       1. Implementation of MPLS on FreeBSD
* Project: Внедрение MPLS во FreeBSD
Student: Ryan French
Mentor: Andre Oppermann
Готовность к внесению в CVS/SVN: Нет
2. TCP/IP regression test suite (tcptest)
* Project: TCP/IP regression test suite (tcptest)
Student: Victor Hugo Bilouro
Mentor: George V. Neville-Neil
Links:
http://wiki.freebsd.org/VictorBilouro/TCP-IP_regression_test_suite
(project wiki)
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/soc2008/bilouro_tcptest/src
(freebsd repository)
http://code.google.com/p/tcptest/ (source code download)
http://bilouro.com/tcptest (source code documentation)
http://pcs.sf.net - Packet Construction Set
3. Перенос Open Solaris Dtrace Toolkit во FreeBSD
* Project: Перенос Open Solaris Dtrace Toolkit во FreeBSD
Student: Liqun Li
Mentor: John Birrell
Очень полезный проект, возможно в будушем позволит выявлять узкие места в реальных приложениях.
Главной задачей является нахождение зависимости между датчиками FreeBSD и Open Solaris,
и дописать те аналогов которых не найдено. По выражению студента ему очень понравилось
разбираться и кодировать (hacking/coding) для ядра.
Готовность к внесению в SVN/CVS: не решено
4. Adding .db support to pkg_tools --> pkg_improved
* Project: Adding .db support to pkg_tools --> pkg_improved
Student: Anders Nore
Mentor: Florent Thoumie
Цель проекта добавление поддержки формата .db для повышения производительности системы.
Так же введение новых функций и опций в систему управления пакетами.
Кроме того были обнаружены, и устранены две существующих ошибки в pkg_tools
5. Перенос под BSD-лицензию инструментов обработки текста из OpenBSD
* Project: Porting BSD-licensed text-processing tools from OpenBSD
Student: Gábor Kövesdán
Mentor: Max Khon
В рамках проекта grep наиболее совмести с GNU версией хотя есть различия,
в трактовке регулярных выражений, в следствии их различной трактовки.
В отношении diff был достигнут некоторый прогресс, но пока некоторые возможности не доступны.
Утилитам сортировки к сожалению было уделено мало внимания, так как основные усилия были
сосредоточенны на grep и diff.
Готовность к внесению в SVN/CVS: Если согласится с различием в трактовке регулярных
выражений то grep готов для включения после тестирования, diff и sort доступны в портах.
6. Multibyte collation support
* Project: Multibyte collation support
Student: Konrad Jankowski
Mentor: Diomidis Spinellis
подробности доступны на Wiki проекта.
Готовность к внесению в SVN/CVS: после тестирования и очистки кода проект готов.
7. VM Algorithm Improvement
* Project: VM Algorithm Improvement
Student: Mayur Shardul
Mentor: Jeff Roberson
Готовность к внесению в SVN/CVS: (насколько я понял пока нет)
8. TCP anomaly detector
* Project: TCP anomaly detector
Student: Rui Paulo
Mentor: Andre Oppermann
Проект по обнаружению ошибок в TCP пока в активной разработке.
дополнительные сведения по проекту можно найти в блоге автора, и на Wiki.
Готовность к внесению в SVN/CVS: нет
9. FreeBSD auditing system testing
* Project: FreeBSD auditing system testing
Student: Vincenzo Iozzo
Mentor: Attilio Rao
10. Dynamic memory allocation for dirhash in UFS2
* Project: Dynamic memory allocation for dirhash in UFS2
Student: Nick Barkas
Mentor: David Malone
Текушие состояние проекта можно наблюдать на Wiki
11. Reference implementation of the SNTP client
* Project: Reference implementation of the SNTP client
Student: Johannes Maximilian Kühn
Mentor: Harlan Stenn
Проект по созданию клиента для синхронизации NTP серверов, сетевой код написан абстрактно,
и должен работать как при IPv4 так и с IPv6 протоколами, так же поддерживается MD5 для аутентификации.
Готовность к внесению в SVN/CVS: пока не решено.
12. NFSv4 ACLs
* Project: NFSv4 ACLs
Student: Edward Tomasz Napierala
Mentor: Robert Watson
Реализация списков прав доступа ACLs для сетевой файловой системы NFSv4
Готовность к внесению в SVN/CVS: нет
13. Enhancing FreeBSD's Libarchive
* Project: Enhancing FreeBSD's Libarchive
Student: Anselm Strauss
Mentor: Tim Kientzle
Добавление в библиотеку Libarchive новых функций, работа будет продолжаться.
Готовность к внесению в SVN/CVS: нет
14. Allowing for parallel builds in the FreeBSD Ports Collection
* Project: Allowing for parallel builds in the FreeBSD Ports Collection
Student: David Forsythe
Mentor: Mark Linimon
Добавление в систему портов, функционала для возможности параллельной сборки.
Готовность к внесению в SVN/CVS: наверное нет
15. Ports license auditing infrastructure
* Project: Ports license auditing infrastructure
Student: Alejandro Pulver
Mentor: Brooks Davis
Внесение в систему портов возможности указания типа лицензии, возможно не одной для каждого проекта (AND, OR)
работа будет продолжена после окончания конкурса информации о проекте на Wiki
Готовность к внесению в SVN/CVS: нет
16. Improving layer2 filtering
* Project: Improving layer2 filtering
Student: Gleb Kurtsou
Mentor: Andrew Thompson
Улучшение фильтрации фаерволов, подробности доступны в блоге автора.
Готовность к внесению в SVN/CVS: не сейчас, однако diff вынесен в freebsd-net@ для
публичного обсуждения.
17. Porting FreeBSD to Efika (PPC bring up)
* Project: Porting FreeBSD to Efika (PPC bring up)
Student: Przemek Witaszczyk (vi0@)
Mentor: Rafal Jaworowski (raj@)
Проект по портированию FreeBSD на MPC5200B пока многое не закончено, но кое что уже работает
подробности доступны на Wiki и в блоге автора.
Готовность к внесению в SVN/CVS: не сейчас, по крайней мере пока не будет PIC драйвера
18. Audit Firewall Events from Kernel
* Project: Audit Firewall Events from Kernel
Student: Diego Giagio (diego@)
Mentor: Christian Peron (csjp@)
Часть проекта TrustedBSD, подробности доступны на Wiki, автор собирается продолжить развитие,
и в дальнейшем работать над проектом TrustedBSD
Готовность к внесению в SVN/CVS: пока не определена,возможно некоторые части.
19. ShinyBSD
* Project: Create a tiny operating system from FreeBSD
Student: James Harrison
Mentor: Warner Losh (bsdimp@)
Создание мини ОС на основе FreeBSD подобной TinyBSD
Готовность к внесению в SVN/CVS: пока нет, хотя когда будет создан Makefile бало бы неплохо
добавить его в базовую систему.

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

09.09.2008

И снова про девайсину

Кто о чем а я о новой железке, впечатления крайне двойственные, м одной стороны когда она работает то работает стабильнее и быстрее длинки, чего в принципе и ожидалось, но переодически происходят крайне загадочные сбои то конект теряется то еше какая беда, грушу на кривость прошивки, хотя и обновился до самой новой но она забавная например когда смотриш какие компы получили ДХЦП адреса то место имен стоит время, оно даже идет видно как бегут секунды :) хотя на прошивке с которой продавался такого не было.
Скачал исходники поглядел что внутри и стало очень даже не по себе ибо как я понял внутри полная софтовая солянка на основе линупса с ядром 2.4 что то, на нго навернута OpenWRT и еше куча всяких прелестей, хотя на оф сайте эту железку как бы не сильно поддерживают, по крайней мере прошивки готовой нет, то биш я так понимаю Linksisовцы что то в нем докрутили, вопрос на сколько удачно.
Как уже вчера упомянал поставил Nagios после небольших изврашений и мучения себя и выше названного пакета все таки заставил его работать, не совсем нормально но в обших чертах мониторит, до этого я его пробовал немного но в предыдушей ветсии было попроше как то.
А тут вчера запустил сделал основные настройки и опа а ничего не показывает, излазил все что можно врубил дебаг, и тут натолкнулся на веселую переменную которая ответственна за разделение прав доступа, после ее отключения все сразу заработало, конечно это не совсем верно ее отрубать но пока так сойдет, а вобше надо просто настроить апач на бейсик авторизацию и ее можно будет включить. Но если кто будет мучатся учтите что по дефолту не залогиненному юзеру ни фига не показывается и сколько не мудри с конфигами ничего не видно, девайсов в статистике просто не появляется, а во второй версии по моему не было такой паранои.
Так же немного разобрался с получением статуса с маршрутизатора по SNMP в обшем работает ну только осталось решить что и как мониторить, хотя тоже немного помучился. А вот логи почему то в сислог не сыпятся хотя настройки вроде все установил как надо, наверное придется снифать что там ходит по сети, может оно идет куда не туда, или я чего не так делаю, заодно потренируюсь в таких делах.
Если кому что интересно конкретнее пишите, остановлюсь поподробнее, а вобше наверное напишу поращвернетее когда поднастрою получше так как на русском по теме материалов крайне не много.

16.06.2008

Очередной приступ графоманства

Задумал обновить порты на ноуте, и вспомнил что вчера на BSD Geek видел любопытный скриптик для наблюдением за статусом обновления, решил проверить, и оказалось что скрипт чудестно работает и дает давольно полезную информацию во время портапгрейда, как наверное известно многим это процесс обычно продолжительный, однообразный и мало понятно сколько еше стремяшийся продолжить.
Итак вот тут можно увидить сам скрипт, вывод не то чтоб сильно информативен, но с другой стороны давольно полузную выглядит вот так, кому понравится советую попробовать.
> ./portstatus.sh
Portupgrade status:

Start time: Jun 15 2008 23:19:21 - (01:22:21)
Updating port: [7/7] - xorg-serve

15.06.2008

nbosd и забавный сайт

Установил утилитку которая выводит состояние батарее и процессора в виде OSD на дисплей, если кто не в курсе это так красивенько однотонно над картинкой типа меню в телевизоре, да зовется чудо инженерной мылси sysutils/nbosd. И может и не заслуживала она бы особого внимания если бы не стало мне так вдруг интересно а кто ее разработал, глянул я знаяит в Make файл и нашел там ссылочку на сайт разработчика, а сайт весьма любопытный ну чего стоит одно название BSD Geek как можно мимо такого пройти, кстати там есть несколько любопытных скриптов и конфигов для пользователей БСД, так что рекомендую заглянуть на досуге вдруг что интересное кто и для себя подглядит.
А я таким вот нехитрым способом еше немного посадил батарейку в ноуте, и продолжаю ждать пока новая утилитка объявится на экране с сообшением что батарейки скоро кирдык, вот так и тестируею :)

13.06.2008

Wi-Fi, freebsd, WPA2

Дошли мои шаловливые ручки наконец то до Wi-Fi в ноутбуке и его совместной работы с роутером, эх как все хорошо в опенсолярисе всплыло окошко выбрал сеть ввел пароль и работай :) Во FreeBSD все оказалось куда хитрее и заковырестее, для начала Wi-Fi сетевушка просто не определилась и
#pciconf -lv
none0@pci0:2:0:0: class=0x028000 card=0x10418086 chip=0x42228086 rev=0x02 hdr=0x00
vendor = 'Intel Corporation'
device = '10418086 Intel 3945ABG Wireless LAN controller'
class = network
#kldload if_wpi
wpi0@pci0:2:0:0: class=0x028000 card=0x10418086 chip=0x42228086 rev=0x02
hdr=0x00
vendor = 'Intel Corporation'
device = '10418086 Intel 3945ABG Wireless LAN controller'
class = network
Правда компетентные источники в лице интернета еше советуют подгрузить модуль wpifw.ko и прописать в loader.conf строчку legal.intel_wpi.license_ack=1.
После этих хитрых операций можно наблюдать радостное событие в ifconfig появляется заветная секция
wpi0: flags=8802 metric 0 mtu 2290
ether 00:19:d2:d4:65:0a
media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
status: no carrier
вроде бы все хорошо и можно пробовать запускать wpa_supplicant благо конфиг для него сделать не проблемма примерами кишит и интернет, да и в мане они хорошо расписаны но не тут то было при вводе команды
# wpa_supplicant -BDbsd -i wpi0 -c/etc/wpa_supplicant.conf -dd
Initializing interface 'wpi0' conf '/etc/wpa_supplicant.conf' driver 'bsd' ctrl_interface 'N/A' bridge 'N/A'
Configuration file '/etc/wpa_supplicant.conf' -> '/etc/wpa_supplicant.conf'
Reading configuration file '/etc/wpa_supplicant.conf'
ctrl_interface_group='0' (DEPRECATED)
eapol_version=1
ap_scan=1
fast_reauth=1
Line: 5 - start of a new network block
ssid - hexdump_ascii(len=4):
66 72 65 65 free
scan_ssid=1 (0x1)
proto: 0x2
key_mgmt: 0x2
pairwise: 0x10
group: 0x10
PSK - hexdump(len=32): [REMOVED]
Priority group 0
id=0 ssid='free'
Initializing interface (2) 'wpi0'
EAPOL: SUPP_PAE entering state DISCONNECTED
EAPOL: KEY_RX entering state NO_KEY_RECEIVE
EAPOL: SUPP_BE entering state INITIALIZE
EAP: EAP entering state DISABLED
EAPOL: External notification - portEnabled=0
EAPOL: External notification - portValid=0
ioctl[SIOCG80211, op 98, len 3076]: Invalid argument
wpa_driver_bsd_init: failed to get device capabilities: Invalid argument
Failed to initialize driver interface
Failed to add interface wpi0
Cancelling scan request
Cancelling authentication timeout
итого не фига не работает, да ключик -dd как раз нам дает расширеную диагностику иначе мы бы увидели только строчку ioctl[SIOCG80211, op 98, len 3076]: Invalid argument которая не сильно информативна, и тут нам на помошь опять пришел всезнаюший интернет и оказалось что для счастья надо запустить влан, для этого выполняется нехитрая команда
# ifconfig wlan0 create wlandev wpi0
# wpa_supplicant -BDbsd -i wlan0 -c/etc/wpa_supplicant.conf -dd
Initializing interface 'wlan0' conf '/etc/wpa_supplicant.conf' driver 'bsd' ctrl_interface 'N/A' bridge 'N/A'
Configuration file '/etc/wpa_supplicant.conf' -> '/etc/wpa_supplicant.conf'
Reading configuration file '/etc/wpa_supplicant.conf'
ctrl_interface_group='0' (DEPRECATED)
eapol_version=1
ap_scan=1
fast_reauth=1
Line: 5 - start of a new network block
ssid - hexdump_ascii(len=4):
66 72 65 65 free
scan_ssid=1 (0x1)
proto: 0x2
key_mgmt: 0x2
pairwise: 0x10
group: 0x10
PSK - hexdump(len=32): [REMOVED]
Priority group 0
id=0 ssid='free'
Initializing interface (2) 'wlan0'
EAPOL: SUPP_PAE entering state DISCONNECTED
EAPOL: KEY_RX entering state NO_KEY_RECEIVE
EAPOL: SUPP_BE entering state INITIALIZE
EAP: EAP entering state DISABLED
EAPOL: External notification - portEnabled=0
EAPOL: External notification - portValid=0
Own MAC address: 00:19:d2:d4:65:0a
wpa_driver_bsd_set_wpa: enabled=1
wpa_driver_bsd_set_wpa_internal: wpa=3 privacy=1
wpa_driver_bsd_del_key: keyidx=0
wpa_driver_bsd_del_key: keyidx=1
wpa_driver_bsd_del_key: keyidx=2
wpa_driver_bsd_del_key: keyidx=3
wpa_driver_bsd_set_countermeasures: enabled=0
wpa_driver_bsd_set_drop_unencrypted: enabled=1
Setting scan request: 0 sec 100000 usec
Added interface wlan0
Daemonize..

И как видно все запускается, но вот интерфейс продолжает пребывать в статусе status: no carrier
так что вайфая пока нет хотя команда
# ifconfig wlan0 list scan
SSID BSSID CHAN RATE S:N INT CAPS
free 00:1b:11:fb:2f:b4 1 54M 29:0 100 EPS WPA RSN
как и ожидается выдает полную подноготную моей точки доступа, ладно буду думать дальше, видно что то упустил.
Заодно возник вопрост с роутингом, ибо по дефолту он выглядит так
# netstat -rn
Routing tables

Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.102.2.65 UGS 0 1099 fxp0
а надо бы что бы интерфейсом стал wlan0 ну пока дошел до такой команды
#route change default -iface wlan0
но пока соединение не налажено так что проверить ее работоспособность до конца не удается.

27.04.2008

IPFW & routing

Раньше я использовал IPFW для 1 сетевой карточки, со стандартными конфигами из хандбука, и в принципе был счастлив, ну добавлял в него пару тройку правил по портам чтоб он соответствовал моим потребностям и не парился.
А тут захотелось мне разобраться что есть роутинг, нашел вторую сетевушку воткнул, включил в ядре и в rc.conf все что надо, и думал легко отделаться от IPFW добавив в него одно два правила, но не тут то было оказалось что придётся вникать в то как это работает иначе ничего не работает.
Итак моя схема выглядит так:
интернет(192.168.1.1) -> (192.168.1.2, nfe0)мой комп(шлюз)(10.2.2.1,xl0) -> (10.2.2.2)ноут
для ее реализации пока сотворил такой файл правил для IPFW
################ Start of IPFW rules file
# Flush out the list before we begin.
ipfw -q -f flush

# Set rules command prefix
cmd="ipfw -q add"
pif="nfe0" # public interface name of NIC
# facing the public Internet
lif="xl0" # local interface name of NIC
# facing the private network

#################################
# NAT
#################################
$cmd 00001 divert natd ip from any to any out via $pif
$cmd 00002 divert natd ip from any to any in via $pif

#################################
# No restrictions on Loopback Interface
#################################
$cmd 00010 allow all from any to any via lo0

######################################
# Allow the packet through if it has previous been added to the
# the "dynamic" rules table by a allow keep-state statement.
######################################
#$cmd 00015 check-state

######################################
# Internet section
######################################
$cmd 00100 allow ip from 192.168.1.0/24 to any out via $pif
$cmd 00150 allow ip from any to 192.168.1.0/24 in via $pif

#####################################
# In packets local network
#####################################
$cmd 00200 allow ip from 10.2.2.0/26 to any in via $lif
$cmd 00250 allow ip from 10.2.2.0/26 to any out via $pif

#####################################
# Out packets local network
######################################
$cmd 00300 allow ip from any to 10.2.2.0/26 in via $pif
$cmd 00350 allow ip from any to 10.2.2.0/26 out via $lif

# Reject & Log all incoming connections from the outside
$cmd 00499 deny log all from any to any in via $pif

# Everything else is denied by default
# deny and log all packets that fell through to see what they are
$cmd 00999 deny log all from any to any
################ End of IPFW rules file ###############################

Конечно это пока корявое решето, а не огненная стена, но в принципе дело за малым все позакрывать, ну и добавить наверное динамические правила, самое главное добился чтоб оба компа ходили в сеть и работал НАТ.
Вот это правило правда смушат, 00250 0 0 allow ip from 10.2.2.0/26 to any out via nfe0, через него почему то ни один пакет не проходит надо подумать.

24.02.2008

ATSlog и Samsung Officeserv 100

Итак имелась значит в моем подчинение такая штука как Samsung Officeserv 100, если кто не в курсе то это офисная АТСка уровня СОХО (то биш для дома и маленького офиса), и вздумалось мне снимать с неё статистику, причём не как всем вменяемым людям в виндах через платную программу, или бесплатную или даже тупо текстовый лог
А задумал я значит применить комплекс ATSlog, а это такая штука снимающая те же текстовые логи перекладываюшая их в Mysql и потом строяшая красивые графики, или выдаюшая таблички, и все это в моем случае крутится на FreeBSD сервере, ну Mysql и апач были запушены, сам ATSlog легко поставлен из портов, но вот поддержка моей АТСки оказалась какой то кривенькой, или может мой конкретный экземпляр выдавал какие то неправильные логи, но пришлось этот комплекс допиливать.
Итак самое интересное, если у вас возникла такая же проблема надо в файлике officeserv-7200.lib подправить регулярное выражение, убрав из него первый член, и соответственно сместить нумерацию переменных на -1, ну соответственно тогда можно этот файл переименовать в officeserv-100.lib для совместимости и тогда добавить в файл modules.lst строку
officeserv-100.lib:OFFICESERV-100
и соответственно OFFICESERV-100 исключив из описания officeserv-7200.lib в том же файле, и тут наступит гармония и блаженство и все заработает, на форуме программки я написал об этом, будем надеяться что если это реально баг то его пофиксят, так как программка показалась интересной и полезной.

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

06.01.2008

Конструктив

Внесем немного конструктива в блог, как я уже писал я тут обзавелся Solarisom на десктопе, так русскому Хы я обучил, и вот сегодня скачал несколько интересных утилиток (которые нашел вот в этом архиве рассылки) и так по порядку:
1. http://home.comcast.net/~hawk.john/combo2.py как я понимаю утилитка показывает статус репозитариев
2. http://home.comcast.net/~hawk.john/IpsTool.html своеобразный менеджер пакетов, как то не очень понятно как он понимает что установлено а что нет но вроде работает да качать тут
3. Grubed такой GUI конфигуратор Grub вроде любопытная штука только что то моего граба он не увидел видать надо что то подкрутить (пока лень) , а да качать тут
Последняя утилитка в принципе годится для любого Юникс подобного детища юзающего Граб как опять же я понял.
Так что вот такие новости.
П.Сы. Смотрел по РБК передачу о нашей мульт индустрии, да это наверное нормально что она шла в 5 часов утра :) а вобще все у нас с мультиками хреновенько все держится на гос дотациях, и мало что нам светит, да дядька рассказывал о каком то российском мульт фестивале, вроде вот об этом, обидно вроде конкурсных работ на сайте не видно, любят наши жмотить контент и потом жаловаться вот никто не посмотрит, кстати вспомнилось надо поискать что нибудь о мультивидении на которое я ходил летом.