Jim Meyering выпустил
grep версии
2.21.
Обращаем внимание, что хотя Jim говорит, что это релиз, ускоряющий
работу, версия у него нечетная. Это значит, что завтра Jim запросто
может выпустить экстренный багфикс-релиз.
Хотя многие наши коллеги имеют более десятка-полутора-двух лет опыта
работы с Linux и Open Source, еще полно моментов, которые мы понимаем
неполностью. Этого мы никогда не стеснялись, не стесняемся и не будем
стесняться - учиться никогда не поздно, и всегда приятно и полезно. Вот
тут приключилась интересная история, разборки с которой пролили свет на
еще один темный уголок Unix-архитектуры. Мы, как и некоторые другие
люди, не понимали, почему если процесс запущен не от суперпользователя,
то он не может сбросить себе некоторые привилегии - например, группы.
Понятно, почему нельзя назначить себе группы, но отказаться-то почему
нельзя? Сходу понять это не получается. Josh Triplett решил, что это
ошибка, и прислал патч, исправляющий это
поведение.
В обсуждении оказалось, что Josh, как и мы, просто был не в курсе
типичного use case, популярного среди матерых Unix-админов, который
проще показать, чем объяснять. Можно создать группу
restricted_group_name и добавить туда пользователей. А затем
выставить на каталог права доступа 705, а затем сменить владельца вот
так - chmod root:restricted_group_name /path/to/restricted_dir. И
теперь каталог /path/to/restricted_dir будет доступен всем, кроме
тех, кто находится в группе restricted_group_name. А если они смогут
сбрасывать группы, то смогут достучаться до содержимого каталога. Вот
так.
Кстати, у Josh есть и другие интересные патчи - например, позволяющий
процессу иметь несколько
UID.
Сдвинулось с мертвой точки портирование Go на неподдерживаемые Google
платформы. Во-первых в GCC включают поддержку Go на
s390x.
Во-вторых представили первый вариант фронтэнда Go для
LLVM.
Вообще Google очень разумно ограничил язык лишь рядом процессорных
архитектур и рядом операционных систем, радикально сократив матрицу
тестирования. Тем, кому надо, они предлагают самим реализовывать
функционал, и догонять уезжающий поезд, причем строго отдельно, чтоб не
мешать лететь. А вот в Opensource-коммьюнити до сих пор местами
крикливые меньшинства сдерживают движение вперед
большинства.
Дмитрий Монахов, попавший в КПЗ из-за своей политической
позиции,
[STRIKEOUT:откинулся и теперь авторитетный программист в Parallels]
благополучно вернулся к работе. Мы уже видим его в деле, например, в
обсуждении интересного патчсета от Theodore Tso - lazytime, замена
relatime.
Немного истории - в Unix есть три типа таймстемпов у файлов и
директорий, ctime (время изменения файла или его метаданных), mtime
(время изменения файла) и самый бесполезный в быту, но самый
ресурсоемкий - atime (время последнего доступа к файлу, например его
чтения без изменения содержания). Если нам бывает часто интересно, когда
последний раз изменено содержимое файла или его права доступа, то когда
последний раз производилось чтение - не так важно (хотя многие почтовые
клиенты всерьез работали именно так, учитывая atime). Некоторые с
незапамятных времен добавляют в опции монтирования noatime, хотя, как
говорят, сейчас достаточно добавить
relatime,
чтоб почти всегда это работало хорошо. Однако, Theodore поразмыслил, и
решил, что можно улучшить еще, не нарушая замшелый стандарт POSIX,
который требует работы именно atime, не noatime, relatime или чего еще.
Он предложил накапливать изменения atime в памяти, и сбрасывать на диск
лишь когда кончается память, либо когда происходят какие-либо иные
события, требующие обновления atime. Звучит неплохо, и говорят, что
примерно так было уже давным давно реализовано в Solaris. К сожалению,
Theodore реализовал функционал лишь для ext4. Наш коллега, инженер Red
Hat, Dave Chinner, справедливо посчитал, что это не лучший архитектурный
вариант, и предложил реализовать ее на уровне выше, на VFS, что
автоматически (ну или почти автоматически) добавит эту функциональность
во все файловые системы. Посмотрим, что из этого получится.
В интервью с кандидатами в Fedora
Council им задавался вопрос - "в
чем состоит успешность нашего проекта и как ее измерить?" Некоторые
отметили, что не в количестве пользователей или участников, а в
способности убеждать других в правоте выбранных нами архитектурных
решений. Ну раз так, то у нас еще две победы. Во-1 инженер Google,
Russell Hancox, разработал
santa - с нашей точки зрения, это
выглядит, как SELinux для Mac OS X, хотя почитав реализацию мы бы
порекомендовали автору не мучаться, а портировать SELinux, как есть.
Конечно, лицензия не та, но что же остается делать остающим? А во-2
отстающие наконец-то сообразили, что отстают, и это очень здорово! В
течении следующих десяти лет FreeBSD собирается переходить на
launchd.
Для нас это не
новость,
разумеется. Срок, конечно, удивительный, но по-другому не получится - ни
у одного из всех пяти разработчиков FreeBSD нет свободного времени. Им
бы, конечно, не мучаться, а взять systemd, но верующие в BSD считают GPL
несвободной, и поэтому копировать решение будут из проприетарной Mac OS
X - таково понимание свободы у любителей Windows и Putty. В ленте
Google+ у Lennart Poettering уже с удовольствием обсуждают
новость.
Ну и напоследок грустная новость, никак не связанная с Fedora - в
Google полностью отказываются от
OpenID.
Еще один открытый стандарт медленно бредет на свалку истории.