12.7. FreeBSD дээр rc(8) ашиглах нь
Өмнөх | Бүлэг 12. Тохиргоо ба Тааруулалт | Дараах

## 12.7. FreeBSD дээр rc(8) ашиглах нь

Хувь нэмэр болгон оруулсан Том Рөүдс.
Орчуулсан Цагаанхүүгийн Ганболд.

2002 онд FreeBSD системийг эхлүүлэхэд зориулж NetBSD-ийн `rc.d` системийг оруулсан. Хэрэглэгчид `/etc/rc.d` сан доторх файлуудыг анзаарах хэрэгтэй. Эдгээр файлуудын ихэнх нь `start`, `stop`, болон `restart` тохируулгуудаар хянагддаг үндсэн үйлчилгээнүүд байдаг. Жишээ нь sshd(8) нь дараах тушаалаар дахин эхлэж болно:

`#` `/etc/rc.d/sshd restart`

Энэ процедур нь бусад үйлчилгээнүүдийн адил юм. Мэдээж үйлчилгээнүүд ихэнхдээ автоматаар rc.conf(5)-д зааснаар ачаалах үед эхэлдэг. Жишээ нь Сүлжээний Хаяг Хөрвүүлэх дэмонг эхлэх үед ажиллуулахаар нээх нь амархан бөгөөд `/etc/rc.conf`-д дараах мөрийг нэмдэг:

natd_enable="YES"

Хэрэв `natd_enable="NO"` мөр аль хэдийн байвал `NO`-ийг `YES` болгож өөрчлөөрэй. rc скриптүүд өөр бусад хамааралтай үйлчилгээнүүдийг дараагийн дахин ачаалалтын үеэр доор тайлбарласны дагуу автоматаар ачаалдаг.

`rc.d` систем нь үндсэндээ системийн эхлэх/унтрах үеэр үйлчилгээнүүдийг эхлүүлэх/зогсоох зорилготой бөгөөд стандарт `start`, `stop` болон `restart` тохируулгууд нь зөвхөн `/etc/rc.conf`-ийн харгалзах хувьсагчууд заагдсан үед өөрийн үйлдлийг гүйцэтгэдэг. Жишээ нь дээр дурдсан `sshd restart` тушаал нь `/etc/rc.conf`-д `sshd_enable` хувьсагч `YES` гэсэн тохиолдолд зөвхөн ажиллана. `/etc/rc.conf`-д байгаа тохируулгаас үл хамааран үйлчилгээг `start`, `stop` эсвэл `restart` хийхийн тулд тушаалууд «one» угтвартай байх шаардлагатай. Жишээ нь `sshd`-г `/etc/rc.conf` дахь тохиргооноос үл хамааран дахин эхлүүлэхдээ дараах тушаалыг ашиглана:

`#` `/etc/rc.d/sshd onerestart`

Тохирох `rc.d` скриптийг `rcvar` тохируулгатай ажиллуулж `/etc/rc.conf`-д үйлчилгээ нээгдсэн эсэхийг амархан шалгадаг. Тиймээс администратор `sshd`-г `/etc/rc.conf`-д нээгдсэн эсэхийг дараах тушаалыг ажиллуулж шалгаж болно:

`#` `/etc/rc.d/sshd rcvar` # sshd $sshd_enable=YES

### Тэмдэглэл:

Хоёр дахь мөр (`# sshd`) нь `root` консолынх биш `sshd` тушаалын гаргасан үр дүн юм.

Үйлчилгээг ажиллах байгаа эсэхийг шалгах `status` тохируулга байдаг. Жишээ нь `sshd` эхэлсэн эсэхийг шалгахдаа:

`#` `/etc/rc.d/sshd status` sshd is running as pid 433.

Зарим тохиолдолд үйлчилгээг `reload` хийх бас боломжтой байдаг. Энэ нь үйлчилгээг өөрийн тохиргооны файлуудыг дахин уншихыг зааж үйлчилгээ уруу дохио шидэхийг оролддог. Ихэнх тохиолдолд энэ нь үйлчилгээ уруу `SIGHUP` дохио шиднэ гэсэн үг юм. Үйлчилгээ болгонд энэ боломжийн дэмжлэг байдаггүй.

`rc.d` систем нь зөвхөн сүлжээний үйлчилгээнд ашиглагдаад зогсохгүй мөн системийн эхлүүлэлтэд бас ихээхэн хувь нэмэр оруулдаг. Жишээ нь `bgfsck` файлыг авч үзье. Энэ скрипт ажиллахад дараах мэдээллийг хэвлэж гаргана:

Starting background file system checks in 60 seconds.

Тиймээс энэ файлыг зөвхөн системийг эхлүүлэх үед файлын системийн арын шалгалтыг хийхэд хэрэглэдэг.

Системийн олон үйлчилгээнүүд зөв ажиллахын тулд бусад үйлчилгээнүүдээс хамаардаг. Жишээ нь NIS болон бусад RPC дээр тулгуурласан үйлчилгээнүүд `rpcbind` (portmapper) үйлчилгээ ажиллахаас нааш амжилттай ажилладаггүй. Үүнийг шийдэхийн тулд хамаарлуудын тухай болон бусад мета-өгөгдлийн тухай мэдээллийг эхлүүлэх скрипт бүрийн дээд хэсэгт тайлбараар оруулсан байдаг. rcorder(8) програм хамаарлуудыг хангаж системийн үйлчилгээнүүдийг ямар дарааллаар ажиллуулах ёстойг тогтоохын тулд эдгээр тайлбаруудыг уншдаг.

Дараах үгнүүдийг бүх эхлүүлэх скриптэд оруулах ёстой (Эдгээр нь эхлүүлэх скриптийг «идэвхжүүлэх»эд rc.subr(8)-д шаардлагатай байдаг):

- `PROVIDE`: Энэ файлын хангаж байгаа үйлчилгээнүүдийг заана.

Дараах үгнүүдийг эхлүүлэх скрипт бүрийн эхэнд оруулж болно. Эдгээр нь заавал шаардлагатай биш боловч rcorder(8)-д тус дөхөм болох ашигтай байдаг:

- `REQUIRE`: Энэ үйлчилгээнд шаардлагатай үйлчилгээнүүдийг жагсаана. Энэ файл заагдсан үйлчилгээнүүдийн дараа ажиллана.

- `BEFORE`: Энэ үйлчилгээнээс хамааралтай үйлчилгээнүүдийг жагсаана. Энэ файл заагдсан үйлчилгээнүүдийн өмнө ажиллана.

Эдгээр түлхүүр үгнүүдийг эхлүүлэх скрипт болгонд болгоомжтойгоор тохируулж өгснөөр бусад зарим UNIX® үйлдлийн системүүд шиг «ажиллах түвшингүүдтэй (runlevels)» зууралдалгүйгээр скриптүүдийн эхлэх дарааллыг маш сайн хянах боломжийг администраторт бий болгох юм.

`rc.d` системийн талаар нэмэлт мэдээллийг rc(8) болон rc.subr(8) гарын авлагын хуудаснуудаас олж болно. Хэрэв та өөрийн rc.d скриптүүд бичих эсвэл байгаагаа сайжруулахыг сонирхож байгаа бол танд бас энэ нийтлэл хэрэгтэй байж болох юм.

Өмнөх | Дээш | Дараах
12.6. `cron` хэрэгслийг тохируулах нь | Эхлэл | 12.8. Сүлжээний интерфэйс картууд суулгах нь

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.