Это команда fai-class, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
fai-class - определение классов с помощью файлов и скриптов.
СИНТАКСИС
Fai-класс [OPTION] СПРАВОЧНИК КЛАССФАЙЛ
ОПИСАНИЕ
Эта команда вызывается только внутри FAI, а не напрямую пользователем.
fai-class выполняет сценарии в DIRECTORY для определения классов. Все классы записаны на
CLASSFILE, каждый класс в отдельной строке. Используйте абсолютные пути для обоих аргументов. Все
скрипты или исполняемые файлы, соответствующие "^ [0-9] [0-9] *" (они начинаются с двух цифр), выполняются
в алфавитном порядке. Они могут определять классы, записывая имена классов в
стандартный вывод. Классы можно разделять пробелами или писать по одному в строке. Все строки, которые начинаются
со знаком «#» - это строки комментариев, которые игнорируются.
Сценарии оболочки, заканчивающиеся на ".sh", являются исходными и могут определять классы, устанавливая переменную
$ newclasses. Это полезно для сценариев, в которых вы не можете управлять стандартным выводом. Переменные, которые
определенные в этих сценариях доступны для других сценариев в DIRECTORY, но они не
экспортируется в оболочку, которая вызывает fai-class. Эти скрипты могут определять переменные, написав
определений в файл $ LOGDIR / additional.var, который будет взят из следующих
Задача.
Все скрипты могут определять дополнительные классы, записывая классы в файл.
$ LOGDIR / дополнительные-классы. Эти классы определяются после выполнения всех скриптов. Этот
временный файл будет удален после использования.
Порядок классов важен, потому что он определяет приоритет классов из
снизу вверх. Сначала определяется класс DEFAULT. Затем выполняются все сценарии для определения
классы. После этого добавляются классы из файла $ LOGDIR / additional-classes. Потом,
добавляются все классы в файле с именем хоста. Тогда классы, определяемые переменной
ADDCLASSES используются. Эта переменная должна быть списком классов, разделенных запятыми. Вы можете
определите эту переменную в командной строке ядра.
Наконец, определяется класс с именем хоста и LAST.
Важно, чтобы каждая строка в файле, содержащая имя класса, заканчивалась новой строкой. Если
новая строка отсутствует в последней строке файла, этот класс нельзя добавить.
Код выхода каждого сценария записывается в файл status.log в LOGDIR.
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
-d Создайте отладочную информацию.
-h Показать справку, версию и сводку опций.
-T Проверьте, определены ли классы в CLASSFILE несколько раз. Такого никогда не должно быть.
Тест выполняется после определения классов.
-t tmpdir
Файл дополнительных классов читается из каталога tmpdir. Значение по умолчанию
/ tmp / fai /.
-v Создавайте подробный вывод.
ПРИМЕРЫ
В FAI класс fai используется следующим образом:
# fai-класс / fai / class / tmp / fai / FAI_CLASSES
Затем список всех классов присваивается классам переменных.
классы = `cat / tmp / fai / FAI_CLASSES`
ПРИМЕРЫ Для СЦЕНАРИИ
Это сценарий 01alias:
#! / Бен / ш
catnc () {# cat, но без комментариев
grep -v "^ #" $ 1
}
# эхо-архитектура в верхнем регистре
dpkg --print-architecture | tr / az / / AZ /
uname -s | tr / az / / AZ /
# все хосты названы ant ?? используйте классы в файле anthill
case $ HOSTNAME в
муравей ??) кошачий муравейник ;;
ESAC
# кластер Беовульфа; все узлы, кроме главного узла
# использовать классы из файла class / atom
case $ HOSTNAME в
atom00) эхо BEOWULF_MASTER ;;
атом ??) атомы катн ;;
ESAC
# если хост принадлежит к подсети класса C 123.45.6.0, используйте класс NET_6
case $ IPADDR в
123.45.6. *) Echo NET_6 ;;
ESAC
Другой пример:
Скрипт 24nis:
#! / Бен / ш
# добавить NIS и имя домена NIS, если YPDOMAIN определен
если [-n "$ YPDOMAIN"]; то
эхо "NIS $ YPDOMAIN" | tr /.az-/ / _A-Z_ /
еще
эхо NONIS
fi
Вы можете определить классы в командной строке ядра, добавив это к ядру:
ADDCLASSES = CLASS1, CLASSX, CLASS3
ПРИМЕЧАНИЯ
Все имена классов должны быть написаны прописными буквами (кроме класса имени хоста).
Не используйте тире, используйте подчеркивание. Используются только исполняемые скрипты из КАТАЛОГА.
CLASSFILE удаляется перед записью в него. Скрипты не должны напрямую писать в CLASSFILE.
LOGDIR не должен быть доступен для записи всем.
Используйте fai-class онлайн с помощью сервисов onworks.net