Есть бездисковая система на основе Debian Squeeze. Корневой раздел на nfs. Была проблема: при выключении, после вызова halt, система зависала пытаясь связаться с nfs-сервером. При этом выдавалось сообщение вроде:
nfs: server ... not responding, still trying
Проблема решается выбором правильных ключей для halt. По-умолчанию набор ключей такой (см. /etc/init.d/halt):
-d -f -i -p -h
Чтобы все выключалось стабильно нужно добавить ключ -n (no sync before halt) или убрать ключ -i (shutdown network interfaces before halt). А можно сделать и то и другое.
Вопрос: какой вариант корректен?
Заранее спасибо!
Вышли библиотека обмена мгновенными сообщениями libpurple и основанные на ней консольный IM-клиент Finch и графический (GTK+2) клиент Pidgin версии 2.9.0.
Данный выпуск приурочен к исправлению уязвимости (отказ в обслуживании связанный с отображением иконок контактов).
Изменения:
Pidgin
Исправлен баг, приводящий к потенциальному отказу в обслуживании, связанный с отображением иконок контактов.
Значительно улучшена производительность при работе с большими IRC-каналами (регрессия произошла в релизе 2.8.0).
Исправлена работа Conversation->Add для AIM и MSN.
Записи в списке участников чата снова сортируются правильно (регрессия произошла в релизе 2.8.0).
Finch
Исправлен вход в ICQ.
libpurple
Исправления работы через NAT с использованием TURN протокола
AIM and ICQ
Исправлено падение на некоторых неосновных ОС при попытке вызова printf(«%s», NULL). (Clemens Huebner) (#14297)
Plugins
Плагин для интеграции с Evolution снова компилируется.
Пытаюсь сделать образ бездисковой системы на основе Debian Squeeze. Предполагается, что образ будет распаковываться на произвольный linux-based сервер (от RedHat 6 до OpenSuse 11.4), директория содержащая распакованные файлы будет экспортироваться по NFS. Далее клиент стандартным образом грузится через PXE и получает в качестве корневого раздела NFS-шару. Хочется, чтобы он мог независимо от сервера принимать решения о доступе к файлам на корневом разделе. Как я понимаю, для решения проблемы есть два пути:
1. mapping uid и gid
2. использование опции no_acl для соответствующей шары в /etc/exports на сервере
Первый путь я неосилил. Для NFS версий 2 и 3 были опции map_* и специальный демон ugidd, для NFS версии 4 есть демон idmapd. ugidd из современных дистрибутивов выпилен. idmapd отсутствует в старых системах. И я не смог заставить его работать: если я говорю ядру бездисковой системы
то idmapd не реагирует вообще. При этом, при монтировании той же шары с уже загруженной бездисковой станции через
mount -t nfs4 ...
idmapd отзывается и даже пытается что-то мапить (правда криво).
Про второй путь man exports говорит, что опция no_acl работает только на специально пропатченных ядрах. Следов этого патча в интернетах почти нет. Просто добавить эту опцию в exports не помогает.
В общем выхода я пока не вижу, так что буду рад услышать советы.
P.S.
Возможно есть другая сетевая файловая система, распространенная примерно так-же как и NFS, которая лучше подходит для моей задачи?
P.P.S.
Основная проблема даже не в различии uid и gid на сторонах клиента и сервера, а в том, что содержимое /etc/group на клиенте теряет силу.
Привет, ЛОР!
Написал некую программу на C, в ней достаточно активно используются треды. Жизнь треда начинается через pthread_create и заканчивается через pthread_cancel. Через pthread_attr функции pthread_create сообщается тип треда (JOINABLE или DETACHED). Вся динамически выделенная память освобождается в функции, назначенной треду через pthread_cleanup_push/pop.
После прогона программы под Valgrind выяснилось следующее:
* Если тред создан как JOINABLE (в этом случае после cancel вызывается join), то остаются possibly lost куски памяти, по одному на каждый созданный тред.
* Если тред создан как DETACHED (в этом случае после create дополнительно вызывается detach) вся память освобождается корректно.
Если верить man-у, то и join и detach освобождают все ресурсы, выделенные при создании треда.
В интернетах эту тему обсуждали в 2006-8 годах, некоторые предлагали вызывать detach после join и наоборот, но это попахивает бредом. Единого мнения я не нашел. Некоторые, кстати, считают, что на подобные утечки можно просто забить - дескать, все так и должно работать. Так ли это?
P.S.
Все это безобразие происходит под Ubuntu 9.10 x86
Тихо и незаметно (хотя давно) появился аналог TortoiseSVN под Linux, а точнее, для среды Gnome. Проект является наследником набора nautilus-скриптов nautilussvn.
В текущей версии (0.12.1) реализовано большинство возможностей TortoiseSVN (в отличие от «официального» проекта naughtysvn, который, кажется, благополучно загнулся). В будущем планируется улучшение поддержки Subversion, а также поддержка других VCS (Git, Mercurial).
Для скачивания доступны пакеты для большинства современных дистрибутивов. Есть ppa репозиторий для Ubuntu.