Це команда fai-class, яку можна запустити у безкоштовного хостинг-провайдера OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
fai-class - визначення класів за допомогою файлів і скриптів.
СИНТАКСИС
фай-клас [OPTION] ДОВІДНИК CLASSFILE
ОПИС
Ця команда викликається лише внутрішньо FAI, а не безпосередньо користувачем.
fai-class виконує сценарії в DIRECTORY для визначення класів. Усім класам написано
CLASSFILE, кожен клас в окремому рядку. Використовуйте абсолютні шляхи для обох аргументів. все
сценарії або виконувані файли, які відповідають "^[0-9][0-9]*" (вони починаються з двох цифр) виконуються
в алфавітному порядку. Вони можуть визначати класи, записуючи назви класів
stdout. Класи можна розділяти пробілами або писати по одному в рядку. Усі рядки, які починаються
із "#" є рядками коментарів і ігноруються.
Сценарії оболонки, які закінчуються на ".sh", є джерелом і можуть визначати класи, встановлюючи змінну
$нові класи. Це корисно для сценаріїв, де ви не можете керувати стандартним виводом. Змінні, які є
визначені в цих сценаріях доступні для інших сценаріїв у КАТАЛОЖІ, але вони ні
експортовано до оболонки, яка викликає fai-class. Ці сценарії можуть визначати змінні шляхом написання
визначення до файлу $LOGDIR/additional.var, джерело якого буде подано нижче
завдання.
Усі сценарії можуть визначати додаткові класи, записуючи класи у файл
$LOGDIR/додаткові класи. Ці класи визначаються після виконання всіх сценаріїв. Це
тимчасовий файл буде видалено після використання.
Порядок класів важливий, оскільки він визначає пріоритет класів з
від низького до високого. Спочатку визначається клас DEFAULT. Потім виконуються всі скрипти для визначення
класи. Після цього додаються класи з файлу $LOGDIR/additional-classes. Потім,
додаються всі класи у файлі з іменем хоста. Потім класи, визначені змінною
Використовуються ADCLASSES. Ця змінна має бути розділеним комами списком класів. Ти можеш
визначте цю змінну в командному рядку ядра.
Нарешті, визначається клас з іменем хоста та LAST.
Важливо, щоб кожен рядок у файлі, що містить назву класу, закінчувався знаком нового рядка. Якщо
в останньому рядку файлу відсутній новий рядок, цей клас не можна додати.
Код виходу кожного сценарію записується у файл status.log у LOGDIR.
ВАРІАНТИ
-d Створіть налагоджувальний вихід.
-h Показати довідку, версію та зведення параметрів.
-T Перевірте, чи класи в CLASSFILE визначені кілька разів. Цього ніколи не повинно статися.
Тест виконується після визначення класів.
-t tmpdir
Файл extra-classes читається з каталогу tmpdir. Значення за замовчуванням:
/tmp/fai/.
-v Створіть докладний вихід.
ПРИКЛАДИ
У FAI fai-клас використовується таким чином:
# fai-class /fai/class /tmp/fai/FAI_CLASSES
Потім список усіх класів присвоюється класам змінних.
classes=`cat /tmp/fai/FAI_CLASSES`
ПРИКЛАДИ ДЛЯ СЦЕНАРІЇ
Це сценарій 01alias:
#! / Бен / ш
catnc() { # cat, але без коментарів
grep -v "^#" $1
}
# луна архітектури у верхньому регістрі
dpkg --print-architecture | tr /a-z/ /A-Z/
uname -s | tr /a-z/ /A-Z/
# усі хости з іменем ant?? використовувати класи у файлі anthill
case $HOSTNAME in
ant??) catnc мурашник ;;
що С
# скупчення Беовульфа; усі вузли, крім головного вузла
# використовувати класи з файлу class/atoms
case $HOSTNAME in
atom00) echo BEOWULF_MASTER ;;
atom??) catnc atoms ;;
що С
# якщо хост належить до підмережі класу C 123.45.6.0, використовуйте клас NET_6
case $IPADDR in
123.45.6.*) echo NET_6 ;;
що С
Ще один ПРИКЛАД:
Сценарій 24nis:
#! / Бен / ш
# додати NIS і доменне ім’я NIS, якщо визначено YPDOMAIN
if [ -n "$YPDOMAIN" ];тоді
echo "NIS $YPDOMAIN" | tr /.a-z-/ /_A-Z_/
ще
луна NONIS
fi
Ви можете визначити класи в командному рядку ядра, додавши це до ядра:
ADDCLASSES=CLASS1,CLASSX,CLASS3
ПРИМІТКИ
Усі назви класів повинні бути написані великими літерами (окрім класу імені хоста).
Не використовуйте тире, використовуйте підкреслення. Використовуються лише виконувані сценарії в DIRECTORY.
CLASSFILE видаляється перед записом у нього. Сценарії не повинні безпосередньо писати в CLASSFILE.
LOGDIR не повинен бути доступним для запису для всіх.
Використовуйте fai-class онлайн за допомогою сервісів onworks.net