понедельник, 16 января 2012 г.

bsdstats.org и Все-Все-Все

На помощь! Все-Все-Все сюда!--      
     И Все-Все-Все (кто бегать мог)      
     Помчались, не жалея ног!            
(c) A.A.Milne, 1926                   
(c) Б.Заходер, перевод, 1965  
Написать данную заметку побудило, распространение пользователем fidaj призыва [1][2] к тестированию нового ресурса, по сбору данных, о используемом оборудовании.
Собственно о самом ресурсе, пока он расположен на  http://freebsd.0fees.net/ и по видимости представляет из себя глубокую альфа версию. О появлении ресурса и его основных целях было объявлено в рассылке freebsd-hardware@, с момента объявления сам сайт успел уже поменять дизайн, и периодически быть не доступным.
Так же пока не определено какими средствами и какую информацию необходимо собирать, вероятно это нечто из вывода pciconf, dmesg и kldstat. Объявлено и о необходимости более удобных видов отображений, но говорить о них до реализации пожалуй рановато. Но все кому интересно появление и развитие подобного ресурса, могут присоединится к обсуждению в рассылке, благо автор весьма охотно отвечает на задаваемые вопросы.


Однако стоит заметить, что это не первый и не единственный подобный проект, даже если принять во внимание проекты специализирующиеся только на BSD подобных ОС.
Стоит упомянуть уже давно и успешно функционирующий ресурс bsdstats.org, он конечно имеет ряд недостатков, но зато работает давно и успешно, а так же имеет скрипт для сбора данных, и специальные пакеты, например sysutils/bsdstats, а в PC-BSD, одно время, отсылку отчётов на данный сервис, можно было включить прямо в инсталляторе, одной галочкой.


На сайте  New York City *BSD User Group (NYCBUG) существует раздел, с присланными добровольцами файлами dmesg.

Пользователей мобильных девайсов, пожалуй заинтересует FreeBSD Laptop Compatibility List, он так же позволяет оставлять информацию о оборудовании, а так же содержит функцию комментирования. Тема на официальном форуме FreeBSD, придала на некоторое время, данному сервису, вторую молодость и там появилось некоторое количество современных моделей.

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

[1] - http://forum.lissyara.su/viewtopic.php?f=46&t=35322
[2] - http://www.bsdportal.ru/viewtopic.php?t=25065

пятница, 13 января 2012 г.

Официальный релиз FreeBSD 9.0

Вот и состоялся релиз FreeBSD 9.0. Команда FreeBSD Release Engineering рада представить вам FreeBSD 9.0-RELEASE, это первый релиз ветви stable/9, содержащий множество изменений, по сравнению со stable/8.

Данный релиз посвящается Деннису Ритчи, идеи которого оказывали и продолжают оказывать, немалое влияние на FreeBSD, как продолжателя идей UNIX[tm].
The FreeBSD Project dedicates the FreeBSD 9.0-RELEASE to the memory of Dennis M. Ritchie, one of the founding fathers of the UNIX[tm] operating system. It is on the foundation laid by the work of visionaries like Dennis that software like the FreeBSD operating system came to be. The fact that his work of so many years ago continues to influence new design decisions to this very day speaks for the brilliant engineer that he was.

May he rest in peace.
(с)Release Information

О том что может помочь при скачивании и установки мы уже писали, ранее в новости "Для нетерпеливых, престарт FreeBSD 9.0".
А вот и объяснение того, из-за чего вышла такая задержка, по сравнению с первоначальным выкладыванием образов на FTP. Оказывается, в выложенный на FTP, образ DVD диска, вкралась ошибка. В итоге, образ пришлось заменить, а так же потом дать время, для распространения и проверки, его на всех FTP зеркалах. Если вы качали, образ DVD, в первые дни, то проверьте контрольную сумму, совпадает ли она с приведённой в анонсе.
Пожалуй стоит качать образы не с FTP серверов, а с официального торрент трекера, на раздаче там уже  немало добровольцев, так что скорости должны быть хорошими.

А теперь особо терпиливые и въедливые, могут ознакомится, с основными изменениями, полный список доступен в Detailed Release Notes, а мы тут приведём такой себе дайджест, с купюрами, в самых неожиданных местах:

Исправления безопасности


Устранено 9 уязвимостей, о 5-ти из них, более подробно, писалось ранее:
  • SA-11:01.mountd - исправлена некорректная обработка записи вида "-network=netname/prefixlength" в файле exports(5) в тех случаях, когда префикс не кратен 8
  • SA-11:02.bind - Очень большой RRSIG RRsets в отрицательном ответе может вызвать отказ в обслуживании сервиса BIND9
  • SA-11:04.compress - Исправлена ошибка в обработке некорректных архивов в утилитах compress(1) и gzip.
  • SA-11:05.unix - Исправлено переполнение буфера при обработке адреса в Unix-сокете.
  • SA-11:06.bind - Исправление еще одной ошибки в BIND9, приводящей к отказу в обслуживании.
  • SA-11:07.chroot - Исправление возможности выполнения кода с правами root внутри chroot-окружения.
  • SA-11:08.telnetd - Исправление возможности удаленного выполнения кода через демон telnetd.
  • SA-11:09.pam_ssh - Исправление некорректного поведения PAM-модуля pam_ssh в случае, когда у пользователя имеются незашифрованные приватные ключи
  • SA-11:10.pam- Исправление возможности поднятия привелегий локальному пользователю через сервис PAM. 
  • FreeBSD-EN-12:01.freebsd-update - бюллетень исправлений для пользователей freebsd-update которые столкнуться с проблемами при обновлении до FreeBSD 9.0-RELEASE, об этом более подробно уже писалось.

Изменения в ядре


  • Интеграция фреймворка Capsicum - средства запуска приложений в режиме повышенной изоляции (sandbox). Для этой поддержки в GENERIC-ядро добавлены две новые опции CAPABILITIES и CAPABILITY_MODE. Более подробно можно узнать по ссылке http://www.cl.cam.ac.uk/research/security/capsicum/ (eng)
  • [amd64, i386] Утилита динамической трассировки dtrace(1) теперь поддерживает трассировку системных вызовов linux32 и freebsd32 режимов на amd64. Добавлено два новых модуля ядра systrace_linux32 и systrace_freebsd32 для трассировки системных вызовов в режиме совместимости.
  • [amd64, i386, pc98] Для loader(8) вынесен отдельный параметр hw.memtest.test, контроллирующий запрет проверки памяти на этапе загрузки. При выключенной проверке, система может загрузиться на несколько секунд быстрее. По-умолчанию, проверка памяти выполняется (значение 1).
  • Разработан фреймворк ресурсов (RACCT) и фреймворк управления им (RCTL), которые обеспечивают возможность установки ограничений системных ресурсов (таких, как память или использование CPU) на процесс, jail или класс пользователей. В данный момент, этот функционал не выключен в инсталляции по-умолчанию. Для активации необходимо пересобрать ядро с опциями "options RACCT" и "options RCTL",
  • В системных вызовах линуксолятора sendmsg(2) и recvmsg(2) произведены улучшения, в результате которых увеличивается количество работающего ПО в режиме Linux-совместимости, например, правки делают возможным запуск, например, демона и клиента Linux Pulse Audio.
  • В системные вызовы open(2) и fhopen(2) добавлен флаг O_CLOEXEC, что позволяет установить флаг FD_CLOEXEC для создаваемых файловых дескрипторов. Стандартизировано IEEE Std 1003.1-2008 (POSIX, Single UNIX Specification Version 4)
  • [amd64]FreeBSD теперь поддерживает исполнение FreeBSD 1/i386 a.out бинарных файлов на FreeBSD/amd64. Однако, данная возможность отключена по умолчанию, для включения необходима пересборка системы.[r220238]
  • В sysctl(8) внесен ряд признаков, символизирующих доступность определенных особенностей запущенного ядра (полный список можно увидеть в Kernel Changes):
    kern.features.ufs_acl - Поддержка ACL в UFS
    kern.features.ufs_gjournal - Поддержка gjournal(8) в UFS
    kern.features.ufs_quota - Поддержка квот в UFS
    kern.features.ffs_snapshot - Поддержка снапшотов в FFS
    kern.features.kdtrace_hooks - Поддержка DTRACE
    kern.features.stack - Поддержка получения стека ядра
    kern.features.mac - Поддержка MAC
    kern.features.audit - Поддержка Audit
    kern.features.geom_* - Поддержка множества функций на безе GEOM

Изменения в загрузчике

  • Добавлены несколько новых версий меню для загрузчика (color.4th, delay.4th, check-password.4th, brand.4th, menu.4th, version.4th)
  • [ia64] загрузчик loader(8) теперь поддерживает PBVM (Pre-Boot Virtual Memory). Что позволяет разместить ядро и модули, в памяти, по заранее известным адресам [r219541]

Поддержка оборудования

  • [powerpc] FreeBSD/powerpc теперь поддерживает Sony Playstation 3 при использовании функции OtherOS в прошивке версии 3.15 и более ранних. В настоящее время отсутствует поддержка внутреннего контроллера SATA, а также поддержка разрешений в framebuffer кроме 720x480.
  • В loader(8) добавлен функционал для настройки machdep.disable_*. Это может быть использовано, например для запуска процессоров Intel, на номинальной частоте [r219473, r220577]
  • [amd64, i386] FreeBSD usb(4) подсистема теперь поддерживает USB 3.0 по умолчанию.[r223098]
  • FreeBSD usb(4) подсистема теперь поддерживает, пакетный фильтр для USB.[r215649]

Network Interface Support

  • Ошибка в драйвере alc(4) для чипов базирующихся на AR8152 [r217649]
  • Был добавлен драйвер bxe(4), для Broadcom NetXtreme II 10GbE контроллеров (BCM57710, BCM57711, BCM57711E) [r219647]
  • Был добавлен драйвер cxgbe(4) для Chelsio T4 (Terminator 4) 10Gb/1Gb [r218794]
  • Драйвер  igb(4) теперь поддерживает Intel I350 PCIe Gigabit Ethernet контроллеры [r218530]
  • Был добавлен драйвер vxge(4) для Neterion X3100 10GbE Server/Storage адаптера [r221167]

Сетевая подсистема

  • ipfw(8) теперь поддерживает перенаправление (fwd) для IPv6.[r225044]
  • ipfw(8) теперь поддерживает действия call и return, при этом используется внутренний стек.[r223666]
  • В базовую систему добавлена поддержка для Infiniband, OFED (OpenFabrics Enterprise Distribution) версии 1.5.3. Однако, данная возможность отключена по умолчанию, для включения необходима пересборка системы.[r219820]
  • Сетевой стек FreeBSD TCP/IP теперь поддерживает IPv4 префиксы /31 описаные в RFC 3021, “Using 31-Bit Prefixes on IPv4 Point-to-Point Links”.[r226572]
  • Сетевой стек FreeBSD TCP/IP теперь поддерживает mod_cc(9) pluggable congestion control framework, который стал результатом работы над проектом Five New TCP Congestion Control Algorithms Project Completes! [r216109, r216114, r216115, r218152, r218153, r218155]
  • Нода ng_ipfw(4) netgraph(4) теперь поддерживает IPv6.[r225586]
  • Нода ng_netflow(4) netgraph(4) теперь поддерживае NetFlow version 9. Новый хук(hook) export9 для поддержки данных NetFlow v9. Обратите внимание, что экспорт данных может быть сделан одновременно, как в формате version 5 так и version 9.[r219183]

Дисковая подсистема и хранение данных

  • Драйвер ada(4) теперь поддерживает write cache control. [r220412]
  • gpart(8) GEOM класс теперь поддерживает следующие псевдонимы MBR и EBR схемы: fat32, ebr, linux-data, linux-raid, and linux-swap.[r218014]
  • gpart(8) GEOM класс теперь поддерживает bios-boot GUID для GPT схемы которая используется в загрузчике GRUB 2.[r218014]
  • Добавлен драйвер tws(4) для контроллеров 3ware 9750 SATA+SAS 6Gb/s RAID.[r226115]

Файловая подсистема

  • FreeBSD Fast File System теперь поддерживает журналирование (softupdates journaling). Данный функционал позволяет избавится от фоновых проверок целостности ФС fsck(8) (bgfsck), в случае некорректного завершения работы. Она включается для каждой файловой системы, при помощи ключа -j в утилите newfs(8) или ключа -j в tunefs(8). Обратите внимание, что инсталлер 9.0-RELEASE автоматически включает журналирование для всех создаваемых UFS разделов.[r207141, r218726]
  • FreeBSD Fast File System теперь поддерживает TRIM при освобождении блоков данных. Новый флаг -t в утилитах newfs(8) и tunefs(8) устанавливающий флаг TRIM для файловых систем. TRIM команды описываются в стандартах ATA8-ACS2 и применяются для более эффективного использования SSD (Solid-State Drive) [r216796]
  • FreeBSD NFS подсистема была обновлена. Новая реализация поддерживает NFS версии 4 в дополнении к версии 2 и 3. По умолчанию включен режим поддержки 3 и 2.[r221124]
  • Подсистема FreeBSD ZFS была обновлена до SPA (Storage Pool Allocator, так же известный как zpool) версии 28. Теперь поддерживается дедупликация (deduplication) данных, тройной паритет RAIDZ (raidz3), snapshot holds, log device removal, zfs diff, zpool split, zpool import -F и zpool import в режиме только для чтения.[r219089]

Утилиты на уровне пользователя


  • Утилиты bsdtar(1) и cpio(1) теперь основаны на libarchive версии 2.8.4.[r224152, r224153, r224154]
  • Утилита cpuset(1) теперь поддерживает флаг -C для создания нового cpuset и назначения в этот сет уже запущенных команд.[r217416]
  • dhclient(8) теперь использует утилиту resolvconf(8) для управления файлом resolv.conf(5). Опция resolvconf_enable в /etc/dhclient-enter-hooks используется для управления.[r219739]
  • Была импортирована реализация iconv() API библиотек и утилит, которые стандартизированы в Single UNIX Specification. Она основана на реализации NetBSD's Citrus. Однако, данная возможность отключена по умолчанию, для включения необходима пересборка системы.[r219019]
  • readline(3) API набор был импортирован в libedit. Оно основано на реализации NetBSD's и распространяется под лицензией BSD данные утилиты используются вместо GNU libreadline.[r220370]
  • makefs(8) теперь поддерживает формат ISO 9660.[r224762]
  • newsyslog(8) теперь поддерживает сжатие xz(1).[r218127]
  • sh(1) теперь поддерживает kill как встроенную команду.[r216629]
  • База данных аккаунтинга пользователей utmp(5) была заменена на utmpx(3).[r202188]
  • Утилита zpool(8): теперь поддерживает команду zpool labelclear. [r224171]

Contributed Software

  • ACPI CA обновился до версии 20110527
  • awk(1) обновлена до версии релиза от 7 августа 2011
  • ISC BIND обновлен до версии 9.8.1-P1
  • GNU binutils обновлены до версии 2.17.50. Это последняя версия, распространяемая на лицензии GPLv2.
  • dialog обновлен до версии 1.1-20110707
  • утилита nc(или netcat) обновлена до версии 4.9
  • tnftp (в прошлом, известный как lukemftp) обновлен до версии 20100108
  • GNU GCC и libstdc++ обновлены до ревизии 127959 из gcc-4_2 ветки (последняя распространяемая на лицензии GPLv2 версия)
  • утилита less обновлена до версии 444
  • Компилятор LLVM и clang обновлены до версии 3.0. В данный момент, по-умолчанию сборку FreeBSD базы они пока не выполняют. При сборках ПО под FreeBSD, clang(1), clang++(1) и clang-cpp(1) утилиты могут использоваться через при указании в CC, CXX и CPP переменных окружения.
  • Openresolv обновлен до версии 3.4.4. Утилита resolvconf(8) теперь использует resolv.conf(5) файл.
  • OpenSSH обновлена до версии 5.8p2. Помимо обновления, проведена оптимизация, связанная с поддержкой динамических размеров буфферов при передачи данных на большие расстояния по высокоскоростным каналам.
  • Пакетный фильтр pf обновлен до версии 4.5
  • sendmail обновлен до версии 8.14.5
  • База данных временных зон обновлена до релиза tzdata2011m
  • Утилита unifdef(1) обновлена до версии 2.5.6
  • Утилита xz обновлена до версии снапшота от 11 июля, 2011

Release Engineering and Integration

В установочный образ добавлен новый инсталлятор bsdinstall(8) по-умолчанию. Старый инсталлятор sysinstall(8) в данный момент доступен для конфигурирования после основной установки.
The supported version of the KDE desktop environment (x11/kde4) has been updated from 4.5.5 to 4.7.3.

Обновление системы

Список версий FreeBSD (только для архитектур i386/amd64), с которых (на момент написания анонса) имеется возможность бинарного обновления на FreeBSD 9.0-RELEASE через утилиту freebsd-update(8). Часть из них уже перешла порог End Of Life, а ряд систем и вовсе не имеют утилиты freebsd-update (до версии 6.2 утилита была доступна в коллекции портов, однако сейчас ее нет. Тем не менее на update-серверах файлы этих релизов еще имеются):
5.5-RELEASE
6.0-RELEASE
6.1-RELEASE
6.2-RELEASE
6.3-RELEASE
6.4-RELEASE
7.0-RELEASE
7.1-RELEASE
7.2-BETA1
7.2-RC1
7.2-RC2
7.2-RELEASE
7.3-BETA1
7.3-RC1
7.3-RC2
7.3-RELEASE
7.4-BETA1
7.4-RC1
7.4-RC2
7.4-RC3
7.4-RELEASE
8.0-BETA1
8.0-BETA2
8.0-BETA3
8.0-BETA4
8.0-RC1
8.0-RC2
8.0-RC3
8.0-RELEASE
8.1-BETA1
8.1-RC1
8.1-RC2
8.1-RELEASE
8.2-BETA1
8.2-RC1
8.2-RC2
8.2-RC3
8.2-RELEASE
9.0-BETA1
9.0-BETA2
9.0-BETA3
9.0-RC1
9.0-RC2
9.0-RC3

Вместо заключения

Вот примерно так, данный релиз и его анонс увиделся мне (f_andrey) и olevole, если что то значимое упущено или вы заметили, что что-то сильно наврано, вероятно при переводе :) то велкам в комментарии, если что всё это легко правится и актуализируется.

четверг, 12 января 2012 г.

BSDmag теперь и по-русски

о теперь и мне на 3 =) ящика пришло письмо:
You Can Read Now BSD Magazine in Russian   
а ты спрашиваешь - зачем мыл вводить)      
(c) из чатика с olevole

На днях, а точнее похоже 7-го января, состоялось довольно примечательное событие. Журнал BSD Magazine, выходящий уже более 4-х лет, выпустил версию на русском языке, о создании которой разговор шел уже с лета.
Правда поводов для радости пока не так уж и много, так как журнал полностью повторяет собой англоязычный выпуск за декабрь, о котором писалось ранее. Так же многие читатели жалуются на проблемы с открытием PDF файла в различных просмотрщиках [1][2].
Русская версия распространяется по такой же схеме как и англоязычная, то есть с необходимостью оставить свой e-mail, что весьма странно при пропаганде "опенсорца" вот хотел найти их пресс релиз, а у них оказывается даже архива рассылки, в открытом доступе, нет :( Но к сожалению такова похоже позиция редакции и менять её, они не намерены.
С другой стороны, появление издания, даже в таком виде, весьма положительно, с просветительской точки зрения. Будем надеяться, что со временем, журнал обзаведётся оригинальными статьями.

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

Так же вышел англоязычный номер за январь "FreeBSD: Get Up-To-Date".

[1] - http://www.bsdportal.ru/viewtopic.php?t=25063
[2] - http://forum.lissyara.su/viewtopic.php?p=317200#p317200

пятница, 6 января 2012 г.

Для нетерпеливых, престарт FreeBSD 9.0

— А ты зачем бежал?                   
— Все побежали — и я побежал…
(с) Василий Алибабаевич Алибаба
Santa has replied, and said 9.0 is coming to town real soon now. :)
FreeBSD Project on the twitter

Особо нетерпеливые, наверное, уже где нибудь видели, ну, а кто не видел то увидит сейчас. Итак релиз FreeBSD 9.0 уже пожалуй можно считать состоявшимся. Хотя в настоящие время ещё идут завершающие работы, и вероятно где то может не хватать образов, так же пока нет torrent раздач и ожидается официальное объявление, вероятно всё это произойдёт в течении дня, двух.
Как и положено, в svn "получить" релиз можно было раньше всего, теоретически после коммита r229286, хотя в финальный релиз вошли ещё пара мелких правок, что ещё раз подтверждает, что может и не стоит так уж спешить ;)
На FTP серверах, уже доступны ISO образы, однако стоит иметь в виду, что с данного релиза изменяется структура каталогов, о чём сообщалось ранее, теперь пути выглядят так:

   amd64: .../releases/amd64/amd64/ISO-IMAGES/9.0/
   i386: .../releases/i386/i386/ISO-IMAGES/9.0/
   PowerPC: .../releases/powerpc/powerpc/ISO-IMAGES/9.0/
   powerpc64: .../releases/powerpc/powerpc64/ISO-IMAGES/9.0/
   sparc64: .../releases/sparc64/sparc64/ISO-IMAGES/9.0/
Начиная с этого релиза больше нет образа livefs, но как я понимаю данный функционал теперь поддерживают все остальные образы, за счёт нового инсталлятора.
Одним из значимых изменений, данного релиза, стал новый инсталлятор bsdinstall, сменивший sysinstall. В предрелизном цикле, для него, была написана новая глава в handbook, к сожалению русского перевода нет, зато есть видео демонстрирующие пример установки.
Пользователи freebsd-update, не забывайте посмотреть предыдущую новость, он уже вроде тоже должен работать. Ну а в остальном пока всё, как выйдет официальный релиз, надеюсь сочиним красивую новость, с подробностями, о новшествах релиза.

четверг, 5 января 2012 г.

Пользователи freebsd-update, обратите внимание при обновлении до 9.0

Выпущен бюллетень исправлений FreeBSD-EN-12:01.freebsd-update в котором подробно описано, что при обновлении до версии FreeBSD 9.0, с более ранних версий (7.3, 7.4, 8.1 и 8.2), при помощи freebsd-update, возможно получении сообщения
The update metadata is correctly signed, but
failed an integrity check.
Cowardly refusing to proceed any further.
и дальнейшая невозможность выполнить обновление. Проблема связана с появлением не поддерживаемых символов, в именах файлов во FreeBSD 9.0 и уже появлялась в новостях, когда начиналось тестирование  freebsd-update на этапе выхода RC1.
Для исправления, необходимо выполнить одно из следующих действий:
  • предварительно обновить систему до одной из следующих версий RELENG_7_3, RELENG_7_4, RELENG_8_1 или RELENG_8_2 (содержащем MFC r226650
  • для FreeBSD 7.3, 7.4, 8.1, and 8.2
    • скачать патч и проверить его PGP подпись
      # fetch http://security.FreeBSD.org/patches/EN-12:01/freebsd-update.patch
      # fetch http://security.FreeBSD.org/patches/EN-12:01/freebsd-update.patch.asc
      
      
    • наложить патч и пересобрать freebsd-update
      # cd /usr/src
      # patch < /path/to/patch
      # cd /usr/src/usr.sbin/freebsd-update
      # make obj && make && make install
      
      
  • Либо для систем 7.3-RELEASE, 7.4-RELEASE, 8.1-RELEASE или 8.2-RELEASE выполнить бинарное обновление
    # freebsd-update fetch
    # freebsd-update install
    
Более подробная информация, со списком всех затрагиваемых обновлением файлов, доступна в бюллетене исправлений.