ນີ້ແມ່ນຄໍາສັ່ງ fai-class ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
fai-class - ກໍານົດຫ້ອງຮຽນໂດຍໃຊ້ໄຟລ໌ແລະ scripts.
ສະຫຼຸບສັງລວມ
ຊັ້ນ fai [ຕົວເລືອກ] ທິດທາງ CLASSFILE
ລາຍລະອຽດ
ຄໍາສັ່ງນີ້ພຽງແຕ່ເອີ້ນວ່າພາຍໃນໂດຍ FAI ແລະບໍ່ໂດຍກົງໂດຍຜູ້ໃຊ້.
fai-class ປະຕິບັດ scripts ໃນ DIRECTORY ເພື່ອກໍານົດຊັ້ນຮຽນ. ຫ້ອງຮຽນທັງຫມົດແມ່ນຂຽນໃຫ້
CLASSFILE, ແຕ່ລະຫ້ອງຮຽນຢູ່ໃນແຖວແຍກຕ່າງຫາກ. ໃຊ້ເສັ້ນທາງຢ່າງແທ້ຈິງສໍາລັບການໂຕ້ຖຽງທັງສອງ. ທັງໝົດ
scripts ຫຼື executables matching "^[0-9][0-9]*" (ພວກມັນເລີ່ມຕົ້ນດ້ວຍສອງຕົວເລກ) ຖືກປະຕິບັດ.
ໃນລໍາດັບຕົວອັກສອນ. ພວກເຂົາສາມາດກໍານົດຫ້ອງຮຽນໂດຍການຂຽນຊື່ຂອງຊັ້ນຮຽນ
stdout. ຫ້ອງຮຽນສາມາດແຍກອອກດ້ວຍຍະຫວ່າງ ຫຼືຂຽນໃສ່ໃນແຖວ. ທຸກສາຍທີ່ເລີ່ມຕົ້ນ
ດ້ວຍ "#" ແມ່ນແຖວຄຳເຫັນ ແລະຖືກລະເລີຍ.
ສະຄຣິບ Shell ທີ່ລົງທ້າຍດ້ວຍ ".sh" ແມ່ນແຫຼ່ງທີ່ມາ ແລະສາມາດກຳນົດຊັ້ນຮຽນໄດ້ໂດຍການຕັ້ງຄ່າຕົວແປ
$newclasses. ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບສະຄິບທີ່ທ່ານບໍ່ສາມາດຄວບຄຸມ stdout. ຕົວແປທີ່ເປັນ
ກຳນົດໄວ້ໃນສະຄຣິບເຫຼົ່ານີ້ມີໃຫ້ກັບສະຄຣິບອື່ນໃນ DIRECTORY, ແຕ່ພວກມັນບໍ່ແມ່ນ
ສົ່ງອອກໄປຍັງແກະທີ່ເອີ້ນ fai-class. scripts ເຫຼົ່ານັ້ນສາມາດກໍານົດຕົວແປໂດຍການຂຽນ
ຄໍານິຍາມຂອງໄຟລ໌ $LOGDIR/additional.var, ເຊິ່ງຈະມາຈາກຕໍ່ໄປນີ້
ວຽກງານ.
scripts ທັງຫມົດສາມາດກໍານົດ classes ເພີ່ມເຕີມໂດຍການຂຽນ classes ກັບໄຟລ໌
$LOGDIR/ຊັ້ນຮຽນເພີ່ມເຕີມ. ຫ້ອງຮຽນເຫຼົ່ານີ້ຖືກກໍານົດຫຼັງຈາກ scripts ທັງຫມົດຖືກປະຕິບັດ. ນີ້
ໄຟລ໌ຊົ່ວຄາວຈະຖືກລຶບອອກຫຼັງຈາກການນໍາໃຊ້.
ລໍາດັບຂອງຫ້ອງຮຽນມີຄວາມສໍາຄັນເນື່ອງຈາກວ່າມັນກໍານົດບູລິມະສິດຂອງຫ້ອງຮຽນຈາກ
ຕໍ່າຫາສູງ. ທໍາອິດ, ຫ້ອງຮຽນ DEFAULT ຖືກກໍານົດ. ຫຼັງຈາກນັ້ນ, script ທັງຫມົດຖືກປະຕິບັດເພື່ອກໍານົດ
ຫ້ອງຮຽນ. ຫຼັງຈາກນັ້ນ, ຫ້ອງຮຽນຈາກໄຟລ໌ $LOGDIR/additional-classes ຈະຖືກເພີ່ມ. ຈາກນັ້ນ,
ຫ້ອງຮຽນທັງໝົດໃນໄຟລ໌ທີ່ມີຊື່ໂຮດແມ່ນເພີ່ມ. ຫຼັງຈາກນັ້ນ, ຫ້ອງຮຽນກໍານົດໂດຍຕົວແປ
ADDCLASSES ຖືກໃຊ້. ຕົວແປນີ້ຕ້ອງເປັນລາຍການຫ້ອງຮຽນທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ. ເຈົ້າສາມາດ
ກໍານົດຕົວແປນີ້ຢູ່ໃນເສັ້ນຄໍາສັ່ງ kernel.
ສຸດທ້າຍ, ຫ້ອງຮຽນທີ່ມີ hostname ແລະ LAST ແມ່ນຖືກກໍານົດ.
ມັນເປັນສິ່ງສໍາຄັນທີ່ແຕ່ລະແຖວໃນໄຟລ໌ມີຊື່ຫ້ອງຮຽນລົງທ້າຍດ້ວຍແຖວໃຫມ່. ຖ້າ
ແຖວໃໝ່ຂາດຢູ່ໃນແຖວສຸດທ້າຍຂອງໄຟລ໌, ປະເພດນີ້ບໍ່ສາມາດເພີ່ມໄດ້.
ລະຫັດອອກຂອງທຸກສະຄຣິບຖືກຂຽນໃສ່ໄຟລ໌ status.log ໃນ LOGDIR.
OPTIONS
-d ສ້າງຜົນການດີບັກ.
-h ສະແດງການຊ່ວຍເຫຼືອ, ສະບັບແລະສະຫຼຸບຂອງທາງເລືອກ.
-T ທົດສອບວ່າຊັ້ນຮຽນໃນ CLASSFILE ຖືກກໍານົດຫຼາຍເທື່ອ. ນີ້ບໍ່ຄວນເກີດຂຶ້ນ.
ການທົດສອບຖືກປະຕິບັດຫຼັງຈາກຫ້ອງຮຽນຖືກກໍານົດ.
-t tmpdir
ໄຟລ໌ຫ້ອງຮຽນເພີ່ມເຕີມແມ່ນອ່ານຈາກໄດເລກະທໍລີ tmpdir. ຄ່າເລີ່ມຕົ້ນແມ່ນ
/tmp/fai/.
-v ສ້າງຜົນຜະລິດ verbose.
ຕົວຢ່າງ
ໃນ FAI, fai-class ແມ່ນໃຊ້ໃນລັກສະນະຕໍ່ໄປນີ້:
# fai-class /fai/class /tmp/fai/FAI_CLASSES
ຫຼັງຈາກນັ້ນ, ບັນຊີລາຍຊື່ຂອງຊັ້ນຮຽນທັງຫມົດໄດ້ຖືກມອບຫມາຍໃຫ້ຫ້ອງຮຽນຕົວແປ.
classes=`cat /tmp/fai/FAI_CLASSES`
ຕົວຢ່າງ FOR ສະຄຣິບ
ນີ້ແມ່ນ script 01alias:
#! / ຖັງ / sh
catnc() { # cat ແຕ່ບໍ່ມີແຖວຄຳເຫັນ
grep -v "^#" $1
}
# ສະຖາປັດຕະຍະກຳແອັກໂກ້ໃນຕົວພິມໃຫຍ່
dpkg --print-architecture | tr /az/ /AZ/
uname -s | tr /az/ /AZ/
# ເຈົ້າພາບທັງໝົດຊື່ມົດ ?? ໃຊ້ຫ້ອງຮຽນໃນ anthill ໄຟລ໌
ກໍລະນີ $HOSTNAME ໃນ
ມົດ??) catnc anthill ;;
ວ່າ C
# ກຸ່ມ Beowulf; nodes ທັງໝົດຍົກເວັ້ນ master node
# ໃຊ້ຫ້ອງຮຽນຈາກຫ້ອງຮຽນໄຟລ໌ / ປະລໍາມະນູ
ກໍລະນີ $HOSTNAME ໃນ
atom00) echo BEOWULF_MASTER ;;
ປະລໍາມະນູ ??) catnc atoms ;;
ວ່າ C
# ຖ້າໂຮສເປັນຂອງ class C subnet 123.45.6.0 ໃຊ້ class NET_6
ກໍລະນີ $IPADDR ໃນ
123.45.6.*) echo NET_6 ;;
ວ່າ C
ຕົວຢ່າງອື່ນ:
script 24nis:
#! / ຖັງ / sh
# ເພີ່ມ NIS ແລະຊື່ໂດເມນ NIS ຖ້າ YPDOMAIN ຖືກກໍານົດ
ຖ້າ [ -n "$YPDOMAIN" ];ຫຼັງຈາກນັ້ນ
echo "NIS $YPDOMAIN" | tr /.az-/ /_A-Z_/
ອື່ນ
ສຽງສະທ້ອນ NONIS
fi
ທ່ານສາມາດກໍານົດຫ້ອງຮຽນຢູ່ໃນເສັ້ນຄໍາສັ່ງຂອງ kernel ໂດຍການເພີ່ມນີ້ໃສ່ກັບ kernel:
ADDCLASSES=Class1,ClassX,CLASS3
ຫມາຍເຫດ
ຊື່ຫ້ອງຮຽນທັງໝົດຄວນຂຽນເປັນຕົວພິມໃຫຍ່ (ຍົກເວັ້ນໝວດໝູ່ຂອງຊື່ເຈົ້າພາບ).
ຢ່າໃຊ້ dash, ໃຊ້ຂີດກ້ອງ. ພຽງແຕ່ໃຊ້ສະຄຣິບທີ່ສາມາດປະຕິບັດໄດ້ໃນ DIRECTORY.
CLASSFILE ຖືກລຶບອອກກ່ອນທີ່ຈະຂຽນໃສ່ມັນ. ສະຄຣິບບໍ່ຄວນຂຽນໂດຍກົງໃສ່ CLASSFILE.
LOGDIR ບໍ່ຄວນຂຽນໄດ້ສໍາລັບທຸກຄົນ.
ໃຊ້ fai-class ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net