Увидел свет (http://marc.info/?l=openbsd-misc&m=143043178115828) релиз операционной системы OpenBSD 5.7 (http://openbsd.org/57.html), тридцать седьмой выпуск за девятнадцатилетнюю историю существования проекта. При развитии OpenBSD основное внимание уделяется переносимости (поддерживается (http://www.openbsd.org/plat.html) 21 аппаратная платформа), стандартизации, корректной работе, активной безопасности и интегрированным криптографическим средствам. Размер полного установочного ISO-образа (http://ftp.eu.openbsd.org/pub/OpenBSD/5.7/i386/install56.iso) базовой системы составляет 208 Мб.Кроме непосредственно операционной системы, проект OpenBSD известен своими компонентами, которые получили распространение в других системах и зарекомендовали себя как одни из наиболее безопасных и качественных решений. Среди них: LibreSSL (http://www.libressl.org/) (форк (http://www.opennet.me/opennews/art.shtml?num=39617) OpenSSL), OpenSSH (http://www.openssh.com/), пакетный фильтр PF (http://www.openbsd.org/faq/pf/index.html), демоны маршрутизации OpenBGPD и OpenOSPFD (http://www.openbgpd.org/), NTP-сервер OpenNTPD (http://www.openntpd.org/), почтовый сервер OpenSMTPD (http://www.opensmtpd.org/), мультиплексор текстового терминала (аналог GNU screen) tmux (http://tmux.sourceforge.net/), демон identd (http://www.opennet.me/opennews/art.shtml?num=36442) с реализацией протокола IDENT, BSDL-альтернатива пакету GNU groff - mandoc (http://mdocml.bsd.lv/), протокол для организации отказоустойчивых систем CARP (Common Address Redundancy Protocol), легковесный http-сервер (http://www.opennet.me/opennews/art.shtml?num=40232).
Основные улучшения (http://www.openbsd.org/57.html):
- Усиление безопасности:
- К адресному пространству ядра применён режим защиты памяти W^X (http://en.wikipedia.org/wiki/W%5EX) (Write XOR Execute), при котором страницы памяти не могут быть доступными и на запись и на исполнение кода (или запись или исполнение, но не одновременно);
- Удалён код для поддержки загружаемых модулей ядра и procfs;
- Проведён обстоятельный аудит подсистем на предмет перехода на использование системного вызова reallocarray, позволяющего выделить память для нескольких отличающихся по размеру объектов без дополнительных затрат на очистку памяти, но с сохранением средств борьбы с целочисленными переполнениями;
- Проведена работа по замене вызовов select на poll;
- В качестве первого шага для минимизации возможности совершения атаки на раздел /var, директория /var/tmp преобразована в символическую ссылку на /tmp;
- В реализацию memcpy добавлена защита от перекрытия областей памяти, если факт подобного перекрытия выявлен, то программа принудительно завершается с выводом соответствующего предупреждения в syslog. При необходимости перекрытия областей следует использовать memmove;
- Вызовы rand, random, drand48, lrand48, mrand48 и srand48 переведены на использование генератора arc4random. Для получения детерменированных случайных числе введены новые функции srand_deterministic, srandom_deterministic, seed48_deterministic и lcong48_deterministic;
- При возврате из спящего и ждущего режимов, а также при пробуждении виртуальных машин, задействованы различные методы для сброса генератора случайных чисел;
- Все архитектуры переведены на статический формат PIE, т.е. все статически собранные исполняемые файлы в /bin и /sbin теперь содержат случаным образом расположенные сегменты "text";
- Код ядра и ssh для работы с AES синхронизирован с кодом из OpenSSL/LibreSSL.
- В утилите passwd прекращена поддержка всех методов хэширования, кроме blowfish;
- В генераторе случайных чисел и при генерации начальных номеров последовательностей в TCP вместо MD5 задействован sha512;- Добавлен драйвер xhci, обеспечивающий поддержку устройств с интерфейсом USB 3.0, соответствующих спецификации XHCI (eXtensible Host Controller Interface). Значительно расширена поддержка сетевых устройств, в том числе представлен новый драйвер iwm для беспроводных карт Intel 7260, 7265 и 3160;
- Для управления фоновыми процессами и системными сервисами представлена новая утилита rcctl (http://www.openbsd.org/cgi-bin/man.cgi?query=rcctl&sektion=8);
- Из базовой системы удалены nginx и sendmail, вместо которых предлагается (http://www.opennet.me/opennews/art.shtml?num=40232) http-сервер собственной разработки и OpenSMTPD. Nginx и sendmail могут быть установлены из портов. Прекращена поддержка DNS-сервера BIND, вместо которого рекомендуется использовать nsd и unbound;
- Улучшения в сетевом стеке: Большинство операций с IP-адресами переведены на таблицы маршрутизации, заменившие собой RB-деревья и списки адресов IPv4. Для хэширования в пакетном фильтре PF, сетевых мостах, trunk-интерфейсах и PCB задействован алгоритм SipHash. Настройка CARP теперь требует явного создания родительского интерфейса carpdev. Слой mbuf избавлен от глобальной блокировки и признан mpsafe. Представлены новые структуры mbuf_list и mbuf_queue, а также API для работы с ними;
- Улучшения в инсталляторе: Наборы etc и xetc, в том числе включающие файлы rc и rc.conf, теперь не поставляются отдельно, а включены в состав наборов base и xbase. Улучшено определение файла со сценарием автоматизированной установки, если присутствуют файл /auto_install.conf или /auto_upgrade.conf инсталлятор теперь сразу запускает автоматический режим.- Системы Syslogd и inetd переведены с select на libevent. В Syslogd добавлена поддержка отправки и приёма сообщений по UDP, TCP и TLS, при том, что для TCP и TLS реализованы средства автоматического восстановления соединения после разрыва канала связи;
- В tftp сняты ограничение на размер принимаемых и отправляемых файлов, которые не могли превышать 65536 байт;
- В реализации ряда функций libc для архитектуры amd64 задействованы быстрые ассемблерные оптимизации;
- Расширены возможности http-сервера от проекта OpenBSD. Прекращена поддержка SSLv2/3, улучшена поддержка ECDHE/DHE в TLS. Упрощено создание виртуальных хостов на основе определения псевдонимов по IP и именам хостов. Добавлена поддержка basic-аутентификации, определения своих кодов возврата, перенаправления и макросов для URL. Добавлена опция "root strip" для чистки начала пути для CGI-скриптов. Обеспечена возможность создания лога в директории, отличной от /var/www/logs. Реализация FastCGI доведена до совместимости с многими известными web-приложениями.
- В новой версии почтового сервера OpenSMTPD прекращена поддержка SSLv3, добавлена поддержка новых парсеров сообщений и заголовков, добавлена опция append-domain, обеспечена возможность отправки сообщений локальному пользователю без определения домена.
- Обновлён пакет OpenSSH 6.8, подробный обзор улучшений можно посмотреть здесь (http://www.opennet.me/opennews/art.shtml?num=41866);
- Обновлён пакет OpenSSH 6.8, подробный обзор улучшений можно посмотреть здесь (http://www.opennet.me/opennews/art.shtml?num=41866);
- Обновлён пакет LibreSSL 2.1.5, подробный обзор улучшений можно посмотреть в анонсах выпусков 2.1.0 (http://www.opennet.me/opennews/art.shtml?num=40807), 2.1.2 (http://www.opennet.me/opennews/art.shtml?num=41227), 2.1.4 (http://www.opennet.me/opennews/art.shtml?num=41798) и 2.1.5 (http://www.opennet.me/opennews/art.shtml?num=41867).
- Число портов превысило 9000 (полгода назад было 8800). Из находящихся в портах приложений, отмечены:- Chromium 40.0.2214.115
- Emacs 21.4 и 24.4
- GCC 4.8.4 и 4.9.2
- GHC 7.8.4
- GNOME 3.14.2
- Go 1.4.1
- Groff 1.22.3
- JDK 1.7.0.71
- KDE 3.5.10 и 4.14.3
- LLVM/Clang 3.5 (20140228)
- LibreOffice 4.3.5.2
- MariaDB 10.0.16
- Mono 3.12.0
- Mozilla Firefox 31.4.0esr и 35.0.1
- Mozilla Thunderbird 31.4.0
- Node.js 0.10.35
- OpenLDAP 2.3.43 и 2.4.40
- PHP 5.3.29, 5.4.38, 5.5.22 и 5.6.5
- Postfix 2.11.4
- PostgreSQL 9.4.1
- Python 2.7.9 и 3.4.2
- R 3.1.2
- Ruby ...URL: http://marc.info/?l=openbsd-misc&m=143043178115828
Новость: http://www.opennet.me/opennews/art.shtml?num=42148
> Удалён код для поддержки загружаемых модулей ядра и procfs;А кэш ещё динамический?
Я даже не поверил, установил, посмотрел. Похоже, правда.
>> Удалён код для поддержки загружаемых модулей ядра и procfs;
> А кэш ещё динамический?Кэш чего? Дисковый? Ну да, куда ж он денется.
>>> Удалён код для поддержки загружаемых модулей ядра и procfs;
>> А кэш ещё динамический?
> Кэш чего? Дисковый? Ну да, куда ж он денется.Мало ли...
>>>> Удалён код для поддержки загружаемых модулей ядра и procfs;
>>> А кэш ещё динамический?
>> Кэш чего? Дисковый? Ну да, куда ж он денется.
> Мало ли...Вам не надоело обсуждать удаление вещи, которой в OpenBSD никогда не было? :)
>>>> А кэш ещё динамический?
> Вам не надоело обсуждать удаление вещи, которой в OpenBSD никогда не было? :)Кэш там когда-то был, но забиваемого при сборке ядра размера. Поскольку лет десять тому это искренне поразило, то при виде таких новаций решил спросить, а что нынче. Рассказывайте :)
> Кэш там когда-то был, но забиваемого при сборке ядра размера.Вообще говоря, его можно было менять и в рантайме, через sysctl. Возможно, правда, не сразу - лень лезть и проверять в CVS. :)
Эн релизов назад стараниями beck@ он стал полностью динамическим - теперь ручками (также, дефолт при сборке ядра и возможность указать другое значение через sysctl) задаётся только верхняя планка.
> Эн релизов назад стараниями beck@ он стал полностью динамическим - теперь ручками
> (также, дефолт при сборке ядра и возможность указать другое значение через
> sysctl) задаётся только верхняя планка.Спасибо :)
> Вообще говоря, его можно было менять и в рантайме, через sysctl. Возможно,
> правда, не сразу - лень лезть и проверять в CVS. :)Педальный привод кэша... мм.. прямо DOS с smartdrv.exe вспоминается.
Который не надо загружать, если планируется что-то прошивать или запускать ))
А вот как scandisk выглядел мне нравится до сих пор. Так няшно блоки проверял, и крестики ставил на бэд-ах. И даже восстанавливал иногда битые дискеты...
А если не секрет, что у них в BSD вместо procfs?
> А если не секрет, что у них в BSD вместо procfs?Смотря для чего. Для настройки параметров системы и устройств — sysctl, ioctl. Для работы со списком процессов и тому подобным — kvm(3) и использующие его утилиты.
Ну понятно, то что в линуксе собрано в одном месте и доступно по-умолчанию и очень удобно в BSD раскидано по разным углам и утилитам.
> Ну понятно, то что в линуксе собрано в одном месте и доступно
> по-умолчанию и очень удобно в BSD раскидано по разным углам и
> утилитам.И бутерброды они не так едят - колбасой вверх!
Интересно, чем так не удобен тот же sysctl?
И да, внезапно, procfs был еще в P9, откуде его и "заимствовали".
Например мне недавно понадобилось посмотреть статистику по интернет соединению. Как это сделать через sysctl?
> Например мне недавно понадобилось посмотреть статистику по интернет соединению. Как это сделать через sysctl?netstat -s тебе в помощь.
А ответ на твой вопрос: через sysctl — никак. Задавай правильно вопросы, чтобы не прослыть демагогом.
Вот именно в BSD никак, а в линуксе через /proc/net/dev . Прослыть у тебя что ли, а ты кто такой? Так что отдыхай.
> Вот именно в BSD никак, а в линуксе через /proc/net/dev . Прослыть
> у тебя что ли, а ты кто такой? Так что отдыхай.Лолшто? Ты читать умеешь? Берёшь консоль, набираешь netstat -s (добавляешь опций по вкусу) и смотришь статистику. А до меня у тебя вообще дело не должно быть, ты задаёшь неправильные вопросы, из которых и будут делать выводы.
читаем man netstat
> The netstat command appeared in 4.2BSDт.е. уже было, когда большинcтва спецов с опеннета еще и в проекте не было :)
Но да, запомнить, что для таких вещей обычно есть утилиты, именуемые таким неинтуитивно-понятным способом <что-то>-stat (procstat, sockstat, netstat, fstat) намного сложнее, чем интуитивное /proc/net/dev, да :)
>> The netstat command appeared in 4.2BSDДля малолетних неосиляторов википедии поясняю на всякий случай, что речь идет о 4 бзде.
Т.е. утилита используется и совершенствуется более 30 лет.
И то, что никто не запилил аналог на procfs (а это не сложно: http://www.freebsd.org/cgi/man.cgi?query=pseudofs&sektion=9&... означает конечно же лишь полное неосиляторство бздюков (им, болезныи, даже вот маны к драйверам или внутренностям ядра нужны - иначе ругаться начинают!) а не полную ненужность этого подхода :)
>Т.е. утилита используется и совершенствуется более 30 лет.Вдвое больше чем твоя жизнь и это тебя беспокоит? =)
> Вдвое больше чем твоя жизньНе угадал.
> и это тебя беспокоит? =)А чем меня это должно беспокоить?
Это ведь не я диванный^W фанат "изменений ради изменений" и отнюдь не я начинаюл ныть на тему - "ваша бздя со сет, потому что в ней сделано не так как в линуксе!!!" :)
> Ну понятно, то что в линуксе собрано в одном месте и доступно
> по-умолчанию и очень удобно в BSD раскидано по разным углам и
> утилитам.Работа с procfs подразумевает отсутствие транзакционности, если только не прибегать к дополнительным средствам. То есть всё равно требуются альтернативные механизмы.
Тот же интерфейс kvm(3) обеспечивает работу именно со слепком состояния (в качестве бонуса - через него можно без изменения логики исследовать состояние дампа ядра).
верно, в одном. только каждый раз в разном. во всяком случае я отчётливо помню как замечательно в zabbix_agentd приходилось "ловить" датчик температуры, три тикета в заббиксе открывалось.
Вместо единого удобного интерфейса ядра куча костылей.
> Вместо единого удобного интерфейса ядра куча костылей.Вместо единого удобного _некорректного_изначально_ интерфейса ядра. Выглядит идея прикольно, конечно, только: а) плохо поддерживает обратную совместимость; б) стандартные методы доступа к ФС не транзакционны, со всеми вытекающими; в) продолжать?
> Вместо единого удобного интерфейса ядра куча костылей.ЛОЛ, школьник назвал sysctl костылём. А procfs изначально не задумывалась для того, для чего его в Linux'е используют.
Справедливости ради, порой sysctl(3) тоже используется... не лучшим образом. Так как, опять-таки, не обеспечивает транзакционность. Но это отдельная большая тема. :)
Как раз думаю куда идти с freebsd..
Может в openbsd? Skype в ней пашет?
А в BSD бывает Skype не через линуксулятор? =)
> А в BSD бывает Skype не через линуксулятор? =)Он с недавнего времени там не пашет вовсе.
> Он с недавнего времени там не пашет вовсе.Из-за обязательности PulseAudio что ли?
Видимо да, пробовал собрать фряху из этой ветки
https://svnweb.freebsd.org/base/user/dchagin/lemul/?view=log
Белое окно, ругань на отсутствующие inotify-вызовы, крэш
Мда, а старые версии клиентов мелкомягкие уроды отключили. (
Меня всегда удивляет русский аудитория. Если нет заявленная поддержка приложения под выясненную платформу, то вы ее пытаетесь там запустить.Изначально BSD создан как альтернатива UNIX с полной совместной поддержкой POSIX.
Если Вам нужно использовать связь под платформу существует полный стандарт SIP для звонков и видео.
Я имею уверенность, что есть Voice IP телефон для платформы BSD в исходных кодах.
Вполне вероятно, что Skype так же пожжерживает входящие звонки из SIP?
> Меня всегда удивляет русский аудитория. Если нет заявленная поддержка
> приложения под выясненную платформу, то вы ее пытаетесь там запустить.Человек, если ты прешься на русскоязычный форум - изволь русским языком все-таки овладеть. Хотя-бы в объеме достаточном для правильной стыковки падежей. Зачем нам записки папуаса Пятницы?
> Изначально BSD создан как альтернатива UNIX с полной совместной поддержкой POSIX.
Гуглтранслейт такой гуглтранслейт, а маркетинговый булшит такой маркетинговый.
//Fuck google translate & marketing bullshit.> Если Вам нужно использовать связь под платформу существует полный стандарт SIP
...который застревает на первом же фаере и нате, потому что проектирован спятившими обезьянами, под идеальный мир.
> Я имею уверенность,
Ее не надо иметь, с ней надо дружить.
> Вполне вероятно, что Skype так же пожжерживает входящие звонки из SIP?
Там свой собственный протокол и юзвери адресуются по никнеймам.
Какой ты умный и находчивый! Мы почти гордимся тобой!> Гуглтранслейт такой гуглтранслейт,
> застревает на первом же фаере и нате
> фаере и нате,*facepalm.jpg*
> Наверное прозрачно намекает что бояздэшники - латентные проприетарщики...Латентные - потому хотят, но не могут запустить?
А как тогда называть тех, кто может - и гордится возможностю ввести зонд нативно и почти без вазелина? :)
> Латентные - потому хотят, но не могут запустить?Латентные - потому что норовят втихаря подъюзать макось или винду, когда предмет их фапа жидко обcupaется с mission critical задачей, а совсем уж обламываться неохота.
> А как тогда называть тех, кто может - и гордится возможностю ввести
> зонд нативно и почти без вазелина? :)Если это про юзеров скайпа - гoвнoeды. Но большинство бздюков как ни странно ничего не имеют против проприетари, а свододная лицензия им нужна для того чтобы уволочь код в свою нору, закрыть и потчевать окружающих своим блобьем под EULA. Правда, у большинства на этом пути пупок развязывается, но сони и жуниперы - одобряют.
> Латентные - потому что норовят втихаря подъюзать макось или винду,Т.е. бубунта - это бздя, ибо, как известно каждому - бубунтоиды через одного дуалбутчики, да еще и гордятся этим?
> . Но большинство бздюков
Опрос был проведен когда и кем? Или голоса в голове нашептали? :)
> как ни странно ничего не имеют против проприетари
Ну, пока мы видим отнюдь не бздюков, фапающих на проприетарь - типа "Сидите на нормальных системах, где зонды устанавливаются в два клика!!"
> а свододная лицензия им нужна
> для того чтобы уволочь код в свою нору, закрыть и потчеватьГолоса в голове, шепчущие про проприетарь - отнюдь не всегда голоса "бздюков" :)
Разупорись, не латентный.
> Т.е. бубунта - это бздя, ибо, как известно каждому - бубунтоиды через
> одного дуалбутчики, да еще и гордятся этим?Большинство убунтоидов как раз от дуалбута постепенно избавляются, т.к. там система вполне может подхватить их задачи, а ребутаться - утомительно.
> Опрос был проведен когда и кем? Или голоса в голове нашептали? :)
Это так, неформальная статистика по опеннету и ряду других ресурсов где такие кадры попадаются. Даже забредавший сюда Kibab и то спалился на том что драйвер SATA для allwinner он как бы для развлечения написал, а на десктопе у него макось. У опенбздюков это менее выражено, но это потому что они сами менее выражены.
> "Сидите на нормальных системах, где зонды устанавливаются в два клика!!"
Я вроде пользователей скайпа гoвнoедами назвал. Хоть и пользуюсь хубунтой :).
> Голоса в голове, шепчущие про проприетарь - отнюдь не всегда голоса "бздюков" :)
Не, это всего лишь статистика по части предпочтений и мотивации большинства виденных бздюков.
>> Т.е. бубунта - это бздя, ибо, как известно каждому - бубунтоиды через
>> одного дуалбутчики, да еще и гордятся этим?
> Большинство убунтоидов как раз от дуалбута постепенно избавляютсяэто понятно. нафига две венды?
> Не, это всего лишь статистика по части предпочтений и мотивации большинства виденных бздюков.
такая статистика говорит более о твоём круге общения.
> Наверное прозрачно намекает что бояздэшники - латентные проприетарщики...А мне-то фигли об этом писать? ))
> А мне-то фигли об этом писать? ))А тебе - за то что ты понифаг :)
> Мда, а старые версии клиентов мелкомягкие уроды отключили. (Работают старые версии, только погиниться не могут. Логиниться нужно новым скайпом с включенным автологоном, после чего его убивать с -KILL и запускать старый (4.2.0.13).
P.S. И ни в коем случае не ставить линуксовую пульсу, в ней весь косяк а не в отсутствующих сисколах. Если она стоит в системе, старый скайп не работает тоже
P.S.2. Старый скайп тоже можно заставить логиниться если поправить номер версии в бинарнике, но это отдельная история
> Работают старые версии, только погиниться не могут. Логиниться нужно новым скайпом с
> включенным автологоном, после чего его убивать с -KILL и запускать старый (4.2.0.13).Вот это я понимаю - в ластах и протиогазе, по фонарному столбу...
>> Работают старые версии, только погиниться не могут. Логиниться нужно новым скайпом с
>> включенным автологоном, после чего его убивать с -KILL и запускать старый (4.2.0.13).
> Вот это я понимаю - в ластах и протиогазе, по фонарному столбу...Да, это так. Самое веселое, что в линуксе еще хуже. Он, скайп, с qt динамически слинкован, и если не изменяет мне склероз, этот qt из 5-го рхела, по этому нужно бывает такое городить чтобы заработало...
> Да, это так. Самое веселое, что в линуксе еще хуже.Не знаю, тут из зала подсказывают что в убунте он просто ставится и работает. Я правда лично не проверял, т.к. зонд от микрософта мне никуда не уперся.
Он и в бзде просто ставился и работал, пока не стал pulseaudio-only и из другого угла зала подсказывают что наличие пульсы уже само по себе проблема.> зонд от микрософта мне никуда не уперся.
при всем богатстве выбора, альтернатив нет. аська сдохла, xmmp с sip так и не родились
> Он и в бзде просто ставился и работал, пока не стал pulseaudio-onlyЭто вполне логично - апликушникам удобнее относительно высокоуровневый интерфейс, типа пульса. Где они смогут "просто играть звук" а не заморачиваться хренью навроде "а какие частоты дискретизации поддерживает эта звуковуха?". В какой-нибудь алсучке с этим исторически было "не очень". Слишком низкоуровневый интерфейс. OSS сдох из-за жлобства конторы которая его пилила: линуксоидам оказалось нафигнужно вторым сортом относительно проприетари быть. Как обычно. Они - первый сорт. И умеют понятно это объяснять тем кто зарывается. Ну вот так и получилось что имеется то что имеется.
> наличие пульсы уже само по себе проблема.
Не знаю, у меня пульс есть и никаких проблем от этого я не испытываю. Поэтому мне довольно пофиг на эти страдания "расово верных".
А если кто хочет самолично решать что и куда в его системе, на уровне когда вы явно заморачиваетесь какая там звуковая подсистема должна быть - гм, наличие здоровенного мутного проприетарного блоба с мутным поведением совсем не помогает достижению подобных целей. Поэтому нехило бы разобраться сначала с целеполаганием, сделав его не противоречивым логически. А то довольно странно когда у вас левая рука воюет с правой.
> при всем богатстве выбора, альтернатив нет. аська сдохла, xmmp с sip так и не родились
В этом месте придется определиться: или уж строиться под проприерасов и делать как они скажут, или уж всем рулить самому. Это взаимоисключающие параграфы, если вы еще не поняли. Ну то-есть бывает что проприетарь пользуется теми системными и-фейсами, которыми бы вам и хотелось. Но это вилами по воде писано.
> Где они смогут "просто играть звук" а не заморачиваться хренью навроде "а какие частоты дискретизации поддерживает эта звуковуха?"user294, вылезай из анабиоза и прекращай нести всякую хрень на опеннете. Звуковухам уже лет этак 15 до барабана частоты дискретизации и битность квантования, у них у всех 1-битный обычно 3-х мегагерцовый ЦАП с сигма-дельта модуляцией и им пофигу что конвертировать в этот формат.
> Звуковухам
> уже лет этак 15 до барабана частоты дискретизации и битность квантования,
> у них у всех 1-битный обычно 3-х мегагерцовый ЦАП с сигма-дельта
> модуляцией и им пофигу что конвертировать в этот формат.Насколько я понимаю, ваш оппонент (почти opennet :) имел ввиду, что для открытия устройства для воспроизведения нужно проделать довольно таки много манипуляций. В целом он прав, но тот кому просто "просто играть звук" возьмет готовую библиотеку, которая умеет не только alsa/jack/etc использовать, но и аудио форматы декодировать или вообще вызовет отдельный процесс с каким нибудь aplay.
Что же касается звуковух - то общение с ЦАП не происходит на прямую, а через codec/dsp, который хочет вполне конкретных частот и форматов. Да и нормально реализовать 44.1kHz и 48kHz на одной железке можно либо двумя тактовыми генераторами, либо одним очень скоростным с гибкой системой делителей и множителей. Естественно производители массовых решений ставят один дешевый кварц кратный 48kHz, а остальные частоты получают программно.
> Насколько я понимаю, ваш оппонент (почти opennet :) имел ввидуДа не, он просто очень хотел потроллить, но как всегда - не осилил, ибо не очень в теме :)
Под фрей пульса работает (и тянется в некоторых зависимостях) - злостных шипений не наблюдал, хотя иногда и зависало (вернее - начинало жрать цпу).
> Да и нормально реализовать 44.1kHz и 48kHz на одной железке можно либо двумя тактовыми генераторами, либо одним очень скоростным с гибкой системой делителей и множителей. Естественно производители массовых решений ставят один дешевый кварц кратный 48kHz, а остальные частоты получают программно.Оба-на еще один знаток железа вещает из анабиоза.
Камрад, нету звуковых ЦАП на 44.1kHz и 48kHz уже лет 15 как. Они - говно по определению, ибо у фильтров с высокой крутизной среза стоящих на выходе и требуемых теоремой Котельникова-Найквиста есть фатальные недостатки: у линейных, например, чем круче АЧХ, тем хреновее ФЧХ. Про ПАВ, Фурье и т.п. даже заикаться не хочется.
От этого жизнь пошла по другому пути - отказу от схем с фильтрацией сигнала на 22/24 kHz. В результате, сейчас применяются только 1-битные ЦАП-ы на ~3МГц с обработкой сигналов на основе т.н. сигма-дельта модуляции (да, да, про нее знает даже русская википедия, загляни plz туда прежде чем отвечать) и там без разницы исходная частота т.к. ресамплинг происходит вообще всегда.Нееее, я понимаю, user294 мог не знать об этом, не на каждом углу написано. Но когда, как говорится "ткнули фейсом" продолжать нести свои измышлизмы про "44.1kHz и 48kHz на одной железке" это называется "чукча не читатель. чукча - писатель"
> Оба-на еще один знаток железа вещает из анабиоза.
> Камрад, нету звуковых ЦАП на 44.1kHz и 48kHz уже лет 15 как.1. Еще раз для особо одаренных - драйвер не работает с ЦАП напрямую. 44.1kHz и 48kHz (или кратные им) хочет codec/dsp с которым и работает alsa.
2. Откройте любой даташит на аудио ЦАП и посмотрите в каком виде он хочет PCM.
> Они - говно по определению, ибо у фильтров с высокой крутизной
> среза стоящих на выходе и требуемых теоремой Котельникова-Найквиста есть фатальные недостатки:
> у линейных, например, чем круче АЧХ, тем хреновее ФЧХ. Про ПАВ,
> Фурье и т.п. даже заикаться не хочется.
> От этого жизнь пошла по другому пути - отказу от схем с
> фильтрацией сигнала на 22/24 kHz. В результате, сейчас применяются только 1-битные
> ЦАП-ы на ~3МГц с обработкой сигналов на основе т.н. сигма-дельта модуляции
> (да, да, про нее знает даже русская википедия, загляни plz туда
> прежде чем отвечать) и там без разницы исходная частота т.к. ресамплинг
> происходит вообще всегда.Большинство аудио ЦАП имеют встроенный oversampling. К примеру на моей плате стоит CS4398, в интернете есть отличный даташит на него.
> Нееее, я понимаю, user294 мог не знать об этом, не на каждом
> углу написано. Но когда, как говорится "ткнули фейсом" продолжать нести свои
> измышлизмы про "44.1kHz и 48kHz на одной железке" это называется "чукча
> не читатель. чукча - писатель"Это точно ;) Я занимаюсь аудио как железом, так и софтом примерно 15 лет, да и драйвера ковырять приходилось.
> 1. Еще раз для особо одаренных - драйвер не работает с ЦАП напрямую. 44.1kHz и 48kHz (или кратные им) хочет codec/dsp с которым и работает alsa.Ну и прекрасно. Любую частоту/битность которую запросит alsa она получит. Не только дефолтные 48kHz, но и 44, 96 и т.д. С недефолтной на дефолтную она умеет сама делать up/down-sample, software mixing применять если отсутствует hardware mixing тоже умеет. В чем проблема? В чем тут необходимость pulse?
> Большинство аудио ЦАП имеют встроенный oversampling
Уже давно не большинство а все, хоть это и не совсем oversampling
> К примеру на моей плате стоит CS4398, в интернете есть отличный даташит на него.
Даже этот динозавр 10-летней давности умеет все возможные частоты и битности (кроме 32) и все они являются нативными из-за первой строчки в даташите: Features Advanced Multi-bit Delta-Sigma Architecture
Я уже начинаю теряться. К чему этот спич? Весь опеннет меня пытается убедить что alsa не умеет воспроизводить звук из нескольких источников одновременно? И из-за этого надо поверх нее тянуть пульсу? Или что приложения написанные под alsa должны подстраиваться под звуковую карту? Бред! Тогда уж лучше сразу задепрекатить альсу если она такое гуано и утянуть в ядро и glibc пульсу, чем устраивать нынешнюю дурацкую связку pulse/alsa
>> 1. Еще раз для особо одаренных - драйвер не работает с ЦАП напрямую. 44.1kHz и 48kHz (или кратные им) хочет codec/dsp с которым и работает alsa.
> Ну и прекрасно. Любую частоту/битность которую запросит alsa она получит. Не только
> дефолтные 48kHz, но и 44, 96 и т.д.Нет, не получит. Как я уже сказал, это зависит от реализации тактового генератора, а не от ЦАП. Смотрите все тот же даташит и откуда берется MCLK. На моей плате (emu1212-m pci) физически стоит два разных кварца, выбрать нужный можно из alsamixer.
> С недефолтной на
> дефолтную она умеет сама делать up/down-sample, software mixing применять если отсутствует
> hardware mixing тоже умеет. В чем проблема? В чем тут необходимость
> pulse?Изначально речь шла о том, что у alsa сложный api - и это правда.
> Я уже начинаю теряться. К чему этот спич? Весь опеннет меня пытается
> убедить что alsa не умеет воспроизводить звук из нескольких источников одновременно?
> И из-за этого надо поверх нее тянуть пульсу?Все alsa умеет. Я лично использую либо просто alsa, либо совместно с jack.
> Или что приложения
> написанные под alsa должны подстраиваться под звуковую карту?Должны - alsa низкоуровневый интерфейс, приложение как минимум должно согласовать частоту, формат (16/24/le/be), размер буфера, количество периодов.
> Бред! Тогда уж
> лучше сразу задепрекатить альсу если она такое гуано и утянуть в
> ядро и glibc пульсу, чем устраивать нынешнюю дурацкую связку pulse/alsaНет, не бред. Это позволяет при необходимости получить минимально возможную задержку для конкретного железа. Так же при не необходимости, мы можем получить гарантированный bit perfect, то есть отсутствие какой либо программной модификации посылаемого сигнала.
Я сам многое здесь писал в защиту alsa. Создание еще одного звуковой подсистемы (PA), только увеличило количество проблем - появились приложения не умеющие работать без PA.
> Нет, не получит. Как я уже сказал, это зависит от реализации тактового генератора, а не от ЦАП. Смотрите все тот же даташит и откуда берется MCLK. На моей плате (emu1212-m pci) физически стоит два разных кварца, выбрать нужный можно из alsamixer.Мимо. Конкретно у этой микросхемы есть ограничение, не применимое к звуковым платам и заставляющее ставить несколько кварцев - ей необходимо работать слэйвом и брать синхронизацию с SPDIF и прочая. См даташит к CS8414, по этому такое усложнение. Микросхемы без этого спокойно обходятся 1-м кварцем. Например, весьма распространенный дешевый ALC888 использует один кварц на 24MHz и делает все тоже самое и даже больше
> Все alsa умеет. Я лично использую либо просто alsa, либо совместно с jack.
ЧИТД
> Должны - alsa низкоуровневый интерфейс, приложение как минимум должно согласовать частоту, формат (16/24/le/be), размер буфера, количество периодов
К DAC здесь относится только 16/24. На оба варианта будет ответ - ДА даже у упомянутого динозавра 2002 г. выпуска. Так в чем проблема?
> Нет, не бред. Это позволяет при необходимости получить минимально возможную задержку для конкретного железа. Так же при не необходимости, мы можем получить гарантированный bit perfect, то есть отсутствие какой либо программной модификации посылаемого сигнала.
У меня есть подозрение, что если пульса займется конверсией, в чем как утверждает user294 ее главная сила, то этот bit perfect сразу и появится. Так? Я почему-то думал что это его скорее угробит.
> Я сам многое здесь писал в защиту alsa. Создание еще одного звуковой подсистемы (PA), только увеличило количество проблем - появились приложения не умеющие работать без PA.
Вот скажите, пожалуйста, только честно, зачем потребовалось заходить в тред чтобы еще раз подтвердить мои слова про PA, но только в несколько иной форме?
> Мимо. Конкретно у этой микросхемы есть ограничение, не применимое к звуковым платам
> и заставляющее ставить несколько кварцев - ей необходимо работать слэйвом и
> брать синхронизацию с SPDIF и прочая. См даташит к CS8414, по
> этому такое усложнение.У меня такое впечатление, как будто не я разбирался и чинил сломанное переключение частот, а вы :) Еще раз - ЦАПу нужен MCLK - (master clock), на базе него получается требуемая частота. Можете сами посчитать ближайшее кратное число для 44.1kHz, 48kHz (фактически нужно для 176.4kHz и 192kHz), вдобавок делитель для обоих частот должен быть степенью двойки, либо нужен более хитрый преобразователь частот с гибким делением и умножением.
Другая моя плата - emu-0204 имеет только аналоговые входы/выходы, но на ней также стоят два кварца. Правда DSP сам их выбирает, в зависимости от запрашиваемой частоты.
Есть у меня и другой пример - sansa zip. С rockbox имеет приличное звучание на 44.1kHz. Построен на базе кодека as3543, имеет очень гибкую систему делителей и множителей, опорная аудио частота 192mHz, итоговая погрешность на 44.1kHz - 0.04%.
> Микросхемы без этого спокойно обходятся 1-м кварцем.
Угу, примерно также как и sb live/audigy :) На 44.1 будут повышенные интермодуляционные искажения. В итоге alsa автоматически включает программный resampling, дабы обойти эту ошибку природы.
> Например,
> весьма распространенный дешевый ALC888 использует один кварц на 24MHz и делает
> все тоже самое и даже большеЭто не ЦАП, а кодек с интегрированным генератором/ЦАП/АЦП/микшером/spdif/gpio. И да он и с 48kHz не очень хорошо справляется, а про 44.1 без программного ресемплинга лучше вообще забыть.
>> Должны - alsa низкоуровневый интерфейс, приложение как минимум должно согласовать частоту, формат (16/24/le/be), размер буфера, количество периодов
> К DAC здесь относится только 16/24. На оба варианта будет ответ -
> ДА даже у упомянутого динозавра 2002 г. выпуска.О каком динозавре речь? Если о cs4398, то насколько я знаю у cirrus logic посей день нет ничего лучше. Ручной выбор частоты в emu-1212m, означает что приложение может использовать только одну выбранную частоту.
> Так в чем проблема?
То есть вы думает, что все устройства поддерживаемые alsa умеют 192kHz/24bit? Включая всякие RBPi/телефоны/планшеты/ноутбуки. Да и забудьте про ЦАП - alsa с ним не работает напрямую. Буфер и периоды настраивать нужно, они очень отличаются для разного железа и разных частот. Еще забыл, что количество каналов тоже разное.
> Вот скажите, пожалуйста, только честно, зачем потребовалось заходить в тред чтобы еще
> раз подтвердить мои слова про PA, но только в несколько иной
> форме?Мне не нравится, когда человек справедливо указал на сложности в alsa api, а его ответ называют "всякой хренью" и несут про "1-битный обычно 3-х мегагерцовый ЦАП с сигма-дельта модуляцией".
Чем больше читаю страшные сказки про ALSA и PulseAudio, тем больше люблю свой родной sndio...
> Чем больше читаю страшные сказки про ALSA и PulseAudio, тем больше люблю
> свой родной sndio...На первый взгляд - тоже низкоуровневый как и alsa, но еще и с аудио сервером.
Еще настораживает http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/...BUGS
Resampling is low quality; down-sampling especially should be avoided when recording.Processing is done using 16-bit arithmetic, thus samples with more than 16 bits are rounded. 16 bits (i.e. 97dB dynamic) are largely enough for most applications though. Processing precision can be increased to 24-bit at compilation time though.
Он хоть с dithering'ом до 16 бит округляет? Если без - то это совсем не 97dB dynamic, ибо THD около -80dB будет ...
>[оверквотинг удален]
> с аудио сервером.
> Еще настораживает http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/...
> BUGS
> Resampling is low quality; down-sampling especially should be avoided when recording.
> Processing is done using 16-bit arithmetic, thus samples with more than 16
> bits are rounded. 16 bits (i.e. 97dB dynamic) are largely enough
> for most applications though. Processing precision can be increased to 24-bit
> at compilation time though.
> Он хоть с dithering'ом до 16 бит округляет? Если без - то
> это совсем не 97dB dynamic, ибо THD около -80dB будет ...Честно скажу, я ни разу не звуковик, и если разницу между MP3 и оригиналом ещё, может, и услышу, то кто где - не факт, что определю. Тем не менее, вот, что я вижу в функции конвертирования из "нативного" в запрошенный формат (обратная функция содержит аналогичный код):
odata += p->bfirst;
for (f = todo * p->nch; f > 0; f--) {
/* convert adata to u32 */
s = (int)*idata++ + ADATA_UNIT;
s <<= 32 - ADATA_BITS;
/* convert u32 to uN */
s >>= oshift;
/* convert uN to sN */
s -= obias;
/* packetize sN */
for (i = obps; i > 0; i--) {
*odata = (unsigned char)s;
s >>= 8;
odata += obnext;
}
odata += osnext;
}ADATA_BITS по умолчанию 16, но можно при компиляции выставить в 24. Надеюсь, этот код даст вам ответ на вопрос; я, к сожалению, слабо понимаю, как оно вообще может работать. :-\ Но работает ведь...
Насколько я знаю, собственно автор считает, что если звук читать или писать надо профессионально, то нужно избегать ресемплирования как такового. То есть, если писать - то писать в нативном формате, и уже в звуковом редакторе, если надо, что-то перегонять. С моей, непрофессиональной точки зрения, выглядит достаточно логично. Но истиной в какой-либо инстанции я, конечно, тут не являюсь и являться не могу. :)
> ADATA_BITS по умолчанию 16, но можно при компиляции выставить в 24.Это не поможет, если ваша звуковая плата будет в 16 битном режиме.
> Надеюсь,
> этот код даст вам ответ на вопрос; я, к сожалению, слабо
> понимаю, как оно вообще может работать. :-\ Но работает ведь...Код действительно заковыристый, похоже автор серьезно относится к экономии ресурсов (как cpu, так и памяти). Dithering'а нет. О качестве самого ресемплинга сказать ничего не могу (он должен быть в отдельной функции), но скорее всего будет тоже подход - с минимальным потреблением cpu.
Качественный ресемплинг довольно ощутимо грузит cpu.
Есть хороший сайт, на котором наглядно можно посмотреть качество ресемплинга в различных программных пакетах (как открытых, так и закрытых).
http://src.infinitewave.caВ идеале должен быть только исходный сигнал - одна яркая линия. Все остальные линии - призвуки порожденные преобразованием. Чем их больше и чем они ярче (громче) - тем хуже.
Преобразование в дешевых кодеках будет примерно равно Secret Rabbit Code (ZOH).
Более дорогие решения с полноценным, но слабым DSP (например старые sb live/audigy) - Secret Rabbit Code (Linear).Для вашей ситуации, я бы рекомендовал использовать плеер с качественным преобразованием. Например mpv при настройках по-умолчанию при необходимости использует lavrresample (ffmpeg).
Проверить свою систему можно и на слух.
http://knk.bplaced.net/audio/resampling_test_44.wav
http://knk.bplaced.net/audio/resampling_test_44.mp3Если ресемплинг более-менее качественный, то вы услышите просто тональный набор.
Если ресемплинг имеет серьезные проблемы - то услышите сирену, чем она громче, тем хуже.
Вот пример плохого преобразования при использовании алгоритма zoh в audacity:
http://knk.bplaced.net/audio/bad_resampling_44-48_zoh.wav> Насколько я знаю, собственно автор считает, что если звук читать или писать
> надо профессионально, то нужно избегать ресемплирования как такового. То есть, если
> писать - то писать в нативном формате, и уже в звуковом
> редакторе, если надо, что-то перегонять. С моей, непрофессиональной точки зрения, выглядит
> достаточно логично. Но истиной в какой-либо инстанции я, конечно, тут не
> являюсь и являться не могу. :)Все верно, но не будете же вы конвертировать в аудио редакторе каждый mp3 перед прослушиванием.
>> ADATA_BITS по умолчанию 16, но можно при компиляции выставить в 24.
> Это не поможет, если ваша звуковая плата будет в 16 битном режиме.Логично.
>[оверквотинг удален]
> Более дорогие решения с полноценным, но слабым DSP (например старые sb live/audigy)
> - Secret Rabbit Code (Linear).
> Для вашей ситуации, я бы рекомендовал использовать плеер с качественным преобразованием.
> Например mpv при настройках по-умолчанию при необходимости использует lavrresample (ffmpeg).
> Проверить свою систему можно и на слух.
> http://knk.bplaced.net/audio/resampling_test_44.wav
> http://knk.bplaced.net/audio/resampling_test_44.mp3
> Если ресемплинг более-менее качественный, то вы услышите просто тональный набор.
> Если ресемплинг имеет серьезные проблемы - то услышите сирену, чем она громче,
> тем хуже.Ух ты!.. Я без иронии, действительно, вы столько всего интересного показываете.
Проверил sndiod - действительно, начиная примерно с пятого тонового сигнала идёт сравнимый по громкости звук пилы, на которой играют.
Вырубил sndiod (чтобы программы, использующие sndio, подключались в /dev/audio напрямую), проиграл тот же файл - пилы нет, а audioctl говорит, что play.rate=44100. То есть ресемплирование, видимо, успешно делается штатным кодеком, так как в audio(4) используется линейное и тоже, судя по коду (очень похож на код из sndiod), без dithering'а - как я понимаю, в этом случае пилу я тоже должен был услышать.
Теперь сказал sndiod запускаться с принудительным использованием 44100Гц - пилы нет. Чувствую себя счастливым - я победил проблему, о которой ещё вчера не знал. :)) Буду продолжать эксперименты; может, даже попробую прикрутить альтернативный механизм в sndiod (хотя автор вряд ли одобрит лишний обвес)... Ещё раз спасибо за информацию!
> Вот пример плохого преобразования при использовании алгоритма zoh в audacity:
> http://knk.bplaced.net/audio/bad_resampling_44-48_zoh.wavБр-р-р!!! Предупреждать же надо... Не, у меня пила (была) тихая, не громче исходного сигнала.
>> Насколько я знаю, собственно автор считает, что если звук читать или писать
>> надо профессионально, то нужно избегать ресемплирования как такового. То есть, если
>> писать - то писать в нативном формате, и уже в звуковом
>> редакторе, если надо, что-то перегонять. С моей, непрофессиональной точки зрения, выглядит
>> достаточно логично. Но истиной в какой-либо инстанции я, конечно, тут не
>> являюсь и являться не могу. :)
> Все верно, но не будете же вы конвертировать в аудио редакторе каждый
> mp3 перед прослушиванием.Логично. Но, похоже, в моём случае вполне можно открыт
> Логично. Но, похоже, в моём случае вполне можно открытЧёрт, нечаянно нажал Ctrl+Enter, вместо этой фразы должен был быть постскриптум (если интересно):
$ audioctl
name=HD-Audio
encodings=slinear_le:16:2:1,slinear_le:20:4:1,slinear_le:24:4:1
properties=full_duplex,independent
hiwat=9
lowat=8
mode=
play.rate=44100
play.channels=2
play.precision=16
play.bps=2
play.msb=1
play.encoding=slinear_le
play.samples=0
play.pause=1
play.active=0
play.block_size=3840
play.errors=0
record.rate=44100
record.channels=2
record.precision=16
record.bps=2
record.msb=1
record.encoding=slinear_le
record.samples=0
record.pause=1
record.active=0
record.block_size=3840
record.errors=0
$ dmesg | egrep 'audio|azalia'
azalia0 at pci0 dev 3 function 0 "Intel Core 4G HD Audio" rev 0x0b: msi
azalia0: No codecs found
azalia1 at pci0 dev 27 function 0 "Intel 8 Series HD Audio" rev 0x04: msi
azalia1: codecs: Realtek ALC292
audio0 at azalia1
>> Логично. Но, похоже, в моём случае вполне можно открыт
> Чёрт, нечаянно нажал Ctrl+Enter, вместо этой фразы должен был быть постскриптум (если
> интересно):(это с sndiod -r 44100, без этой опции *.rate будет 48000)
> Вырубил sndiod (чтобы программы, использующие sndio, подключались в /dev/audio напрямую),
> проиграл тот же файл - пилы нет, а audioctl говорит, что
> play.rate=44100. То есть ресемплирование, видимо, успешно делается штатным кодеком, так
> как в audio(4) используется линейное и тоже, судя по коду (очень
> похож на код из sndiod), без dithering'а - как я понимаю,
> в этом случае пилу я тоже должен был услышать.Точно сказать о качестве ресемплинга по наличию/отсутствия dithering'а нельзя ;)
К сожалению не могу проверить дешевые кодеки в режиме 44.1kHz, так как alsa просто не позволяет выставить этот режим. Насколько я знаю - общая политика alsa избегать аппаратного ресемплинга, так как он обычно реализован через зад, точнее zoh или linear.
А патчить alsa для включения 44.1 лениво :)Проверьте не изменилась ли скорость воспроизведения при форсировании 44.1.
К сожалению не нашел dataheet на ваш кодек.Dithering нужен для корректного округления до 16 бит. Обычно вся обработка звука производится в float (есть варианты и на целых числах для железа с медленным float, но все равно там тоже 32 бита). Без dithering'а звучание тихих звуков становится более жестким. В целом это эта проблема менее заметна, чем плохой ресемплинг.
Залил отдельный аудио тест для него:
http://knk.bplaced.net/audio/dithering_test/2bit64_fragment....
http://knk.bplaced.net/audio/dithering_test/2bit64_fragment.mp3
http://knk.bplaced.net/audio/dithering_test/2bit64_fragment.ogg
http://knk.bplaced.net/audio/dithering_test/2bit64_fragment.wavИспользовать следующим образом. Отключить программную регулировку громкости (если она где-то используется). Включить всю аппаратную громкость на полную - в микшере и колонках. Если вся ваша звуковая система (плеер/драйвер/codec/dsp/dac) производят всю обработку аудио корректно или вообще никак не изменяют исходный сигнал (bit perfect), то вы услышите тихую музыку, плавно тонущую в равномерном шуме.
Если звук будет звучать неоднородно, как бы то появляясь и исчезая c неприятными (жесткими) призвуками - где-то есть проблема. Если проблема возникает только на коком-то определенном формате, то значит проблема в плеере или используемой им библиотеке.
Проверил ресемплинг на андройдофоне - на 44.1 все нормально, а на 48 наоборот сирена.
Так что до кучи залил тесты на 48khz, может кому пригодится для телефонов/плееров.http://knk.bplaced.net/audio/resampling_test_48.mp3
http://knk.bplaced.net/audio/resampling_test_48.wav
>> Вырубил sndiod (чтобы программы, использующие sndio, подключались в /dev/audio напрямую),
>> проиграл тот же файл - пилы нет, а audioctl говорит, что
>> play.rate=44100. То есть ресемплирование, видимо, успешно делается штатным кодеком, так
>> как в audio(4) используется линейное и тоже, судя по коду (очень
>> похож на код из sndiod), без dithering'а - как я понимаю,
>> в этом случае пилу я тоже должен был услышать.
> Точно сказать о качестве ресемплинга по наличию/отсутствия dithering'а нельзя ;)Ага, понял, это я не тот код смотрел.
Вот, похоже, именно ресемплинг в sndiod (dsp.c, функция resamp_do):
for (;;) {
if (diff < 0) {
if (ifr == 0)
break;
ctx_start ^= 1;
ctx = ctxbuf + ctx_start;
for (c = nch; c > 0; c--) {
*ctx = *idata++;
ctx += RESAMP_NCTX;
}
diff += oblksz;
ifr--;
} else if (diff > 0) {
if (ofr == 0)
break;
ctx = ctxbuf;
for (c = nch; c > 0; c--) {
s = ctx[ctx_start];
ds = ctx[ctx_start ^ 1] - s;
ctx += RESAMP_NCTX;
*odata++ = s + ADATA_MULDIV(ds, diff, oblksz);
}
diff -= iblksz;
ofr--;
} else {
if (ifr == 0 || ofr == 0)
break;
ctx = ctxbuf + ctx_start;
for (c = nch; c > 0; c--) {
*odata++ = *ctx;
ctx += RESAMP_NCTX;
}
ctx_start ^= 1;
ctx = ctxbuf + ctx_start;
for (c = nch; c > 0; c--) {
*ctx = *idata++;
ctx += RESAMP_NCTX;
}
diff -= iblksz;
diff += oblksz;
ifr--;
ofr--;
}
}
p->diff = diff;
p->ctx_start = ctx_start;
return oblksz - ofr;
Сравнивая с кодом в libsamplerate (пять режимов работы, три из них не дают "пилу" в прошлом тесте), больше всего сходства вижу с src_sinc.c, - а именно в том модуле реализованы те самые три "корректных" алгоритма. Но могу и ошибиться, конечно, так как весьма смутно понимаю, что тут на самом деле происходит. :(> К сожалению не могу проверить дешевые кодеки в режиме 44.1kHz, так как
> alsa просто не позволяет выставить этот режим. Насколько я знаю -
> общая политика alsa избегать аппаратного ресемплинга, так как он обычно реализован
> через зад, точнее zoh или linear.
> А патчить alsa для включения 44.1 лениво :)
> Проверьте не изменилась ли скорость воспроизведения при форсировании 44.1.Проверил, конечно. И сейчас ещё раз специально проверил через time aucat, чтобы своим ушам не доверять лишний раз. Тик в тик с sndio с выставлением на /dev/audio0 как 44,1кГц, так и 48кГц. У меня на одном из прошлых ноутбуков кодек вёл себя неадекватно в этом плане, так что я уже однажды обжёгшийся. :)
> К сожалению не нашел dataheet на ваш кодек.
Тем хуже ему... :)
>[оверквотинг удален]
>
> Использовать следующим образом. Отключить программную регулировку громкости (если она
> где-то используется). Включить всю аппаратную громкость на полную - в микшере
> и колонках. Если вся ваша звуковая система (плеер/драйвер/codec/dsp/dac) производят всю
> обработку аудио корректно или вообще никак не изменяют исходный сигнал (bit
> perfect), то вы услышите тихую музыку, плавно тонущую в равномерном шуме.
> Если звук будет звучать неоднородно, как бы то появляясь и исчезая c
> неприятными (жесткими) призвуками - где-то есть проблема. Если проблема возникает только
> на коком-то определенном формате, то значит проблема в плеере или используемой
> им библиотеке.Попробовал с wav в aucat, ffplay (надеялся увидеть сонограмму), MoC (использует libsamplerate) и sox, с sndiod -r 44100 и без оного. По результатам - с sndiod звук немного тише (он приглушает звук на 3дБ, чтобы реальная громкость клиентов не скакала при изменении их количества в разумных пределах), но в обоих случаях слышно только музыку и шум (колонок), без призвуков и пропаданий.
> Сравнивая с кодом в libsamplerate (пять режимов работы, три из них не
> дают "пилу" в прошлом тесте), больше всего сходства вижу с src_sinc.c,
> - а именно в том модуле реализованы те самые три "корректных"
> алгоритма. Но могу и ошибиться, конечно, так как весьма смутно понимаю,
> что тут на самом деле происходит. :(По коду тип ресемплинга точно не определю, но на свертку (sinc) этот код явно не похож. Там должно быть умножение каждого сэмпла на каждый коэффициент фильтра + сами таблицы фильтров немалого размера (в libsamplerate *_coeffs.h).
> Проверил, конечно. И сейчас ещё раз специально проверил через time aucat, чтобы
> своим ушам не доверять лишний раз. Тик в тик с sndio
> с выставлением на /dev/audio0 как 44,1кГц, так и 48кГц. У меня
> на одном из прошлых ноутбуков кодек вёл себя неадекватно в этом
> плане, так что я уже однажды обжёгшийся. :)Возможно вам действительно попался не самый плохой кодек ;)
> Попробовал с wav в aucat, ffplay (надеялся увидеть сонограмму), MoC (использует libsamplerate)
> и sox, с sndiod -r 44100 и без оного. По результатам
> - с sndiod звук немного тише (он приглушает звук на 3дБ,
> чтобы реальная громкость клиентов не скакала при изменении их количества в
> разумных пределах), но в обоих случаях слышно только музыку и шум
> (колонок), без призвуков и пропаданий.Сперва вы должны слышать просто шум колонок, затем после запуска файла шум должен возрасти. Этот шум собственно и есть dithering - он должен быть однородным фоном для музыки.
Если будет завтра время, попробую сделать вариант без dihering'a, что бы было с чем сравнить.
> ЦАПу нужен MCLK - (master clock), на базе него получается требуемая частотаВнешний MCLK - не обязателен. Только когда ЦАП работает как slave, т.е. это ресиверы, DVD-проигрыватели, многоканальные схемы и т.д. В остальных случаях достаточно просто обычного кварца на 12-24MHz.
В качестве домашнего задания:
Дано: AC97-кодек из прошлого тысячелетия, например, LM4548 от TI http://www.ti.com/lit/ds/symlink/lm4548.pdf
Найти:
1. Выводы для работы от тактового генератора на основе кварцевого резонатора.
2. Вывод для работы от внешнего master clock (hint: это не SYNC).
3. Перечислить необходимые условия для тактирования от кварца и необходимые условия для тактирования от внешнего master clock.
4. Объяснить разницу между частотами кварца и внешнего master clock> Можете сами посчитать ближайшее кратное число для 44.1kHz, 48kHz (фактически нужно для 176.4kHz и 192kHz), вдобавок делитель для обоих частот должен быть степенью двойки, либо нужен более хитрый преобразователь частот с гибким делением и умножением.
После этой выкладки дальнейший разговор можно не продолжать. К сожалению, Вы не понимаете работу ШИМ/сигма-дельта ЦАП в звуковых платах на фундаментальном уровне. Зависимость sample rate/quartz freq для НЕ slave режима можно описать примерно следующими фразами:
1. Частота тактового генератора расчитывается по простейшей формуле: Основная частота (обычно 48kHz) * Коэффициент оверсамплинга (обычно 256) ~= 12MHz. Для уменьшения влияния скважности задающего генератора и прочих схемотехнических плюшек ее поднимают еще в 2 раза. Это дает 24MHz (Вы помните, я приводил ее для ALC888?).
2. Для 96kHz и 192kHz, коэффициент оверсамплинга уменьшают в 2 и 4 раза соответственно. Частота генератора остается аналогичной оной для 48kHz
3. Для "левых" (44kHz и проч) частот, требуемых AC97, выполняют ресамплинг в железке, а не изменение частоты DAC, и он фактически не приводит к заметным ухудшениям звука т.к. осуществляется в 12MHz а не в 48kHz. Процитирую feature из приведенного ранее даташита LM4548: "High Quality Sample Rate Conversion (SRC) from 4kHz to 48kHz in 1Hz Increments".Таким образом, для всех sample rate частота DAC остается неизменной и зависящей только от основной. Более подробно объяснять лень ибо не вижу понимания.
P.S. Для работы как slave Ваша выкладка про кратное число тоже не верна. master clock это просто sample rate * коэффициент оверсамплинга. Может быть просто sample rate, если DAC умеет сам делать умножение частоты.
P.S.2. Приведенное мною ранее число в 3MHz взято не из потолка а из стандарта SACD, как первое вспомнившееся, хотя по отношению к звуковым платам оно и неверно
>> ЦАПу нужен MCLK - (master clock), на базе него получается требуемая частота
> Внешний MCLK - не обязателен. Только когда ЦАП работает как slave, т.е.
> это ресиверы, DVD-проигрыватели, многоканальные схемы и т.д.В точности наоборот - MCLK нужен для master режима, для slave - SCLK.
> В остальных случаях достаточно
> просто обычного кварца на 12-24MHz.Откройте еще раз даташит cs4398 и посмотрите раздел Master and Serial Clock Ratios - там есть таблицы для обоих режимов (master и slave) - там меняются только множители, соответственно можно получить только кратные частоты. Во второй таблицы приведены значения MCLK для 44.1 и 48 и естественно они разные.
> В качестве домашнего задания:
> Дано: AC97-кодек из прошлого тысячелетия, например, LM4548 от TI http://www.ti.com/lit/ds/symlink/lm4548.pdfНе мешайте в кучу ЦАПы и кодеки - кодек как правило содержит в своем составе генератор, еще раз прочтите, что я писал о as3543.
> 3. Для "левых" (44kHz и проч) частот, требуемых AC97, выполняют ресамплинг в железке, а не изменение частоты DAC, и он фактически не приводит к заметным ухудшениям звука т.к. осуществляется в 12MHz а не в 48kHz. Процитирую feature из приведенного ранее даташита LM4548: "High Quality Sample Rate Conversion (SRC) from 4kHz to 48kHz in 1Hz Increments".Еще раз нет там никакого "High Quality", это бред маркетологов. По замерам IMD такой SRC сразу себя выдает. При любой возможности (если качество звука хоть немного интересно) его нужно избегать.
Запустите любой аудио файл (44.1kHz). И сделайте 'cat /proc/asound/card0/pcm0p/sub0/hw_params'. Для практически всех левых чипов там будет 48kHz. Проверьте на всем доступном вам железе.
Даже на относительно современных решениях и не очень дешевых решениях ресемплинг все равно остается проблемой.
http://www.ixbt.com/multimedia/soundcard-duel-may-2013.shtml
Итак, Asus STX «отличился» заметным повышенным шумом в режиме 44 кГц. Сам по себе этот шум опасности для слушателя не представляет, так как лежит гораздо ниже TPDF-дизеринга 16-битного сигнала, но говорит о наследстве чипа C-Media Oxigen, где есть проблема с поддержкой 44 кГц, которую решают качественным пересчетом частоты дискретизации. По этой причине Asus приводит данные своих карт только в режиме 48 кГц. Увы, для пользователей этот режим наименее интересен. Изменение данных, поступаемых на ЦАП в угоду упрощению жизни производителю — это такая незамысловатая хитрость, которая в продукте Hi-End является преступлением.
Вот еще один пример качественной платы: http://www.ixbt.com/multimedia/asus-one.shtmlВнутри можно видеть плотный аккуратный монтаж. Каких-то моментов, на основе которых можно заподозрить возможные проблемы, увидеть не удалось. Для частот, кратных 44 и 48 кГц, используется два отдельных генератора 45.16 МГц и 49.15 МГц.
Skype? У тебя богатый выбор всех редакций Windows и OS X.
причина?
>Может в openbsd? Skype в ней пашет?Нет.
> Как раз думаю куда идти с freebsd..
> Может в openbsd? Skype в ней пашет?Проприетарь в дистрибутиве, помешанном на ее отсутсвии?
Ставьте убунту/шиндовс, на крайний случай Андроид, но причем тут BSD?
Я же не плачусь, что под винду нет mpd5?
> Skype в ней пашет?Можно спросить зачем скайп?
Чем не хватает:
Tox https://tox.im/
Mumble http://wiki.mumble.info/wiki/Main_Page
Linphone https://www.linphone.org/
Jitsi https://jitsi.org/Или вы используете скайп для дезинформации врага?
>> Skype в ней пашет?
> Можно спросить зачем скайп?
> Чем не хватает:
> Tox https://tox.im/
> Mumble http://wiki.mumble.info/wiki/Main_Page
> Linphone https://www.linphone.org/
> Jitsi https://jitsi.org/
> Или вы используете скайп для дезинформации врага?что из этого, кроме Linphone, есть в OpenBSD? :)
У тебя есть возможность что-то портировать.. С свободным софтом сложностей быть не должно.
>> Skype в ней пашет?
> Можно спросить зачем скайп?Для общения с теми, кто кроме Skype иначе не умеет. И как бы не их вина, что Skype прост в настройке и использовании.
>>> Skype в ней пашет?
>> Можно спросить зачем скайп?
> Для общения с теми, кто кроме Skype иначе не умеет. И как
> бы не их вина, что Skype прост в настройке и использовании.tox, linphone, ... сильно сложны в установке, настройке и использовании?
Использовать Skype можно исключительно для дезинформации врага!
>>>> Skype в ней пашет?
>>> Можно спросить зачем скайп?
>> Для общения с теми, кто кроме Skype иначе не умеет. И как
>> бы не их вина, что Skype прост в настройке и использовании.
> tox, linphone, ... сильно сложны в установке, настройке и использовании?
> Использовать Skype можно исключительно для дезинформации врага!Вы уговорите из поставить и настроить всех моих родственников и студентов, с которыми приходится порой общаться по Skype? Я на такой подвиг точно не способен.
> Как раз думаю куда идти с freebsd..
> Может в openbsd? Skype в ней пашет?Нет! OpenBSD вообще непонятно для кого делалась. Что там skype, даже встроенных косынки с сапером нет. И программировать невозможно. Visual Basic не устанавливается, ругается на неизвестный формат exe.
> Нет! OpenBSD вообще непонятно для кого делалась. Что там skype, даже встроенных
> косынки с сапером нет. И программировать невозможно. Visual Basic не устанавливается,
> ругается на неизвестный формат exe.Да не то слово -- и кому вообще нужна надёжная операционка без косынки и жижуалвасика...
> Да не то слово -- и кому вообще нужна надёжная операционка без
> косынки и жижуалвасика...Ну вон некоторые до сих пор DOS запускают. Но их уже осталось мало.
>> надёжная операционка
> DOSВзрыв мозга.
>> Как раз думаю куда идти с freebsd..
>> Может в openbsd? Skype в ней пашет?
> Нет! OpenBSD вообще непонятно для кого делалась. Что там skype, даже встроенных
> косынкиЕсть canfield(6)!
Я в своё время пришёл на фряху как раз с OpenBSD, и не жалею. Опёнок есть и будет весьма узкоспециализированной системой, использовать которую для обычного сервера, а тем более десктопа - мучение и извращение. А со скайпом вам разве что на виндоуз.
А какие проблемы на декстопе у неё?
я бы тоже заюзал, но у них нету джайлов...
gpt так и не закончили...
> gpt так и не закончили...В процессе. В -CURRENT уже есть частичная поддержка; в 5.8, думаю, будет уже полнофункционально.
Самое удивительное, что OpenBSD ориентируется на безопасность, а сам их сайт и все зеркала для .iso-образа без… HTTPS (а ведь даже маленькие блоги обзаводятся хотя бы халявным сертификатом)! Даже свой LibreSSL не применяет. Такое ощущение, что какой-то развод. Очень бозяненно скачивать непонятно откуда.
У них ещё и FTP предупреждает о том, что ведётся полное логгирование всех действий пользователя. И предлагает вдоль если тебе это не нравится.
> У них ещё и FTP предупреждает о том, что ведётся полное логгирование
> всех действий пользователя.А смысл? Кому надо - сделают все так, что комар носа не подточит.
Зато желающий отгрузить левака может запросто заMITMать FTP и положить там протрояненые варианты файлов.
> Зато желающий отгрузить левака может запросто заMITMать FTP и положить там протрояненые
> варианты файлов.Уже недавно было :)
http://www.openbsd.org/advisories/ssh_trojan.txt
> have been trojaned on the OpenBSD ftp serverHilarious.
>> Зато желающий отгрузить левака может запросто заMITMать FTP и положить там протрояненые
>> варианты файлов.
> Уже недавно было :)
> http://www.openbsd.org/advisories/ssh_trojan.txtАктуальнейше как никогда. Вы версию, о которой идёт речь, сами хоть раз в жизни видели?
> Актуальнейше как никогда. Вы версию, о которой идёт речь, сами хоть раз
> в жизни видели?Вопрос не в версии а в работе над ошибками. Она где? И что предотвратит такие казусы в дальнейшем? Особенно с учетом развития техник hijack данных на лету, с перенаправлением на черти-какие сайты прозрачными прокси и подставными точками доступа.
>> Актуальнейше как никогда. Вы версию, о которой идёт речь, сами хоть раз
>> в жизни видели?
> Вопрос не в версии а в работе над ошибками. Она где? И
> что предотвратит такие казусы в дальнейшем? Особенно с учетом развития техник
> hijack данных на лету, с перенаправлением на черти-какие сайты прозрачными прокси
> и подставными точками доступа.Учитывая, что с тех пор прошло лет десять и аналогичного ничего не произошло — видимо, процесс разработки OpenSSH поставлен хорошо. ;) В отличие от, скажем, dropbear — типа, минималистичной реализации SSH2. В которой буквально несколько недель назад нашли очередную эпичную уязвимость — а всё потому, что основной разработчик не хочет разнести привилегии и всё внутри работает из-под root.
> что основной разработчик не хочет разнести привилегии и всё внутри работает
> из-под root.С другой стороны, openssh довольно легко валится прото наглым флудом конекциями, порождающими кучу форков с медленной криптографией, истошно поедая ресурсы. В хучшем случае админ просто не попадет на свой же сервер. Если админ не озаботился костылированием на фаере, завал этой штуки - вопрос неудовольствия какого-нибудь пЫонера или случайного забредания небольшого ботнета.
А еще в "ssh вообще" - нещадно течет информация о характере сессии, что позволяет атакуюшему довольно прилично реконструировать активность в рамках сессии. Но, конечно же, вместо починки подобной лабуды - лучше наворачивать всяких недофайлокачалок и недовпнов вместо того чтобы собственно хорошо обеспечивать защиту шелла и того что там делают. И безопасность штуки, линкующейся к переросточному багодрому имени NSA с названием "openssl" - ога, верю. В последнее время некий проблеск адеквата в этом плане наметился, но все это далеко не по дефолту и сильно местами.
А в сумме openssh на мое мнение "оставляет желать" и по хорошему нуждается в замене. На софтину где приоритетом именно защита сессии ремотного управления а не всякие недофайлокачалки.
>> что основной разработчик не хочет разнести привилегии и всё внутри работает
>> из-под root.
> С другой стороны, openssh довольно легко валится прото наглым флудом конекциями, порождающими
> кучу форков с медленной криптографией, истошно поедая ресурсы. В хучшем случае
> админ просто не попадет на свой же сервер. Если админ не
> озаботился костылированием на фаере, завал этой штуки - вопрос неудовольствия какого-нибудь
> пЫонера или случайного забредания небольшого ботнета.User294, это уже даже не смешно. Столько лет упорствовать, что задача ограничения количества коннектов в единицу времени должна решаться исключительно самим сервисом - это надо быть феерическим... не знаю даже, кем - млекопитающие обычно за такое время уже соображают, что к чему.
> А еще в "ssh вообще" - нещадно течет информация о характере сессии,
> что позволяет атакуюшему довольно прилично реконструировать активность в рамках сессии.О, вы ещё и в специалисты по безопасности записались? "По характеру ... можно реконструировать ..." - это ж открытие века! А ещё если выйти на улицу, можно простуду подхватить от случайного прохожего.
Ну не смешно, правда.
> Но, конечно же, вместо починки подобной лабуды - лучше наворачивать всяких
> недофайлокачалок и недовпнов вместо того чтобы собственно хорошо обеспечивать защиту шелла
> и того что там делают. И безопасность штуки, линкующейся к переросточному
> багодрому имени NSA с названием "openssl" - ога, верю. В последнее
> время некий проблеск адеквата в этом плане наметился, но все это
> далеко не по дефолту и сильно местами.Для самых внимательных и знающих о том, о чём говорят: в OpenBSD сборка без OpenSSL была готова задолго до того, как оно пошло в portable. И причина использования OpenSSL банальна - избегание дублирования кода шифров. То есть собственно SSL/TLS в OpenSSH не используется... Не говоря о том, что опции сборки, позволяющие не использовать OpenSSL вообще, были сами по себе давно, это вопрос к дистрибутивам GNU/Linux и других ОС, почему они их не использовали, если был спрос (если был). Но мэтрам опеннета же не обязательно владеть предметом, чтобы о нём говорить, правда?
> А в сумме openssh на мое мнение "оставляет желать" и по хорошему
> нуждается в замене. На софтину где приоритетом именно защита сессии ремотного
> управления а не всякие недофайлокачалки.Мир ждёт вас.
Безопасно - это использование средств безопасности не везде, где можно, а там, где нужно. Какова, например, необходимость использовать на их сайте HTTPS?
Не стоит увеличивать количества сущностей сверх необходимого (С) "бритва Оккама"
> а ведь даже маленькие блоги обзаводятся хотя бы халявным сертификатомИ... зачем это им? "Бложность" подразумевает публичность, криптография подразумевает конфиденциальность.
> Какова, например, необходимость использовать на их сайте HTTPS?Например, чтобы скачать верный OpenBSD через Wi-Fi или Tor. Ведь роутер или выходная нода могут внезапно оказаться настроенным на выдачу особого неправильного openbsd.org. Если бы я был на тёмной стороне, то с радостью бы так делал, а в iso запихивал бы кейлогер.
> И... зачем это им?В том-то и прикол, что блогам это не надо, но даже они почему-то осилили.
> в iso запихивал быпроверь хэш.
>> в iso запихивал бы
> проверь хэш.А хэш правильного ISO откуда узнать?
Прочесть на том же сайте, с которого скачан фальшивый ISO?
:)
>>> в iso запихивал бы
>> проверь хэш.
> А хэш правильного ISO откуда узнать?оттуда же, откуда правильный сертификат узнавать собрался.
> оттуда же, откуда правильный сертификат узнавать собрался.Сертификат - относительно долговременная штука, выдаваемая к тому же некоей ауторити. Поэтому 1 раз можно запомнить fingerprint, а потом проверять что нае..ли, с разных точек.
А хэш что, он на каждую сборку меняется. Поэтому всегда разный. И на хэше не написано - MITM его мне посчитал или кто еще. Для этого есть подписи, ну там хоть PGPшные, например, если сертификаты не нравятся.
> есть подписинашел?
> верный OpenBSD через Wi-Fi или TorНеуловимый-джо приветствую тебя.
>> верный OpenBSD через Wi-Fi или Tor
> Неуловимый-джо приветствую тебя....и разворачивает подставные точки доступа и патчинг траффика на exit nodes :)
> Если бы я был на тёмной стороне, то с радостью бы
> так делал, а в iso запихивал бы кейлогер.Я тебя удивлю, вероятность что через твой Wi-FI Или выходную ноду будут качать исошник опенка, где то единица деленная на расстояние между альфа центавра и сириус.
1. весь сайт доступен через cvs, можно скачать себе и смотреть с него2. на сайте нет OpenBSD, OpenBSD распространяется через зеркала
1. Лень и не сразу догадаешься.
2. Но ссылки на зеркала ведь лежат на их сайте. Если там будет вместо кучи зеркал красоваться одна ссылка обенбсд.орг/даунлоад/опенбсд-5.7.исо, то я с радостью воспользуюсь ей.
> 1. Лень и не сразу догадаешься.В принципе, зеркала равнозначны, и ссылка на них висит на главной.
Сам openbsd.org (не путать у www.openbsd.org) - находится дома у Тео, и иногда не работает, когда тот уборку проводит [joke] :)
> 2. Но ссылки на зеркала ведь лежат на их сайте. Если там
> будет вместо кучи зеркал красоваться одна ссылка обенбсд.орг/даунлоад/опенбсд-5.7.исо,
> то я с радостью воспользуюсь ей.Так и зеркала с исошками могут подменить. :) Я помню одно зеркало, где был доступен доступ на запись через ftp :) я там случайно файл удалил, пришлось бегать-восстанавливать и обратно заливать :)
> случайно файл удалил, пришлось бегать-восстанавливать и обратно заливать :)Ну а вот кто-нибудь менее добрый просто зальет версию с бэкдором. Или уже залил. Нуачо, кислотные сцуки влили же автору unreal IRCD версию с бэкдором. Прям в тарбол с сорцом, чтобы всем досталось. Так он быстренько научился цифровым подписям и т.п.. :)
> Ну а вот кто-нибудь менее добрый просто зальет версию с бэкдором. Или
> уже залил. Нуачо, кислотные сцуки влили же автору unreal IRCD версию
> с бэкдором. Прям в тарбол с сорцом, чтобы всем досталось. Так
> он быстренько научился цифровым подписям и т.п.. :)Если у тебя уже есть ключ, то проверяй SHA256.sig - хоть обпроверяйся. Если нет - то я не совсем понимаю, что и где тебе поможет. Не используй ftp, покупай официальные диски (с наклеечками и сувенирчиками) с официального магазина, там - безопасно. :)
>покупай официальные диски (с наклеечками и
> сувенирчиками) с официального магазина, там - безопасно. :)не-не-не, можно перехватить))
> сувенирчиками) с официального магазина, там - безопасно. :)Сувенирчики как-то раз таким манером прислала Equation Group. Те самые перцы, которые фирмвари hdd запатчивают. Они кроме всего прочего отличились тем, что перехватили партию дисков для раздачи на каком-то мероприятии и впарили слегка пропатченые варианты. С своим фирменным софтом в комплекте, разумеется :).
>> 1. Лень и не сразу догадаешься.
> В принципе, зеркала равнозначны, и ссылка на них висит на главной.
> Сам openbsd.org (не путать у www.openbsd.org) - находится дома у Тео, и
> иногда не работает, когда тот уборку проводит [joke] :)Уже нет. Сейчас www.openbsd.org и openbsd.org - одно и то же (кто не верит, может проверить через host(1)).
>>> 1. Лень и не сразу догадаешься.
>> В принципе, зеркала равнозначны, и ссылка на них висит на главной.
>> Сам openbsd.org (не путать у www.openbsd.org) - находится дома у Тео, и
>> иногда не работает, когда тот уборку проводит [joke] :)
> Уже нет. Сейчас www.openbsd.org и openbsd.org - одно и то же (кто
> не верит, может проверить через host(1)).сейчас openbsd.org перебрасывает на www. :)
> 1. весь сайт доступен через cvs, можно скачать себе и смотреть с негоА как проверяется что cvs - правильный, а не вражеский?
> 2. на сайте нет OpenBSD, OpenBSD распространяется через зеркала
А что мешает подменять зеркала?
>> 1. весь сайт доступен через cvs, можно скачать себе и смотреть с него
> А как проверяется что cvs - правильный, а не вражеский?Потому что такие вещи надо помнить. :) А fingerprint самых главных - наизусть :)
>> 2. на сайте нет OpenBSD, OpenBSD распространяется через зеркала
> А что мешает подменять зеркала?А что мешает подменять файлы на зеркалах? :)
> Потому что такие вещи надо помнить. :)Помнить что именно?
> А fingerprint самых главных - наизусть :)
Не очень понятно чем он поможет в CVS.
>> А что мешает подменять зеркала?
> А что мешает подменять файлы на зеркалах? :)Вообще-то как таковое ничего. И прецеденты такого плана - известны. А какой-нибудь CVS вообще никак и ничего не проверяет. Вкатает тебе абы что. А посмотреть покоммитово что это и по какому поводу, раз уж фапаем на сорец ... в CVS крайне медленно и геморройно.
>> Потому что такие вещи надо помнить. :)
> Помнить что именно?адреса-явки-пароли
>> А fingerprint самых главных - наизусть :)
> Не очень понятно чем он поможет в CVS.берёшь вот эту страницу
http://www.openbsd.org/anoncvs.html#CVSROOTпечатаешь на стене или запоминаешь наизусть
и всё
>>> А что мешает подменять зеркала?
>> А что мешает подменять файлы на зеркалах? :)
> Вообще-то как таковое ничего. И прецеденты такого плана - известны. А какой-нибудь
> CVS вообще никак и ничего не проверяет. Вкатает тебе абы что.Ну а теперь объясни, как CVS вкатает мне абы что?
> А посмотреть покоммитово что это и по какому поводу, раз уж
> фапаем на сорец ... в CVS крайне медленно и геморройно.А вообще, я использую cvsync, и поэтому у меня есть вся история всего проекта за 20 лет, включая ежедневный вид веб-сайта :) Пока другие используют принцип "о, а вот тут есть такие теоретические недостатки, давайте поменяем", у OpenBSD не менялось НИ-ЧЕ-ГО. Они с первого раза, 20 лет назад, сделали всё правильно - и это всё до сих пор работает и не создаёт проблем. Я могу получить оптом всю историю Debian? Или Slackware? Никакого централизованного источника кода и документации там нет. А в OpenBSD - есть! И я до сих пор этим могу воспользоваться, я даже знаю, когда мне может понадобиться OpenBSD 2.8 :) Которая довольно слабо отличается от текущей OpenBSD :)
Перемены ради перемен или перемены ради понта - не имеют смысла. Только если раньше не было ничего, а потом постепенно обрастали тем, что появится. Но если есть отлаженная инфраструктура, которая не менялась с ветки netbsd_1_4_3 :), то менять всё, что работает и устраивает людей, можно только ради чего-то. Вон, Линус вляпался в проприетарщину, и потом ему ПРИШЛОСЬ писать git. А если бы он изначально использовал что-то правильное и свободное - стал бы он его писать?
> А вообще, я использую cvsync, и поэтому у меня есть вся история
> всего проекта за 20 лет,https://github.com/IIJ-NetBSD/netbsd-src/commit/696a4e352be3...
cgd authored on Oct 8, 1993
Unified Split
Showing 2 changed files with 2 additions and 6 deletions.
Они угнали машину времени!
> Я могу получить оптом всю историю Debian? Или Slackware? Никакого централизованного источника кода и документации там нет.Зачем же зацикливаться на Debian и Slackware.
https://sources.gentoo.org/cgi-bin/viewvc.cgi
>> 1. весь сайт доступен через cvs, можно скачать себе и смотреть с него
> А как проверяется что cvs - правильный, а не вражеский?SSH fingerprint.
> Безопасно - это использование средств безопасности не везде, где можно, а там,
> где нужно. Какова, например, необходимость использовать на их сайте HTTPS?Элементарная: без этого вообще неизвестно что это за сайт. И что оттуда отгружают. Хотя пользователям CVS надо наверное чтобы их начали массово иметь, чтобы наконец заметить что сапожник - без сапог.
> OpenBSD ориентируется на безопасностьЭто опасный миф.
>> OpenBSD ориентируется на безопасность
> Это опасный миф.Внимательные слушатели расположились вокруг и приготовились слушать лекцию анонимного гуру безопасности с опеннета
> Внимательные слушатели расположились вокруг и приготовились слушать лекцию анонимного
> гуру безопасности с опеннетаЭто опасный миф, потому что OpenBSD не линукс и у бздунов только ЧСВ а сама бздя дырявая, так как она - НЕ ЛИНУКС!1
ЗЫ: это же известный бзд-ненавистник - т.е. вменяемых аргументов не будет (для этого нужно о бздах чуток лучше знать, чем на уровне википедии) а будет опять банальный сра чь с перехождением на личности :)
А вон там перец ссыль на advisory с троянингом openssh вкинул. И что характерно, stubborn bastards никаких особых выводов с тех пор кажется не сделали.
> А вон там перец ссыль на advisory с троянингом openssh вкинул.Вы не поверите, но этот перец был я :)
Понимаю, это невероятно и неправдоподобно - но можно не только всем сердцем ненавидеть или фапать на что-то, а еще и быть в курсе достоинств и недостатков -- и при этом вообще не являться фанатом или хейтером!
> быть в курсе
> достоинств и недостатков -- и при этом вообще не являться
> фанатом или хейтером!пофиг на то, хейтер или фанат - это не принципиальный вопрос. принципально то, что люди с очень ограниченным кругозором и регулярные потребители информационных вершков думают, что они знают всё. основа этого - тупость. практически все истерички опеннета - тупы, но не в состоянии понять этого, поэтому они бесятся не на OpenBSD или Linux или ещё кто-то, а на то, что никто, кроме них, не замечает их исключительность и не ценит экспертное мнение. И, как и всякие тупые люди, ведут себя единственным известным способом. :)
> все истерички опеннета - тупы, но не в состоянии понять этого,Буратин, начни с себя - прекрати истерить и комплексовать. И шаблонное мышление угомони.
> Самое удивительное, что OpenBSD ориентируется на безопасность, а сам их сайт и
> все зеркала для .iso-образа без… HTTPS (а ведь даже маленькие блоги
> обзаводятся хотя бы халявным сертификатом)! Даже свой LibreSSL не применяет. Такое
> ощущение, что какой-то развод. Очень бозяненно скачивать непонятно откуда.Цифровая подпись релизов (в т.ч., пакетов) уже несколько релизов как есть и работает. Подменяйте HTTP-трафик на лету сколько хотите, чо.
А HTTPS используется там, где надо, - для интернет-заказов.
> Самое удивительное, что OpenBSD ориентируется на безопасность, а сам их сайт и
> все зеркала для .iso-образа без… HTTPSИ... что? Байтики релизов подписаны. Содержимое сайта доступно, в том числе, через CVS, работающий строго поверх SSH - отпечатки можно сверить, содержимое можно сверить.
> (а ведь даже маленькие блоги обзаводятся хотя бы халявным сертификатом)!
Вы никогда не слышали, что у халявы тоже есть своя цена?
> Даже свой LibreSSL не применяет. Такое
> ощущение, что какой-то развод. Очень бозяненно скачивать непонятно откуда.Может быть, я и ошибаюсь. Но почему-то мне кажется, что когда все сайты станут HTTPS, всё вернётся на круги своя. Начнётся массовая подделка сертификатов, вот только пользователи будут до последнего уверены, что пользуются тем, чем надо... Может, я и ошибаюсь, конечно.
И почему там в портах есть PHP 5.3.29? Ветку 5.3 забросили в августе 2014, то есть уязвимости там больше не исправляют.
В апач же они какие-то свои патчи патчили, не удивлюсь если и тут также.
Хотя 5.3 уже как бы сказать устарел по фичам.
5.4 уже минимум.
Значит, есть спрос. :)
>> Mozilla Firefox 35.0.1В то время, как актуальной является 37.0.2. Как-то странно, в проекте, ориентированном на безопасность.
А firefox уже стал частью OpenBSD?
> А firefox уже стал частью OpenBSD?Отличная политика безопасности: проблемы негров шерифа не волнуют.
Я смотрю, на опеннете постулируетсяя, что firefox версии x+2 вегда безопаснее firefox версии x? при таком подходе все rhel-производные надо хоронить еще до их выхода. Да и дебиан тоже. А на их место придет гента со компанией
> Я смотрю, на опеннете постулируетсяя, что firefox версии x+2 вегда безопаснее firefox
> версии x?Если посмотреть на ченжлоги файрфокса версии x+2, он таки как правило именно безопаснее x. Потому что на версию x к этому моменту обычно уже есть пачка всем известных дыр, исправленных в x+1 и x+2. А пользоваться версией с известными дырами безопасности - офигеть как безопасно.
Вы возможно удивитесь, но как минимум дебианщики секьюрити фиксы бэкпортят на дистрибутивную версию. И да, поэтому безопасно. Старые дыри фиксятся, новых не делается.
> Вы возможно удивитесь, но как минимум дебианщикиОни много чего бэкпортят и прочая. А иногда просто портят, как с openssl. Это их баг и фича. Но при чем тут они?
> версию. И да, поэтому безопасно. Старые дыри фиксятся, новых не делается.
Вот это весьма зависит. В openssl в свое время посадили такую плюху что пришлось в темпе вальса рекеить все машины.
>>> Mozilla Firefox 35.0.1
> В то время, как актуальной является 37.0.2. Как-то странно, в проекте, ориентированном
> на безопасность.Там ASLR и куча других фич по дефолту, а на pkgsrc людей нет.
> Там ASLR и куча других фич по дефолту,ВНЕЗАПНО, эти фичи много лет есть во всех мало-мальски уважающих себя ОС, даже в маздайке. То что жирафы из openbsd это реализовали позже всех и бонусом тормозят с апдейтом фокса - такая вот интересная безопасность. Если вас через это ломанут - Тео сделает козью морду и скажеть что протухший файрфокс - не часть опенбсд. Очень удобная политика.
>То что жирафы из openbsd это реализовали позже всехfacepalm.jpg
> facepalm.jpgНу, вообще-то PaX с аслр запилили где-то в 2000-2001 году. Другое дело, что пока его до ума довели и в мейнлайн приняли не один год прошел.
>> Там ASLR и куча других фич по дефолту,
> ВНЕЗАПНО, эти фичи много лет есть во всех мало-мальски уважающих себя ОС,
> даже в маздайке. То что жирафы из openbsd это реализовали позже
> всех и бонусом тормозят с апдейтом фокса - такая вот интересная
> безопасность. Если вас через это ломанут - Тео сделает козью морду
> и скажеть что протухший файрфокс - не часть опенбсд. Очень удобная
> политика.1. Не путайте W^X в ядре и в userland. OpenBSD была одной из первых ОС, которая W^X, ASLR и прочее начала внедрять - и не "для отдельных пакетов", а сразу для всей системы, включая пакеты со сторонним ПО.
2. В новости рассказывается про версию FireFox из -RELEASE (грубо говоря, те версии, что идут на дисках); в -STABLE уже лежат обновления.
>>>> Mozilla Firefox 35.0.1
>> В то время, как актуальной является 37.0.2. Как-то странно, в проекте, ориентированном
>> на безопасность.
> Там ASLR и куча других фич по дефолту, а на pkgsrc людей
> нет.А причём тут pkgsrc? В OpenBSD своя система портов.
Ну так и Firefox ESR у них 31.4 когда актуальный 31.6
> В то время, как актуальной является 37.0.2. Как-то странно, в проекте, ориентированном на безопасность.будут проблемы - обновлят в -stable. а -release сделан два месяца назад, что там было - тому и рады :)
В припеве песни я слышал I'm source bitch!
"I'm a Source Fish"
Скажите а почему на OpenBSD тот же configure выполняется медленно?
Так там медленно выполняется не только configure, достаточно сходить в поисковик за бенчмарками.
> Так там медленно выполняется не только configure, достаточно сходить в поисковик за
> бенчмарками.После FreeBSD это сильно заметно, это такая особенность OpenBSD и его повышенной безопасности?
> После FreeBSD это сильно заметно, это такая особенность OpenBSD и его повышенной безопасности?ИМХО это просто последствия общей недоразвитости инфраструктуры и подсистем данной ОС.
> Скажите а почему на OpenBSD тот же configure выполняется медленно?Насколько могу предполагать, в OpenBSD меньше вещей берётся из кеша. Сравните количество строчек с пометкой "(cached)". Это если мы говорим о configure на базе GNU autotools.
С CMake, qmake и прочими разницы не замечал.
> С CMake, qmake и прочими разницы не замечал.нет отличные от GNU не пробовал и кэширует действительно не так много, в любом случае разница ощутимая
Жаль что нет свежих бенчмарков данной ОС, в целом мне нравиться строгость OpenBSD
>> С CMake, qmake и прочими разницы не замечал.
> нет отличные от GNU не пробовал и кэширует действительно не так много,
> в любом случае разница ощутимая
> Жаль что нет свежих бенчмарков данной ОС, в целом мне нравиться строгость
> OpenBSDЕсли действительно интересно разобраться - свяжитесь со мной посредством zhuk@openbsd.org , подумаем, как бы грамотно разобраться. Если в OpenBSD действительно можно ускорить configure без отказа от чего-то важного, это здорово. А если нет - то хотя бы поймём, почему так выходит в разных ОС. :)
> Если в OpenBSD действительно можно ускорить configure без отказа от чего-то важногоНасколько понимаю, на эту тему было бы здорово найти Алексея Махоткина.
> Насколько понимаю, на эту тему было бы здорово найти Алексея Махоткина."Сколько программистов надо чтобы запустить профайлер" :)
>> Если в OpenBSD действительно можно ускорить configure без отказа от чего-то важного
> Насколько понимаю, на эту тему было бы здорово найти Алексея Махоткина.Спасибо за информацию. // zhuk
> Удалён код для поддержки загружаемых модулей ядра и procfs;Они б сразу все ядро удаляли. А как предлагается то? Компилить переростка вгружающего сразу все драйвера для всех возможных железок? Или при втыкании флешки в юсб и понимании что драйвера нет - бежать перекомпилировать?
> ранее не могли превышать 65536 байт;
Они б еще FAT12 как rootfs использовали бы.
> Компилить переростка вгружающего сразу все драйвера для всех возможных железок?неа, только для того железа что есть. минимальный набор в стандартной поставке + компиляция под девайс/юз кейс, думаю, не так уж и страшно для "пользователей" опёнка.
> Или при втыкании флешки в юсб и понимании что драйвера нет - бежать перекомпилировать?
просто бежать, беги! там своя атмосфера, ты им не нужен. слишком плаксив и беспомощен. судя по "обновлениям", они вообще не любят подтирать ни за кем.
> неа, только для того железа что есть. минимальный набор в стандартной поставке + компиляция под девайс/юз кейс, думаю, не так уж и страшно для "пользователей" опёнка.
> http://www.openbsd.org/faq/faq5.html#WhyTL;DR: Тео лучше знает какое ядро правильное :)
> там своя атмосфера, ты им не нyжен.Видал я их атмосферу - "нора некромансера". Хорошо что я там не нyжен! :)
> слишком плаксив и беспомощен.
Гы-гы, бидонисты будут лечить системщика о беспомощности. О времена, о нравы. Знаешь, assclown, если мне будет _очень_ надо - я могу заассемблить загрузчик на бумажке. И вбить его тумблерами на шине. Но вот ломиться в запертую железную дверь, если она стоит в чистом поле я нахожу довольно глупым.
> судя по "обновлениям", они вообще не любят подтирать ни за кем.
...даже за самими собой. Ну или точнее, всеми кроме Тео.
> Гы-гы, бидонисты будут лечить системщика о беспомощности. О времена, о нравы. Знаешь,
> assclown, если мне будет _очень_ надо - я могу заассемблить загрузчик
> на бумажке. И вбить его тумблерами на шине.А операцию сделать можешь?
> А операцию сделать можешь?Изначальный ответ - "не факт". В контексте того, что прямо здесь и сейчас - успех начинания "крайне маловероятен". Хотя на самом деле - "зависит от". В смысле, от уровня надобности, времени которое можно убабахать на обучение несвойственным мне изначально занятиям, возможности для, гм, тренировок и прочая. Чисто технически человек многофункциональное существо и вроде бы никаких фундаментальных showstopper-ов как таковых нет.
Но есть множество других нюансов. Главный из которых - это наличие лиц которые в состоянии все это делать быстрее, лучше и с меньшими рисками и чуть ли не прямо сейчас. И намного логичнее будучи в здравом уме воспользоваться их услугами.
Я линуксовое ядро тоже компилирую полностью со всеми драйверами под конкретную конфигурацию - сборка занимает 2 мин 30 сек. Размер ядра - 4MB.P.S. В linux драйвер для флешек один, только винда почему-то думает, что у каждой флешки должен быть свой драйвер.
> Я линуксовое ядро тоже компилирую полностью со всеми драйверами под конкретную конфигурацию
> - сборка занимает 2 мин 30 сек. Размер ядра - 4MB.можно ссылочку на конфиг?
knk.bplaced.net/kernel-config
Да, по спартанский.
> Я линуксовое ядро тоже компилирую полностью со всеми драйверами под конкретную конфигурациюХорошо, а что есть "конкретная конфигурация" применительно к usb? Вот например, вам конфига: если я нечто на чипе FTDI-2232 (usb-serial адаптер) захочу прицепить к вот этому компьютеру - его драйвер как, всегда висит в памяти, треская RAM "потому что вкомпилено в ядро", в надежде что когда-то такое может быть все-таки присоединят, или мне таки экстренно бежать рекомпилить ядро, когда кернел скажет что понятия не имеет что это? Мне не кажется оптимальным ни 1 из вариантов: в одном случае в памяти висит даже то что нафиг не упало (при том в мало-мальски универсальной конфигурации - достаточно много мусора), в другом - на каждый пшик дpoчиво с пересборкой ядра. Модули позволяют более-менее разумный баланс: скомпилить больше драйверов, но в RAM вгружать только те которые реально нужны прямо сейчас.
> - сборка занимает 2 мин 30 сек.
Не очень понимаю почему это меня должно вообще колыхать. Если я что-то разрабатываю или патчу - пересборка 1 модуля займет микроскопический размер времени, так что попробовать его я смогу очень скоро. А единоразово я могу и нечто типа полного убунтуйского конфига ребидлануть минут за 15.
Зато в такой конфиге заработает воткнутый наудачу wi-fi свисток на очередном рыгалтеке. А вы попретесь пересобирать, да? Ну спасиб, я такого плагнплея наелся в эру MSDOS-а, добавки не надо. Хотя, мамонты наверное ностальгируют :)
> Размер ядра - 4MB.
Я могу и 1.5Мб. Если надо. Но это будет обрубок "под задачу", а не нечто для более-менее.
> P.S. В linux драйвер для флешек один,
И у FTDI2232 - один. И у реалтековской вафли - один. А у соседней ревизии чипа - другой. И так далее.
> у каждой флешки должен быть свой драйвер.
В конечном итоге она тоже цепляет стандартный масстораж, просто там очень тормозной и кривой плагнплей. Но сабжи кажется решили что плагнплей вообще слишком просто. Хотя глядя на то какое железо у Тео - он там наверное до сих пор перемычки с выбором IRQ расставляет.
> Хорошо, а что есть "конкретная конфигурация" применительно к usb? Вот например, вам
> конфига: если я нечто на чипе FTDI-2232 (usb-serial адаптер) захочу прицепить
> к вот этому компьютеру - его драйвер как, всегда висит в
> памяти, треская RAM "потому что вкомпилено в ядро", в надежде что
> когда-то такое может быть все-таки присоединят,Не скажу точно за FTDI-2232, но pl2303 ест аж целых 15KB. Всего популярных serial-to-usb 4шт.
> Мне не кажется оптимальным ни 1 из вариантов: в одном случае
> в памяти висит даже то что нафиг не упало (при том
> в мало-мальски универсальной конфигурации - достаточно много мусора),Не замечал - перечислите все, что вам реально нужно, но используется раз в неделю.
Ваша система выгружает модули после извлечения устройства?> Модули позволяют более-менее разумный
> баланс: скомпилить больше драйверов, но в RAM вгружать только те которые
> реально нужны прямо сейчас.При отсутствии сведений о конфигурации, на что и ориентированны дистрибутивные ядра - да. А так только бесполезное переусложнение с initrd и снижение скорости загрузки.
>> - сборка занимает 2 мин 30 сек.
> Не очень понимаю почему это меня должно вообще колыхать. Если я что-то
> разрабатываю или патчу - пересборка 1 модуля займет микроскопический размер времени,Далеко не всегда можно ограничится пересборкой конкретно модуля, например я использую PHC патч.
> так что попробовать его я смогу очень скоро. А единоразово я
> могу и нечто типа полного убунтуйского конфига ребидлануть минут за 15.Сомневаюсь что убунтовское ядро соберется за 15 минут на среднем железе.
> Зато в такой конфиге заработает воткнутый наудачу wi-fi свисток на очередном рыгалтеке.
ХЗ как там с usb wi-fi, но usb 3G (в том числе и со встроенным wi-fi) работают без проблем от одного драйвера.
> А вы попретесь пересобирать, да? Ну спасиб, я такого плагнплея наелся
> в эру MSDOS-а, добавки не надо. Хотя, мамонты наверное ностальгируют :)Честно говоря забыл уже когда последний раз пересобирал ядро по причине отсутствия поддержки железа.
По факту, ядро собирается по причине выхода новых версий.
Вот для чего модули действительно удобны, так это для разработки - исправил, собрал, загрузил, проверил, выгрузил и так по кругу.
>> Размер ядра - 4MB.
> Я могу и 1.5Мб. Если надо. Но это будет обрубок "под задачу",
> а не нечто для более-менее.Лучше скажите сколько ваше текущее ядро весит и сколько оно съедает памяти.
>> P.S. В linux драйвер для флешек один,
> И у FTDI2232 - один. И у реалтековской вафли - один. А
> у соседней ревизии чипа - другой. И так далее.Я допускаю, что у кого-то железо рандомно валится на стол и его надо срочно задействовать, но мне кажется, что подобная ситуация не совсем типична.
Большинство usb устройств используют одни и те же драйвера - usb-masstorage,usb-modem,usb-printer,usb-audio,usb-hid,etc.
> Не скажу точно за FTDI-2232, но pl2303 ест аж целых 15KB. Всего
> популярных serial-to-usb 4шт.Нухз, вот рядом лежит OTI-65xx какой-то. Это популярный по вашей классификации? Беглый взгляд на дерево исходников показывает что конверторов usb-serial целая туева хуча нынче есть.
> Не замечал - перечислите все, что вам реально нужно, но используется раз в неделю.
> Ваша система выгружает модули после извлечения устройства?Фундаментально кривое мышление, имхо. Я могу сгонять в ларек и купить там usb-свисток допустим wi-fi. На чипсете от производителя random(10), т.к. по факту в прайсе не написано чье это хозяйство. В лучшем случае это будет атерос. А может ралинк. Или какой-нибудь из двух газиллионов реалтеков все мастей.
Мне как, заранее вгрузить вообще ВСЕ модули в оперативу? Или все-таки логичнее вгружать 1 модуль - для конкретно того свистка который попался мне? Из всего множества возможных. Если 1 лишний модуль конкретно этого свистка я так и быть переживу, то вот несколько десятков модулей - уже как-то перебор.
> При отсутствии сведений о конфигурации, на что и ориентированны дистрибутивные ядра -
> да. А так только бесполезное переусложнение с initrd и снижение скорости загрузки.Нынче вам не MSDOS, все современные шины/интерфейсы умеют hotplug. Я этим еще и пользуюсь реально, в отличие от ископаемых. Для меня нормально воткнуть внешний винч на sata, логично ожидая что этот факт динамически обнаружится. Я могу прицепить новый девайс к usb. И хочу чтобы он заработал. Без дрoчива вприсядку с рекомпилом всего и вся. Даже если это абы какой usb-sata конвертер из того что попало под руку или wi-fi свисток на хрензнаеткаком чипсете (какой китайцы запаяли).
Нормальное человеческое желание вроде. Ну, для тех кого не переклинило наглухо в эпохе DOS-а. За это желание тоже может выйти боком. Но если так всего бояться - с дерева не надо было вообще слезать.
> Далеко не всегда можно ограничится пересборкой конкретно модуля,
Если это пересборка по причине "что-то поменял в кишках модуля" - тогда в общем случае можно. А так чтобы и поменялось полядра и меня так уж прямо с точностью до секунд или пары минут колыхало бы время сборки - какой реалистичный юзкейс этой бредятины? И что и кому это дает? Кроме осознания того какой вы крЮтой. Ну, будет у вас initrd на пару мегов меньше. И?! Я стерев одну явно неудачную фотку с диска - выигрываю сразу 10 мегов места. В 100500 раз быстрее и в 5 раз результативнее. Если цель была сэкономить место на диске, на десктопнике это скорее всего будет как-то так.
> например я использую PHC патч.
А что за патч и чем знаменит?
> Сомневаюсь что убунтовское ядро соберется за 15 минут на среднем железе.
Я не знаю что там у вас считается "средним железом". А на моем 8-ядернике с 16 гигз оперативы - соберется. Потому что будет лупить в 8 потоков и упрется в основном в диск, а после прогрева дисковых кэшей, или с SSD, если его протирать не жаль - вообще огого. В любом случае, это не мое время а время машины. Мне все-равно, полторы минуты втыкать на это или пять. Если операция не заканчивается за <20 секунд - я иду и занимаюсь чем-то другим. А на результат этой операции посмотрю попозже.
> ХЗ как там с usb wi-fi, но usb 3G (в том числе и со встроенным wi-fi)
А это потому что на дворе XXI век, а внутрях такой штуки - собран полноценный комп. С Flash, RAM и скорее всего - линухом внутрях (802.11 стэк довольно наворочен и всякие RTOS и прочая его в массе своей просто не осилили вообще, или сделали так, что лучше бы не осиливали совсем). А порой и вовсе с ведроидом. Вот линух там может из себя изобразить через модули gadgets хоть там что. Ну там g_ether - позволяет прикинуться "сетевым адаптером на usb". А как там этот внутренний линь подцепил wi-fi и 3G модем - его внутреннее дело. Только вот сильно радоваться этому я бы не стал. Потому что внутрях - неизвестно чей линух. Скорее всего не патченый. Но умеющий довольно многое и - имеющий ремотное конективити. Поэтому большой вопрос когда вам в эту штуку хаксоры пришлют эксплойт на тему badUSB и "модем" заодно станет еще и какой-нибудь клавиатурой и прочим. С ремотным :) управлением (это та расплата за плагнплей про которуб я выше говорил).
Мной вот девайс с большой внутренней ОС которую я не контролирую - классифицируется как "потенциальный источник проблем". В смысле, это отличный плацдарм для атаки блэкхэтами всех мастей.
...но если что - вон та ARMовская платка у меня именно так и делает: отдает компу по usb "эзернет". А как там разбираться с встроенным свистком wi-fi - разруливает система на платке. Но там я рут, поэтому там совсем другой разговор.
> работают без проблем от одного драйвера.
Данность такова, что для wi-fi навалом разных чипов. Никаких стандартных классов там нет и в проекте. Есть куча самых разных драйверов. Для какого-нибудь реалтека я их все даже не вспомню, да и для ралинка - напрягусь.
Поэтому если вы видите нечто вайфайное как стандартный класс юсб - значит по пути попался большой проц с солидной операционкой (99% что линух/андроид) и нефиговым запасом драйверов. И большой вопрос - стоит ли это считать за фичу. Лично я не ахти какой фанат вендорских SDK с ядром 2.6.что-то-там, с таким же софтом. Да и полного доступа к wi-fi вы не получите. Wi-Fi - это немного более чем просто эзернет выплюнутый в эфир. Ну то-есть засунуть wi-fi и usb-ethernet, или там 3G свисток, или там что еще в бридж, на стороне девайса - дело не хитрое. Только конфигурить все это вы будете средствами девайса, а если у вас там нет рута - то вы и полноценный доступ не получите. И поэтому ХРЕН С ДВА вы там например сможете сделать несколько виртуальных интерфейсов на 1 беспроводном адаптере (если фирмвара так не умеет или не вывесили юзеринтерфейс для настройки).
Да, граждане мамонты, если вы не поняли: комп с линухом нынче умещается в сцаную SD карточку и прочие свистки с модемами. И тут еще большой вопрос - кто там админ и на кого оно работает.
> Честно говоря забыл уже когда последний раз пересобирал ядро по причине отсутствия
> поддержки железа.Да вот, перемычки на ISA платах тоже не очень часто перенастраивали. Но что-то людям не нравилось. Наверное то что машине виднее что там куда прицеплено и поэтому загаживать мозг пользователю этими знаниями лишний раз не очень логично. Посмотреть lsusb - одно, а носиться как в ж...у ужаленный, соображая какой-же модуль должен цеплять этот VID:PID - совсем иное.
> По факту, ядро собирается по причине выхода новых версий.
Оно как бы да, но новые версии выходят не так уж часто. Да и с точностью до 2 минут новое ядро мне не критично. А за 2.5 минуты оно соберется или за 10 - мне не очень принципиально. Мне как-то больше нравится что не придется подрываться компилячить, воткнув вон тот вайфайный свисток или usb-serial шнурок или что там мне под руку попалось.
> Вот для чего модули действительно удобны, так это для разработки - исправил,
> собрал, загрузил, проверил, выгрузил и так по кругу.Так я о чем - там можно 1 модуль пересобрать. Но это еще и удобный вариант для более-менее универсальных конфигураций. Где грузить вообще все модули на все что в принципе поддерживается как-то долго и затратно, но при втыкании поддерживаемой девайсины девайсина все-таки заработает.
> Лучше скажите сколько ваше текущее ядро весит и сколько оно съедает памяти.
А вам какой вес? И какую память? И текущее ядро - где именно? На роутере - одно, на армовской платке - другое, на десктопе с 16Гб - третье. А если хочется очистить память на десктопе - проще вышибить пару значков на питоне. Или там заменить адблокер на uBlock. Намного меньше затрат времени при намного большем результате. Ну то-есть вынос рекламы в паре с заменой блокировщика рекламы на непрожорливый может сэкономить парой простых действий больше чем все дpoчиво в присядку с ядром вместе взятое.
К чему все это? А к тому что есть соотношение затрат сил к результату. И я как-то предпочитаю чтобы возни поменьше а результата побольше. В этом плане утонченное дрoчивo с ядром на десктопе себя как-то не очень оправдывает.
> надо срочно задействовать, но мне кажется, что подобная ситуация не совсем типична.
А мне кажется "слегка" архаичным бегать с бубном для того чтобы заработал "вон тот" свисток или что там еще. А вгружать все драйвера заранее кажется мне нерациональным. Опенбздюки это может пока и не сильно ощутили т.к. поддерживают полторы железки. Но железо сложнеет и его становится больше. ИМХО не использовать модули имеет смысл только на системах с какими-то очень кастомными требованиями, что явно не про десктоп и даже не про большинство серверов.
> Большинство usb устройств используют одни и те же драйвера
Далеко не все. Беспроводные адаптеры тому примером.
> поменялось полядрапол-ядра. :)
> А на моем 8-ядернике с 16 гигз оперативы - соберется.
> Потому что будет лупить в 8 потоков и упрется в основном в дискСобирайте на tmpfs, чтоб упиралось в процессор (когда действительно надо).
> пол-ядра. :)Ох, блин, где же моя грамотность. Опеннет вреден для правописания :(.
> Собирайте на tmpfs, чтоб упиралось в процессор (когда действительно надо).
Так на холодную в tmpfs тоже данных нет. Значит их всяко придется с блинов или SSD читать, со скоростью характерной для носителя.
Честно говоря не вижу фундаметальной разницы: явно ли я буду в tmpfs орудовать или кэш ФС сделает же самое, но неявно и с подпором non-volatile сторажем, что позволяет не думать о мануальном сохранении результатов, вместо меня это сделает ОС, особенно при шатдауне (что довольно актуально при какой-нибудь ребилдовке ядра). Очевидный профит - можно поменьше SSD протирать. С tradeoff "можно продолбаться и забыть на nonvolatile стораж скинуть". Можно наверное заскриптить и использовать какие-то продвинутые методы копирования типа rsync дир (чтобы ssd всей иерархией не протирать), но если честно - меня в первом приближении устраивает как работает HDD подпертый гигазами кэша. Дешево и сердито :)
Обычно все собираю в /tmp (tmpfs).
Сейчас замерил - на etx4 ядро собирается на 13% дольше, чем на tmpfs. ИМХО основную разницу во времени занимает распаковка исходников (создание большого числа мелких файлов), да и удаление их происходит не мгновенно. Насколько помню, разница при сборке LFS тоже была на уровне 10-15%.
Все вроде как правильно и логично.
usb-2-serial можно не рассматривать - даже если их два десятка включить, это будет меньше мегабайта, а по факту достаточно 4 драйверов, что бы покрыть 70%-90% устройств. Китайский безымянный 3-в-1 usb-to-sata/ide-3.5"/ide-2.5" заработал тоже без проблем, притом не только с hdd, но и с dvd, не требуя никаких драйверов.
Фактически все свелось к usb wi-fi.1. Как часто вы их (usb wi-fi) меняете?
2. Не получится ли так, что новый usb wi-fi потребует сборки последней версии ядра?
3. Всегда остается вероятность, что необходимый драйвер не будет включен основную ветку ядра.Для мне лично важно малое время сборки - это здорово экономит время, когда нужно найти последнее без проблемное ядро в случае регрессии. Ну 15 минут на каждую сборку еще терпимо, но у меня 4 ядра - а это уже будет 30 минут, а на ноутбуке будет 1-2 часа (против 5-10 минут для подогнанного конфига). ИМХО проще потратить 2-3 минуты на make menuconfig и 5-10 минут на пересборку, чем при каждом обновлении ядра тратить 1-2 часа.
Для меня также удобно, что я могу быстро переключаться между ядрами прямо из загрузчика, без шаманства с initrd и модулями.Я не утверждаю, что мой вариант - это единственно правильное решение. Напротив - каждую ситуацию нужно рассматривать отдельно: для дистрибутива с неопределенной конфигурацией - initrd вполне хорошее решение, для предложенной вами ситуации - подогнанный конфиг + все usb wi-fi как модули. Мне просто не понравилось утверждение, что без модулей жизни нет. Да для end-user'a, который не будет патчить/компилировать ядро, система без модулей явно не оптимальный вариант. Но и OpenBSD вроде не позиционирует себя как end-user friendly.
По поводу как найти подходящий драйвер - я с давних времен имею привычку сперва проверить, есть ли для устройства поддержка под linux и в каком она состоянии, а лишь потом его покупать.
Если устройство уже в руках, то забить в поиск PID:VID тоже не составляет большого труда. Ну и всегда можно собрать ядро со всеми включенными устройствами нужного класса и посмотреть, кто его подхватит.
> usb-2-serial можно не рассматривать - даже если их два десятка включить, это
> будет меньше мегабайта,Но зачем мне этот хлам висящий просто так? Аналогично - а что если у меня допустим интеловская интеграшка а я потом туда еще радеон воткну? Мне для профилактики модуль на мег размером в ядро втулять или бежать рекомпилить систему?
> а по факту достаточно 4 драйверов, что бы покрыть 70%-90% устройств.
Меня как-то слабо утешит что мой девайс в эти 70% не вошел.
> Китайский безымянный 3-в-1 usb-to-sata/ide-3.5"/ide-2.5"
> заработал тоже без проблем,Mass storage - относительно беспроблемная категория устройств. В первом приближении. Ну...эээ...пока мы не вспомним что там еще файловые системы бывают и задумаемся о том какие из них нам нужны. И вгружать все их сразу с их модулями по полмега... нуууу.... если там мег, там полмега и прочая - так постепенно везде и натикает.
> притом не только с hdd, но и с dvd, не требуя никаких драйверов.
> Фактически все свелось к usb wi-fi.Фактически все свелось к подгону решения под удобный вам ответ.
> 1. Как часто вы их (usb wi-fi) меняете?
Может и не часто. Но для меня нормально взять у кого-нибудь не нyжный им свисток и задействовать под мои нужды. Какой там будет чипсет - random(). В идеале конечно атерос, но тут можно не угадать даже если адресно целиться, т.к. у многих производителей есть подлая тенденция продавать совершенно разные по устройству девайсы под одним названием. Мало с..ам букв в алфавите, на новое название девайса не хватает.
> 2. Не получится ли так, что новый usb wi-fi потребует сборки последней версии ядра?
Зависит от. Чаще всего нет. Но... но те же убунтуи например включают немало дров из staging, в том числе пачку добра для разных беспроводных и не очень рыгалтеков.
Зато потом через 30 секунд после power-up ливфлеха убунты вваливается в работоспособный десктоп, где можно и к беспроводке прицепиться в том числе. И я пять раз сделаю все что хотел и даже с взятого наобум компа, пока зилот дpoчится вприсядку с перекомпилом ядра по причине "блин, нужного модуля нет".
> 3. Всегда остается вероятность, что необходимый драйвер не будет включен основную ветку ядра.
Да. И убунтуи например еще из staging берут кучу дров. Зато потом работает. Даже с ливфлехи. Через ...цать секунд после включения. Пока зилоты сношаются с контрпродуктивными ритуальными действиями, экономя пару мегов в initramfs (имхо не самое удачное место для экономии в общем случае).
А еще мне просто удобно раскидать одно и то же ядро на пачку разноплановых машин. Ну то-есть конечно для ARM или MIPS конфиг будет достаточно сильно отличаться, но минимизировать эту возню имхо можно и нужно.
> Для мне лично важно малое время сборки - это здорово экономит время,
> когда нужно найти последнее без проблемное ядро в случае регрессии.При поиске регрессии обычно пересобираются только измененные файлы, что при более-менее разумном диапазоне поиска занимает довольно умеренно времени.
> ядра - а это уже будет 30 минут, а на ноутбуке
> будет 1-2 часа (против 5-10 минут для подогнанного конфига).Реально будет меньше - если у вас поменялось вообще все, это какое ж расстояние между коммитами в bisect и сколько там итераций будет? O_o
А так я столкнулся с тем что просто воспроизведение бага - может требовать полдня. Я так рад на этом фоне экономии пары минут, блин.
> ИМХО проще потратить 2-3 минуты на make menuconfig и 5-10 минут на пересборку,
> чем при каждом обновлении ядра тратить 1-2 часа.Ну я и не трачу по 2 часа на сборку ядра. Зато убить полдня на попытку спровоцировать баг... так это... нечто более очевидное и тривиальное обычно загашено еще до меня оказывается, чаще всего вообще без bisect-ов :)
> Для меня также удобно, что я могу быстро переключаться между ядрами прямо
> из загрузчика, без шаманства с initrd и модулями.В убунтах и дебиане в случае grub все так и получается, если ядро ставить из пакета. Удобно. Правда билдовка пакетв - вот она времени требует, это да. Потому что не параллелится в дефолтном виде.
> утверждение, что без модулей жизни нет.
Ну, мне кажется что это делает обычный десктопный сценарий контрпродуктивным, усложняет жизнь разработчиком и в целом - шаг назад в каменный век осестроения, с монолитом который даже не модульный. Как-то таким, конечно, пользовались...
> и OpenBSD вроде не позиционирует себя как end-user friendly.
Как dev-friendly - видимо, тоже.
> привычку сперва проверить, есть ли для устройства поддержка под linux и
> в каком она состоянии, а лишь потом его покупать.Если честно - от такой практики хотелось бы уйти. Намного лучше когда машина сама разбирается что там к каким шинам понавешали. А надежно узнать на каком чипе собран вон тот вайфай свисток - довольно много возни для человека.
> Если устройство уже в руках, то забить в поиск PID:VID тоже не
> составляет большого труда.ИМХО, машинную работу должны делать машины. У них это лучше получается.
> Ну и всегда можно собрать ядро со всеми
> включенными устройствами нужного класса и посмотреть, кто его подхватит.Понятно все. Кроме одного: какой выигрыш дает все это дрoчивo на практике?
Ну я там могу понять device-specific оптимизации типа роутера с 4Мб флеша. Но нафуя все это на десктопе?
> Но зачем мне этот хлам висящий просто так? Аналогично - а что если у меня допустим интеловская интеграшка а я потом туда еще радеон воткну? Мне для профилактики модуль на мег размером в ядро втулять или бежать рекомпилить систему?Вот и я не понимаю - зачем мне компилировать каждый раз все подряд
> Но зачем мне этот хлам висящий просто так?Вот и я не понимаю - зачем мне компилировать каждый раз всякий хлам?
> Аналогично - а что если у меня допустим интеловская интеграшка а я потом туда еще радеон воткну?
В если его в ноуте некуда втыкать, мне все равно его компилировать и nvidia и 3dfx заодно - у меня вон в шкафу 3dfx voodoo rush валяется (не проси не продам ;)
Вы по жизни так же поступаете: имея хорошее зрение, заранее заказываете очки (ведь зрение когда нибудь испортится и они понадобятся), а поскольку не известно какие точно нужны - заказываете все подряд несколько десятков? Хранить их тоже не проблема - гораздо эффективнее выкинуть пару не очень удачных сапог жены. А при выходе новых материалов/технологий/оправы вы выкидываете все эти очки и заказываете новые?
> Мне для профилактики модуль на мег размером в ядро втулять или бежать рекомпилить систему?
Вы уж определитесь, жалко вам памяти под ядро или firefox все равно в 100 раз больше съест? Если жалко - то давайте конкретные цифры - сколько ваше модульное ядро памяти ест.
> Реально будет меньше - если у вас поменялось вообще все, это какое ж расстояние между коммитами в bisect и сколько там итераций будет?Например было ядро 3.18.x, глючит новое ядро 3.19.0, что точно происходит не ясно - полное подвивание через несколько секунд после загрузки. Делаем bisect - 14 шагов позволят нам проверить 16000 коммитов.
> ИМХО, машинную работу должны делать машины. У них это лучше получается.
Да но нужно выбирать наиболее оптимальное решение для конкретной ситуации.
Мне проще потратить 3 минуты раз в полгода/год, чем 30 минут каждые три месяца, а в случае bisect вообще целый день можно убить.Вы же не ставите все доступные пакеты из репозитория, на случай а вдруг мне принесут файл с расширением qtz, а я не знаю чем его открыть - пусть система сама его откроет. То кто принес, конечно будет молчать как партизан, и не скажет, что он от qtractor и зачем он его вообще принес.
Начинать нужно с правильной постановки задачи, под нее выбирать железо и софт, а не на оборот - ставить хз что хз зачем. Приводите реальные примеры задач.
> Понятно все. Кроме одного: какой выигрыш дает все это дрoчивo на практике?
Быстрое обновление ядра, нет лишнего мусора в системе, да и сам процесс загрузки становится гораздо проще и лучше подается дебагу, простая и быстрая смена ядер без лишних манипуляций с пакетами/модулями/initrd, быстрее загрузка.
в OpenBSD никогда не использовались загружаемые модули. и не используются. и не будут использоваться. для гибкости - есть UKC.то, что удалено - было использовано то ли какими-то эмуляторами, то ли ещё чем-то, и по факту уже ничем не используется...
> Они б сразу все ядро удаляли. А как предлагается то? Компилить переростка вгружающего сразу все драйвера для всех возможных железок? Или при втыкании флешки в юсб и понимании что драйвера нет - бежать перекомпилировать?
Переросток - это ядро Linux, жрущее "как не в себя", хоть с модулями, хоть без оных. GENERIC-ядро у OpenBSD - жрёт аккуратно. Других профилей, кроме рамдиск, там и нет. Ядра GENERIC хватает для всего, ничего перекомпилировать не требуется. Если кому-то нужно кастомное ядро, и он знает, что хочет - он соберёт своё.
> Переросток - это ядро Linux, жрущее "как не в себя", хоть с
> модулями, хоть без оных. GENERIC-ядро у OpenBSD - жрёт аккуратно. Других
> профилей, кроме рамдиск, там и нет. Ядра GENERIC хватает для всего,
> ничего перекомпилировать не требуется.И сколько же это ядро ест сразу после запуска с одним только shell вместо init?
подобные тесты, честно говоря, неинтересны, но дефолтная базовая система запустится там, где для практически всех популярных дистрибутивов не хватит памяти даже на то, чтобы распаковать свой initrd для загрузки :) На 24 mb RAM, например. Да и вообще, на первом пентиуме современные linux-дистрибутивы не погоняешь, а вот современный OpenBSD - запросто :)
> подобные тесты, честно говоря, неинтересны, но дефолтная базовая система запустится там,
> где для практически всех популярных дистрибутивов не хватит памяти даже на
> то, чтобы распаковать свой initrd для загрузки :) На 24 mb
> RAM, например.Вероятно это говорит о том, что в популярных дистрибутивах больше поддерживается железа и fs, чем в базовой OpenBSD.
> Да и вообще, на первом пентиуме современные linux-дистрибутивы не
> погоняешь, а вот современный OpenBSD - запросто :)Заинтриговали - сколько есть памяти "современный OpenBSD"?
LFS конечно нельзя назвать дистрибутивом, но собранный на базе современных пакетов без лишнего ест примерно 20MB после запуска (ядро/xorg/dwm/conky/tabbed/st/mc). При этом полноценный десктоп с широким кругом задач (графика 2d/3d, звук, программирование).
> Вероятно это говорит о том, что в популярных дистрибутивах больше поддерживается железа
> и fs, чем в базовой OpenBSD.Все проще. Драйвер современного видеоадаптера (i915, Radeon, нуво) может весить около мега. Потому что там куча кода на разные семейства, более гранулярно выпиливать лобзиком не стали из соображений code reuse и минимизации сложности.
Для более-менее обычного десктопа плюс-минус 10 мегабайтов initrd вообще ничего не меняют, а если хочется скостить 10 Мб - проще обрубить пару значков на бидоне и их зависимости.
А когда реально надо... ну вон OpenWRT взлетает совсем без initrd, как раз потому что на его распаковку памяти нет - ядром сразу цепляется squashfs, который rootfs, и дальше оттуда :). И все это даже на 16Мб с не сильно древним кернелом со скрипом взлетает.
> LFS конечно нельзя назвать дистрибутивом, но собранный на базе современных пакетов без
> лишнего ест примерно 20MB после запускаА openwrt можно и на 16 запустить. А если еще zram активировать - можно вообще себя чуть ли не мажором с кучей памяти себя там ощущать - еще и что-то свободное останется :)
> то, чтобы распаковать свой initrd для загрузки :) На 24 mb RAM, например.Я OpenWRT и на 16 запускаю. Впритык, конечно, и обрубленный по максимуму. И разумеется никаких галимых initrd. И да, если что - довольно популярный дистр.
И да, знаешь, даже карманного размера мыльницы типа TL3020 все-таки идут обычно минимум с 32М оперативы. Так что если твой пыльный гроб имеет меньше оперативы чем эта коробочка с полтора спичечных коробка - приветы динозаврам :)
> Да и вообще, на первом пентиуме современные linux-дистрибутивы не
> погоняешь, а вот современный OpenBSD - запросто :)Зато можно погонять на каком-нибудь TL-3020, который первого пня сделает по всем пунктам. И в отличие от - умещается в кармане, питается от usb и может ... ну например принтсервер изобразить. Или serial-to-IP адаптер. Или точку доступа 3G -> Wi-Fi. И стоит 20 баксов. А по ресурсам делает первопень как с куста. А версия с аккумулятором - может полдня работать автономно. При карманных же габаритах.
>> то, чтобы распаковать свой initrd для загрузки :) На 24 mb RAM, например.
> Я OpenWRT и на 16 запускаю. Впритык, конечно, и обрубленный по максимуму.
> И разумеется никаких галимых initrd. И да, если что - довольно
> популярный дистр.Это кастомное решение, использующее гору предыдущего опыта, чтобы его получить. Потребовалось много лет и инженеров, чтобы это появилось. И я не понимаю, зачем мне OpenWRT на первом пентиуме. :)
В OpenBSD же - одна система для всего, от шарп-зауруса и топовых десктопов 1996 года на экзотических архитектур до i386/amd64. Вот, в Debian, формально у меня есть Debian для Cubieboard. По факту - оно не умеет ничего, какие-то непонять кем сделанные ядра и пакеты ломают совместимость много с чем, не позволяют поставить новую версию - и вообще не позволяют многого, что я могу в обычном Debian. Для меня это уже другая система - жутко неудобная, по сравнению со стоковым Debian.
> Зато можно погонять на каком-нибудь TL-3020, который первого пня сделает по всем
> пунктам. И в отличие от - умещается в кармане, питается от
> usb и может ... ну например принтсервер изобразить. Или serial-to-IP адаптер.
> Или точку доступа 3G -> Wi-Fi. И стоит 20 баксов. А
> по ресурсам делает первопень как с куста. А версия с аккумулятором
> - может полдня работать автономно. При карманных же габаритах.Зачем мне ip-сериал-принтер? :) Мне нужно поиграть в Doom и Heretic, в некоторые другие игрушки во FreeDOS, получить современную версию angband (версии раньше 3.3.x просто неюзабелны для меня, нет многих вещей, без которых мне абсолютно неудобно), актуальные версии elinks (прошлые версии тоже не подходят) и так далее... :)
И если для чего-то есть OpenBSD - я лучше предпочту там OpenBSD. Потому что он позволит мне применять все мои накопленные привычки, а не использовать какую-то новую систему, где нет многого, к чему я привык, чтобы не было неожиданностей и открытий чудных.
я не понимаю зачем тебе первый пентиум. сдай в музей что ли?
> я не понимаю зачем тебе первый пентиум. сдай в музей что ли?наоборот, я пытаюсь музей собрать :) правда, дохнут часто.
> наоборот, я пытаюсь музей собрать :) правда, дохнут часто.Ну так если ты решил музей открыть - тогда и реставраторы потребуются, по логике вещей.
Хинт: помирают чаще всего просто электролитические конденсаторы. В лучшем случае трупики видно по вздутости, а то и электролиту. Если их заменить на какие-нибудь фирменные, low-ESR, девайс может получиться условно-вечным. Только хорошие электролиты денег стоят. Еще всякие там вентиляторы в БП и прочая. При том клин вентиля в БП чреват, собственно, БП (который рослый, полярный). С вонью и пиротехническими эффектами. И спасибо если не пожаром или вылетом всей начинки. Поэтому лично я оставлять древние БП на автономную эксплуатацию рискую только после личной инспекции состояния начинки.
> Только хорошие электролиты денег стоят.И бессвинцовые (RoHS) многослойки греть непросто, по словам друга-спеца...
>> Только хорошие электролиты денег стоят.
> И бессвинцовые (RoHS) многослойки греть непросто, по словам друга-спеца...чем древнее железка тем меньше шансов на бессвинцовые и многослойки :)
> И бессвинцовые (RoHS) многослойки греть непросто, по словам друга-спеца...Ну во первых совсем ископаемые экспонаты будут по своему хороши с точки зрения реставратора - НеRoHSовостью как раз.
Во вторых, паять многослойки в любом случае утомительно, RoHS это усугубляет тугоплавкостью. Но основная причина - выделенные слои земли и питания, выступающие теплоотводом. Поэтому паяло придется греть прилично и оно должно быть достаточной мощным чтобы удерживать температуру. А в сложных случаях потребуется греть нижним подогревом или феном "по месту".
В третьих, есть "относительная халява" по типу блоков питания, где чаще всего умирает или ветиль, или кондеры, а плата - примитивная однослойка, или у совсем хайтеч - двуслойка. Я так реанимировал несколько мощных и технологичных питальников, просто сменив кондер дежурки. Это правда не очень музейные и довольно дорогие экспонаты, так что вопрос о том стоят ли они возни - просто не возникал.
> Это кастомное решение, использующее гору предыдущего опыта, чтобы его получить.Это логичное решение, сделанное не через анyc, без заморочек с кучей легаси и/или явно лишнего для задачи хлама. Все что оно умеет (как минимум в пингвине) можно было довольно давно. Хотя конкретно squashfs замайнлайнили не столь давно, но в виде патчей он был еще в архаике на ядре 2.4, которая кой-как всползала с 2 мегов флеша на все и 8 Мб оперативы. И были иные варианты, типа JFFS, и еще ряда ФС такого плана.
> Потребовалось много лет и инженеров, чтобы это появилось.
Так пойнт то в чем? Ты пытаешься кого-то чем-то удивлять. А в 2015 году это просто обыденность, распиханая в сотни миллионов "мыльниц" и прочей мелочи по всей планете.
> И я не понимаю, зачем мне OpenWRT на первом пентиуме. :)
Честно говоря я не очень понимаю зачем в 2015 году первый пентиум. Он считает хуже карманной железяки, даже карманного роутера и прочих SD-карт. Но трескает электричества, занимает места и шумит вентиляторами как нормальный компьютер.
С времен первого пня прошла куча времени. Частоты маленьких и маложручих девайсов взяли рубежи не снившиеся этим десктопным монстрикам на дубовых техпроцессах. Тормозной FPM/EDO сменил SDRAM, а потом несколько поколений DDR, и скорости работы памяти увеличились в ДЕСЯТКИ раз. Поэтому даже мелкая карманная хрень в сумме заметно обставляет такие гробины.
> В OpenBSD же - одна система для всего, от шарп-зауруса и топовых
> десктопов 1996 года на экзотических архитектур до i386/amd64.А в упомянутые MIPSовые мыльницы заковырять сможешь? Допустим, есть 4 мега флеша и 32 мега рамы на все - ну и хватит с нас. Если "для всего" - у меня всегда в рукаве найдется пару странных железяк для любителей похвастаться, при том железяки могут быть обыденные и валяющиеся в каждом ларьке :)
> Вот, в Debian, формально у меня есть Debian для Cubieboard. По факту - оно
> не умеет ничего, какие-то непонять кем сделанные ядра и пакеты ломают
> совместимость много с чем,А какие тебе ядра нужны и пакеты? Ядро там кастомное, но после того как оно пнет init, дальше обычный такой взлет дебиана. И какой-нибудь браузер, или там nginx - там будет как обычно в дебиане. Ну разве что билданутый под систему команд ARM.
А так - по состоянию на данный момент на куби вполне съедобно работает тyпо майнлайновый кернель. Всякие CPUFreq там запилили, etc. Кое-чего еще не хватает, но во всех остальных ОС для этого железа не хватает сильно больше. А если кто этого не заметил - так наверное не смотрел просто.
> меня это уже другая система - жутко неудобная, по сравнению со
> стоковым Debian.А чего там такого "по сравнению со стоковым Debian" особенного? А "неудобно" - это извините настройка х86 крапа, через bios setup, если это некая неинтерактивная штука которую бросили куда-то и забыли. Простите, х86 гомнецу придется приволочь какой-то монитор и клаву для начальной настройки. А в это - пхнул заранее подготовленную карточку, где u-boot прописано что и откуда грузить - и ВСЕ. Со всякими сетевыми и неинтерактивными приблудами так намного проще, если уж мы о странном. А то что это сделано несколько иначе - так это фича а не баг на мой вкус. И нет всяких глюкавых BIOS/UEFI, ACPI и прочего х86 маздайства.
>> - может полдня работать автономно. При карманных же габаритах.
> Зачем мне ip-сериал-принтер? :)Ну конкретно тебе - не знаю. А остальным - потому что дешево и сердито. И без хзкакого софта от хзкого, при том умеет в 5 раз больше. Ну там можно например запасной линк по 3G модему поднять и скинуть алерт админу что основной интернет сдох. Неплохо для "принтера", пожалуй :)
> для меня, нет многих вещей, без которых мне абсолютно неудобно), актуальные
> версии elinks (прошлые версии тоже не подходят) и так далее... :)Ну то-есть пострадать фигней, поностальгировать и заняться некрофилией.
> И если для чего-то есть OpenBSD - я лучше предпочту там OpenBSD.
> Потому что он позволит мне применять все мои накопленные привычки, а
> не использовать какую-то новую систему, где нет многого,Ну и как, ты уже запустил ее на куби или TL-3020? И как там было с применением привычек? А может пора признать уже что компьютеры бывают разные. Большие и маленькие. И то что зашибись для десктопа - совсем не зашибись для штуки размером с SD карту или кластера из топ500. Мне нравится реюз знаний, но имхо стоит понимать что сильное масштабирование СОВСЕМ без изменений - не бывает.
> к чему я привык, чтобы не было неожиданностей и открытий чудных.
Ну понятно - обучаемость в районе ноля. Отработанный материалец.
> Так пойнт то в чем? Ты пытаешься кого-то чем-то удивлять. А в
> 2015 году это просто обыденность, распиханая в сотни миллионов "мыльниц" и
> прочей мелочи по всей планете.
> А в упомянутые MIPSовые мыльницы заковырять сможешь? Допустим, есть 4 мега флеша
> и 32 мега рамы на все - ну и хватит с нас.и апофеоз:
> А какие тебе ядра нужны и пакеты? Ядро там кастомное, но после
> того как оно пнет init, дальше обычный такой взлет дебиана.Вопросов больше не имею. Чтобы понять проблему, её надо сначала увидеть, а у кого-то настолько узкий кругозор и сплошные теоретики. Но я дам домашнее задание - сколько устройств поддерживают популярные дистрибутивы (тот же Debian). Не архитектур, а устройств. А затем попробовать сравнить подход OpenBSD и Debian.
Фишка в том, что всё, что заявлено в OpenBSD - работает на практике. А в Linux много чего работает в теории, но в дистрибутивах не применяется, есть сотни веток с разными наработками, и за приемлемые сроки НЕЛЬЗЯ получить очень много чего - проблемы не в общей теории (в теории то есть всё и всегда), проблемы в мелочах, делающих решение задачи практически невозможным. Поэтому, скажем, несмотря на то, что планшет - это фактически компьютер с ARM, использовать его как тот же компьютер с ARM (загрузившись в Debian) я не могу. Долго перечислять, чего именно там нет, и на что требуются серьёзныее инженерные силы. Cubieboard, несмотря на минимальную разницу - могу, но там столько ограничений, что мне такой Debian и даром не нужен :)
> Вопросов больше не имею. Чтобы понять проблему, её надо сначала увидеть,Ну так у тебя таланты видеть проблемы на ровном месте, особенно там где их нет. И да, я могу поменять загрузочную конфигурацию u-boot через простите ssh к платке, просто перетерев его файл с старым описанием загрузки на новый. А что, сможешь ремотно переконфигурить BIOS SETUP из взлетевшей системы? И чтоб монитор и клаву не переть к вон тому девайсу, валяющемся где-то на антресоли или в недрах какого-то агрегата? :)
> а у кого-то настолько узкий кругозор и сплошные теоретики.
Я не виноват что ты теоретик. А у меня прямща убунта на вон том кубике пашет. И без cat /proc/cpuinfo я так сходу и не догадаюсь что это - ARM, а не что-нибудь еще. Ну то-есть какие-то отличия в corner cases конечно есть, но этих cases - полторы штуки.
> Но я дам домашнее задание - сколько устройств поддерживают популярные дистрибутивы (тот же Debian).
> Не архитектур, а устройств.Даже если дебиан вообще "якобы не поддерживает" что-то, де-факто, чтобы запустить Дебиан на железке X, от меня надо бутлоадер и кернель. Ну может рамдиск еще. ВСЕ ОСТАЛЬНОЕ предоставляет дебиан и это 99.9% всего софта. Вот этот софт и репы и делают дебиан дебианом. Ты когда-нибудь видел штуки типа debootstrap? Для понимания того что такое дебиан на самом деле? :)
> А затем попробовать сравнить подход OpenBSD и Debian.
Ты не юли, ты пальцем покажи: сколько и какого железа опенбзда подцепит на хоть том же кубиборде и чем это будет лучше ну хоть дебиана? Допустим, пнутого с майнлайновым кернелом, для "расовой верноты" - чтоб ныть про кривые вендорские кернелы не хотелось.
> Фишка в том, что всё, что заявлено в OpenBSD - работает на практике.
Фишка в том что они очень осторожны в заявлениях - вон даже модули уже не заявляют :).
> А в Linux много чего работает в теории, но в дистрибутивах не применяется,
А Linux - гибкая система, которую можно изогнуть кучей разных вариантов. Это фича, а не баг. А то что не все варианты изгиба может освоить каждый первый... ну так кто сказал что мир должен кончаться на конченых юзерях?
> есть сотни веток с разными наработками, и за приемлемые сроки НЕЛЬЗЯ получить очень много чего
Ну я не знаю, лично я - запущу дебиан или убунту (невелика разница) на кубике за приемлимые сроки. Там реально дел с рыбью ногу. Если понимать как это работает.
> - проблемы не в общей теории (в теории то есть всё и всегда), проблемы в
> мелочах, делающих решение задачи практически невозможным.Хз, не вижу ничего невозможного в запуске дебиана на куби. Даже совсем кастом (если не хочется готовые сборки) - собрать u-boot, собрать ядро. Положить на карту, туда же rootfs разложить. При желании можно оформить себе какой-то кастомный rootfs debootstrap'ом. Что характерно - все пакеты будут дебианистее некуда.
А то что что-то будет работать, а что-то нет - так вон на х86 тоже карту от нвидии по мнению нвидии надо использовать только с их блобом.
> как тот же компьютер с ARM (загрузившись в Debian) я не могу.
На самом деле - достаточно планшетозависимо. Штуки на allwinner и rockchip так запользовать становится уже более-менее реально. Как полностью вышибив ведроид, так и просто сделав chroot. Что-то разумеется может не работать. Но уж не юзеру опенбзды жаловаться на нерабочую периферию. Это уже лицемерие, чувак.
> Долго перечислять, чего именно там нет, и на что требуются серьёзныее инженерные силы.
Серьезные инженерные силы? Это на сборку u-boot то и ядра? Ну если не повезло - перепахивания DTS файла из шаблона (или FEX, если вендоровские ядра). Воистину, "сколько программистов надо чтобы вкрутить лампочку" :). Ну знаешь, я один это все за вполне обозримое время делаю.
> Cubieboard, несмотря на минимальную разницу - могу, но там столько ограничений, что мне такой Debian
> и даром не нужен :)Хз, какие там ограничения. Как максимум, 3D ускорение не будет работать из-за проприерасовского драйвера, если майнлайн ядро использовать и не подпихивать левые проприетарные либы. Этого хватит выше крыши для серверообразных/неинтерактивных применений, да и для нетребовательного десктопа (где достаточно фреймбуфера без ускорения) - сойдет.
> А что, сможешь ремотно переконфигурить BIOS SETUP из взлетевшей системы?Вообще-то варианты бывают, но сильно фирмварезависимо (да и uboot ковырять вслепую я бы не стал):
http://www.pixelbeat.org/docs/bios/
http://www.coreboot.org/Nvramtool> И чтоб монитор и клаву не переть к вон тому девайсу, валяющемся где-то на антресоли
> или в недрах какого-то агрегата? :)Эти гвозди нынче забиваются микроскопом под названием iKVM.
>> А в Linux много чего работает в теории, но в дистрибутивах не применяется
> А Linux - гибкая система, которую можно изогнуть кучей разных вариантов.Нет смысла спорить об этих двух подходах -- они просто разные. Опёнок пытается быть "продуктом", линукс с различными вариантами юзерспейса -- "конструктором" для продуктов третьих сторон.
over 9000 ports!
Блин, тоже хотел пошутить про это))
> Блин, тоже хотел пошутить про это))А в чём соль шутки? В том, что шутящий до сих пор не в курсе возможности получать из одного порта сразу несколько пакетов (типа, postgresql-client и postgresql-server)? Или что удельный процент заброшенных портов в OpenBSD невелик?
Спасибо Тео!OpenBSD - хорошая ОС для шлюзов, межсетевых экранов, беспроводных маршрутизаторов.
Направление движение у них правильное, так что можно им сказать: " ВПЕРЁД И С ПЕСНЕЙ" http://www.openbsd.org/songs/song57.ogg
И для десктопа!
Скайп не нужен же.
> И для десктопа!
> Скайп не нужен же.десктоп - однозначно. причём в снапшоте есть проблемы, а 5.7 работает быстро и надёжно.
snapshot'y vpolne usabel'ny dlya desktopa
> snapshot'y vpolne usabel'ny dlya desktopaпроблема с xfce 4.12 вроде исправлена (но сам xfce 4.12 меня пугает)
seamonkey сломали напрочь
ещё какие-то косяки были
нет, сейчас снапшоты очень косячные :( я откатился на Debian и ждал релиза, чтобы вкатить 5.7, когда время будет.
А как она работает на ноутбуках?
Отлично работает, собственно в виду того, что большинство разработчиков на ноутах сидят, то на этих самых ноутах (железе) опенок работает на ура.
> И для десктопа!На серверах и десктопах пока не пробовал, на них ставлю Hardened Gentoo.
Жду от вас "историю успеха".
Кто использует OpenBSD на серверах и рабочих станциях поделитесь впечатлениями..
>> И для десктопа!
> На серверах и десктопах пока не пробовал, на них ставлю Hardened Gentoo.
> Жду от вас "историю успеха".
> Кто использует OpenBSD на серверах и рабочих станциях поделитесь впечатлениями..Я использую OpenBSD на десктопах, xfce или gnome. Впечатления приятные.
>> И для десктопа!
> На серверах и десктопах пока не пробовал, на них ставлю Hardened Gentoo.
> Жду от вас "историю успеха".
> Кто использует OpenBSD на серверах и рабочих станциях поделитесь впечатлениями..Несколько сетевых шлюзов под разные профили (простой "раздачи интернета" до IP-телефонии). Настроил (под заказ) и забыл - обращение в духе "перестало работать" было всего одно, после грозы.
Под KVM пашет исправно. Как хост-система, увы, пока что работать не умеет.
На десктопе используют снапшоты/-CURRENT (преимущественно cwm + KDE4-приложения). Всё пучком. Но для Skype приходится перегружаться в изначально предустановленную на ноутбуке Windows, увы.
В целом - OpenBSD во многом о самостоятельности, привычке сначала думать и уважении. Если не уверены - пользуйтесь тем, что вам ближе. :) Кому милее каждый мегагерц, или там принадлежность к большой-большой тусовке (ничего плохого в этом нет) - тем OpenBSD точно не понравится.
> В целом - OpenBSD во многом о самостоятельности, привычке сначала думать и
> уважении. Если не уверены - пользуйтесь тем, что вам ближе. :)
> Кому милее каждый мегагерц, или там принадлежность к большой-большой тусовке (ничего
> плохого в этом нет) - тем OpenBSD точно не понравится.Да там тусовка - только ради поругаться. :) Все только и делают, что ищут виноватых. :)
А ещё много теоретиков - любят навязывать свою точку зрения о тех вещах, о которых понятия не имеют и в глаза не видели, зато имеют об этих вещах МНЕНИЕ (собранное исключительно из вершков).
Это не тусовка. Это броуновское движение. :)
как поставить skype 4.3 на 64-битную версию openbsd?
Ха-ха! Это новая шутка по мотивам "пропатчить KDE2 под FreeBSD"
> Ха-ха! Это новая шутка по мотивам "пропатчить KDE2 под FreeBSD"Ога, только "хардкор-левел", ибо сырцов от скайпа пока не наблюдаем :)
> как поставить skype 4.3 на 64-битную версию openbsd?На 64-битную - никак. Linux ABI emulation только для i386.
денег на электричество подкинули чтоли? =)
Дык давно!
круто в OpenBSD и ОС обновил и песенку послушал
это типа как и рыбку сьел и на кол сел?
>Удалён код для поддержки загружаемых модулей ядраНазад в будущее! :)
> Все архитектуры переведены на статический формат PIE, т.е. все статически собранные исполняемые файлы в /bin и /sbin теперь содержат случайным образом расположенные сегменты "text"Давно пора. ÆrieBSD уже года три как рандомно тасует кишки эльфов по дефолту.
>> Все архитектуры переведены на статический формат PIE, т.е. все статически собранные исполняемые файлы в /bin и /sbin теперь содержат случайным образом расположенные сегменты "text"
> Давно пора. ÆrieBSD уже года три как рандомно тасует кишки эльфов по
> дефолту.PIE включён давно, здесь речь именно о статических бинарниках - для них реализация PIE по определению нетривиальна.