Очень хочется приобрести через Интернет hard-copy на английском языке книгу Р.Стивенса "Advanced Programming in UNIX Environment". Посоветуйте, пожалуйста, такой e-shop, где можно ее приобрести (с учетом доставки) по "вменяемой" цене? Спасибо.
P.S. На ozon.ru она стоит ~>3000 руб., при реальной стоимости книги в ~$45-50.
Как сделать в C++ примерно такое:
void myclass::handler(int signum)
{
// some actions
}
void myclass::register()
{
signal(SIGUSR1, handler);
}
? gcc на такую конструкцию (на содержимое метода register()) ругается, равно как и на
signal(..., this->handler); и
signal(..., myclass::handler);
Может есть варианты с помощью различных reinterpret_cast<> (я в них не разбираюсь)? Спасибо.
Могу ли я взять модуль (mastr) из leafnode, который распространяется по лицензии LGPL, выбросить из него все мне не нужное и связанное с самой программой, а так же поменять название переменных (хочу просто типы переименовать) и распространять под лицензией [L]GPL?
Что для этого требуется? Что писать в хидере файл про автора и т.д.?
Расскажите, пожалуйста, вкратце, что накладывает LGPL на исходный продукт?
Есть аккаунт на Linux-ферме с AFS. Необходимо разрешить только одному пользователю доступ в определенный каталог (apache). Узнал, что apache запущен из под пользователя wwwrun.
Соответственно команда: fs setacl mydir system:wwwrun all выдает, что такого пользователя не существует.
Подскажите, пожалуйста, как разрешить доступ именно ЭТОМУ системному пользователю? Уже 5й час бьюсь над решением этой проблемы, и все никак не выходит :/. Спасибо.
Подскажите, пожалуйста, как лучше реализовать блокировку в (o/i)fstream в C++ в Linux? Единственно верным вариантом вижу написание с нуля собственного соответствущего класса с поддержкой блокировки.
У Стивенсона в книге есть пример функции daemon_init(), которая создает демона. В ней используется используется двойной вызов fork(), якобы для надежности, что бы наверняка :).
Меня интересует насколько оправдана такая реализация с двумя вызовами fork()? Спасибо.
Нашел в unistd.h функцию daemon(), которая заменяет последовательность вызово fork(), setsid() и chdir(). Меня интересует, насколько эта функция портабельна в UNIX-системах? Спасибо.
Ситуация такая:
есть фильм (avi), есть к нему субтитры (английские), все это загружается с помощью GeexBox. Порой mplayer, во время воспроизведения, пару разу "икнет", после чего сразу же идет несоответствие субтитров фильму. Каждый раз ручками подправлять паузы -- надоедает. PC: i2.5GHz, 1Gb (Dual), видео: 128Mb.
Иногда бывает, что несоответствие начинается с самого начала просмотра :(.
Как правильно решить данную проблему? Заранее благодарен.
Есть daemon (Linux). Как узнать, что одна его копия уже запущена и запретить создание другой? Есть ли такие способы, кроме создания файловых флажков, сигнализирующих запуск daemon'а?
Хотелось бы, что при non-handled errors моя программа выкидывала ``core''. Но не на всех системах задано значение ``ulimit''. Насколько будет корректно и красиво (с точки зрения программирования), если перед запуском, моя программа будет делать, что-то вроде этого?
system("ulimit ... ");
Помогите с реализацией полиморфизма; то ли я плохо читал Страуструпа, то ли я много хочу, но ответа на свой вопрос найти не смог. Мне необходимо, что бы функция f() сама определяла наследника и вызывала соответствующий метод. Как это реализовать, подскажите, пожалуйста?
Собственно, есть функция (простейший пример), которая устанвливает значение переменной. Надо реализовать: если в функцию передается указатель на какой-либо тип, и если он не инициализирован -- выделить ему память и установить значение, если же передается адрес переменной -- просто установить значение. Проблема в том как это определить.
Нижеследующая программа, которая по-идее должна решать данную задачу, падает с ``segmentation fault''. Где ошибка? Спасибо.
===
#include <stdio.h>
#include <stdlib.h>
void set(int *p, int value)
{
if(p == NULL) p = (int *)malloc(sizeof(int));
*p = value;
}
Посоветуйте, пожалуйста, GNU/GPL библиотеку на Си для работы с SOCKS (интересует именно SOCKS5). Хочу просто небольшой SOCKS-сервер написать, а изобретать велосипед не хотелось бы. Спасибо.
Есть DNS-сервер (BIND) + http-сервер (Apache) в локальной сети. Большинству компьютеров присвоено локальное доменное имя, например, pupkin.org.lan. Хочется, что бы каждый пользователь, кто имеет доменное имя, мог зайти через веб интерфейс и добавлять/удалять поддомены без участия администратора.
Интересует, существуют ли готовые web-интерфейсы к BIND для решения данной задачи? Спасибо.
Собственно, встала такая задача, как сделать из 14 дисков с Debian GNU/Linux v3.1r0 "Sarge" 2 DVD диска. С dpkg-scanpackages вроде бы понятно, меня интересует, как правильно скопировать загрузчик (с инсталлятором) с первого диска и правильно, вместе с пакетами записать на первый DVD диск? Спасибо.
Есть Debian GNU/Linux "Sarge" v3.1, OpenOffice.Org v1.1:
Не отображаются русские буквы в менюшках и при наборе текста. Поставил "ms core fonts", прописал -- в иксах шрифт изменился на "ура", в самом OO.Org появились в пункте выбора шрифтов "Times, Courier и пр.", но проблема не исчезла. Так же пробовал ставить шрифты из самой Windows (W2k) -- проблема не исчезла. Как решить данную проблему? В google.com подходяшего решения подобной проблемы найти не удалось :( Спасибо.
Пытаюсь нормально настроить firewall для локальной сети, вроде бы почти все нормально, но никто (даже я) не могут зайти на мой ftp, nntp сервер. Где тут ошибка в правилах для iptables? Спасибо.
Есть следующие правила для iptables:
IPTABLES=/sbin/iptables
LANIP=10.49.61.2
$IPTABLES -F
# Запрещено то, что не разрешено:
$IPTABLES -P INPUT DROP
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Юзера (виндузятники) моего ftp-сервера жалуются на не читабельность имен файлов и каталогов (с моей стороны кодировка koi8-r, с их - cp1251). У меня в качество ftp-сервера стоит ProFTPd. Возможно ли, сделать, что бы имена файлов и дирректорий "отдавались" в кодировке cp1251 ? Какая опция в конфиге или какой patch помогут дать ответ на это вопрос? Спасибо.
Наложил патч "In-kernel Portscan Detector" на ядро 2.4.27. В ``make menuconfig'' относительно PSD включил его модулем. Ядро пересобрал. Решил по-пробовать в действии:
- Подгрузил модуль libipt_psd.so
- Пробую:
[root@luckysystem ~]# /sbin/iptables -A INPUT -p psd --dport 10.49.61.2 -j LOG --log-prefix "Scan detected "
В ответ получаю:
iptables v1.2.11: unknown protocol `psd' specified
Try `iptables -h' or 'iptables --help' for more information.
Вообщем, с какими ключами нужно запускать iptables, что бы заработал PSD ? В Интернете по-этому поводу ниформацию, а тем более документацию найти не удалось :(. Спасибо.
Как с помощью iptables блокировать подсоединение (к любому порту) к моему компьютеру в сети лицам, у кого в ip-адресе третий байт равен 255, например: 10.49.255.3, 10.50.255.10 ? /etc/hosts.allow здесь может помочь? Спасибо.