Что необходимо, чтобы начать использовать его? Я могу взять 3 чистый ком и поставить на один с Ubuntu любой версии и программа и то, как сделать от сети, 2 ком, чтобы установить в Ubuntu тоже? Мне удалось создать контроллер домена, и все мои ПК присоединился к PDC. Спасибо всем. @grgarside спасибо за отзыв. Наиболее интригующим. Мне придется четырехместный проверить мой код и убедитесь, что я не курю неправильную вещь! ;-) Нагрейте молоко, чтобы инактивировать ферменты. Я слышал это для порошкообразных и камышом молока. Значит, я хочу, чтобы проверить тот случай, что мое имя в настоящее время локальным `localhost` то `принт -П` изменить `${хоста##*локальный*}` в `${хоста##*ocalhost*}` показать пустой в итоге, это не положено, она должна напечатать `localhost в качестве нормальной, потому что соответствующие патерн вот `ocalhost`.

Я довольно новыми для программирования для Linux, и инит.D скрипты, и у меня есть проблема с моим инициализации.D скрипт взято из примера я нашел через много поиск в Google. Вместо получения статуса, запуск или остановка или перезапуск, мой демон появляется как другой процесс, неважно, что я делаю. Демон работает, как ожидалось, добавление записи в системный журнал каждую минуту. На самом деле, это работает, когда мультипликаторы работают, лесозаготовки запись с интервалом в одну минуту в каждом, в зависимости от того, когда они начинают.

Мой демон 'sbecd'

код #include <sys файлы/типы.ч>
#включают в файле <sys/стат.ч>
#включить заголовочный файл <stdio.ч>
#включить <stdlib.ч>
#включить <флагов.ч>
код #include <errno значение.ч>
#включить <запустите.ч>
#включить <системный журнал.ч>
#включить <строка.ч>

с помощью пространства имен std;

#определить DAEMON_NAME "vsbecdaemon"

процесс недействительными(){

 функция syslog (LOG_NOTICE, "ЦМП коммуникаций Демон запись");
} 

тап_п(АГДС, типа char *переменной argv[]) {

 //Установить наши маски лесозаготовки и открыть журнал
setlogmask(LOG_UPTO(LOG_NOTICE));
 методов openlog(DAEMON_NAME, LOG_CONS | LOG_NDELAY | LOG_PERROR | LOG_PID, LOG_USER);

 функция syslog(LOG_INFO, "ввод ЦМП Демон коммуникации");

 pid_t пид, Сид;

 //Вилка родительского процесса
 пид = развилка();

 если (пид < 0) { выход(EXIT_FAILURE); }

 //Мы получили хороший пид, закрыть родительский процесс
 если (пид > 0) { выход(EXIT_SUCCESS); }

 //Изменения Файлов По Маске
значение umask(0);

 //Создать новый идентификатор подпись для нашего ребенка
 Сида = setsid();
 если (ИД < 0) { выход(EXIT_FAILURE); }

 Каталог //Изменения 
 //Если мы не можем найти каталог, мы выходим с отказом.
 если ((перейти("/")) < 0) { выход(EXIT_FAILURE); }

 //Закрыть Стандартные Файловые Дескрипторы
рядом(STDIN_FILENO);
рядом(STDOUT_FILENO);
рядом(STDERR_FILENO);

//----------------
 //Основной Процесс
//----------------
в то время как(правда){
 процесс(); //запустить процесс
 сон(60); //спать в течение 60 секунд
}

 //Закрытие журнала
 функция closelog ();
}

Мой инит.сценарий д

#! /Бен/ш
### НАЧАЛО ИНИТ ИНФОРМАЦИЯ
# Обеспечивает: sbecd
# Необходима-старт: $удаленной_файловой_системы $syslog в $сетевой $в MySQL
# Необходима-стоп: $удаленной_файловой_системы $syslog в $сети
# По Умолчанию-Старт: 2 3 4 5
# По Умолчанию-Стоп: 0 1 6
# Короткое описание: семя кровать контрольной среды Демон init.сценарий д 
# Описание: ЦМП Демон init.д скрипт управления 
### КОНЕЦ ИНИЦИАЛИЗАЦИИ ИНФОРМАЦИЯ

Автор#: Гари Рубин HopWorks <myemail>
#

# Не "комплект -е"

# Путь должен только включать /usr/* если оно выполняется после mountnfs.sh сценарий
Путь=/каталоге:/usr на/sbin:/ОГРН:/usr/Бен
Параметр desc="контроллер последовательной связи - кроватью семян экологического контроля"
Имя=sbecd
Демон=выполнить/sbin/$имя
#DAEMON_ARGS="--аргументы функции"
Идентификатора=/ВАР/выполнения/$имя.пид
ИМЯ_СКРИПТА=/и т. д./init.д/$имя

Выход # если пакет не установлен
[ -х "$демона" ] || выход 0

# Прочитать переменную файл конфигурации, если он присутствует
[ -р /и т. д./По умолчанию/$имя ] && . /и т. д./По умолчанию/$имя

# Загружаем подробное задание и другие РВС переменных
. /lib/init/vars.sh

# Определить ЛСБ log_* функции.
# Зависит от ЛСБ-база (>= 3.2-14), чтобы убедиться, что этот файл присутствует
# и status_of_proc работает.
. /Либ/ЛСБ/инит-функции

#
# Функция, которая запускает демон/сервис
#
do_start()
{
 # Возвращение
 # 0 если демон был запущен
 # 1, если демон уже запущен
 # 2 если демон не может быть запущена
 старт-стоп-демона --пуск --тихий --PID-файл $PID-файл --метод exec $демона --тест > /dev/нуль \
 || возвращает 1
 старт-стоп-демона --пуск --тихий --PID-файл $PID-файл --старпома $демона -- \
 $DAEMON_ARGS \
 || возвращает 2
 # Добавить код здесь, если это необходимо, что ждет процесс, чтобы быть готовым
 # для обработки запросов от служб начали, впоследствии зависеть
 # на этот раз. В крайнем случае, поспать в течение некоторого времени.
}

#
# Функция, которая останавливает демонов/служб
#
do_stop()
{
 # Возвращение
 # 0 если демон был остановлен
 # 1 если демон был уже остановлен
 # 2 если демон не может быть остановлен
 # если произошла ошибка 
 старт-стоп-демона-прекрати-тихо-повтор=термин/30/убить/5 --PID-файл $PID-файл-имя $имя
Код="$?"
 [ "$РАТАВАЛІ" = 2 ] && обратный 2
 # Ждать для детей, чтобы закончить, если это демон, что Форкс
 # и если демон только бежать от этой инициализации.
 # Если указанные выше условия не удовлетворены, то добавьте немного другой код
 # что ждет процесс, чтобы бросить все ресурсы, которые могли бы быть
 # необходима служб начали впоследствии. Последним средством является
 # сон в течение некоторого времени.
 старт-стоп-демона --остановка --тихий --oknodo --повтор=0/30/убить/5 --метод exec $демона
 [ "$?" = 2 ] && Возвращение 2
 # Многие демоны не удалять PID-файлы при выходе.
 РМ -Ф $PID-файл
 возвращение "$РАТАВАЛІ"
}

#
# Функция, которая посылает сигнал SIGHUP демону/услуги
#
do_reload() {
#
 # Если демон может перезагрузить его конфигурацию без
 # перезапуск (например, когда он посылается сигнал SIGHUP),
 # затем реализовать это здесь.
#
 старт-стоп-демона --стоп --сигнала 1 --тихий --PID-файл $PID-файл-имя $имя
 возвращает 0
}

дело "$1" в
начала)
 [ "$Многословен" != нет ] && log_daemon_msg "начиная с $деск" "$имя"
do_start
 дело "$?" в
 0/1) [ "$многословен" != нет ] && log_end_msg 0 ;;
 2) [ "$многословен" != нет ] && log_end_msg 1 ;;
эсок
;;
стоп)
 [ "$Многословен" != нет ] && log_daemon_msg "остановка $деск" "$имя"
do_stop
 дело "$?" в
 0/1) [ "$многословен" != нет ] && log_end_msg 0 ;;
 2) [ "$многословен" != нет ] && log_end_msg 1 ;;
эсок
;;
статус)
 status_of_proc "$демона" "$имя" && выход 0 || выход $?
;;
#перезагрузка|силы-перезарядка)
#
 # Если do_reload() не реализован, то оставьте этот закомментированный
 # и оставлять силы-перезагрузка' в качестве псевдонима для "перезагрузки".
#
 #log_daemon_msg "перегруз $деск" "$имя"
#do_reload
 #log_end_msg $?
#;;
перезагрузка|силы-перезарядка)
#
 # Если "перезагрузка" вариант реализуется тогда удалить
 псевдоним силу-перезагрузка#'' 
#
 log_daemon_msg "перезапуск $деск" "$имя"
do_stop
 дело "$?" в
0/1)
do_start
 дело "$?" в
 0) log_end_msg 0 ;;
 1) log_end_msg 1 ;; # Старый процесс все еще работает
 *) log_end_msg 1 ;; # Не запускается
эсок
;;
*)
 # Не удалось остановить
 log_end_msg 1
;;
эсок
;;
*)
 #Эхо "использование: $ИМЯ_СЦЕНАРИЯ {пуск|стоп|перезапуск|перезагрузка|силы-перезарядка}" >&2
 Эхо "использование: $ИМЯ_СЦЕНАРИЯ {пуск|стоп|статуса|рестарт|силы-перезарядка}" >&2
 выход 3
;;
эсок

:

Мои процессы (фильтрации) после запуска 'sbecd пуск", а затем "статус sbecd'

~# ПС-а | sbecd грэп 
 3399 ? 00:00:00 sbecd
 3594 ? 00:00:00 sbecd

В Webmin показывает демона, как установить на запуск при загрузке, но это не произойдет, пока я ключ в sbecd и sbecd стоп' не имеет никакого эффекта. Я хотел бы знать, что я делаю неправильно, и почему я вижу поведение, которое я. Я прочитал множество учебников и видел много примеров, в том числе этой Девин Уотсон на http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html и было интересно, если это демона, который влияет на инит.D где это я что-то пропустил или неправильно установлен.