diff --git a/mn_MN.UTF-8/books/handbook/audit/chapter.sgml b/mn_MN.UTF-8/books/handbook/audit/chapter.sgml
index f106893ab3..5b65a38ea3 100644
--- a/mn_MN.UTF-8/books/handbook/audit/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/audit/chapter.sgml
@@ -1,675 +1,676 @@
Том
Рөүдс
Бичсэн
Роберт
Ватсон
Цагаанхүүгийн
Ганболд
Орчуулсан
Аюулгүй байдлын үйл явцад аудит хийх нь
Ерөнхий агуулга
АУДИТ
Аюулгүй байдлын үйл явцад аудит хийх нь
MAC
FreeBSD 6.2-RELEASE болон дараагийн хувилбарууд нь нягт-боловсруулсан
аюулгүй байдлын үйл явцад аудит хийх дэмжлэг оруулсан болно. Үйл явцад аудит хийх нь
нэвтрэн оролтууд, тохиргооны өөрчлөлтүүд, болон файл болон сүлжээний хандалт зэрэг
төрөл бүрийн аюулгүй байдлын холбогдолтой системийн үйл явцуудын хянаж бүртгэсэн бичлэгийг найдвартай,
нягт-боловсруулсан, ба тохируулах боломжтойгоор хийх боломжийг бүрдүүлдэг.
Эдгээр хянаж бүртгэсэн бичлэгүүд нь системийг шууд хянах, халдлага илрүүлэх, болон халдлагын
- дараах анализ хийхэд үнэлж баршгүй байж болох юм. &os; Sun-ий гаргасан
+ дараах анализ хийхэд үнэлж баршгүй байж болох юм. &os; &sun;-ий гаргасан
BSM API болон файлын хэлбэрийг шийдлээ болгосон бөгөөд
- Sun-ий Solaris болон Apple-ийн Mac OS X-ийн аудит шийдлүүдтэй харилцан
+ &sun;-ий Solaris болон &apple;-ийн &macos; X-ийн аудит шийдлүүдтэй харилцан
ажиллах боломжтой.
Энэ бүлэг нь үйл явцыг аудит хийхийг тохируулах болон суулгах тал дээр анхаарна.
Энд аудитийн бодлогуудын талаар тайлбарлах бөгөөд аудитийн тохиргооны жишээг бас
харж болно.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Үйл явцыг аудит хийх гэж юу вэ болон яаж ажилладаг талаар.
Хэрэглэгчид болон процессуудын үйл явцыг аудит хийхийг &os; дээр яаж
тохируулах талаар.
Аудитийн мөрийг аудит багасгах болон хянах хэрэгслүүдээр хэрхэн шалгах талаар.
Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:
&unix; болон &os;-ийн үндсийг ойлгох
().
Цөмийг тохируулах/хөрвүүлэх үндэстэй танилцах
().
Аюулгүй байдлын талаар болон түүний &os; -тэй хэрхэн холбогддог талаар ойлголттой байх
().
Аудит хэрэгсэл нь &os; 6.2 дээр туршилтын байдлаар орсон бөгөөд
туршилтын програм хангамж ашиглахад гарч болзошгүй аюулыг нарийн нягтлан
үзсэний дараа ашиглалтад хэрэглэх ёстой юм. Зарим нэг хязгаарлалтуудыг дурдвал
бүх аюулгүй байдлын холбогдолтой системийн үйл явцуудыг аудит хийх боломжгүй,
X11 дээр үндэслэгдсэн дэлгэцийн менежерүүд болон гуравдагч дэмонууд зэрэг
зарим нэвтрэх механизмууд хэрэглэгчийн нэвтрэх сессийг аудит хийх тохиргоог буруу
хийдэг зэрэг болно.
Аюулгүй байдлын үйл явцыг аудит хийх хэрэгсэл нь системийн ажиллагааны маш
дэлгэрэнгүй бичлэгүүдийг үүсгэх чадвартай: нарийвчилсан тохиргоо хийгдсэн завгүй системд
мөр бичлэгийн файлын өгөгдөл тохиргооноос хамааран зарим тохиолдолд гигабайтаас ч илүү
асар их болох боломжтой. Администраторууд их хэмжээний аудит хийх тохиргоотой холбоотой
дискний хэмжээний шаардлагыг тооцох ёстой. Жишээ нь, аудит бичиж байгаа файлын систем
дүүрэх нөхцөлд өөр бусад файлын системүүдэд хамааралгүйгээр файлын системийг
/var/audit модонд зориулах нь магадгүй зохимжтой байж
болох юм.
Энэ бүлгийн түлхүүр ухагдахуунууд
Энэ бүлгийг уншихаас өмнө аудиттай холбоотой цөөн түлхүүр ухагдахуунуудыг
тайлбарлах шаардлагатай:
үйл явц: Аудит хийх боломжтой үйл явц гэдэг нь
аудит дэд системийн тусламжтайгаар хянаж бүртгэх боломжтой дурын үйл явцыг хэлнэ.
Аюулгүй байдалтай холбоотой үйл явцуудын жишээнүүдэд файлын үүсгэлт,
сүлжээний холболтыг босгох, эсвэл хэрэглэгчийн нэвтрэлтийг дурдаж болно.
Үйл явцууд нь нэг бол жинхэнэ хэрэглэгч хүртэл мөрдөн гаргаж болох
шинж чанарлаг
, эсвэл тэгж болохооргүй
шинж чанарлаг бус
байна.
Шинж чанарлаг бус
үйл явцуудын жишээнүүд гэвэл
нууц үгийн буруу оролдлогууд гэх мэт нэвтрэн орох процессийн жинхэнэ эсэхийг шалгахаас
өмнөх үеийн дурын үйл явцуудыг хэлж болно.
ангилал: Үйл явцын ангиллууд гэдэг нь
холбоотой үйл явцууд бүхий хэсэг бүлгүүдийн нэр бөгөөд эдгээр нь сонголтын
илэрхийллүүдэд хэрэглэгддэг. Энгийн ашиглагддаг үйл явцуудын ангиллуудад
файл үүсгэлт
(fc), ажиллуулах
(ex)
мөн нэвтрэх_гарах
(lo) зэрэг орно.
бичлэг: Бичлэг гэдэг нь аюулгүй байдлын үйл явцыг
тайлбарласан аудитийн хянан бүртгэсэн оруулга юм. Бичлэгүүд нь үйл явцын төрлийн бичлэг,
субьектийн (хэрэглэгч) үйлдэл хийж байгаа тухай мэдээлэл, огноо болон цагийн
мэдээлэл, дурын нэмэлт өгөгдлүүд болон обьектуудын мэдээлэл, амжилт эсвэл уналтын
нөхцөлүүдийг агуулдаг.
мөр: Аудитийн мөр буюу хянан бүртгэлийн файл нь
аюулгүй байдлын үйл явцуудыг тайлбарласан аудит бичлэгүүдийн сериэс тогтоно.
Ерөнхийдөө мөрүүд нь үйл явцуудын биелж дууссан цагийн дагуу
он цагийн дарааллаар байрладаг. Зөвхөн жинхэнэ процессууд аудитийн
мөрд бичлэг нэмэх эрхтэй байдаг.
+
сонголтын илэрхийлэл: Сонголтын илэрхийлэл нь
угтваруудын жагсаалт болон үйл явцтай тохирох аудитийн үйл явцын ангиллын нэрсээс
тогтох мөр юм.
урьдчилсан сонголт: Энэ нь
администраторын сонирхох боломж бүхий үйл явцууд, сонирхлыг татахгүй байгаа
үйл явц зэргийг тайлбарласан аудитийн бичлэгүүдийг үүсгэхээс зайлсхийх зорилготойгоор
ялгасан системийн процесс юм. Урьдчилсан тохиргоо нь аль хэрэглэгчийн хувьд
үйл явцуудын аль ангиллуудыг таних болон жинхэнэ болон жинхэнэ биш процессуудад
хамаарах глобал тохиргоонуудын сонголтын илэрхийллүүдийн серийг ашигладаг.
хураангуйлалт: Энэ нь байгаа аудитийн мөрнүүдээс
аль бичлэгүүдийг хадгалалт, хэвлэлт болон анализ хийхээр сонгосон процесс юм.
Үүний нэгэн адил аудит мөрөөс хэрэггүй аудит бичлэгүүдийг устгах процесс бас хамаарна.
Хураангуйлалтыг ашиглаад администраторууд аудит өгөгдлийн хадгалалтын бодлогуудыг
боловсруулах боломжтой юм. Жишээ нь, дэлгэрэнгүй аудитийн мөрнүүд нэг сарын хугацаанд
хадгалагдаад дараагаар нь тэдгээр мөрнүүдийг архивын зорилгоор зөвхөн нэвтрэлтийн мэдээллийг
үлдээн багасгаж болох юм.
Аудит хийх дэмжлэг суулгах нь
Үйл явцыг Аудит хийх хэрэглэгчийн талбарын дэмжлэг үндсэн &os;
үйлдлийн системийн 6.2-RELEASE хувилбараас эхлэн орсон. Гэхдээ
үйл явцыг аудит хийхийг дэмжих дараах мөрийг цөмд оруулан хөрвүүлсэн
байх шаардлагатай:
options AUDIT
-д тайлбарласан ердийн процессийн
дагуу цөмийг дахин хөрвүүлж суулгана.
Цөм хөрвөгдөж суугаад систем дахин ачаалсны дараа
дараах мөрийг &man.rc.conf.5; -д нэмж аудит дэмонг идэвхжүүлнэ:
auditd_enable="YES"
Тэгээд системийг дахин ачаалах замаар эсвэл гараар аудит дэмонг
ажиллуулах замаар аудит дэмжлэгийг эхлүүлэх ёстой:
/etc/rc.d/auditd start
Аудитийн тохиргоо
Аюулгүй байдлын аудитийн тохиргооны бүх файлуудыг
/etc/security дотроос олж болно.
Дараах файлууд аудит дэмон эхлэхээс өмнө байх ёстой:
audit_class - Аудитийн ангиллуудын
тодорхойлолтуудыг агуулна.
audit_control - Анхдагч аудитийн ангиллууд,
аудитийн хянан бүртгэлтийн эзлэхүүнд үлдээх хамгийн бага дискний зай, хамгийн их
аудитийн мөрийн хэмжээ гэх зэрэг аудит дэд системийн шинж чанарыг хянана.
audit_event - Системийн аудит үйл явцуудын
тайлбарууд ба нэрс болон үйл явц болгон аль ангилалд хамаарах жагсаалт.
audit_user - Нэвтрэн орох үеийн глобал анхдагчуудаас
бүрдсэн зөвхөн хэрэглэгчид хамааралтай аудитийн шаардлагууд
audit_warn - Аудитийн бичлэгүүдийн зай хангалтгүй
болох эсвэл аудитийн мөрийн файл дахин эргэсэн зэрэг зайлшгүй шаардлагатай тохиолдолд
анхааруулах мэдээллүүдийг үүсгэдэг өөрчлөх боломж бүхий auditd-ийн ашигладаг
бүрхүүлийн скрипт.
Тохиргоон дахь алдаанууд үйл явцуудын буруу хянан бүртгэлд хүргэж болзошгүй тул
аудитийн тохиргооны файлуудыг засварлах болон ажиллагааг хангахдаа заавал
болгоомжтой байх шаардлагатай.
Үйл явц сонголтын илэрхийллүүд
Сонголтын илэрхийллүүд нь аль үйл явцуудыг аудит хийх ёстойг тодорхойлох
аудитийн тохиргооны хэд хэдэн газар ашиглагддаг. Илэрхийллүүд нь тохирох үйл
явцын ангиллуудын жагсаалтаас бүрдэх ба эдгээр тус бүр нь тохирох бичлэгүүдийг
хүлээн авах ёстой юу эсвэл орхих ёстой юу гэдгийг харуулсан угтвартайгаас
гадна оруулга нь амжилттай эсвэл амжилтгүй үйлдлүүдтэй тохирох ёстойг харуулах
боломж бас байна. Сонголтын илэрхийллүүд нь зүүнээс баруун тийш биелэгддэг
бөгөөд хоёр илэрхийллийг нэг дээр нь нөгөөг нь нэмж нийлүүлдэг.
Дараах жагсаалт нь audit_class-д байгаа анхдагч
үйл явцын ангиллуудаас тогтоно:
- all - Бүх үйл
явцын ангиллуудыг тааруулах(match).
- administrative
- Удирдлагын үйлдлүүд систем дээр бүхэлдээ гүйцэтгэгдэнэ.
- application -
Програмын тодорхойлсон үйлдэл.
- file_close -
close системийн дуудлагыг аудит хийх.
- exec - Програмын
ажиллагааг аудит хийх. Тушаалын мөрийн нэмэлт өгөгдлүүд болон орчны
хувьсагчуудыг argv ба envv
параметрүүдийг ашиглан policy тохиргоонд
тохиргоо хийн &man.audit.control.5; -ийн тусламжтайгаар хянадаг.
- file_attr_acc
- &man.stat.1;, &man.pathconf.2; болон бусад адил үйл явцуудын
обьектийн шинж чанаруудад хандсан хандалтыг аудит хийх.
- file_creation
- Үр дүнд нь файл үүсдэг үйл явцуудыг аудит хийх.
- file_deletion
- Файлыг устгадаг үйл явцуудыг аудит хийх.
- file_attr_mod
- &man.chown.8;, &man.chflags.1;, &man.flock.2; зэрэг
файлын шинж чанарын өөрчлөлт гарч байгаа үйл явцуудыг аудит хийх.
- file_read
- Өгөгдөл уншигдаж байгаа, мөн файлуудыг уншихаар нээсэн зэрэг үйл явцуудыг
аудит хийх.
- file_write -
Өгөгдөл бичигдэж байгаа, мөн файлд бичсэн эсвэл файл өөрчлөгдсөн зэрэг үйл
явцуудыг аудит хийх.
- ioctl - &man.ioctl.2;
системийн дуудлагын хэрэглээг аудит хийх.
- ipc - POSIX хоолойнууд
болон System V IPC үйлдлүүд зэрэг Процесс-Хоорондох
Холбооны төрөл бүрийн хэлбэрүүдийг аудит хийх.
- login_logout -
Систем дээр болж байгаа &man.login.1; ба &man.logout.1;
үйл явцуудыг аудит хийх.
- non_attrib -
Шинж чанаргүй үйл явцуудыг аудит хийх.
- no_class -
Аудит бус үйл явцуудыг тааруулах(match).
- network -
&man.connect.2; ба &man.accept.2; зэрэг сүлжээний үйлдлүүдтэй
холбоотой үйл явцуудыг аудит хийх.
- other -
Бусад үйл явцуудыг аудит хийх.
- process -
&man.exec.3; ба &man.exit.3; зэрэг процессийн үйлдлүүдийг
аудит хийх.
Эдгээр аудит үйл явцын ангиллуудыг audit_class
болон audit_event тохиргооны файлуудыг өөрчилснөөр
өөрчилж болно.
Жагсаалтад байгаа аудитийн ангилал бүр амжилттай/амжилтгүй үйлдлүүдийг
таарсан эсэхийг болон ангилал ба төрлийн хувьд таарч байгааг нэмж
байгаа эсвэл устгаж байгааг харуулсан угтвартай байна.
(none) Үйл явцын амжилттай болон амжилтгүйг аудит хийх.
+ Энэ ангилал дахь амжилттай үйл явцуудыг
аудит хийх.
- Энэ ангилал дахь амжилтгүй үйл явцуудыг
аудит хийх.
^ Энэ ангилал дахь амжилттай, амжилтгүй
аль нь ч биш үйл явцуудыг аудит хийх.
^+ Энэ ангилал дахь амжилттай үйл явцуудыг
аудит хийхгүй.
^- Энэ ангилал дахь амжилтгүй үйл явцуудыг
аудит хийхгүй.
Дараах сонголтын мөр амжилттай ба амжилтгүй нэвтрэлт/гаралтын үйл явцуудаас
гадна зөвхөн амжилттай ажиллуулсныг сонгож байна:
lo,+ex
Тохиргооны файлууд
Аудит системийг тохируулахдаа ихэнх тохиолдолд администраторууд зөвхөн хоёр
файлыг өөрчлөх хэрэгтэй: audit_control
болон audit_user. Эхнийх нь системийн дагуух
аудит өмчүүд болон бодлогуудыг хянадаг; хоёр дахь нь хэрэглэгчийн аудитийг нарийн
тохируулахад ашиглагддаг.
audit_control файл
audit_control файл нь аудит дэд системийн хувьд
анхдагч утгуудын тоог тодорхойлно. Энэ файлын дотор бид дараах зүйлсийг харна:
dir:/var/audit
flags:lo
minfree:20
naflags:lo
policy:cnt
filesz:0
тохиргоо нь аудит бүртгэлүүдийг хадгалах нэг болон
хэд хэдэн санг заахад хэрэглэгдэнэ. Хэрэв нэгээс их сан байгаа бол бичигдсэн
дарааллаараа ашиглагдана. Файлын систем дүүрсэн тохиолдолд аудит дэд систем болон
бусад дэд системүүд бие биедээ нөлөөлж болзошгүй учир аудит бүртгэлүүдийг тусгайлан
зориулсан файлын систем дээр хадгалахаар аудит системийг ихэвчлэн тохируулдаг.
талбар нь системийн дагуух шинж чанар бүхий үйл явцуудад
зориулсан анхдагч урьдчилан сонголтын багийг тодорхойлдог. Дээрх жишээн дээр бүх хэрэглэгчийн
хувьд амжилттай болон амжилтгүй нэвтрэлт болон гаралтын үйл явцууд аудит хийгдэж байна.
тохиргоо нь аудит мөр хадгалагдах файлын системийн
хувьд хамгийн бага чөлөөт зайны хувийг тодорхойлдог. Энэ тогтоосон хэмжээнээс илүү гарахад
анхааруулга үүсгэгддэг. Дээрх жишээ хамгийн бага чөлөөт зайг 20 хувиар тогтоожээ.
тохиргоо нь нэвтрэн оролтын процесс
болон системийн дэмонууд зэрэг шинж чанаргүй үйл явцуудыг аудит хийх аудитийн ангиллуудыг
тодорхойлдог.
тохиргоо нь таслалаар тусгаарлагдсан, аудитийн зан
авирын төрөл бүрийн шинж чанарыг хянах бодлогын тугуудын жагсаалтыг тодорхойлдог. Анхдагч
cnt туг нь аудит амжилтгүй болсон ч гэсэн систем ажиллагаагаа
үргэлжлүүлэхийг заадаг (энэ туг зайлшгүй шаардлагатай). Өөр нэг байнга ашиглагддаг туг бол
argv бөгөөд энэ нь &man.execve.2; системийн дуудлагад орж байгаа
тушаалын мөрийн нэмэлт өгөгдлүүдийг тушаалын ажиллагааг аудит хийхийн хэсэг болох боломж
олгодог.
тохиргоо нь мөрийн файл автоматаар төгсөх болон эргэхээс
өмнөх аудит мөрийн файлын хамгийн их хэмжээг байтаар тодорхойлдог. Анхдагч утга нь 0 байх ба
автоматаар эргүүлэхийг хориглосон байна. Хэрэв хүссэн файлын хэмжээ тэгээс ялгаатай ба 512k -аас
бага бол түүнийг орхиж бүртгэлийн мэдээлэл үүсгэнэ.
audit_user файл
audit_user файл нь зарим нэг хэрэглэгчдэд
зориулсан аудитийн шаардлагуудыг администраторууд тодорхойлохыг зөвшөөрдөг.
Мөр болгон хэрэглэгчид зориулсан аудитийг хийхийг хоёр талбараар тохируулдаг: нэг дэх нь
хэрэглэгчийн хувьд үргэлж аудит хийх шаардлагатай нэг хэсэг үйл явцуудыг тодорхойлдог
alwaysaudit талбар ба хоёр дахь нь
neveraudit талбар бөгөөд хэрэглэгчийн хувьд хэзээ ч
аудит хийх шаардлагагүй нэг хэсэг үйл явцуудыг тодорхойлдог.
Дараах жишээн дээр audit_user файл нь нэвтрэлт/гаралтын
үйл явцууд, root хэрэглэгчийн амжилттай тушаалын ажиллагаа, файл үүсгэлт ба www
хэрэглэгчийн амжилттай тушаалын ажиллагааг аудит хийж байна. Хэрэв дээрх жишээ
audit_control файлтай цуг ашиглагдвал
root -ийн lo оруулга нь давхардах бөгөөд
www хэрэглэгчийн нэвтрэлт/гаралтын үйл явцууд бас аудит хийгдэнэ.
root:lo,+ex:no
www:fc,+ex:no
Аудит дэд системийг удирдах нь
Аудит мөрүүдийг харах нь
Аудит мөрүүд нь BSM хоёртын хэлбэрээр хадгалагддаг бөгөөд өөрчлөх болон текст
уруу хөрвүүлэхэд тусгай хэрэгслүүд ашиглах шаардлагатай. praudit
тушаал нь мөрийн файлуудыг хялбар текст хэлбэрт хөрвүүлдэг; auditreduce
тушаал нь аудит мөрийн файлыг шинжлэх, архивлах эсвэл хэвлэх зорилгоор багасгахад
ашиглагддаг. auditreduce нь үйл явцын төрөл, үйл явцын
ангилал, үйл явцын хэрэглэгч, огноо эсвэл цаг, файлын зам эсвэл обьектийн үйлдэл үзүүлсэн
зэрэг төрөл бүрийн сонголтын параметрүүдийг дэмждэг.
Жишээ нь praudit хэрэгсэл нь заасан аудит бүртгэлийн бүх агуулгыг
жирийн текстээр харуулна:
&prompt.root; praudit /var/audit/AUDITFILE
AUDITFILE нь харуулах аудит бүртгэл юм.
Аудит мөрүүд нь токенуудаас бүтэх аудит бичлэгүүдийн цувралаас тогтох бөгөөд
praudit нь мөр болгонд нэгийг дараалуулан хэвлэнэ.
Токен бүр аудит бичлэгийн толгойг агуулсан header
эсвэл нэрийн хайлтаас гарсан файлын замыг агуулсан path
зэрэг тусгай төрлийн байна. Дараах жишээ нь execve
үйл явцыг харуулж байна:
header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
exec arg,finger,doug
path,/usr/bin/finger
attribute,555,root,wheel,90,24918,104944
subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
return,success,0
trailer,133
Энэхүү аудит нь амжилттай execve дуудлагыг илэрхийлж
- байгаа бөгөөд түүнд "finger doug" тушаал ажиллажээ. Нэмэлт өгөгдлийн токен нь
+ байгаа бөгөөд түүнд finger doug тушаал ажиллажээ. Нэмэлт өгөгдлийн токен нь
цөм уруу бүрхүүлээс гарч боловсруулагдсан тушаалын мөрийг агуулна. path буюу замын токен
нь цөмийн хайсан ажиллах файлын замыг агуулна. attribute буюу шинж чанарын токен
нь хоёртын файлыг тайлбарлах ба тухайлбал програм setuid эсэхийг тодорхойлоход
ашиглагдах файлын горимыг агуулна. Subject буюу субьект токен нь субьект процессийг
тайлбарлах бөгөөд аудит хэрэглэгчийн ID, идэвхитэй хэрэглэгчийн ID ба бүлгийн ID,
жинхэнэ хэрэглэгчийн ID ба бүлгийн ID, процессийн ID, сессийн ID, портын ID болон
нэвтрэлтийн хаяг гэсэн дарааллаар хадгална. Аудит хэрэглэгчийн ID ба жинхэнэ хэрэглэгчийн
ID нь ялгаатайг анхаарах хэрэгтэй:
robert гэдэг хэрэглэгч энэ тушаалыг ажиллуулахаасаа өмнө
root бүртгэл уруу шилжсэн бөгөөд энэ нь эхний шалгуулсан
хэрэглэгчийг ашиглан аудит хийгдсэн байна. Төгсгөлд нь return буюу буцах токен нь
амжилттай ажиллагааг харуулж trailer нь бичлэгийг төгсгөнө.
Аудитийн мөрүүдийг багасгах нь
Аудит бүртгэлүүд нь маш их байж болно, администратор зарим хэрэглэгчтэй холбоотой
бичлэгүүд зэрэг хэсэг бичлэгүүдийг ашиглахын тулд шилж сонгохыг магадгүй хүснэ:
&prompt.root; auditreduce -u trhodes /var/audit/AUDITFILE | praudit
- Энэ нь AUDITFILE файлд хадгалагдсан
+ Энэ нь AUDITFILE файлд хадгалагдсан
trhodes хэрэглэгчийн бүх аудитийн бичлэгүүдийг сонгож
байна.
Аудит хянах эрхүүдийг томилох нь
- audit бүлгийн гишүүд /var/audit
+ audit бүлгийн гишүүд /var/audit
дахь аудит мөрүүдийг унших эрхтэй; анхандаа энэ бүлэг нь хоосон байх бөгөөд тэгэхээр зөвхөн
- root хэрэглэгч аудит мөрүүдийг уншиж чадна. Аудит хянах эрхүүдийг хэрэглэгчдэд
- томилохын тулд хэрэглэгчдийг audit бүлэгт нэмж болно. Аудитийн
+ root хэрэглэгч аудит мөрүүдийг уншиж чадна. Аудит хянах эрхүүдийг хэрэглэгчдэд
+ томилохын тулд хэрэглэгчдийг audit бүлэгт нэмж болно. Аудитийн
бүртгэлийн агуулгыг хянах чадвар нь хэрэглэгчид болон процессуудын үйл хөдлөлийн дотоод уруу
нэлээн гүнзгий ханддаг учир аудит хянах эрхүүдийг томилохдоо болгоомжтой хийхийг зөвлөж байна.
Аудит хоолойнуудыг шууд монитор хийх нь
Аудит хоолойнууд нь төхөөрөмжийн файлын систем дахь клон хийгдсэн псевдо төхөөрөмжүүд
бөгөөд програмыг шууд явж байгаа аудит бичлэгийн урсгалд холбох боломж олгоно. Энэ нь голчлон
халдлага илрүүлэх болон систем монитор хийх програмуудын зохиогчдын сонирхлыг татдаг.
Гэхдээ администраторуудын хувьд аудитийн хоолойны төхөөрөмж нь аудитийн мөрийн файлын
эзэмшил эсвэл үйл явцын урсгалыг зогсоох, бүртгэл эргүүлэх зэрэг асуудлуудтай холбогдолгүйгээр
шууд монитор хийх эвтэйхэн боломжийг бүрдүүлдэг. Шууд явж байгаа аудитийн үйл явцын урсгалыг
хянахдаа дараах тушаалын мөрийг ашиглана
&prompt.root; praudit /dev/auditpipe
- Анхандаа аудитийн хоолойны төхөөрөмжийн цэгүүдэд зөвхөн root хэрэглэгч хандах
- эрхтэй байдаг. audit бүлгийн хэрэглэгчид хандах боломжтой
+ Анхандаа аудитийн хоолойны төхөөрөмжийн цэгүүдэд зөвхөн root хэрэглэгч хандах
+ эрхтэй байдаг. audit бүлгийн хэрэглэгчид хандах боломжтой
болгохын тулд devfs дүрмийг devfs.rules -д
нэмнэ:
add path 'auditpipe*' mode 0440 group audit
devfs файлын системийг тохируулах талаар дэлгэрэнгүй мэдээллийг &man.devfs.rules.5; -ээс
харна уу.
Аудитийн үйл явцын буцааж өгөх давталтуудыг үүсгэх нь хялбар бөгөөд
аудит үйл явц бүрийн үзэлт нь олон аудитийн үйл явцуудыг үүсгэхэд хүргэнэ. Жишээ нь,
хэрэв сүлжээний бүх I/O аудит хийгдсэн бөгөөд praudit нь SSH сессээс ажилласан
бол үйл явц бүр хэвлэгдэхэд өөр үйл явцыг бас үүсгэх учраас үргэлжилсэн аудитийн үйл
явцууд их хэмжээгээр үүсэх болно. Энэ асуудлыг бий болгохгүйн тулд нарийн тохируулаагүй
I/O аудит хийх сессээс praudit-ийг аудитийн хоолойны төхөөрөмж дээр ажиллуулахыг
зөвлөж байна.
Аудит мөрийн файлуудыг эргүүлэх нь
- Аудит мөрүүд нь зөвхөн цөмөөр бичигдэх бөгөөд auditd
+ Аудит мөрүүд нь зөвхөн цөмөөр бичигдэх бөгөөд auditd
аудит дэмоноор удирдагддаг. Администраторууд аудит бүртгэлүүдийг шууд эргүүлэхдээ
&man.newsyslog.conf.5; эсвэл бусад хэрэгслүүдийг ашиглан хийх ёсгүй юм. Харин
audit удирдах хэрэгслийг ашиглан аудитийг унтраах,
аудит системийг дахин тохируулах, болон бүртгэлийг эргүүлэх үйлдлүүдийг хийх боломжтой
байдаг. Дараах тушаал аудит дэмонг шинэ аудит бүртгэл үүсгэж цөмийг шинэ бүртгэл
уруу шилжихийг дохино. Хуучин бүртгэл нь төгсөж нэр нь өөрчлөгдөх бөгөөд дараагаар түүнтэй
администратор ажиллах боломж бүрдэнэ.
&prompt.root; audit -n
- Хэрэв auditd дэмон ажиллахгүй байгаа бол энэ тушаал
+ Хэрэв auditd дэмон ажиллахгүй байгаа бол энэ тушаал
нь амжилтгүй болох бөгөөд алдааны мэдээлэл үүсгэнэ.
Дараах мөрийг /etc/crontab -д нэмснээр
&man.cron.8; -оос арван хоёр цаг тутам эргүүлэх болно:
0 */12 * * * root /usr/sbin/audit -n
Шинэ /etc/crontab -ийг хадгалсны дараа өөрчлөлт
үйлчилж эхлэх болно.
Файлын хэмжээн дээр тулгуурласан аудитийн мөрийн файлыг автоматаар эргүүлэх нь
&man.audit.control.5; дахь тохиргоогоор хийгдэх
боломжтой бөгөөд гарын авлагын энэ бүлгийн тохиргооны файлуудын хэсэгт тайлбарласан болно.
Аудит мөрүүдийг шахах нь
Аудит мөрийн файлууд асар их болох тусам мөрүүдийг аудит дэмоноор хаалгасны
дараа шахах эсвэл архивлах нь зүйтэй юм. audit_warn
скрипт нь аудитийн мөрүүдийг эргүүлэх үеийн цэвэр төгсгөл зэрэг төрөл бүрийн аудиттай
холбоотой үйл явцуудад зориулан өөрчилсөн үйлдлүүдийг гүйцэтгэхэд ашиглагдана.
Жишээ нь хаагдах үед аудит мөрүүдийг шахах дараах кодыг audit_warn
скриптэд нэмж болно:
#
# Compress audit trail files on close.
#
if [ "$1" = closefile ]; then
gzip -9 $2
fi
Бусад архивлах идэвхүүдэд мөрийн файлуудыг төв сервер уруу хуулах, хуучин мөрийн
файлуудыг устгах эсвэл хэрэггүй бичлэгүүдийг хасч аудит мөрийг багасгах зэрэг орж болно.
Аудит мөрийн файлууд цэвэрхэн дууссан тохиолдолд скрипт ажиллана, тэгэхээр буруу унтраасны
дараа дуусаагүй мөрүүд дээр ажиллахгүй.
diff --git a/mn_MN.UTF-8/books/handbook/config/chapter.sgml b/mn_MN.UTF-8/books/handbook/config/chapter.sgml
index 1a558f18f2..452c997f20 100644
--- a/mn_MN.UTF-8/books/handbook/config/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/config/chapter.sgml
@@ -1,3110 +1,3110 @@
Шерн
Ли
Хойно дурдсан заавар болон гарын авлага дээр тулгуурлан бичсэн
Майк
Смит
Зааврыг бичсэн
Мэтт
Диллон
tuning(7)-г бичсэн
Цагаанхүүгийн
Ганболд
Орчуулсан
Тохиргоо ба Тааруулалт
Ерөнхий агуулга
системийн тохиргоо
системийн оновчлол
&os;-ийн хамгийн чухал зүйлүүдийн нэг нь системийн тохиргоо юм.
Зөв системийн тохиргоо нь ирээдүйн шинэчлэлтүүдийн үед толгойн өвчин гаргахгүй
байхад тусална. Энэ бүлэг &os; системийг тааруулахад хэрэглэгддэг зарим нэг
параметрүүд болон тохиргооны процессийн талаар илүү тайлбарлах болно.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Файлын системүүд болон хуваалтуудтай хэрхэн үр ашигтай ажиллах
талаар.
rc.conf тохиргоо болон
/usr/local/etc/rc.d эхлэлийн системүүдийн
үндсүүд.
Сүлжээний картыг хэрхэн тохиргоо болон тест хийх талаар.
Сүлжээний төхөөрөмж дээрээ виртуал хостууд хэрхэн тохируулах талаар.
/etc дэх төрөл бүрийн тохиргооны файлыг
хэрхэн ашиглах талаар.
sysctl хувьсагчуудыг ашиглан &os;-ийг
хэрхэн тааруулах талаар.
Дискний хурдан ажиллагааг хэрхэн тааруулах болон цөмийн хязгааруудыг
хэрхэн өөрчлөх талаар.
Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:
&unix; болон &os;-ийн үндсийг ойлгох ().
Цөмийн тохиргоо/хөрвүүлэлтийн үндсүүдийн талаар ойлголттой байх
().
Эхний Тохиргоо
Хуваалтын байрлал
хуваалтын байрлал
/etc
/var
/usr
Үндсэн Хуваалтууд
&man.bsdlabel.8; болон &man.sysinstall.8; ашиглан файлын
системүүдийг байрлуулахдаа хатуу хөтлөгчүүд өгөгдлийг дотоод замуудаас
илүү гаднах замуудаас хурдан шилжүүлдгийг санаарай.
Тиймээс жижиг, байнга ханддаг файлын системүүд хөтлөгчийн гадна тал уруу ойрхон
байх ёстой бөгөөд /usr зэрэг том хуваалтууд
дотор тал уруу байх хэрэгтэй. Хуваалтуудыг иймэрхүү дарааллаар байрлуулах нь
зөв юм: root, swap, /var,
/usr.
/var-ийн хэмжээ төлөвлөсөн машины хэрэглээг
тусгадаг.
/var нь шуудангийн хайрцгууд, бүртгэлийн файлууд,
болон принтерийн spool агуулдаг. Шуудангийн хайрцгууд болон бүртгэлийн
файлууд хичнээн хэрэглэгч байгаа болон ямар хугацаанд бүртгэлийн файлууд байхаас
хамаараад төсөөлөшгүй хэмжээнд хүртэл ихсэж болдог. Ихэнх хэрэглэгчид
гигабайтыг шаардахгүй боловч /var/tmp нь
багцуудыг багтаахаар том байх шаардлагатай.
/usr хуваалт &man.ports.7; цуглуулга (байлгахыг зөвлөдөг),
болон эх код (заавал биш) зэрэг системийг дэмжихэд шаардлагатай ихэнх файлуудыг агуулдаг.
Эдгээрийг суулгалтын үед сонгох боломжтой. Энэ хуваалтад хамгийн багаар 2 гигабайтыг зөвлөдөг.
Хуваалтын хэмжээг сонгохдоо зайн шаардлагыг бодох хэрэгтэй. Нэг хуваалт нь
бараг л ашиглагдахгүй байхад нөгөө нь зайгүй болж байх нь асуудал юм.
&man.sysinstall.8;-ийн Auto-defaults
хуваалтын хэмжээг өгөгч нь заримдаа /var болон
/ хуваалтуудад боломжоос бага хэмжээг сонгодгийг
зарим хэрэглэгчид олсон байна. Хуваалтыг ухаалгаар харамгүй хийгээрэй.
Swap Хуваалт
swap хэмжээ нэмэх
swap хуваалт
Swap хуваалтын хэмжээ системийн санах ойг (RAM) хоёр дахин авсан
хэмжээтэй байх ёстой. Жишээлбэл машин 128 мегабайт санах ойтой
бол swap файл 256 мегабайт байх ёстой. Бага санах ойтой системүүд
их swap-тай бол илүү хурдан ажиллаж болох юм. 256 мегабайтаас бага
swap-ийг хэрэглэхийг зөвлөдөггүй бөгөөд санах ойн өргөтгөл хэрэгтэй. Цөмийн
VM хуудаслах алгоритмууд нь багаар бодоход гол санах ойг хоёр дахин авсантай
тэнцэх swap хуваалттай байх үед хамгийн хурдан ажиллахаар тааруулагдсан
байдаг. Хэтэрхий бага swap тохируулах нь VM хуудас скан хийх кодыг үр
ашиггүйтэлд хүргэж илүү санах ой хожим нэмэхэд асуудал үүсгэж болох юм.
Олон SCSI дискнүүд бүхий (эсвэл олон IDE дискнүүд өөр өөр хянагчууд дээр
ажиллаж байгаа) томоохон системүүдэд swap-ийг хөтлөгч болгон дээр (4 хөтлөгч хүртэл)
тохируулахыг зөвлөдөг. Swap хуваалтууд нь ойролцоогоор адилхан хэмжээний
байх шаардлагатай. Цөм дурын хэмжээтэй ажиллаж чадах боловч дотоод өгөгдлийн
бүтцүүд хамгийн том swap хуваалтыг 4 дахин авсантай адил хэмжээгээр
томрох боломжтой. Swap хуваалтуудыг ойролцоогоор адил хэмжээтэй байлгах нь
swap зайг дискнүүдийн дагуу оновчтойгоор судал үүсгэх боломжийг цөмд олгодог.
Swap их ашиглагддаггүй байсан ч гэсэн том swap хэмжээ байж болно.
Хүчээр дахин ачаалагдах үед дагаж хаагдсан програмаас өгөгдлийг сэргээх нь
амархан байж болох юм.
Яагаад Хуваах хэрэгтэй гэж?
Зарим хэрэглэгчид ганц том хуваалт байхад болно гэж боддог,
гэхдээ энэ нь яагаад буруу болох хэд хэдэн шалтгаан бий.
Нэгдүгээрт хуваалт болгон өөр өөр ажиллагааны шинж чанаруудтай бөгөөд
тэдгээрийг тусгаарласнаар файлын системийг тэдгээрт тааруулах боломжийг
олгодог. Жишээ нь root болон /usr
хуваалтууд байнга бичигдэхээсээ илүү ихэвчлэн уншигддаг.
Харин уншилт болон бичилт /var болон
/var/tmp-д байнга хийгддэг.
Системийг зөв хувааснаар ачаалалтай хуваалтуудад хийсэн жижиг
бичилтээр гарсан хэсэглэлт илүүдэж байнга уншигддаг хуваалтууд уруу
хальдаггүй. Бичилт-ачаалсан хуваалтуудыг дискний ирмэг уруу байрлуулах нь
бичилт ихэвчлэн хийгддэг хуваалтууд дахь I/O ажиллагааг хурдасгадаг.
Том хуваалтуудад I/O-н хурдан ажиллагаа хэрэгтэй байж болох ч
тэдгээрийг дискний ирмэг уруу илүүтэй ойртуулах нь
/var-ийг ирмэг уруу шилжүүлснээс илүү
мэдэгдэхүйц хурдан ажиллагаанд хүргэхгүй. Эцэст нь найдвартай байдлыг бодох
ёстой. Ихэвчлэн уншигддаг, жижиг, цэвэрхэн root хуваалт хэцүү сүйрэл
болоход сэргэх боломж нь хамаагүй илүү байна.
Гол Тохиргоо
rc файлууд
rc.conf
Системийн тохиргооны мэдээлэл /etc/rc.conf
дотор байдаг. Энэ файл нь өргөн хүрээний, зарчмын хувьд системийг эхлэх
үед системийг тохируулахад ашиглагддаг тохиргооны мэдээллүүдээс тогтоно.
Үүний нэр нь шууд утгыг тодорхойлно; энэ нь rc*
файлуудад зориулсан тохиргооны мэдээлэл юм.
Администратор
/etc/defaults/rc.conf-ийн анхдагч утгуудыг
rc.conf файлд өөрчилж оруулах хэрэгтэй.
Анхдагчуудын файл /etc уруу хуулагдах ёсгүй -
энэ нь жишээ биш анхдагч утгуудыг агуулдаг. Бүх системийн холбогдолтой
өөрчлөлтүүд rc.conf файлд өөрт нь хийгдэх
ёстой.
Удирдлагын нэмэлт ачааллыг байнга бага байлгахын тулд сайт дагуух тохиргоог
системийн тусгайлсан тохиргооноос тусгаарлах хэд хэдэн стратеги кластер хийгдсэн
програмуудад байж болох юм. Сайтын дагуух тохиргоог
/etc/rc.conf.site зэрэг өөр файлд байрлуулж
дараа нь энэ файлыг зөвхөн системийн тусгайлсан мэдээллийг агуулдаг
/etc/rc.conf-д оруулахыг
зөвлөдөг.
rc.conf нь &man.sh.1;-ээр уншигддаг болохоор
үүнийг хийхэд амархан байна. Жишээ нь:
rc.conf:
. /etc/rc.conf.site
hostname="node15.example.com"
network_interfaces="fxp0 lo0"
ifconfig_fxp0="inet 10.1.1.1"
rc.conf.site:
defaultrouter="10.1.1.254"
saver="daemon"
blanktime="100"
Дараа нь rc.conf.site файл
систем болгонд rsync эсвэл адил
програмаар түгээгдэж болох бөгөөд харин
rc.conf файл нь өөр өөр хэвээр байх болно.
&man.sysinstall.8; эсвэл make world ашиглан
системийг шинэчлэхэд rc.conf файлыг
дарж бичихгүй, тэгэхээр системийн тохиргооны мэдээлэл хаягдахгүй.
Програмын Тохиргоо
Ерөнхийдөө суулгасан програмууд нь өөрийн дүрэм гэх мэт онцлогтой өөр өөрийн
тохиргооны файлуудтай байдаг. Эдгээр файлуудыг багц удирдах хэрэгслүүдээр
амархан олж удирдаж болохоор үндсэн системээс тусад нь байлгах нь чухал юм.
/usr/local/etc
Ерөнхийдөө эдгээр файлууд нь /usr/local/etc
дотор суулгагддаг. Програм их олон тооны тохиргооны файлуудтай тохиолдолд
тэдгээрийг агуулж дэд сан үүсгэгдэнэ.
Ихэнхдээ порт эсвэл багц суухад жишээ тохиргооны файлууд бас суудаг.
Эдгээр нь ихэнхдээ .default дагавраар
танигддаг. Хэрэв програмын хувьд тохиргооны файлууд байхгүй байвал
тэдгээрийг .default файлуудыг хуулж үүсгэнэ.
Жишээ нь /usr/local/etc/apache санд
байгаа файлуудыг үзье:
-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf
-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default
-rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf
-rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.default
Файлын хэмжээнүүд нь зөвхөн srm.conf файл
өөрчлөгдсөнийг харуулж байна. Apache
портын дараагийн шинэчлэл энэ өөрчлөгдсөн файлыг дарж хуулахгүй.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
Үйлчилгээнүүдийг эхлүүлэх нь
үйлчилгээнүүд
Олон хэрэглэгчид Портуудын Цуглуулгаас гуравдагч програм хангамжуудыг
&os; дээр суулгахаар сонгодог. Ихэнх тохиолдолд програм хангамжийг
систем ачаалахад эхлүүлэхээр тохируулах шаардлагатай байж болох юм.
mail/postfix эсвэл
www/apache13
зэрэг үйлчилгээнүүд нь системийг ачаалахад эхлүүлж болох програм
хангамжийн багцуудын зөвхөн хоёрхон жишээ юм. Энэ хэсэгт гуравдагч
програм хангамжийг ажиллуулах процедурын талаар тайлбарлах болно.
&os; дээр &man.cron.8; зэрэг ихэнх үйлчилгээнүүд системийн эхлүүлэх
скриптүүдийн тусламжтай эхэлдэг. Эдгээр скриптүүд &os; эсвэл
үйлдвэрлэгчийн хувилбараас хамааран өөр өөр байна; гэхдээ хамгийн чухал
авч үзэх зүйл нь тэдгээрийн эхлэх тохиргоог энгийн эхлүүлэх скриптүүдээр хийх
боломжтой явдал юм.
rc.d-ээс өмнө програм хангамжууд энгийн эхлүүлэх
скриптээ системийн эхлүүлэх скриптүүдийн уншдаг
/usr/local/etc/rc.d санд
хийдэг байсан. Дараа нь эдгээр скриптүүд нь системийн ачаалалтын сүүлийн шатуудад
ажилладаг.
Олон хувь хүмүүс хуучин тохиргооны загварыг шинэ систем уруу нийлүүлэх гэж
олон цагийг зарсаар байгаа боловч зарим гуравдагч хэрэгслүүд скриптээ
дээр дурдсан сан уруу хийхийг шаардсан хэвээр байгаа юм. Скриптүүдийн
гол ялгаанууд нь rc.d ашиглаж байгаа эсэхээс
хамаарна. &os; 5.1-ээс өмнө хуучин тохиргооны загвар ашиглагдаж
байсан бөгөөд бараг бүх л тохиолдлуудад шинэ загварын скриптүүд ч бас
зүгээр ажиллах юм.
Скрипт бүр зарим хамгийн бага шаардлагыг хангах ёстой боловч ихэнхдээ
&os;-ийн хувилбараас хамаарна. Скрипт бүр төгсгөлдөө .sh
өргөтгөл залгаатай байх шаардлагатай бөгөөд скрипт бүр систем дээр
ажиллах боломжтой байх ёстой. Сүүлийнхийг chmod
тушаал ашиглан ганц 755 эрхийг заан хийж болно.
Мөн хамгийн багаар бодоход програмыг эхлүүлэх болон
зогсоох тохируулгууд байх ёстой.
Хамгийн энгийн эхлүүлэх скрипт яг энэн шиг харагдах болов уу:
#!/bin/sh
echo -n ' utility'
case "$1" in
start)
/usr/local/bin/utility
;;
stop)
kill -9 `cat /var/run/utility.pid`
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
Энэ скрипт utility хэмээгдсэн програмд
зориулагдсан зогсоох болон
эхлүүлэх тохируулгатай байна.
Гараар ингэж эхлүүлж болно:
&prompt.root; /usr/local/etc/rc.d/utility.sh start
Бүх гуравдагч програм хангамжууд rc.conf-д
мөр байхыг шаарддаггүй боловч бараг л өдөр болгон шинэ порт
энэ тохиргоог авахаар өөрчлөгдөж байна. Тухайн програмын талаар дэлгэрэнгүй
мэдээллийг суулгалтын сүүлийн дэлгэцэд гаргасан үр дүнгээс шалгаарай.
Зарим гуравдагч програм хангамжууд програмыг rc.d-тэй
цуг ашиглахыг зөвшөөрдөг эхлүүлэх скриптүүдтэй байдаг; гэхдээ
энэ нь дараагийн хэсэгт хэлэлцэгдэнэ.
Програмын Өргөтгөсөн Тохиргоо
Одоогийн &os;-ийн rc.d-г агуулдаг нь
програмын эхлүүлэх тохиргоог илүү хялбар, боломжтой болгосон.
rc.d хэсэгт
хэлэлцсэн түлхүүр үгүүдийг ашиглан програмууд жишээ нь
DNS зэрэг зарим үйлчилгээнүүдийн дараа
ажиллахаар тохируулагдаж болно; эхлүүлэх скриптүүдэд хатуугаар
бичигдсэн тугуудын оронд rc.conf-оор
нэмэлт тугуудыг өгөхийг зөвшөөрч болох гэх мэт.
Үндсэн скрипт дараах байдлаар харагдаж болно:
#!/bin/sh
#
# PROVIDE: utility
# REQUIRE: DAEMON
# KEYWORD: shutdown
#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
# SET THEM IN THE /etc/rc.conf FILE
#
utility_enable=${utility_enable-"NO"}
utility_flags=${utility_flags-""}
utility_pidfile=${utility_pidfile-"/var/run/utility.pid"}
. /etc/rc.subr
name="utility"
rcvar=`set_rcvar`
command="/usr/local/sbin/utility"
load_rc_config $name
pidfile="${utility_pidfile}"
start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_flags} ${command_args}"
run_rc_command "$1"
Энэ скрипт нь өгөгдсөн utility-г
daemon үйлчилгээний дараа ажиллуулахаар
тохируулагдсан. Мөн PID, эсвэл процессийн
ID файлыг заах болон дагах аргыг бас хангадаг.
Энэ програм дараах мөрийг /etc/rc.conf
файлд оруулж болно:
utility_enable="YES"
Энэхүү арга нь тушаалын мөрийн нэмэлт өгөгдлүүдийг илүү хялбараар
удирдах боломжийг зөвшөөрдөг бөгөөд /etc/rc.subr
дахь анхдагч функцуудыг оруулах, &man.rcorder.8; хэрэгсэлтэй нийцтэй байх,
болон rc.conf файлын тусламжтай хялбараар
тохиргоо хийх боломжийг бас хангадаг.
Үйлчилгээнүүдийг эхлүүлэхийн тулд үйлчилгээнүүдийг ашиглах нь
POP3 сервер дэмонууд,
IMAP зэрэг бусад үйлчилгээнүүд &man.inetd.8;
ашиглан эхэлж болдог. Энэ нь Портуудын Цуглуулгаас
/etc/inetd.conf файлд нэмэгдэх мөр бүхий эсвэл
одоогийн байгаа мөрүүдийн нэгнээс тайлбарыг болиулж идэвхжүүлдэг үйлчилгээний
хэрэгслийг суулгаснаар хэрэгждэг.
inetd болон түүний тохиргоотой ажиллах
талаар inetd хэсэгт гүнзгий
тайлбарласан байгаа болно.
Зарим тохиолдолд &man.cron.8; ашиглан системийн үйлчилгээнүүдийг
эхлүүлэх нь илүү ашигтай байж болох юм. Энэ арга нь хэд хэдэн давуу талуудтай
бөгөөд учир нь cron эдгээр процессуудыг
crontab-н файлын эзэмшигчийн эрхээр ажиллуулдаг.
Энэ нь ердийн хэрэглэгчдэд зарим програмуудыг эхлүүлж ажиллагааг хангах боломжийг
олгодог.
cron хэрэгсэл @reboot
гэсэн бусдад байхгүй боломжийг олгодог бөгөөд цаг хугацааг заах хэсэгт ашиглагдах
боломжтой. Энэ нь системийг эхлүүлэх явцад &man.cron.8; эхлэх үед тухайн
ажлыг ажиллуулдаг.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
cron хэрэгслийг тохируулах нь
cron
тохиргоо
&os;-ийн хамгийн ашигтай хэрэгслүүдийн нэг нь &man.cron.8; юм.
cron хэрэгсэл ард ажилладаг бөгөөд
/etc/crontab файлыг байнга шалгаж
байдаг. cron хэрэгсэл
/var/cron/tabs сангаас шинэ
crontab файлуудыг бас шалгадаг.
Эдгээр crontab файлууд нь тусгай функцуудыг
агуулдаг бөгөөд эдгээрийг cron тодорхой хугацаанд
ажиллуулах ёстой байдаг.
cron хэрэгсэл системийн crontab болон хэрэглэгчийн
crontab гэсэн хоёр төрлийн тохиргооны файлыг ашигладаг. Энэ хоёр хэлбэршилтийн
зөвхөн ялгаа нь зургаа дахь талбар юм. Системийн crontab дээрх зургаа дахь
талбар нь тушаалыг ажиллуулах хэрэглэгчийн нэр байдаг. Энэ нь системийн crontab-ийг
ямар ч хэрэглэгчийн эрхээр тушаалуудыг ажиллуулах боломж олгодог. Хэрэглэгчийн
crontab дээрх зургаа дахь талбар нь ажиллуулах тушаал бөгөөд бүх тушаалууд нь
crontab-ийг үүсгэсэн хэрэглэгчийн эрхээр ажилладаг; энэ нь аюулгүй байдлын
нэг чухал боломж юм.
Хэрэглэгчийн crontab-ууд нь хэрэглэгчдэд root
эрхийн шаардлагагүйгээр бодлогуудыг цагийн хуваариар ажиллуулах боломж олгодог.
Хэрэглэгчийн crontab дахь тушаалууд нь crontab-ийг эзэмшиж байгаа хэрэглэгчийн
эрхээр ажилладаг.
root хэрэглэгч бас бусад хэрэглэгчийн нэгэн адил
хэрэглэгчийн crontab-тай байж болно. Энэ нь /etc/crontab-аас
(системийн crontab) өөр байна. Системийн crontab байдаг учраас
root хэрэглэгчийн хувьд ихэнхдээ хэрэглэгчийн crontab
шаардлагагүй байдаг.
/etc/crontab файлыг (системийн crontab) харцгаая:
# /etc/crontab - root's crontab for &os;
#
# $&os;: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
#
&os;-ийн ихэнх тохиргооны файлуудын адил # тэмдэгт
тайлбарыг илэрхийлнэ. Тайлбарыг хүсэж байгаа үйлдэл нь юу болох яагаад хийгдэж
байгааг сануулах зорилгоор файлд тавьж болдог. Тайлбаруудыг тушаал байгаа мөрд
хийж болохгүй бөгөөд ингэсэн тохиолдолд тушаалын хэсэг мэтээр ойлгогдоно; тэдгээр нь
шинэ мөрөнд байх ёстой. Хоосон мөрүүдийг тооцохгүй.
Эхлээд орчин тодорхойлогдох шаардлагатай. Тэнцүүгийн (=)
тэмдэг орчны тохиргоог тодорхойлоход ашиглагддаг бөгөөд энэ жишээн дээр
SHELL,PATH, болон HOME
тохируулгуудад ашиглагдаж байна. Хэрэв бүрхүүлийн мөрийг орхисон бол
cron анхдагч болох sh-ийг ашигладаг.
Хэрэв PATH хувьсагчийг орхисон бол ямар ч анхдагч ашиглагдахгүй бөгөөд
файлын байрлалууд абсолют байх хэрэгтэй. Хэрэв HOME мөрийг
орхисон бол cron ажиллуулж байгаа хэрэглэгчийн гэрийн санг
ашигладаг.
Энэ мөр нь нийт долоон талбарыг тодорхойлдог. Энд жагсаагдсан утгууд нь
minute, hour,
mday, month,
wday,
who, болон command юм.
Эдгээрийг нэрээс нь харахад ойлгомжтой. minute нь тушаал
ажиллах минутаар илэрхийлэгдсэн хугацаа. hour нь
minute-ын адил тохируулга бөгөөд цагаар илэрхийлэгддэг.
mday нь сарын өдрийг заана.
month нь hour болон
minute-тай адил бөгөөд сарыг зааж өгнө.
wday тохируулга нь долоо хоногийн
өдрийг заана. Эдгээр бүх талбарууд нь тоон утга байх ёстой бөгөөд хорин дөрвөн
цагийг дагадаг. who талбар нь тусгай бөгөөд зөвхөн
/etc/crontab файлд байдаг. Энэ талбар нь аль
хэрэглэгчийн эрхээр тушаал ажиллахыг заадаг. Хэрэглэгч өөрийн
crontab файлыг суулгах үед энэ тохируулга байдаггүй.
Эцэст нь command тохируулга жагсаагддаг. Энэ нь
сүүлийн талбар бөгөөд ажиллуулах тушаалд зориулагдсан байх ёстой.
Энэ сүүлийн мөр нь дээр дурдсан утгуудыг тодорхойлдог. Энд бид
хэд хэдэн * тэмдэгтүүд дараалсан */5
гэсэн жагсаалт байгааг анзаарах хэрэгтэй. Эдгээр *
тэмдэгтүүд нь эхний-эцсийн
гэсэн үг бөгөөд
үргэлж гэж ойлгогдож болно. Тэгвэл энэ мөрөөс
үзэхэд atrun тушаал нь root
эрхээр 5 минут тутам аль өдөр сар байгаагаас үл хамааран ажиллана.
atrun тушаалын талаар дэлгэрэнгүй мэдээллийг
&man.atrun.8; гарын авлагаас үзнэ үү.
Тушаалууд тэдгээрт өгч болох дурын тооны тугуудтай байж болно; гэхдээ
олон мөр болон уртассан тушаалууд урагшаа ташуу \
үргэлжлүүлэх
тэмдэгтээр хуваагдсан байх ёстой.
Энэ нь crontab файл болгоны хувьд үндсэн тохиргоо
байна, гэхдээ нэг зүйл нь үүнээс өөр байна. Хэрэглэгчийг заадаг зургаа дахь талбар
нь зөвхөн системийн /etc/crontab файлд байна.
Энэ талбарыг хэрэглэгчийн crontab файлуудын хувьд
орхих хэрэгтэй.
Crontab суулгах нь
Та энд тайлбарласан процедурыг ашиглан системийн crontab-ийг засаж/суулгах
шаардлагагүй. Зүгээр л өөрийн дуртай засварлагчийг ашигла:
cron хэрэгсэл файл өөрчлөгдсөнийг мэдээд тэр даруй
шинэчлэгдсэн хувилбарыг ашиглаж эхэлнэ. Дэлгэрэнгүй мэдээллийг
Энэ БХА-ын оруулгаас үзнэ үү.
Хэрэглэгчийн бичсэн шинэ crontab файлыг суулгахын тулд
эхлээд өөрийн дуртай засварлагчийг ашиглаад зөв хэлбэршилттэй файл үүсгээд дараа нь
crontab хэрэгслийг ашигла.
Хамгийн их ашиглагддаг тушаал бол:
&prompt.user; crontab crontab-file
Энэ жишээн дээрх crontab-file нь
урд нь үүсгэгдсэн crontab-ийн файлын нэр юм.
Суулгасан crontab файлуудыг үзүүлдэг
тохируулга бас байдаг: тохируулгыг
crontab уруу өгч ажиллуулаад гарах үр дүнг
хараарай.
Өөрийн crontab файлыг загвар ашиглалгүйгээр эхнээс нь эхлүүлэхийг хүссэн
хэрэглэгчдэд зориулсан crontab -e тохируулга байдаг.
Энэ нь сонгосон засварлагчийг хоосон файлтай ажиллуулдаг. Файл хадгалагдсаны
дараа автоматаар crontab тушаалаар суулгагддаг.
Хэрэв та дараа нь өөрийн хэрэглэгчийн crontab-ийг
бүр мөсөн устгахыг хүсвэл crontab-ийг
тохируулгатай ашиглаарай.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
&os; дээр rc ашиглах нь
2002 онд &os; системийг эхлүүлэхэд зориулж NetBSD-ийн
rc.d системийг оруулсан. Хэрэглэгчид
/etc/rc.d сан доторх файлуудыг
анзаарах хэрэгтэй. Эдгээр файлуудын ихэнх нь
, ,
болон тохируулгуудаар хянагддаг
үндсэн үйлчилгээнүүд байдаг. Жишээ нь &man.sshd.8; нь
дараах тушаалаар дахин эхлэж болно:
&prompt.root; /etc/rc.d/sshd restart
Энэ процедур нь бусад үйлчилгээнүүдийн адил юм. Мэдээж
үйлчилгээнүүд ихэнхдээ автоматаар &man.rc.conf.5;-д зааснаар ачаалах үед
эхэлдэг. Жишээ нь Сүлжээний Хаяг Хөрвүүлэх дэмонг эхлэх үед ажиллуулахаар
нээх нь амархан бөгөөд /etc/rc.conf-д
дараах мөрийг нэмдэг:
natd_enable="YES"
Хэрэв мөр аль хэдийн
байвал -ийг
болгож өөрчлөөрэй. rc скриптүүд өөр бусад хамааралтай
үйлчилгээнүүдийг дараагийн дахин ачаалалтын үеэр доор
тайлбарласны дагуу автоматаар ачаалдаг.
rc.d систем нь үндсэндээ
системийн эхлэх/унтрах үеэр үйлчилгээнүүдийг эхлүүлэх/зогсоох зорилготой
бөгөөд стандарт ,
болон
тохируулгууд нь зөвхөн /etc/rc.conf-ийн харгалзах
хувьсагчууд заагдсан үед өөрийн үйлдлийг гүйцэтгэдэг.
Жишээ нь дээр дурдсан sshd restart тушаал
нь /etc/rc.conf-д
sshd_enable хувьсагч
гэсэн тохиолдолд зөвхөн ажиллана. /etc/rc.conf-д
байгаа тохируулгаас үл хамааран үйлчилгээг ,
эсвэл хийхийн
тулд тушаалууд one
угтвартай байх шаардлагатай.
Жишээ нь sshd-г /etc/rc.conf
дахь тохиргооноос үл хамааран дахин эхлүүлэхдээ дараах тушаалыг ашиглана:
&prompt.root; /etc/rc.d/sshd onerestart
Тохирох rc.d скриптийг
тохируулгатай ажиллуулж /etc/rc.conf-д үйлчилгээ
нээгдсэн эсэхийг амархан шалгадаг. Тиймээс администратор
sshd-г /etc/rc.conf-д
нээгдсэн эсэхийг дараах тушаалыг ажиллуулж шалгаж болно:
&prompt.root; /etc/rc.d/sshd rcvar
# sshd
$sshd_enable=YES
Хоёр дахь мөр (# sshd) нь
root консолынх биш sshd
тушаалын гаргасан үр дүн юм.
Үйлчилгээг ажиллах байгаа эсэхийг шалгах
тохируулга байдаг. Жишээ нь sshd эхэлсэн эсэхийг
шалгахдаа:
&prompt.root; /etc/rc.d/sshd status
sshd is running as pid 433.
Зарим тохиолдолд үйлчилгээг хийх бас боломжтой
байдаг. Энэ нь үйлчилгээг өөрийн тохиргооны файлуудыг дахин уншихыг зааж
үйлчилгээ уруу дохио шидэхийг оролддог. Ихэнх тохиолдолд энэ нь
үйлчилгээ уруу SIGHUP дохио шиднэ гэсэн үг юм.
Үйлчилгээ болгонд энэ боломжийн дэмжлэг байдаггүй.
rc.d систем нь зөвхөн сүлжээний үйлчилгээнд
ашиглагдаад зогсохгүй мөн системийн эхлүүлэлтэд бас ихээхэн хувь нэмэр оруулдаг.
Жишээ нь bgfsck файлыг авч үзье. Энэ скрипт
ажиллахад дараах мэдээллийг хэвлэж гаргана:
Starting background file system checks in 60 seconds.
Тиймээс энэ файлыг зөвхөн системийг эхлүүлэх үед файлын системийн арын
шалгалтыг хийхэд хэрэглэдэг.
Системийн олон үйлчилгээнүүд зөв ажиллахын тулд бусад үйлчилгээнүүдээс
хамаардаг. Жишээ нь NIS болон бусад RPC дээр тулгуурласан үйлчилгээнүүд
rpcbind (portmapper) үйлчилгээ ажиллахаас нааш
амжилттай ажилладаггүй. Үүнийг шийдэхийн тулд хамаарлуудын тухай болон бусад
мета-өгөгдлийн тухай мэдээллийг эхлүүлэх скрипт бүрийн дээд хэсэгт
тайлбараар оруулсан байдаг. &man.rcorder.8; програм хамаарлуудыг
хангаж системийн үйлчилгээнүүдийг ямар дарааллаар ажиллуулах ёстойг
тогтоохын тулд эдгээр тайлбаруудыг уншдаг. Дараах үгнүүдийг эхлүүлэх скрипт
бүрийн дээд хэсэг оруулсан байж болно:
PROVIDE: Энэ файлын хангаж байгаа үйлчилгээнүүдийг заана.
REQUIRE: Энэ үйлчилгээнд шаардлагатай үйлчилгээнүүдийг жагсаана.
Энэ файл заагдсан үйлчилгээнүүдийн дараа ажиллана.
BEFORE: Энэ үйлчилгээнээс хамааралтай үйлчилгээнүүдийг жагсаана.
Энэ файл заагдсан үйлчилгээнүүдийн өмнө ажиллана.
Энэ аргыг ашигласнаар администратор системийн үйлчилгээнүүдийг бусад зарим &unix;
үйлдлийн системүүд шиг ажиллах түвшингүүдтэй (runlevels)
зууралдалгүйгээр амарханаар хянадаг.
rc.d системийн талаар нэмэлт мэдээллийг &man.rc.8;
болон &man.rc.subr.8; гарын авлагын хуудаснуудаас олж болно. Хэрэв та өөрийн
rc.d скриптүүд бичих эсвэл байгаагаа сайжруулахыг сонирхож байгаа бол танд бас
энэ нийтлэл хэрэгтэй байж
болох юм.
Марк
Фонвил
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
Сүлжээний интерфэйс картууд суулгах нь
сүлжээний картууд
тохиргоо
Өнөөдөр бид сүлжээний холболтгүй компьютерийн талаар бодох ч аргагүй болсон
билээ. Сүлжээний картыг нэмж тохируулах нь &os;-ийн дурын администраторын
ердийн ажил болдог.
Тохирох драйверийг олох нь
сүлжээний картууд
драйвер
Эхлэхээсээ өмнө та өөрт байгаа картынхаа загвар, түүнд ашигласан бичил схем
болон PCI эсвэл ISA картын аль нь эсэхийг мэдэх шаардлагатай.
&os; өргөн төрлийн PCI болон ISA картуудыг дэмждэг. Таны карт таны ашиглах хувилбар
дээр дэмжигдсэн эсэхийг Тоног Төхөөрөмжийн Нийцтэй Байдлын Жагсаалтаас шалгаарай.
Таны карт дэмжигдсэнийг мэдсэний дараа та өөрийн картанд тохирох драйвераа
тодорхойлох хэрэгтэй. /usr/src/sys/conf/NOTES болон
/usr/src/sys/arch/conf/NOTES
нь сүлжээний интерфэйс драйверуудын жагсаалтыг дэмжигдсэн бичил схем/картуудын тухай
зарим мэдээллийн хамтаар танд өгөх болно. Хэрэв та аль драйвер нь зөв эсэхэд эргэлзэж
байгаа бол драйверийн гарын авлагын хуудсыг уншаарай. Гарын авлагын хуудас нь
дэмжигдсэн тоног төхөөрөмж болон бүр учирч болзошгүй асуудлуудын тухай дэлгэрэнгүй
мэдээллийг өгдөг.
Хэрэв та ердийн карттай бол ихэнхдээ драйверийг хичээнгүйлэн хайх шаардлагагүй юм.
Ердийн сүлжээний картуудад зориулсан драйверууд нь GENERIC
цөмд байдаг, тэгэхээр таны карт ачаалах явцад иймэрхүү харагдах ёстой:
dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
000ff irq 15 at device 11.0 on pci0
dc0: Ethernet address: 00:a0:cc:da:da:da
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30
000ff irq 11 at device 12.0 on pci0
dc1: Ethernet address: 00:a0:cc:da:da:db
miibus1: <MII bus> on dc1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
Энэ жишээн дээр систем дээр байгаа хоёр карт &man.dc.4; драйверийг ашиглаж
байгааг бид харж байна.
Хэрэв таны NIC-д (Network Interface Card буюу Сүлжээний Интерфэйс Карт)
зориулсан драйвер GENERIC-д байхгүй бол та өөрийн NIC-г
ашиглахын тулд тохирох драйверийг ачаалах хэрэгтэй. Ингэхийн тулд хоёр аргын аль нэгийг
ашиглана:
Хамгийн амархан арга нь ердөө л өөрийн сүлжээний картанд зориулсан цөмийн модулийг
&man.kldload.8; ашиглан эсвэл тохирох мөрийг /boot/loader.conf-д
нэмж ачаалах үед автоматаар ачаалах юм. Бүх NIC драйверууд модуль хэлбэрээр байдаггүй;
модулиуд нь байдаггүй төхөөрөмжүүдийн дурдаж болох жишээнүүд гэвэл ISA картууд юм.
Өөр нэг арга нь та өөрийн картын дэмжлэгийг цөмд оруулан статикаар
хөрвүүлж болох юм. Өөрийн цөмийн тохиргооны файлд юу нэмэх ёстойг мэдэхийн тулд
/usr/src/sys/conf/NOTES,
/usr/src/sys/arch/conf/NOTES
болон драйверийн гарын авлагын хуудсыг шалгаарай. Цөмийг дахин хөрвүүлэх талаар
дэлгэрэнгүй мэдээллийг -с үзнэ үү.
Хэрэв таны картыг таны цөм (GENERIC) ачаалах явцад илрүүлсэн бол
та шинэ цөм бүтээх шаардлагагүй.
&windows;-ийн NDIS драйверуудыг ашиглах нь
NDIS
NDISulator
&windows; драйверууд
Microsoft Windows
Microsoft Windows
төхөөрөмжийн драйверууд
KLD (kernel loadable
object буюу цөмийн ачаалж болох обьект)
Харамсалтай нь өөрийн драйверуудад зориулсан схемүүдийг нээлттэй
эхийн хүрээнийхэнд өгдөггүй, тийм мэдээллийг худалдааны нууц гэж үздэг
олон үйлдвэрлэгчид байсаар байна. Ингэснээр &os; болон өөр үйлдлийн системүүдийн
хөгжүүлэгчдэд хоёр сонголт үлдсэн: буцаах инженерчлэлийн хүнд хэцүү, урт хугацааны
процессийг туулж драйверуудыг хөгжүүлэх эсвэл µsoft.windows; тавцангуудад
байдаг хоёртын хэлбэрийн драйверуудыг ашиглах арга замууд юм. &os;-тэй
холбогдсон зэрэг ихэнх хөгжүүлэгчид сүүлийн хандлагыг авч ашигладаг.
Билл Полын (wpaul) оруулсан хувь нэмрийн ачаар &os; 5.3-RELEASE-с
эхлээд Сүлжээний Драйверийн Интерфэйсийн Тодорхойлолтын (NDIS)
эх (native)
дэмжлэг ордог болсон.
&os; NDISulator (өөрөөр Чөтгөр Төсөл) &windows; хоёртын драйверийг
аваад ерөнхийдөө түүнийг &windows; дээр ажиллаж байгаа мэтээр хуурдаг.
&man.ndis.4; драйвер нь &windows; хоёртын файл ашиглаж байгаа учраас
энэ нь зөвхөн &i386; болон amd64 системүүд дээр хэрэглэгдэх боломжтой.
&man.ndis.4; драйвер голчлон PCI, CardBus болон PCMCIA
төхөөрөмжүүдийг дэмжихээр хийгдсэн бөгөөд одоогоор USB төхөөрөмжүүдийн дэмжлэг
хийгдээгүй.
NDISulator ашиглахын тулд танд 3 зүйл хэрэгтэй:
Цөмийн эхүүд
&windowsxp; драйверийн хоёртын файл
(.SYS өргөтгөл)
&windowsxp; драйверийн тохиргооны файл
(.INF өргөтгөл)
Та өөрийн картад зориулсан файлуудыг олоорой. Ерөнхийдөө
тэдгээрийг хавсаргасан CD-үүд эсвэл үйлдвэрлэгчүүдийн вэб хуудаснаас
олж болно. Дараах жишээнүүдэд бид W32DRIVER.SYS
болон W32DRIVER.INF файлуудыг ашиглах
болно.
Та &windows;/i386 драйверийг &os;/amd64 дээр ашиглаж
чадахгүй, зөв ажиллуулахын тулд &windows;/amd64 драйвер заавал олох
шаардлагатай.
Дараагийн алхамд драйверийн хоёртын файлыг цөмийн ачаалж болох
модуль болгон хөрвүүлнэ. Үүнийг хийхийн тулд root
эрхээр &man.ndisgen.8;-г хэрэглэнэ:
&prompt.root; ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS
&man.ndisgen.8; хэрэгсэл нь интерактив бөгөөд шаардлагатай
нэмэлт мэдээллийг асуудаг; энэ нь одоо байгаа санд цөмийн модуль үүсгэх
бөгөөд дараах маягаар ачаалж болно:
&prompt.root; kldload ./W32DRIVER.ko
Үүсгэгдсэн цөмийн модулиас гадна та ndis.ko болон
if_ndis.ko модулиудыг ачаалах хэрэгтэй. Энэ нь
таныг &man.ndis.4;-ээс хамаарсан дурын модулийг ачаалах үед автоматаар
хийгдэх ёстой. Хэрэв та тэдгээрийг гараар ачаалахыг хүсвэл дараах тушаалыг
ашиглаарай:
&prompt.root; kldload ndis
&prompt.root; kldload if_ndis
Эхний тушаал нь NDIS минипорт драйвер дугтуйлагчийг ачаалах бөгөөд
хоёр дахь нь яг сүлжээний интерфэйсийг ачаална.
Одоо &man.dmesg.8;-ийг шалгаж ачаалахад алдаа байгаа эсэхийг
үзэх хэрэгтэй. Бүгд сайн болж өнгөрсөн бол та дараах үр дүнг харах ёстой:
ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5
ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps
Эндээс эхлээд та ndis0 төхөөрөмжид
өөр бусад сүлжээний интерфэйсийн (өөрөөр хэлбэл dc0)
нэгэн адилаар хандах боломжтой болох юм.
Та бусад модулиудтай адилаар NDIS модулиудыг ачаалах явцад ачаалахаар
системийг тохируулж болно. Эхлээд үүсгэгдсэн модуль W32DRIVER.ko-г
/boot/modules уруу хуулах хэрэгтэй.
Тэгээд дараах мөрийг /boot/loader.conf-д нэмнэ:
W32DRIVER_load="YES"
Сүлжээний карт тохируулах нь
сүлжээний картууд
тохиргоо
Сүлжээний картанд зориулсан зөв драйвер ачаалагдсаны дараа
картыг тохируулах шаардлагатай. Бусад олон зүйлсийн адил сүлжээний
карт нь sysinstall програмаар
суулгах явцад тохируулагдаж болно.
Таны системийн сүлжээний интерфэйсүүдэд зориулсан тохиргоог
харуулахын тулд дараах тушаалыг ажиллуулна:
&prompt.user; ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:a0:cc:da:da:da
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
ether 00:a0:cc:da:da:db
media: Ethernet 10baseT/UTP
status: no carrier
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
&os;-ийн хуучин хувилбарууд тохируулгыг
&man.ifconfig.8;-ийн араас залгахыг шаардаж болох бөгөөд
&man.ifconfig.8;-ийн зөв синтаксын дэлгэрэнгүй мэдээллийн талаар гарын
авлагын хуудсанд хандана уу. Энэ жишээн дээр IPv6-тай (inet6 гэх мэт.)
холбоотой оруулгууд орхигдсон болохыг анхаарна уу.
Энэ жишээн дээр дараах төхөөрөмжүүдийг харуулсан:
dc0: Эхний Ethernet интерфэйс
dc1: Хоёрдугаар Ethernet интерфэйс
lp0: Параллел порт интерфэйс
lo0: Буцаж эргэх төхөөрөмж
tun0: Туннель төхөөрөмж нь
ppp-д ашиглагдана.
&os; нь драйверийн нэр дээр цөмийн ачаалах явцад картууд ямар дарааллаар илрүүлэгдсэн
тэр дарааллын тоог нэмж сүлжээний картыг нэрлэдэг. Жишээ нь sis2
нь систем дээрх &man.sis.4; драйвер ашиглаж байгаа 3 дахь сүлжээний карт байж болох юм.
Энэ жишээн дээр dc0 төхөөрөмж босон ажиллаж байна.
Түлхүүр индикаторууд нь:
UP нь картын тохиргоо хийгдэж бэлэн болсныг илэрхийлнэ.
Карт нь Интернэт (inet) хаягтай
(энэ тохиолдолд 192.168.1.3).
Энэ нь зөв дэд сүлжээний багтай (netmask;
0xffffff00 нь
255.255.255.0 адил).
Энэ нь зөв нийтэд цацах хаягтай (энэ тохиолдолд
192.168.1.255).
Картны MAC (ether) хаяг нь
00:a0:cc:da:da:da байна.
Физик зөөгчийн сонголт нь автомат сонголтын
горим дээр байна (media: Ethernet autoselect (100baseTX
<full-duplex>)).
dc1 нь 10baseT/UTP
зөөгчтэй ажиллахаар тохируулагдсан байгааг бид харж болно. Байж болох
зөөгчийн төрлүүдийн тухай дэлгэрэнгүй мэдээллийн талаар өөрийнх нь гарын авлагын
хуудсанд хандаж үзнэ үү.
Холболтын (status) төлөв нь
active буюу идэвхтэй байна, өөрөөр хэлбэл
дамжуулагч илэрсэн байна. dc1-ийн
хувьд бид status: no carrier буюу дамжуулагч
байхгүйг харж болно. Энэ нь Ethernet кабель картанд залгагдаагүй байх үед
хэвийн байна.
Хэрэв &man.ifconfig.8;-ийн үр дүн дараах маягтай төстэй байвал:
dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:a0:cc:da:da:da
Энэ нь карт тохируулагдаагүйг илэрхийлнэ.
Картаа тохируулахын тулд танд root зөвшөөрлүүд
хэрэгтэй. Сүлжээний картын тохируулгууд тушаалын мөрөөс &man.ifconfig.8;-р
хийгдэх боломжтой, гэхдээ та системийг дахин ачаалсан болгоныхоо дараа үүнийг хийх хэрэгтэй болно.
/etc/rc.conf файл нь сүлжээний картын тохиргоог нэмэх
газар юм.
/etc/rc.conf-ийг өөрийн дуртай засварлагч дээр
нээгээрэй. Систем дээрх сүлжээний карт бүрийн хувьд мөр нэмэх хэрэгтэй, манай
жишээн дээр бид эдгээр мөрүүдийг нэмсэн:
ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0"
ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"
Та dc0,
dc1 болон бусдуудыг өөрийн картуудад зориулсан
төхөөрөмжөөр өөрчлөх болон хаягуудыг зөвөөр солих хэрэгтэй. Зөвшөөрөгдсөн тохируулгуудын
талаар дэлгэрэнгүйг картын драйвер болон &man.ifconfig.8;-ийн гарын авлагын хуудаснуудаас,
бас &man.rc.conf.5; гарын авлагын хуудаснаас /etc/rc.conf-ийн
синтаксын тухай дэлгэрэнгүй мэдээллийг унших хэрэгтэй.
Хэрэв та суулгах явцад сүлжээг тохируулсан бол сүлжээний карт(ууд)ын талаар зарим
мөрүүд аль хэдийн байж болох юм. Мөрүүд нэмэхээсээ өмнө /etc/rc.conf-ийг
дахин шалгаарай.
Мөн та LAN дахь төрөл бүрийн машинуудын нэрүүд болон IP хаягууд
/etc/hosts файлд байхгүй бол тэдгээрийг нэмж засварлах
шаардлагатай. Дэлгэрэнгүй мэдээллийн талаар &man.hosts.5; болон
/usr/share/examples/etc/hosts файлд хандана уу.
Тест хийх болон алдааг олж засварлах нь
/etc/rc.conf-д хэрэгцээтэй өөрчлөлтүүдийг
хийснийхээ дараа та системээ дахин ачаалах шаардлагатай. Ингэснээр
интерфэйс(үүд)эд хийгдэх өөрчлөлт(үүд)ийг зөвшөөрөх бөгөөд ямар нэг тохиргооны
алдаагүйгээр систем ачаалж байгаа эсэхийг шалгадаг.
Систем дахин ачаалагдсаны дараа та сүлжээний интерфэйсүүдээ тест
хийх хэрэгтэй.
Ethernet карт тест хийх нь
сүлжээний картууд
тест хийх нь
Ethernet карт зөв тохируулагдсаныг шалгахдаа та 2 зүйлийг оролдох
хэрэгтэй. Эхлээд интерфэйс уруу өөр уруу нь ping хийгээд дараа нь LAN дахь өөр
машин уруу ping хийх хэрэгтэй.
Эхлээд локал интерфэйсийг тест хийнэ:
&prompt.user; ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes
64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms
64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms
64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms
--- 192.168.1.3 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms
Одоо бид LAN дахь өөр машин уруу ping хийх хэрэгтэй:
&prompt.user; ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms
Хэрэв та
/etc/hosts файлыг тохируулсан бол
192.168.1.2-ийн оронд
машины нэрийг бас ашиглаж болох болох юм.
Алдааг олж засварлах нь
сүлжээний картууд
алдааг олж засварлах нь
Тоног төхөөрөмж болон програм хангамжийн тохиргоонуудын алдааг олж
засварлах нь үргэлж зовлон байдаг бөгөөд зовлонг энгийн зүйлүүдийг эхлээд шалгаснаар
багасгах боломжтой. Таны сүлжээний кабель холбогдсон уу? Сүлжээний үйлчилгээнүүдээ
зөв тохируулсан уу? Галт ханаа зөв тохируулсан уу? Таны хэрэглэж байгаа картыг
&os; дэмждэг үү? Алдааны тайланг явуулахаасаа өмнө тоног төхөөрөмжийн
тэмдэглэлийг заавал шалгах хэрэгтэй. Өөрийн &os;-ийн хувилбарыг хамгийн сүүлийн STABLE
хувилбар уруу шинэчлээрэй. Захидлын жагсаалтын архивууд шалгах буюу эсвэл Интернетээс
хайгаарай.
Хэрэв карт ажилласан мөртлөө ажиллагаа муу бол &man.tuning.7; гарын авлагын хуудсыг
унших нь зүйтэй юм. Мөн буруу сүлжээний тохиргоонууд удаан холболтын шалтгаан болдог учир
та сүлжээний тохиргоог бас шалгаж болох юм.
Зарим хэрэглэгчид ганц хоёр device
timeout мэдээлэлтэй тулгарч болох бөгөөд энэ нь зарим картуудын
хувьд хэвийн юм. Хэрэв энэ нь үргэлжлээд эсвэл шаналгаатай болоод эхэлбэл
уг төхөөрөмж өөр бусад төхөөрөмжтэй зөрчилдөж байгаа эсэхийг та магадгүй
шалгахыг хүсэх байх. Кабелийн холболтуудыг дахин шалгаарай. Магадгүй танд
өөр нэг карт хэрэгтэй байж болох юм.
Хэрэглэгчид зарим үед цөөн watchdog timeout
гэсэн алдаанууд хардаг. Ийм үед эхлээд хийх юм нь сүлжээний кабелийг шалгана.
Олон картууд Bus Mastering дэмждэг PCI оролтыг шаарддаг. Зарим нэг эх хавтангуудад
үүнийг зөвхөн нэг PCI оролт зөвшөөрдөг (ихэнхдээ 0-р оролт). Энэ нь асуудал
байж болох эсэхийг сүлжээний карт болон эх хавтангийн баримтаас шалгаарай.
Систем пакетийг зорьсон газар нь чиглүүлж чадахгүй тохиолдолд
No route to host мэдээллүүд гардаг.
Энэ нь анхдагч чиглүүлэлт заагаагүй тохиолдолд эсвэл кабель салгагдсан бол
гардаг. netstat -rn тушаалын үр дүнг
үзээд таны хүрэхийг оролдож байгаа тэр хост уруу чинь зөв чиглүүлэлт байгаа
эсэхийг шалгаарай. Хэрэв байхгүй бол
-г уншаарай.
ping: sendto: Permission denied
алдааны мэдээллүүд нь буруу тохируулсан галт ханаас ихэвчлэн болдог.
Хэрэв ipfw нь цөмд идэвхжсэн бөгөөд
ямар ч дүрэм тодорхойлогдоогүй бол анхдагч бодлого нь бүх трафикийг бүр
ping хүсэлтийг хүртэл татгалзан хаадаг! Дэлгэрэнгүйг -с уншина уу.
Заримдаа картын ажиллагаа муу эсвэл дунджаас доогуур байдаг.
Эдгээр тохиолдолд зөөгч сонголтын горимыг
autoselect горимоос зөв зөөгчийн сонголт
уруу болгож тааруулах нь шилдэг арга юм. Энэ нь ихэнх тоног төхөөрөмжийн
хувьд ихэвчлэн ажиллах боловч хүн болгоны хувьд байгаа ийм асуудлыг шийдэхгүй ч
байж болох юм. Дахин хэлэхэд бүх сүлжээний тохиргоонуудыг шалгаж
&man.tuning.7; гарын авлагын хуудсыг уншаарай.
Виртуал Хостууд
виртуал хостууд
өөр IP хаягууд (alias)
&os;-ийн хамгийн түгээмэл хэрэглээ бол нэг сервер сүлжээн дээр олон сервер мэтээр
ажиллах виртуал сайт хост хийх боломж юм. Үүнийг нэг интерфэйс дээр олон сүлжээний хаягууд
тавьж хийдэг.
Өгөгдсөн сүлжээний интерфэйс нь нэг жинхэнэ
хаягтай бөгөөд
дурын тооны өөр(alias)
хаягуудтай байж болох юм.
Эдгээр өөр хаягуудыг ихэнхдээ /etc/rc.conf-д
тохирох хаягийн оруулгуудыг оруулан нэмж өгдөг.
fxp0 интерфэйсд зориулсан өөр хаягийн оруулга нь иймэрхүү байна:
ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"
Өөр хаягийн оруулгууд нь alias0 гэж эхлэх ёстой бөгөөд дээш өгсөх дарааллаар
явдаг (жишээ нь _alias1, _alias2, гэх мэт).
Тохиргооны үйл явц эхний байхгүй дугаар дээр хүрч зогсдог.
Өөр хаягийн сүлжээний багуудыг тооцоолох нь чухал байдаг, гэхдээ азаар энэ нь
маш амархан. Өгөгдсөн интерфэйсийн хувьд сүлжээний багийг зөвөөр үзүүлдэг нэг хаяг
байх ёстой. Энэ сүлжээн дэх өөр бусад хаягууд бүгд 1-ээс
(энэ нь 255.255.255.255 гэх буюу эсвэл
0xffffffff гэж илэрхийлэгддэг)
тогтсон сүлжээний багтай байх ёстой.
Жишээ нь fxp0 интерфэйс нь
10.1.1.0
сүлжээнд 255.255.255.0 болон
202.0.75.16 сүлжээнд 255.255.255.240
багуудыг ашиглаж хоёр сүлжээнд холбогдсон гэж бодъё.
Бид системийг 10.1.1.1-ээс
10.1.1.5 хүртэл болон
202.0.75.17-ээс эхлээд
202.0.75.20 хүртэлх хаягууд дээр
байлгахыг хүсэж байна. Дээр тэмдэглэсний дагуу өгөгдсөн сүлжээний хүрээн дэх
зөвхөн эхний хаяг (энэ тохиолдолд 10.0.1.1 болон
202.0.75.17) жинхэнэ сүлжээний багтай байх
ёстой; бусад үлдсэн бүгд (10.1.1.2-ээс
10.1.1.5 хүртэл болон
202.0.75.18-ээс эхлээд
202.0.75.20 хүртэл)
255.255.255.255 сүлжээний багтай байхаар
тохируулагдах хэрэгтэй.
Дараах /etc/rc.conf оруулгууд нь энэ зорилгоор адаптерийг зөв
тохируулж байна:
ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255"
ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255"
ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255"
ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255"
ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240"
ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255"
ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255"
ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"
Тохиргооны Файлууд
/etc-н бүтэц
Тохиргооны мэдээллийг хадгалдаг хэд хэдэн сангууд байдаг.
Эдгээр нь:
/etc
Системийн ерөнхий тохиргооны мэдээлэл; энд байгаа өгөгдөл нь системийн хувьд өөр өөр.
/etc/defaults
Системийн тохиргооны файлуудын анхдагч хувилбарууд.
/etc/mail
&man.sendmail.8;-ийн нэмэлт тохиргоо, бусад MTA тохиргооны файлууд.
/etc/ppp
Хэрэглэгч- болон цөмийн-ppp програмуудад зориулсан тохиргоо.
/etc/namedb
&man.named.8; өгөгдөлд зориулсан анхдагч байрлал. Ихэнхдээ
named.conf болон бүсийн файлууд энд
хадгалагддаг.
/usr/local/etc
Суулгагдсан програмуудад зориулсан тохиргооны файлууд.
Програм болгоны дэд сангуудыг агуулж болно.
/usr/local/etc/rc.d
Суулгагдсан програмуудад зориулсан эхлүүлэх/зогсоох скриптүүд.
/var/db
Багцын өгөгдлийн бааз, байршил олох өгөгдлийн бааз, гэх зэрэг
систем болгоны хувьд автоматаар үүсгэгдсэн өгөгдлийн баазын файлууд.
Хостын нэрс
хостын нэр
DNS
/etc/resolv.conf
resolv.conf
/etc/resolv.conf нь &os;-ийн
тодорхойлогч Интернэт Домэйн Нэрийн Системд (DNS) хэрхэн хандахыг заадаг.
resolv.conf дахь хамгийн түгээмэл оруулгууд нь:
nameserver
Тодорхойлогчийн асуух нэрийн серверийн IP хаяг. Серверүүд
нь хамгийн ихдээ гурав байх жагсаасан дарааллаар асуугддаг.
search
Хостын нэрийн хайлтад зориулж жагсаалтаас хайх. Энэ нь
ихэнхдээ локал хостын нэрийн домэйноор тодорхойлогддог.
domain
Локал домэйн нэр.
Ердийн resolv.conf:
search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30
search болон
domain тохируулгуудын зөвхөн нэг нь хэрэглэгдэх
ёстой.
Хэрэв та DHCP ашиглаж байгаа бол &man.dhclient.8; нь DHCP серверээс
хүлээн авсан мэдээллээр resolv.conf-г дарж бичдэг.
/etc/hosts
хостууд
/etc/hosts нь хуучин Интернэтийн үлдэгдэл
энгийн текст өгөгдлийн бааз юм. Энэ нь DNS болон NIS-тэй цуг нэрийг IP хаяг уруу
болгож тааруулах боломжийг ханган ажилладаг. LAN-аар холбогдсон локал компьютеруудыг
амархан нэрлэх зориулалтаар &man.named.8; сервер суулгаж тохируулахын оронд энд
байрлуулж болдог. Мөн /etc/hosts нь түгээмэл ханддаг
нэрсэд зориулагдсан гадагшаа хандах хүсэлтийг багасгаж Интернэтийн нэрсийн локал
бичлэгийг хангадаг байж болно.
# $&os;$
#
# Host Database
# This file should contain the addresses and aliases
# for local hosts that share this file.
# In the presence of the domain name service or NIS, this file may
# not be consulted at all; see /etc/nsswitch.conf for the resolution order.
#
#
::1 localhost localhost.my.domain myname.my.domain
127.0.0.1 localhost localhost.my.domain myname.my.domain
#
# Imaginary network.
#10.0.0.2 myname.my.domain myname
#10.0.0.3 myfriend.my.domain myfriend
#
# According to RFC 1918, you can use the following IP networks for
# private nets which will never be connected to the Internet:
#
# 10.0.0.0 - 10.255.255.255
# 172.16.0.0 - 172.31.255.255
# 192.168.0.0 - 192.168.255.255
#
# In case you want to be able to connect to the Internet, you need
# real official assigned numbers. PLEASE PLEASE PLEASE do not try
# to invent your own network numbers but instead get one from your
# network provider (if any) or from the Internet Registry (ftp to
# rs.internic.net, directory `/templates').
#
/etc/hosts нь энгийн хэлбэрийг агуулдаг:
[Internet address] [official hostname] [alias1] [alias2] ...
Жишээ нь:
10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2
Дэлгэрэнгүй мэдээллийн талаар &man.hosts.5; хуудаснаас зөвлөгөө авна уу.
Бүртгэлийн файлын тохиргоо
бүртгэлийн файлууд
syslog.conf
syslog.conf
syslog.conf нь &man.syslogd.8;
програмын тохиргооны файл юм. Энэ нь ямар төрлийн syslog
мэдээллүүд яг аль бүртгэлийн файлд бүртгэгдэхийг заадаг.
# $&os;$
#
# Spaces ARE valid field separators in this file. However,
# other *nix-like systems still insist on using tabs as field
# separators. If you are sharing this file between systems, you
# may want to use only tabs as field separators here.
# Consult the syslog.conf(5) manual page.
*.err;kern.debug;auth.notice;mail.crit /dev/console
*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.* /var/log/security
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
cron.* /var/log/cron
*.err root
*.notice;news.err root
*.alert root
*.emerg *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
#*.* /var/log/all.log
# uncomment this to enable logging to a remote log host named loghost
#*.* @loghost
# uncomment these if you're running inn
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice /var/log/news/news.notice
!startslip
*.* /var/log/slip.log
!ppp
*.* /var/log/ppp.log
Дэлгэрэнгүй мэдээллийн талаар &man.syslog.conf.5; гарын авлагын хуудаснаас
зөвлөгөө авна уу.
newsyslog.conf
newsyslog.conf
newsyslog.conf нь ихэнхдээ &man.cron.8; хуваарилан
цагаар ажиллуулдаг &man.newsyslog.8;-д зориулагдсан тохиргоо юм. &man.newsyslog.8;
нь хэзээ бүртгэлийн файлууд архивлагдах эсвэл дахин зохицуулагдахыг тодорхойлдог.
logfile нь logfile.0 уруу,
logfile.0 нь logfile.1
шилжих гэх зэргээр зохицуулагддаг. Бүртгэлийн файлууд өөрөөр &man.gzip.1;
хэлбэрээр logfile.0.gz, logfile.1.gz
гэх зэргээр нэрлэгдэн архивлагдаж болно.
newsyslog.conf нь аль бүртгэлийн файлууд удирдагдах,
хичнээн нь хадгалагдах болон хэзээ тэдгээрт хүрэхийг зааж өгдөг. Бүртгэлийн файлууд нь
тодорхой хэмжээнд хүрэх үед болон эсвэл тодорхой цаг/огнооны давтамжтайгаар зохицуулагддаг ба/эсвэл
архивлагддаг.
# configuration file for newsyslog
# $&os;$
#
# filename [owner:group] mode count size when [ZB] [/pid_file] [sig_num]
/var/log/cron 600 3 100 * Z
/var/log/amd.log 644 7 100 * Z
/var/log/kerberos.log 644 7 100 * Z
/var/log/lpd-errs 644 7 100 * Z
/var/log/maillog 644 7 * @T00 Z
/var/log/sendmail.st 644 10 * 168 B
/var/log/messages 644 5 100 * Z
/var/log/all.log 600 7 * @T00 Z
/var/log/slip.log 600 3 100 * Z
/var/log/ppp.log 600 3 100 * Z
/var/log/security 600 10 100 * Z
/var/log/wtmp 644 3 * @01T05 B
/var/log/daily.log 640 7 * @T00 Z
/var/log/weekly.log 640 5 1 $W6D0 Z
/var/log/monthly.log 640 12 * $M1D0 Z
/var/log/console.log 640 5 100 * Z
Дэлгэрэнгүй мэдээллийн талаар &man.newsyslog.8; гарын авлагын хуудаснаас
зөвлөгөө авна уу.
sysctl.conf
sysctl.conf
sysctl
sysctl.conf нь rc.conf-той
бараг л адил харагддаг. Утгууд нь хувьсагч=утга
хэлбэрээр заагддаг. Тодорхойлсон утгууд нь систем олон-хэрэглэгчийн горимд шилжсэний
дараа тохируулагддаг. Энэ горимд бүх хувьсагчууд тохируулагдах боломжгүй.
Сүйрлийн дохионы гаралтуудын бүртгэлийг хааж бусад хэрэглэгчдийн эхлүүлсэн
процессуудыг өөр хэрэглэгчдэд харуулахгүй байлгахын тулд дараах тохируулгуудыг
sysctl.conf файлд тохируулж өгч болно:
# Do not log fatal signal exits (e.g. sig 11)
kern.logsigexit=0
# Prevent users from seeing information about processes that
# are being run under another UID.
security.bsd.see_other_uids=0
sysctl ашиглан тааруулах нь
sysctl
тааруулах нь
sysctl ашиглан
&man.sysctl.8; нь ажиллаж байгаа &os; системд өөрчлөлтүүдийг хийхийг
танд зөвшөөрдөг интерфэйс юм. Энэ нь туршлагатай системийн администраторын хувьд
ажиллагааг мэдэгдэхүйц сайжруулж чадах TCP/IP болон виртуал санах ойн системийн
олон нарийн тохируулгуудыг агуулдаг. Таван зуу гаруй системийн хувьсагчуудыг
&man.sysctl.8; ашиглан унших болон тохируулж болдог.
&man.sysctl.8; нь голдоо хоёр үүргийг гүйцэтгэдэг: системийн тохиргоонуудыг
унших болон өөрчлөх.
Уншигдаж болох бүх хувьсагчуудыг харахдаа:
&prompt.user; sysctl -a
Тухайн хувьсагчийг уншихдаа, жишээ нь,
kern.maxproc:
&prompt.user; sysctl kern.maxproc
kern.maxproc: 1044
Тухайн хувьсагчийг заахдаа хялбар
хувьсагч=утга
синтаксийг ашиглаарай:
&prompt.root; sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000
sysctl хувьсагчуудын тохиргоонууд нь ихэвчлэн тэмдэгтүүд (strings),
тоонууд эсвэл boolean (boolean 1 нь тийм эсвэл
0 нь үгүй байна) утгууд байна.
Хэрэв та машин ачаалах болгонд автоматаар зарим хувьсагчуудыг тохируулахыг
хүсвэл /etc/sysctl.conf файлд тэдгээрийг
нэмээрэй. Дэлгэрэнгүй мэдээллийн талаар &man.sysctl.conf.5; гарын авлагын
хуудас болон -с үзнэ үү.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
Зөвхөн-унших &man.sysctl.8;
Зарим тохиолдолд зөвхөн-унших &man.sysctl.8; утгуудыг өөрчлөх шаардлагатай
байж болох юм. Энэ нь заримдаа хийхээс өөр аргагүй байдаг боловч зөвхөн
(дахин) ачаалахад хийгдэх боломжтой.
Жишээ нь зарим зөөврийн компьютерийн загваруудад &man.cardbus.4; төхөөрөмж нь
санах ойн хүрээг шалгадаггүй бөгөөд доор дурдсантай төстэй алдаанууд гарган амжилтгүй болдог:
cbb0: Could not map register memory
device_probe_and_attach: cbb0 attach returned 12
Дээрх шиг тохиолдлууд нь ихэвчлэн зөвхөн уншихаар тохируулагдсан
зарим анхдагч &man.sysctl.8; тохиргоонуудыг өөрчлөхийг шаарддаг. Эдгээр
нөхцөлүүдийг давж гарахын тулд хэрэглэгч
&man.sysctl.8; OID
-уудыг тэдгээрийн
/boot/loader.conf файлд хийж өгч болно.
Анхдагч тохиргоонууд /boot/defaults/loader.conf
файлд байрладаг.
Дээр дурдсан асуудлыг шийдэхийн тулд хэрэглэгч урьд нь дурдсан файлд
гэж
тохируулах шаардлагатай. Ингэснээр &man.cardbus.4; зөв ажиллах болно.
- Дискүүдийг тааруулах нь
+ Дискнүүдийг тааруулах нь
Sysctl хувьсагчууд
vfs.vmiodirenable
vfs.vmiodirenable
vfs.vmiodirenable sysctl хувьсагч нь
0 (идэвхгүй) эсвэл 1 (идэвхтэй) гэж тохируулагдаж болно; анхдагчаар 1 байна.
Энэ хувьсагч нь систем сангуудыг хэрхэн кэш (шуурхай санамж) хийхийг хянадаг.
Ихэнх сангууд зөвхөн ганц фрагментийг (ихэвчлэн 1 K) файлын системд
болон түүнээс багыг буфер кэшд хэрэглэн жижиг хэмжээтэй байдаг.
Энэ хувьсагчийг хааснаар (0 болгосноор) буфер кэш нь таныг асар их хэмжээний
санах ойтой байсан ч гэсэн зөвхөн тодорхой тооны сангуудыг кэш хийдэг.
Нээгдсэн (1 болгосон) үед энэ sysctl нь бүх санах ойг кэш хийхэд бэлэн болгож
буфер кэшд VM Хуудасны Кэшийг хэрэглэн сангуудыг кэш хийх боломжийг олгодог.
Гэхдээ сангуудыг кэш хийх хамгийн бага гол дахь санах ой нь 512 байт биш
харин физик хуудасны хэмжээ (ихэвчлэн 4 K) байдаг. Хэрэв та их олон тооны
файлуудтай ажилладаг үйлчилгээ ажиллуулж байгаа бол бид энэ тохируулгыг идэвхтэй
байлгахыг зөвлөж байна. Тийм үйлчилгээнүүдэд вэб кэшүүд, том захидлын системүүд,
болон мэдээний системүүд орж болно. Энэ тохируулгыг идэвхтэй байлгах нь хайр
гамгүй зарцуулсан санах ойтой байхад ч гэсэн ерөнхийдөө ажиллагааг удаашруулдаггүй,
гэхдээ та түүнийг мэдэхийн тулд туршиж үзэж болно.
vfs.write_behind
vfs.write_behind
vfs.write_behind sysctl хувьсагчийн
анхдагч утга нь 1 (идэвхтэй) байна. Энэ нь том
дараалсан файлуудыг бичих үед ихэвчлэн гардаг бүх кластеруудыг цуглуулсан
үед зөөгчийн бичилтүүдийг хийхийг файлын системд хэлж өгдөг. Санаа нь бол
I/O ажиллагааны хувьд ашиггүй байхад бохир буферууд бүхий буферийн кэшийг
замхруулахаас зайлсхийхэд оршдог. Гэхдээ энэ нь процессуудыг зогсоож магадгүй
бөгөөд зарим нөхцөл байдалд та магадгүй үүнийг идэвхгүй болгохыг хүсэж болох юм.
vfs.hirunningspace
vfs.hirunningspace
vfs.hirunningspace sysctl хувьсагч
өгөгдсөн дурын хоромд системийн хувьд бүхэлд нь хэдий хэмжээний хүлээгдэж байгаа
бичих I/O-г дискний хянагчуудад өгөх дараалалд оруулж болохыг тодорхойлдог.
Анхдагч утга нь ихэвчлэн хангалттай гэхдээ олон дисктэй машинууд дээр та
үүнийг дөрөв эсвэл таван мегабайт хүртэл
ихэсгэхийг хүсэж болох юм. Утгыг хэтэрхий өндөр тавих нь (буфер кэшийн бичих
тогтоосон хэмжээг давах нь) туйлын муу кластерлах ажиллагаанд хүргэж болно.
Энэ утгыг хэтэрхий өндөр бүү тавь! Өндөр бичих утгууд нь яг тэр үед хийгдэж байгаа
уншилтуудад хоцрогдол нэмж магадгүй юм.
Бусад төрөл бүрийн буфер-кэш болон VM хуудасны кэштэй холбоотой sysctl-ууд
байдаг. Бид эдгээр утгуудыг өөрчлөхийг зөвлөдөггүй, VM систем нь өөрийгөө автоматаар
тааруулж туйлын сайн ажилладаг.
vm.swap_idle_enabled
vm.swap_idle_enabled
vm.swap_idle_enabled sysctl хувьсагч нь
маш олон хэрэглэгчид таны системд орж гарч байдаг, сул зогссон олон процессуудтай,
том, олон-хэрэглэгчийн системүүд дээр ашигтай байдаг. Ийм системүүд нь
чөлөөт санах ойн хадгалалтад ихээхэн хэмжээний байнгын дарамтыг үүсгэж байдаг.
Энэ боломжийг идэвхтэй болгож ар араас нь swap хийн гаргахыг (зогссон секундээр)
vm.swap_idle_threshold1 болон
vm.swap_idle_threshold2 хувьсагчуудын тусламжтай
тохируулснаар зогссон процессуудтай холбоотой санах ойн хуудаснуудын дарааллыг ердийн
хуудаслаж гаргах алгоритмаас илүү хурднаар багасгах боломжийг олгодог.
Энэ нь хуудаслаж гаргах дэмонд тусламжийн гарыг өгөх болно. Энэ тохируулгыг
танд хэрэгтэй л биш бол идэвхтэй болгож болохгүй, учир нь үүнийг та хийснээр үндсэндээ
санах ойг илүү түргэн урьдчилан-хуудаслаж ингэснээр swap болон дискний багтаамжийг
илүүтэйгээр идэхэд хүргэх юм. Жижиг систем дээр энэ тохируулга нь тодорхойлогдож
болохуйц нөлөөлөлтэй байх ба харин боломжийн хуудаслалт аль хэдийн хийгээд байгаа
том системүүдэд энэ тохируулга нь VM системд бүх процессуудыг санах ой уруу болон
санах ойгоос хялбараар гаргах боломжийг бүрдүүлдэг.
hw.ata.wc
hw.ata.wc
&os; 4.3-д IDE бичих кэш хийлтийг хаасан байдаг. Энэ нь
IDE дискэнд бичих багтаамжийг багасгасан боловч хатуу диск үйлдвэрлэгчдийн гаргасан
өгөгдлийн бүрэн бүтэн байдлын ноцтой асуудлуудаас болоод шаардлагатай болсон.
Тэр асуудал нь IDE хөтлөгчүүд бичилт дуусах үед худлаа мэдээлдэг явдал юм.
IDE бичих кэшийг идэвхтэй болгосноор IDE хатуу дискнүүд ямар нэг дараалалгүйгээр
бичихээс гадна диск их ачаалалтай үед зарим блокуудыг бичихэд заримдаа
тодорхойгүй саатдаг. Сүйрэл болон тэжээлийн уналт файлын системийн ноцтой
эвдрэлд хүргэж болзошгүй байдаг. &os;-ийн анхдагч нь аюулгүй байхаар өөрчлөгдсөн.
Харамсалтай нь үүний үр дүнд ажиллагааны асар том алдагдалд хүргэсэн бөгөөд
хувилбар гарсны дараа бид бичих кэш хийлтийг анхдагчаар идэвхтэй байхаар буцаан
өөрчилсөн юм. Та өөрийн систем дээрээ hw.ata.wc sysctl
хувьсагчийг ажиглан анхдагч утгыг шалгах хэрэгтэй. Хэрэв IDE бичих кэш хийлт
хаалттай бол та цөмийн хувьсагчийн утгыг 1 болгон түүнийг идэвхжүүлж болно.
Үүнийг ачаалах үед ачаалагчаас хийх шаардлагатай. Цөм ачаалсны дараа хийхийг
оролдвол ямар ч нөлөө үзүүлэхгүй.
Дэлгэрэнгүй мэдээллийн талаар &man.ata.4;-с үзнэ үү.
SCSI_DELAY
(kern.cam.scsi_delay)
kern.cam.scsi_delay
цөмийн тохируулгууд
SCSI_DELAY
SCSI_DELAY цөмийн тохиргоо нь системийн ачаалах
хугацааг багасгахад хэрэглэгддэг. Анхдагч утга нь нэлээн өндөр бөгөөд
15 секундын саатлыг ачаалах процессийн үед өгөхийг хариуцдаг.
5 секунд хүртэл багасгахад ихэвчлэн ажилладаг (ялангуяа
орчин үеийн хөтлөгчүүдийн хувьд). &os;-ийн шинэ хувилбарууд (5.0 болон түүнээс дээш)
ачаалах үеийн тохируулга болох kern.cam.scsi_delay
хувьсагчийг ашиглах хэрэгтэй. Энэ тохируулга болон цөмийн тохиргооны тохируулга нь
секундээр биш
миллисекундээр утгыг хүлээн авдаг.
Зөөлөн Шинэчлэлтүүд
Зөөлөн Шинэчлэлтүүд
tunefs
&man.tunefs.8; програм файлын системийг нарийн тааруулахад
ашиглагдаж болно. Энэ програм нь олон янзын тохируулгуудтай гэхдээ
одоохондоо бид зөвхөн Зөөлөн Шинэчлэлтүүдийг идэвхжүүлэх ба хаах дээр
анхаарах бөгөөд үүнийг дараах аргаар хийнэ:
&prompt.root; tunefs -n enable /filesystem
&prompt.root; tunefs -n disable /filesystem
Файлын систем нь холбогдсон байхдаа &man.tunefs.8;-ээр өөрчлөгдөх
боломжгүй. Зөөлөн Шинэчлэлтүүдийг идэвхжүүлэхэд тохирох үе нь аль ч
хуваалтууд холболт хийгдээгүй байгаа ганц хэрэглэгчийн горим юм.
Зөөлөн Шинэчлэлтүүд нь мета-өгөгдлийн ажиллагааг мэдэгдэхүйц сайжруулдаг бөгөөд
санах ойн кэшийг ашиглан голчлон файлын үүсгэлт болон устгалтыг хурдасгадаг.
Бид Зөөлөн Шинэчлэлтүүдийг өөрийн бүх файлын системүүдэд ашиглахыг зөвлөж байна.
Зөөлөн Шинэчлэлтүүдийн хоёр дутагдалтай талыг та мэдэж байх ёстой: Нэгдүгээрт,
Зөөлөн Шинэчлэлтүүд нь сүйрэл болсон тохиолдолд файлын системийн бүрэн бүтэн
байдалд баталгаа өгдөг боловч физик дискийг шинэчлэхэд хэдэн секундын (минут ч байж болно!)
хоцрогдолтой байж болно. Хэрэв таны систем сүйрэхэд бусад тохиолдлоос илүүтэйгээр
та хийсэн ажлаа алдаж болзошгүй юм. Хоёрдугаарт, Зөөлөн Шинэчлэлтүүд нь
файлын системийн блокуудыг чөлөөлөхийг саатуулдаг. Хэрэв та бараг дүүрсэн
файлын системтэй (root файл систем гэх зэрэг) байгаа бол
make installworld зэрэг гол шинэчлэлтийг
хийх нь файлын системийг зайгүй болгож шинэчлэлт амжилтгүй болох шалтгаанд хүргэж
болох юм.
Зөөлөн Шинэчлэлтүүдийн талаар дэлгэрэнгүй
Зөөлөн Шинэчлэлтүүд
дэлгэрэнгүй
Файлын системийн мета-өгөгдлийг диск уруу бичих уламжлалт хоёр хандлага
байдаг. (Мета-өгөгдлийн шинэчлэлтүүд нь inode эсвэл сангууд зэрэг агуулгын бус
өгөгдөлд хийх шинэчлэлтүүд юм)
Түүхээс авч үзэхэд анхдагч ажиллах горим нь мета-өгөгдлийн шинэчлэлтүүдийг
синхроноор буюу зэрэг бичдэг байсан явдал юм. Хэрэв сан өөрчлөгдсөн бол
систем өөрчлөлтийг диск уруу бичигдэхийг хүлээдэг. Файлын өгөгдлийн буферууд
(файлын агуулгууд) буфер кэшээр дамжин диск уруу сүүлд нь асинхроноор хадгалагддаг.
Энэ шийдлийн давуу тал нь аюулгүй ажилладаг. Хэрэв шинэчлэлтийн үед амжилтгүй
болбол мета-өгөгдөл нь үргэлж бүрэн бүтэн байдаг. Файл эсвэл бүрэн үүсч эсвэл
бүр ерөөсөө үүсдэггүй. Хэрэв файлын өгөгдлийн блокууд сүйрэл болох үед
буферийн кэшээс диск уруу өөрсдийн гарах замаа олохгүй байгаа бол
&man.fsck.8; нь үүнийг таньж файлын уртыг 0 болгон файлын системийг
засварладаг. Нэмж хэлэхэд энэ шийдэл нь цэвэрхэн ба хялбар юм.
Сул тал нь мета-өгөгдлийн өөрчлөлтүүд нь удаан байдаг.
rm -r тушаал жишээ нь сан дахь бүх файлуудад дараалан
хандах бөгөөд гэхдээ сан болгоны өөрчлөлт (файлын устгалт) синхроноор зэрэг
диск уруу бичигддэг. Үүнд сан уруу өөрт нь хийгдэх шинэчлэлтүүд, inode хүснэгт
болон магадгүй файлын гаргасан шууд бус блокуудад хийх шинэчлэлтүүд ордог.
Том иерархуудыг задлахад (tar -x) үүний нэгэн адилаар
авч үздэг.
Хоёр дахь нь асинхрон мета-өгөгдлийн шинэчлэлтүүд юм. Энэ нь
Линукс/ext2fs-ийн хувьд анхдагч байх бөгөөд
*BSD ufs-ийн хувьд
mount -o async байх юм.
Бүх мета-өгөгдлийн шинэчлэлтүүд
нь буфер кэшээр бас дамждаг, тэгэхээр тэдгээр нь файлын агуулгын өгөгдлийн
шинэчлэлтүүдтэй харилцан холилдох болно. Энэ шийдлийн давуу тал нь
мета-өгөгдөл бүрийн шинэчлэлт диск уруу бичигдэхийг хүлээдэггүй бөгөөд
ингэснээр ихээхэн хэмжээний мета-өгөгдлийн шинэчлэлтүүдийг хийдэг бүх
үйлдлүүд синхрон хийгдэхээс хамаагүй хурдан ажилладаг. Мөн энэ шийдэл нь
цэвэрхэн бас энгийн бөгөөд ингэснээр хорхойнууд (алдаа) код уруу мөлхөн
орох эрсдэл бага юм. Сул тал нь файлын системийн бүрэн бүтэн төлвийн
ямар нэг баталгаа ерөөсөө байдаггүй. Хэрэв их хэмжээний мета-өгөгдөл
шинэчлэх үйлдлийн явцад амжилтгүй болсон бол (тэжээлийн тасалдал, эсвэл хэн
нэг нь дахин эхлүүлэх товч дарсан зэрэгт) файлын систем тааж болшгүй
төлөвт үлдэх болно. Систем дахин ачаалаад дуусахад файлын системийн
төлөвийг мэдэх боломжгүй байдаг; inode хүснэгт эсвэл холбоотой сангийн
шинэчлэлтүүд бичигдээгүй байхад файлын өгөгдлийн блокууд диск уруу аль хэдийн
бичигдчихсэн байж болох юм. Ер нь гаргасан замбараагүйтлийг (учир нь хэрэгцээтэй
мэдээлэл диск дээр байхгүй) цэвэрлэж чаддаг fsck
тушаалын шийдлийг хийх боломжгүй. Хэрэв файлын систем засвар хийж чадахааргүй
эвдэрсэн бол түүнд дээр &man.newfs.8;-ийг хэрэглэж нөөцөөс сэргээхээс өөр
аргагүй юм.
Энэ асуудлын шийдэл нь
бохир бүсийн бүртгэл буюу бас
журналчлалт гэгддэг шийдлийг гаргах явдал бөгөөд
энэ ухагдахуун нь тогтвортой хэрэглэгддэггүй ба шилжүүлэлтийн бүртгэлийн бусад
хэлбэрүүдэд бас заримдаа ашиглагддаг. Мета-өгөгдлийн шинэчлэлтүүд нь
синхроноор бичигдсэн хэвээр байх бөгөөд гэхдээ зөвхөн дискний жижиг бүсэд
бичигдэнэ. Дараа нь тэдгээрийг тэдний зөв байрлал уруу зөөдөг. Бүртгэлийн
талбар нь диск дээр бага, үргэлжилсэн бүс байдаг учраас бүр хүнд үйлдлүүдийн үед
ч гэсэн дискний толгойнууд шилжихэд хол зайтай биш байдаг болохоор эдгээр
үйлдлүүд нь синхрон шинэчлэлтүүдээс илүү хурдан байдаг.
Мөн энэ шийдлийн төвөгтэй байдал нь маш хязгаарлагдмал болохоор алдаанууд
байх эрсдэл нь бага байдаг. Сул тал нь бүх мета-өгөгдөл нь хоёр удаа бичигддэг
(бүртгэлийн бүсэд нэг удаа болон зөв байрлал уруу бас нэг удаа) болохоор
энгийн ажлын хувьд ажиллагааны өөдрөг бус үзэгдэл
гарч болзошгүй юм. Нөгөө талаас сүйрэл болоод систем дахин ачаалаад дуусахад
хүлээгдэж байгаа бүх мета-өгөгдлийн үйлдлүүд бүртгэлийн талбараас хурдан
буцаагдаж эсвэл гүйцэд хийгдэн дуусч болох бөгөөд энэ нь файлын системийг
хурдан эхлүүлэхэд хүргэдэг.
Беркли FFS-ийн хөгжүүлэгч Кирк МкКюзик энэ асуудлыг Soft Updates
буюу Зөөлөн Шинэчлэлтүүдээр шийдсэн: хүлээгдэж байгаа бүх мета-өгөгдлийн
шинэчлэлтүүд нь санах ойд хадгалагдах бөгөөд диск уруу эрэмбэлэгдсэн дарааллаар
бичигддэг (дараалуулсан мета-өгөгдлийн шинэчлэлтүүд
).
Энэ нь мета-өгөгдлийн хүнд үйлдлүүдийн үед хэрэв эрт хийгдсэн шинэчлэлтүүд диск
уруу бичигдээгүй санах ойд байж байхад нь сүүлд хийгдэх шинэчлэлтүүд тэдгээрийг
барьж
авдаг. Тэгэхээр сангийн хувьд хэлбэл түүнд хийгдэх
бүх үйлдлүүд нь санах ойд шинэчлэлт диск уруу бичигдэхээс өмнө хийгддэг
(өгөгдлийн блокууд нь мета-өгөгдлөөсөө түрүүлээд диск дээр байж байхгүйгээр
өөрсдийн байрлалынхаа дагуу эрэмбэлэгддэг ).
Хэрэв систем сүйрвэл энэ нь бүртгэл урагшлуулахад
хүргэдэг:
диск уруу гарах замаа олохгүй байгаа бүх үйлдлүүд хэзээ ч хийгдээгүй юм шиг
байдаг. Файлын системийн бүрэн бүтэн төлөв хадгалагдаж 30-аас 60 секундын
өмнөх төлөвт ордог. Хэрэглэгдэж байгаа эх үүсвэрүүдийг тэдгээрийн өөрсдийнх
харгалзах битмапуудад: блокууд болон inode-уудад байдаг шигээр тэмдэглэхийг
үүнд ашигласан алгоритм нь баталгаатай хангадаг. Сүйрэл болсны дараа
зөвхөн гарсан эх үүсвэр суллан гаргалтын алдаа нь яг үнэндээ чөлөөтэй
мөртлөө ашиглагдаж байгаа
гэж тэмдэглэгдсэн эх үүсвэрүүд
байдаг. &man.fsck.8; энэ байдлыг таних бөгөөд ашиглагдаагүй байгаа эх
үүсвэрүүдийг чөлөөлдөг. Сүйрлийн дараа файлын системийн бохир төлвийг авч үзэлгүйгээр
хүчээр mount -f тушаалаар холбох нь аюулгүй юм.
Ашиглагдаагүй байж болзошгүй эх үүсвэрүүдийг чөлөөлөхдөө &man.fsck.8;-г
сүүлд нь ажиллуулах хэрэгтэй. Энэ нь ард ажиллах fsck-ийн
цаана байгаа санаа юм: системийг эхлүүлэх үед зөвхөн файлын системийн
хормын зураг бичигддэг.
fsck-г сүүлд нь ажиллуулж болно. Дараа нь бүх файлын
системүүд бохир
холбогдож системийн эхлэлт олон хэрэглэгчийн
горимд үргэлжилдэг. Дараа нь ард ажиллах fsck-үүд
ашиглагдаагүй байгаа эх үүсвэрүүдийг чөлөөлөхөөр шаардлагатай байгаа бүх файлын
системийн хувьд ажиллахаар төлөвлөгддөг. (Зөөлөн Шинэчлэлтүүд ашигладаггүй
файлын системүүдэд ердийн нүүрэн дээр ажиллах fsck
хэрэгтэй хэвээр байна)
Давуу тал нь мета-өгөгдлийн үйлдлүүд нь асинхрон шинэчлэлтүүдтэй
бараг л адил хурдан байдаг (өөрөөр хэлбэл мета-өгөгдлийг хоёр дахин бичдэг
бүртгэл хийлтээс хурдан байдаг). Сул талууд нь
төвөгтэй код (хэрэглэгчийн өгөгдлийн алдагдлын хувьд их мэдрэмтгий талбар дахь
байж болох алдаануудын тэр өндөр эрсдэлийг хэлж байна) болон санах ойн илүү
хэрэглээ юм. Мөн хэн нэгний хэрэглэж байсан хувийн тохиргоонууд ч бас байдаг.
Сүйрэл болсны дараа файлын системийн төлөв хуучин
юм шиг харагддаг. Стандарт синхрон хандлага нь
fsck-ийн дараа зарим нэг тэг-урттай файлуудыг
үлдээхэд хүргэсэн нөхцөлд тэдгээр файлууд нь Зөөлөн Шинэчлэлтүүдтэй файлын
системийн үед огт байдаггүй бөгөөд учир нь мета-өгөгдөл болон файлын агуулгууд
хэзээ ч диск уруу бичигдээгүй байдаг. Дискний зай нь магадгүй
rm ажиллуулснаас хэсэг хугацааны дараа диск уруу
шинэчлэлтүүд бичигдэх хүртэл сулардаггүй. Энэ нь бүх файлуудыг хоёр дахин
хадгалахад хангалттай хүрэлцэхүйц хэмжээний чөлөөтэй зай байхгүй файлын систем
дээр их хэмжээний өгөгдлийг суулгаж байх үед асуудлууд гарахад хүргэж болох юм.
Цөмийн хязгаарууд тохируулах нь
тохируулах нь
цөмийн хязгаарууд
Файл/Процессийн хязгаарууд
kern.maxfiles
kern.maxfiles
kern.maxfiles нь таны системийн шаардлагуудаас
хамаараад дээшилж эсвэл доошилж болно. Энэ хувьсагч нь таны систем дээрх файлын
тодорхойлогчуудын (descriptor) хамгийн их тоог илэрхийлдэг. Файлын тодорхойлогчийн
хүснэгт дүүрсэн тохиолдолд file: table is full
буюу файл: хүснэгт дүүрсэн гэсэн мэдээлэл давтагдан системийн богино мэдээллийн буфферт
үзэгдэх бөгөөд үүнийг dmesg тушаал ашиглан үзэж болдог.
Нээлттэй файл, сокет эсвэл fifo болгон нэг файлын тодорхойлогч хэрэглэдэг.
Ажиллаж байгаа том-хэмжээний сервер зэрэгцээ ажиллаж байгаа үйлчилгээнүүдийн тоо болон
төрлөөс хамааран олон мянган файлын тодорхойлогчуудыг өлхөн шаардаж болох юм.
Хуучин FreeBSD хувилбаруудад kern.maxfiles-ийн
анхдагч утга нь таны цөмийн тохиргооны файлын тохируулгаас
гарсан байдаг. kern.maxfiles нь
утгатай пропорционалаар өсдөг. Өөрчлөн тохируулсан цөмийг
бүтээхдээ энэ цөмийн тохиргооны тохируулгыг өөрийн системийн хэрэглээний дагуу зааж өгөх нь
зүйтэй байдаг. Энэ тооноос хамаарч цөм өөрийн ихэнх урьдчилан-тодорхойлсон хязгааруудыг
өгдөг. Ажиллагаанд байгаа машин яг үнэндээ нэг удаа 256 хэрэглэгч зэрэг холбогдоогүй
байж болох боловч өндөр-хэмжээний вэб серверийнхтэй адил эх үүсвэрүүд хэрэгтэй байж болох
юм.
FreeBSD 4.5-аас эхлэн kern.maxusers нь системд байгаа санах ойн
дээр үндэслэн ачаалах үед автоматаар тавигддаг бөгөөд ажиллаж байх явцад зөвхөн уншигдах
kern.maxusers sysctl хувьсагчийн утгыг шалгаж тогтоогдож
болох юм. Зарим сайтууд kern.maxusers-ийн илүү их эсвэл бага
утгуудыг шаардаж үүнийг ачаалагчаар тааруулагдахаар тохируулж болох юм; 64, 128, болон 256
утгууд нь ховор байдаг. Танд асар их тооны файлын тодорхойлогчууд хэрэгтэй л биш бол бид
256-аас дээш байлгахыг зөвлөдөггүй; өөрсдийн анхдагч утгуудад
kern.maxusers-р заагддаг, тааруулагдах боломжтой утгуудын
олонх нь тус тусдаа ачаалалтын үед эсвэл ажиллах явцад /boot/loader.conf-оор
эсвэл энэ баримтын хаа нэгтээ тайлбарласнаар өөрчлөгдөж болдог
(&man.loader.conf.5; гарын авлага эсвэл /boot/defaults/loader.conf
файлыг санаа авахын тулд үзнэ үү). FreeBSD 4.4-өөс хуучин системүүд энэ утгыг
цөмийн &man.config.8; тохируулга -ээр зааж өгөх хэрэгтэй.
Хуучин хувилбаруудад хэрэв та maxusers-ийг
0 гэж шууд зааж өгсөн бол систем автоматаар тааруулж өгдөг
Автоматаар тааруулах алгоритм maxusers-ийг
систем дэх санах ойн хэмжээтэй адилаар хамгийн багадаа 32 ба хамгийн ихдээ 384 гэж зааж
өгдөг.. Энэ тохируулгыг заахдаа ялангуяа та хэрэв X Цонхны Систем
ашиглаж байгаа эсвэл програм хангамж хөрвүүлж байгаа бол maxusers-ийг
хамгийн багадаа 4 гэж заахыг хүсэх болно. Шалтгаан нь гэвэл maxusers-ээр
заагдсан хамгийн чухал хүснэгт бол 20 + 16 * maxusers гэж заагдсан
процессуудын хамгийн их тоо бөгөөд хэрэв та maxusers-ийг 1 гэж
заасан бол та 18 орчмыг нь ачаалах үед системийг эхлүүлэхэд болон 15 орчмыг нь таныг X Цонхны
Системийг эхлүүлэхэд магадгүй үүсэж та нийт зөвхөн 36 зэрэг процесстой байж болох юм.
Гарын авлагыг унших зэрэг хялбар бодлого хүртэл шүүх, шахсаныг задлах, болон
үзэхэд зориулж есөн процессийг эхлүүлдэг. maxusers-ийг 64 гэж заах нь
бараг л бүх хэрэгцээнд хангалттай байх 1044 зэрэг процесстой байж болохыг танд зөвшөөрнө.
Гэхдээ өөр програм эхлүүлэхээр оролдож байх үед эсвэл их олон тооны зэрэгцээ хэрэглэгчидтэй
сервер (ftp.FreeBSD.org-той адил) ажиллуулж
байхад айдас төрүүлэм proc table full буюу proc хүснэгт
дүүрсэн гэсэн алдаа хэрэв та харах юм бол үргэлж энэ тоог ихэсгэн цөмийг дахин бүтээж
болох юм.
maxusers нь таны машин уруу нэвтрэх хэрэглэгчдийн
тоог хязгаарладаггүй. Энэ нь ердөө л таны систем дээр байж
болох хамгийн их хэрэглэгчийн тоо болон тэдгээр тус бүрийн ажиллуулах процессийн тооноос
хамааран төрөл бүрийн хүснэгтийн хэмжээнүүдийг боломжийн утгуудаар зааж өгдөг.
Алсаас хандах зэрэгцээ нэвтрэлтүүдийн тоо болон X терминал цонхнуудыг
хязгаарладаг нэг түлхүүр нь
псевдо-төхөөрөмж pty 16 юм. &os; 5.X дээр
&man.pty.4; драйвер aвто-клон
хийх боломжтой болохоор та энэ тоон
дээр санаа зовохгүй байж болно; та тохиргооны файлдаа device pty
гэсэн мөрийг л ашилах юм.
kern.ipc.somaxconn
kern.ipc.somaxconn
kern.ipc.somaxconn sysctl хувьсагч нь
шинэ TCP холболтуудыг хүлээн авахад зориулсан сонсох дарааллын хэмжээг
хязгаарладаг. Анхдагч утга 128 нь ачаалал ихтэй вэб
серверийн орчин дахь шинэ холболтуудыг хүлээж авахад ерөнхийдөө хэтэрхий бага
юм. Тийм орчны хувьд энэ утгыг 1024 эсвэл түүнээс их
болгохыг зөвлөдөг. Үйлчилгээний дэмон нь өөрөө сонсох дарааллын хэмжээгээ
(өөрөөр хэлбэл &man.sendmail.8;, эсвэл Apache)
хязгаарлаж болох боловч ихэвчлэн өөрийн тохиргооны файлдаа дарааллын хэмжээг
тааруулах тохиргооны мөртэй байдаг. Их хэмжээний сонсох дарааллууд нь бас
Үйлчилгээг Зогсоох халдлагуудаас (DoS) илүү сайн зайлсхийж
ажилладаг.
Сүлжээний хязгаарууд
NMBCLUSTERS цөмийн тохиргооны тохируулга нь
системд байгаа сүлжээний Mbuf-уудын тоог зааж өгдөг. Бага тооны Mbuf-уудтай
трафикийн ачаалал ихтэй сервер &os;-ийн чадварт саад болдог. Кластер бүр
ойролцоогоор 2 K санах ойг илэрхийлдэг, тийм болохоор 1024 гэсэн
утга нь сүлжээний буферуудад зориулж хадгалсан 2 мегабайт цөмийн санах ойг
илэрхийлнэ. Хичнээн хэрэгтэйг олохын тулд хялбар тооцоо хийж болно.
Хэрэв та хамгийн ихдээ 1000 зэрэгцээ холболтуудтай, холболт бүр нь 16 K
хүлээн авах болон 16 K илгээх буферийг иддэг вэб сервертэй бол
танд ойролцоогоор вэб серверийг хангахын тулд 32 MB хэмжээтэй тэнцэх
сүлжээний буферууд хэрэгтэй болно. Практикаар ер нь 2-оор үржүүлдэг,
тэгэхээр 2x32 MB / 2 KB =
64 MB / 2 kB = 32768 болох юм.
Бид их санах ойтой машинуудын хувьд утгуудыг 4096-аас 32768-ын хооронд байлгахыг
зөвлөдөг. Энэ параметрийн хувьд өндөр утгыг ямар ч нөхцөлд тавьж болохгүй, учир нь
энэ нь ачаалах үеийн сүйрэлд хүргэж болно. &man.netstat.1;-д
тохируулгыг ашиглаж сүлжээний кластерийн ашиглалтыг
ажиглаж болох юм.
kern.ipc.nmbclusters ачаалалтын тааруулах
боломжтой тохируулга нь ачаалах үед үүнийг тааруулахад хэрэглэгдэх ёстой.
Зөвхөн &os;-ийн хуучин хувилбарууд NMBCLUSTERS
цөмийн &man.config.8; тохируулгыг ашиглахыг танаас шаарддаг.
&man.sendfile.2; системийн дуудлагыг өргөнөөр ашигладаг завгүй
серверүүдийн хувьд NSFBUFS цөмийн тохиргооны тохируулгын
тусламжтай эсвэл түүний утгыг /boot/loader.conf-д зааж
&man.sendfile.2; буферуудын тоог ихэсгэх шаардлагатай байж болох юм
(дэлгэрэнгүйг &man.loader.8;-с үзнэ үү). Процессууд sfbufa
төлөвт харагдах нь энэ параметрийг тааруулах хэрэгтэйг ихэвчлэн заадаг.
kern.ipc.nsfbufs sysctl хувьсагч нь цөмөөр
тохируулагдсан хувьсагч дахь зөвхөн уншигддаг гялбаа юм. Энэ параметр нь
kern.maxusers-ийн хэмжээгээр тааруулагддаг,
гэхдээ үүнийг түүний дагуу тохируурах шаардлагатай байж болох юм.
Сокет блок-хийгддэггүй гэж тэмдэглэгдсэн ч гэсэн блок-хийгддэггүй
сокет дээр &man.sendfile.2;-ийг дуудах нь хангалттай хэмжээний
struct sf_buf-уудыг бий болготол
&man.sendfile.2; дуудлага блок хийгдэхэд хүргэж болох юм.
net.inet.ip.portrange.*
net.inet.ip.portrange.*
net.inet.ip.portrange.* sysctl хувьсагчууд нь
TCP болон UDP сокетуудад автоматаар уягдах портын дугаарын хүрээнүүдийг хянадаг.
Гурван хүрээ байдаг: доод хүрээ, анхдагч хүрээ, болон өндөр хүрээ. Ихэнх сүлжээний
програмууд нь анхдагчаар 1024 болон 5000 байдаг
net.inet.ip.portrange.first болон
net.inet.ip.portrange.last хувьсагчуудаар хянагддаг
анхдагч хүрээг ашигладаг. Уягдах портын хүрээнүүд гарах холболтуудад ашиглагддаг
бөгөөд зарим тохиолдолд систем дэх портууд дуусч болох юм. Энэ нь ихэвчлэн
таныг ачаалал ихтэй вэб прокси ашиглаж байхад гардаг. Ихэвчлэн ирж байгаа холболтуудыг
хүлээн авдаг ердийн вэб сервер эсвэл захидал дамжуулагч зэрэг хязгаарлагдмал тооны гарах
холболтуудтай серверүүдийг ажиллуулж байхад портын хүрээ нь асуудал биш юм.
Таны порт дуусаж болох тийм тохиолдлуудад
net.inet.ip.portrange.last хувьсагчийг даруухнаар
ихэсгэхийг зөвлөдөг. 10000, 20000 эсвэл
30000 нь боломжийн утгууд юм. Портын хүрээг өөрчилж
байхдаа галт ханын нөлөөллүүдийг бас бодолцох хэрэгтэй. Зарим галт хана
их хэмжээний портуудыг хааж болох бөгөөд (ихэнхдээ бага дугаарын портууд)
систем өндөр дугаарын портуудыг гарах холболтууддаа ашигладгийг бодолцох ёстой —
ийм учраас net.inet.ip.portrange.first-ийг
багасгахыг зөвлөдөггүй.
TCP хурд сааруулагч бүтээгдэхүүнүүд
TCP хурд сааруулагч бүтээгдэхүүний хязгаарлалт
net.inet.tcp.inflight.enable
TCP хурд сааруулагч бүтээгдэхүүний хязгаарлалт нь NetBSD дэх
TCP/Vegas-тай адилхан юм. net.inet.tcp.inflight.enable
sysctl хувьсагчийг 1 болгон тохируулж үүнийг идэвхжүүлдэг.
Систем холболт бүрийн хувьд хурд сааруулагч бүтээгдэхүүнийг тооцоолохыг оролддог
бөгөөд сүлжээн дэх дараалалд оруулах өгөгдлийн хэмжээг хамгийн боломжийн нэвтрүүлэх
чадамжийг байнга барьж байх тэр хэмжээнд хүргэж хязгаарладаг.
Хэрэв та өгөгдлийг модемууд, Гигабит Ethernet, эсвэл бүр өндөр
хурдны WAN холболтуудаар (эсвэл дурын өндөр хурд сааруулагч бүтээгдэхүүнтэй холболт)
дамжуулж байгаа бол ялангуяа та бас цонх өсгөлтийг ашиглаж байгаа эсвэл том илгээх цонх
тохируулсан бол энэ боломж нь ашигтай юм. Хэрэв та энэ тохируулгыг идэвхжүүлэх бол
бас net.inet.tcp.inflight.debug-ийг
0 (дибаг хийхийг болиулах) болгож тохируулах хэрэгтэй бөгөөд
үйлдвэрлэлийн ашиглалтад net.inet.tcp.inflight.min-ийг
хамгийн багаар бодоход 6144 болгох нь ашигтай байж болох юм.
Гэхдээ хамгийн бага тоог өндөр болгох нь холболтоос хамааран хурд хязгаарлалтыг
идэвхтэйгээр болиулж болохыг санах хэрэгтэй. Хязгаарлах боломж нь дундын чиглүүлэлтийн
үед бүтээгдсэн өгөгдлийн хэмжээг багасгах бөгөөд пакетийн дарааллуудыг сольж локал
хостын интерфэйс дэх дараалал дээр бүтээгдсэн өгөгдийн хэмжээг мөн багасгадаг.
Дараалалд орсон цөөн тооны пакетуудтай, ялангуяа удаан модемоор дамжсан интерактив
холболтууд нь бага Round Trip Times буюу Эргэн Аялах Хугацаатайгаар
ажиллаж бас чаддаг. Гэхдээ энэ боломж нь зөвхөн өгөгдөл дамжуулалтад (илгээх / сервер талын)
нөлөөлдгийг санах хэрэгтэй. Энэ нь өгөгдөл хүлээн авахад нөлөө үзүүлэхгүй (татаж авах).
net.inet.tcp.inflight.stab-ийг тааруулахыг
зөвлөдөггүй. Энэ параметр нь хурд сааруулах бүтээгдэхүүний
цонхны тооцоололд нэмсэн 2 хамгийн их пакетийг илэрхийлж анхдагчаар 20 байдаг.
Энэ алгоритмийг тогтворжуулах болон өөрчлөгдөж байгаа нөхцлүүдэд хариу өгөх боломжийг
сайжруулахад нэмэлт цонх шаардлагатай боловч энэ нь бас удаан холболт дээр
ping хийх хугацаа ихэсгэхэд хүргэдэг (гэхдээ таныг энэ (inflight) алгоритмийг
ашиглаагүй байхад гарсан үр дүнгээс хамаагүй бага хэвээр л байна).
Ийм тохиолдолд энэ параметрийг 15, 10, эсвэл 5 болгон багасгахыг хүсэж болох юм;
мөн хүссэн үр дүндээ хүрэхийн тулд
net.inet.tcp.inflight.min хувьсагчийг
(жишээ нь 3500 болгож) бас багасгаж болох юм. Эдгээр параметрүүдийг багасгах нь
хамгийн сүүлд авах арга хэмжээ байх ёстой юм.
Виртуал санах ой
kern.maxvnodes
vnode нь файл эсвэл сангийн дотоод дүрслэл юм. Тэгэхээр үйлдлийн
системд байх vnode-ийн тоог ихэсгэх нь диск I/O-г багасгадаг. Энэ нь ихэвчлэн
үйлдлийн системээр зохицуулагддаг бөгөөд өөрчлөх хэрэггүй байдаг.
Зарим тохиолдолд диск I/O нь гол асуудал учруулж системд vnode байхгүй болж
байвал энэ тохируулгыг ихэсгэх хэрэгтэй болно. Идэвхгүй болон чөлөөтэй RAM-ийн
хэмжээг бодолцох шаардлагатай.
Тухайн үед ашиглагдаж байгаа vnode-уудыг үзэхдээ:
&prompt.root; sysctl vfs.numvnodes
vfs.numvnodes: 91349
Хамгийн их vnode-уудыг үзэхдээ:
&prompt.root; sysctl kern.maxvnodes
kern.maxvnodes: 100000
Хэрэв тухайн үеийн vnode ашиглалт хамгийн их хэмжээ уруу бараг дөхөж
байвал kern.maxvnodes-ийг 1,000-аар ихэсгэх нь
зүйтэй байж болох юм. vfs.numvnodes-ийн тоон
дээр бас анхаарлаа хандуулаарай. Хэрэв энэ нь дахин хамгийн их уруугаа дээшилбэл
kern.maxvnodes-ийг цааш ихэсгэх шаардлагатай болно.
&man.top.1;-ийн гаргасан дүнгээс таны санах ойн өөрчлөлт харагдах ёстой.
Түрүүнийхээс илүү санах ой идэвхтэй байх ёстой.
Swap зай нэмэх нь
Та яаж ч сайн төлөвлөсөн байлаа гэсэн заримдаа систем таны бодсоноор
ажилладагүй. Хэрэв танд swap зай илүү хэрэгцээтэйг мэдвэл та үүнийг
амархнаар нэмж болно. Та гурван аргаар swap зайг ихэсгэж болно:
шинэ хатуу диск нэмэх, NFS-ийн тусламжтай swap идэвхжүүлэх болон
байгаа хуваалт дээр swap файл үүсгэж ихэсгэж болно.
Swap зайг хэрхэн шифрлэх, ямар тохируулгууд байгаа болон яагаад
хийх ёстой талаар гарын авлагын
хуудсанд хандана уу.
Шинэ диск дээрх swap
Мэдээж swap нэмэх хамгийн шилдэг арга нь энэ боломжийг шалтаг болгон
ашиглаж өөр хатуу диск нэмэх явдал юм. Ер нь та үргэлж өөр хатуу диск ашиглаж
болно л доо. Хэрэв та ингэх бол өөрийн swap-аа хэрхэн хамгийн шилдгээр
зохион байгуулж болох талаар дурдсан зарим зөвлөгөөнүүдийн тухай Гарын авлагын
дахь swap зайн хэлэлцүүлгээс
дахин уншаарай.
NFS-ийн тусламжтай swap хийх нь
NFS-ийн тусламжтай swap хийхийг зөвхөн swap хийх локал хатуу диск
танд байхгүй үед л зөвлөдөг; NFS swap хийх нь байгаа сүлжээний хурдаар
хязгаарлагддаг бөгөөд NFS серверт нэмэлт ачаалал үзүүлдэг.
Swap файлууд
Та swap файл болгон ашиглахаар заасан хэмжээтэй файлыг үүсгэж болно.
Энд байгаа жишээн дээр бид /usr/swap0 гэсэн
нэртэй 64MB файлыг ашиглана. Мэдээж та хүссэн ямар ч нэрээ ашиглаж
болно.
Swap файл &os; дээр үүсгэх нь
Таны цөмийн тохиргоонд санах ойн дискний драйвер (&man.md.4;)
орсон эсэхийг шалгаарай. Энэ нь GENERIC
цөмд анхдагчаар орсон байдаг.
device md # Memory "disks"
Swap файл (/usr/swap0) үүсгэнэ:
&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
Зөв зөвшөөрлүүдийг (/usr/swap0-д) нээж тохируулна:
&prompt.root; chmod 0600 /usr/swap0
/etc/rc.conf-д swap файлыг идэвхжүүлнэ:
swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
Машиныг дахин эхлүүлнэ эсвэл swap файлыг шууд идэвхжүүлэхийн тулд дараах тушаалыг ажиллуулна:
&prompt.root; mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0
Хитэн
Пандиа
Бичсэн
Том
Рөүдс
Цагаанхүүгийн
Ганболд
Орчуулсан
Тэжээл болон Эх үүсвэрийн Удирдлага
Тоног төхөөрөмжийн эх үүсвэрүүдийг үр ашигтай ашиглах нь чухал юм.
ACPI танилцуулагдахаас өмнө системийн тэжээлийн
ашиглалт болон дулааны шинж чанаруудыг удирдахад үйлдлийн системүүдийн хувьд
хэцүү, уян хатан биш байсан. Тоног төхөөрөмж нь BIOS-оор
удирдагддаг байсан болохоор тэжээлийн удирдлагын тохиргоонуудын харагдац бага бөгөөд
хэрэглэгчид хянах боломж бага байсан юм.Зарим нэгэн хязгаарлагдмал тохиргооны
боломж Advanced Power Management буюу Тэжээлийн Дэвшилттэй Удирдлага (APM)
интерфэйсээр хийгдэх боломжтой байсан.
Тэжээл болон Эх үүсвэрийн Удирдлага нь орчин үеийн үйлдлийн
системийн түлхүүр хэсгүүдийн нэг юм. Жишээ нь таны системийн хэм гэнэт нэмэгдэх тохиолдолд
системийн хязгааруудыг үйлдлийн систем монитор хийхийг (магадгүй танд мэдээлэхийг)
хүсэж болох юм.
&os; Гарын авлагын энэ хэсэгт бид ACPI-ийн талаар
нэвтэрхий мэдээллээр хангах болно. Цааш нэмж уншихад зориулсан мэдээллүүдийг
төгсгөл хэсэгт оруулсан байгаа.
ACPI гэж юу вэ?
ACPI
APM
Advanced Configuration and Power Interface буюу Дэвшилттэй Тохиргоо
ба Тэжээлийн Интерфэйс (ACPI) нь тоног төхөөрөмжийн эх үүсвэрүүд
болон тэжээлийн удирдлагад (эндээс нэр гарсан) зориулсан стандарт интерфэйсийг хангах зорилгоор
үйлдвэрлэгчдийн холбооноос бичин гаргасан стандарт юм.
Энэ нь Үйлдлийн Системээр заалгасан тохиргоо ба Тэжээлийн Удирдлагын
түлхүүр элемент юм, өөрөөр хэлбэл: энэ нь илүү хяналт болон уян хатан байдлыг үйлдлийн системд
(OS) хангадаг. ACPI-г танилцуулахаас
өмнө одоогийн Залгаад Тоглуулах интерфэйсүүдийн хязгааруудыг орчин үеийн системүүд
сунгасан
юм. ACPI нь APM-ийн
(Advanced Power Management буюу Тэжээлийн Дэвшилтэт Удирдлага) шууд залгамжлагч
юм.
Тэжээлийн Дэвшилтэт Удирдлагын (APM) сул талууд
Тэжээлийн Дэвшилтэт Удирдлага (APM) боломж нь
системийн тэжээлийн ашиглалтыг түүний ажиллагаан дээр үндэслэн хянадаг.
APM BIOS нь (систем) үйлдвэрлэгчээс хангагддаг бөгөөд тоног төхөөрөмжийн тавцан
бүрийн хувьд онцлог байдаг. OS дахь APM драйвер нь тэжээлийн түвшингүүдийн
удирдлагыг зөвшөөрдөг APM Програм хангамжийн Интерфэйс
уруу хандах хандалтыг зуучилж өгдөг. APM-ийг 2000 онд болон тэрнээс өмнө үйлдвэрлэсэн
системүүдэд ашиглах ёстой хэвээр байдаг.
APM-д дөрвөн үндсэн асуудал байдаг. Нэгдүгээрт, тэжээлийн удирдлага
(үйлдвэрлэгчийн онцлогтой) BIOS-оор хийгддэг бөгөөд OS нь энэ талын ямар ч
мэдлэг байдаггүй. Үүний нэг жишээ нь хэрэглэгч хатуу дискний сул зогсох хугацааг
APM BIOS дээр зааж өгөөд тэр нь зааснаас илүү гарвал BIOS хатуу дискийг OS-ийн
зөвшөөрөлгүйгээр эргүүлдэг. Хоёрдугаарт, APM-ийн логик BIOS-д суулгагдсан байдаг
бөгөөд OS-ийн эрх хэмжээнээс гадна ажилладаг. Энэ нь хэрэглэгчид өөрсдийн
APM BIOS-ийг зөвхөн шинэ хувилбараар нь ROM уруу нь шарж асуудлуудыг
засварлах боломжтой гэсэн үг юм; энэ нь амжилтгүй болбол системийг дахин
сэргээгдэхгүй төлөвт орхиж болох боломжтой маш аюултай процедур юм.
Гуравдугаарт, APM нь үйлдвэрлэгчийн онцлогтой технологи бөгөөд энэ нь
маш олон адил төсөөтэй байдал (чармайлтуудын хуулбар) болон нэг үйлдвэрлэгчийн
BIOS-д олдсон алдаанууд бусад үйлдвэрлэгчдийн хувьд шийдэгдээгүй байж болно гэсэн үг
юм. Хамгийн сүүлд гэхдээ төгсгөлийнх биш, APM BIOS нь тэжээлийн маш нарийн
бодлого эсвэл машины зориулалтад зориулагдан маш сайн тохируулагдах тийм шийдлийг
хийхэд хангалттай зайгүй байдаг.
Залгаад Тоглуулах BIOS (PNPBIOS) нь
олон тохиолдолд найдвартай биш байсан юм. PNPBIOS нь 16-битийн технологи,
тийм болохоор OS нь PNPBIOS аргуудтай холбогдохдоо 16-битийн эмуляц
хэрэглэх шаардлагатай болдог.
&os;-ийн APM драйвер &man.apm.4; гарын авлагын
хуудсанд баримтжуулагдсан байдаг.
ACPI-г тохируулах нь
acpi.ko драйвер нь системийг эхлүүлэх үед
&man.loader.8;-оор анхдагчаар ачаалагддаг бөгөөд цөмд оруулж
хөрвүүлэгдэх ёсгүй. Үүний цаадах шалтгаан нь
модулиудтай ажиллах хялбар байдаг, өөрөөр хэлбэл цөмийг дахин хөрвүүлэлгүйгээр
өөр acpi.ko уруу шилждэг. Энэ нь тест хийлтийг
илүү амархан болгодог давуу талтай юм. Нөгөө нэг шалтгаан нь
системийг ажиллуулж дууссаны дараа ACPI-г ажиллуулахад
ихэвчлэн сайн ажилладаггүй.
Хэрэв та асуудлуудтай учирч байгаа бол ACPI-г бүхэлд нь хаах хэрэгтэй.
Энэ драйверийг ачаалсны дараа буулгаж болиулж чаддаггүй, болдоггүй, учир нь
системийн шугам үүнийг төрөл бүрийн тоног төхөөрөмжүүдийн харилцан үйлдлүүдэд
хэрэглэдэг. ACPI-г /boot/loader.conf файлд юм уу
эсвэл &man.loader.8; хүлээх мөрөнд hint.acpi.0.disabled="1" гэж тохируулан
хааж болдог.
ACPI болон APM нь цуг байж болохгүй
бөгөөд салангид хэрэглэгдэх ёстой. Сүүлд ачаалагдах драйвер нь хэрэв нөгөө нэгийг ажиллаж байгааг
мэдвэл ажиллагаагаа дуусгавар болгодог.
ACPI нь &man.acpiconf.8;-ийн
туг болон 1-5 тохируулгын тусламжтайгаар
системийг унтах горим шилжүүлэхэд хэрэглэгдэж болно. Ихэнх хэрэглэгчдэд зөвхөн
1 эсвэл 3 (RAM руу түр зогсоох)
хэрэгтэй байдаг. 5 тохируулга нь
дараах тушаалтай нэг ёсондоо адилыг гүйцэтгэнэ:
&prompt.root; halt -p
Бусад тохируулгууд &man.sysctl.8;-ийн тусламжтай байдаг. Дэлгэрэнгүй мэдээллийн талаар &man.acpi.4; болон
&man.acpiconf.8; гарын авлагын хуудаснуудаас шалгана уу.
Нэйт
Лоосон
Бичсэн
Питер
Шульц
Хувь нэмэрлэцгээсэн
Том
Рөүдс
Цагаанхүүгийн
Ганболд
Орчуулсан
&os;-ийн ACPI-г ашиглах нь ба дибаг хийх нь
ACPI
асуудлууд
ACPI нь төхөөрөмжүүдийг илрүүлэх, тэжээлийн ашиглалтыг
удирдах болон урьд нь BIOS-оор удирдагддаг байсан төрөл
бүрийн тоног төхөөрөмжид хандах стандартчилагдсан хандалтыг хангадаг цоо шинэ арга
юм. Бүх системүүд дээр ACPI-г ажиллуулах тал дээр
дэвшил хийгдсэн бөгөөд гэхдээ зарим эх хавтангуудын
ACPI Машины Хэлний
(AML) байткод дахь алдаанууд, &os;-ийн цөмийн дэд
системүүдийн бүрэн бүтэн бус байдал болон &intel; ACPI-CA
тайлбарлагч дахь алдаанууд илэрсээр байна.
Энэ баримт нь таныг &os;-ийн ACPI дэмжигчдэд тусалж
таны ажигласан асуудлуудын үндсэн учир шалтгааныг таних, дибаг хийх болон шийдлийг
хөгжүүлэхэд туслах зорилготой юм. Үүнийг уншиж байгаад талархлаа илэрхийлэхийн
ялдамд бид таны системийн асуудлуудыг шийдэж чадна гэдэгт найдаж байна.
Дибаг мэдээллийг илгээх нь
Асуудлыг илгээхээсээ өмнө та хамгийн сүүлийн үеийн BIOS-ийн
хувилбар болон хэрэв байх юм бол суулгагдсан хянагчийн хамгийн сүүлийн firmware хувилбар
ажиллуулж байгаа эсэхээ шалгаарай.
Асуудлыг шууд илгээхийг хүсэж байгаачууд дараах мэдээллийг
freebsd-acpi@FreeBSD.org уруу илгээнэ үү:
Системийн төрөл болон загварыг оролцуулан алдааг гаргаж байгаа зүйлийн хамтаар
алдаатай ажиллагааг тайлбарласан мэдээлэл. Мөн хэрэв алдаа таны хувьд шинэ бол
яг хэзээ гарч эхэлснийг аль болох тодорхой гаргаарай.
boot -v ажилласны дараах &man.dmesg.8;-ийн
гаралтыг алдааг шалгаж байхад таны үүсгэсэн алдааны мэдээллүүдийн
хамтаар.
Хэрэв ACPI-г хаасан байхад асуудлыг шийдэж байвал
тийм байх үе дэх boot -v-ийн гаралт.
sysctl hw.acpi-ийн гаралт. Энэ нь таны
систем ямар ямар боломжуудыг санал болгож байгааг мэдэх бас нэг сайн
арга юм.
Таны ACPI Эх Хэл
(ASL) байх URL хаяг.
ASL нь маш том байж болох учир шууд
битгий жагсаалт уруу илгээгээрэй.
Өөрийн ASL-ийн хуулбарыг энэ тушаалыг
ашиглаж үүсгээрэй:
&prompt.root; acpidump -dt > name-system.asl
(Өөрийн нэвтрэх нэрийг
name-ийн оронд болон
үйлдвэрлэгч/загварыг system-ийн
оронд солиорой. Жишээ нь:
njl-FooCo6000.asl)
Ихэнх хөгжүүлэгчид &a.current; үзэж байдаг, гэхдээ асуудлуудаа
харагдуулахын тулд &a.acpi.name; уруу илгээгээрэй. Бид бүгд хаа нэгтээ
өөр өөрийн үндсэн ажилтай учир тэвчээртэй байна уу. Хэрэв таны алдаа
шууд илэрхий биш байх юм бол магадгүй бид таныг &man.send-pr.1;-ийн
тусламжтай PR илгээхийг асуух байх.
PR оруулахдаа дээр хүссэний адил мэдээллээ
оруулна уу. Энэ нь асуудлыг мөшгөж шийдвэрлэхэд бидэнд туслах юм.
Бид PR-уудыг мэдээлэх механизмын зорилгоор биш
байгаа асуудлуудыг санаж байх зорилгоор ашигладаг болохоор эхлээд
&a.acpi.name; уруу захидал илгээлгүйгээр PR
битгий илгээгээрэй. Магадгүй таны асуудлыг урд нь өөр хэн нэгэн мэдээлсэн
байж болох юм.
Оршил
ACPI
ACPI нь ia32 (x86), ia64 (Itanium) болон
amd64 (AMD) архитектуруудтай нийцтэй орчин үеийн бүх компьютерт байдаг.
Бүрэн стандарт нь CPU-ны ажиллагааны удирдлага,
тэжээлийн онгоцуудын хяналт, дулааны бүсүүд, төрөл бүрийн батарейний системүүд,
суулгагдсан хянагчууд болон шугамын жагсаалт зэрэг олон боломжуудтай.
Ихэнх системүүд нь бүрэн стандартыг бүгдийг хангасан шийдэлтэй байдаггүй.
Жишээ нь зөөврийн компьютер хөргөх болон бас батарейний удирдлагын дэмжлэгтэй
байхад ширээний систем зөвхөн шугамын жагсаалтын хэсгийн шийдлийг агуулсан байдаг.
Зөөврийн компьютерууд нь бас өөр өөрийн ярвигтай асуудлуудыг агуулсан түр зогсоох болон
үргэлжлүүлэх боломжуудыг агуулдаг.
ACPI-нийцтэй систем нь төрөл бүрийн хэсгүүдтэй байдаг.
BIOS болон бичил схемийн үйлдвэрлэгчид
APIC зураг (SMP-д ашиглагддаг),
тохиргооны регистрүүд болон хялбар тохиргооны утгууд зэрэг зүйлсүүдийг заадаг
төрөл бүрийн тогтмол хүснэгтүүдийг (өөрөөр хэлбэл
FADT) санах ойд хангаж өгдөг. Мөн төхөөрөмжүүд болон
аргуудын мод хэлбэрийн нэрийн талбарыг заадаг байткодын хүснэгтээр
(Differentiated System Description Table буюу Системийн
Ялгаварласан Тайлбарын Хүснэгт DSDT)
бас хангадаг.
ACPI драйвер нь тогтмол хүснэгтүүдийг задлан ялгал
хийх, байткодын тайлбарлагчийг шийдэх болон ACPI дэд
системийн мэдээллийг хүлээн авахаар төхөөрөмжүүдийн драйверууд болон цөмийг
өөрчлөх ёстой. &os;-ийн хувьд &intel; нь Линукс болон NetBSD-тэй хуваалцан
хэрэглэгддэг тайлбарлагчаар хангадаг. ACPI-CA эх кодын
зам нь
src/sys/contrib/dev/acpica.
ACPI-CA-г &os; дээр ажиллуулах тэр цавуу код нь
src/sys/dev/acpica/Osd байршилд байдаг.
Эцэст нь төрөл бүрийн ACPI төхөөрөмжүүдийн драйверууд
src/sys/dev/acpica байршлаас
олддог.
Нийтлэг асуудлууд
ACPI
асуудлууд
ACPI зөв ажиллахын тулд бүх хэсгүүд бас
зөв ажилласан байх ёстой. Энд зарим нэг нийтлэг асуудлуудыг илэрч байгаа
давтамжийн дарааллаар зарим нэг тойрон гарах замууд болон засваруудтайгаар
нь дурдъя.
Хулганы асуудлууд
Зарим тохиолдолд түр зогсоох үйлдэл хийгдсэний дараа үргэлжлүүлэхэд
хулганыг ажиллахгүй болгодог. Мэдэгдэж байгаа тойрон гарах арга зам нь
hint.psm.0.flags="0x3000" мөрийг
/boot/loader.conf файлд нэмэх явдал
юм. Хэрэв энэ нь ажиллахгүй бол дээр тайлбарласны дагуу алдааны
тайлан илгээхийг бодно уу.
Suspend/Resume буюу Түр зогсоох/Үргэлжлүүлэх
ACPI нь RAM уруу
түр зогсоох S1-S3 гэсэн
гурван төлөвтэй (STR) бөгөөд диск уруу түр
зогсоох S4 гэгддэг нэг төлөвтэй
(STD). S5 нь
soft off буюу зөөлөн зогсоолт
бөгөөд тэжээлд залгагдсан
боловч асаагдаагүй байх үеийн таны системийн жирийн төлөв юм.
S4 нь хоёр тусдаа аргаар хийгдэх боломжтой.
S4BIOS нь
BIOS-ийн тусламжтайгаар диск уруу хийгдэх
түр зогсоолт юм. S4OS нь
бүхэлдээ үйлдлийн системээр хийгддэг.
Түр зогсоолттой холбоотой зүйлүүдийг sysctl hw.acpi
тушаалаар шалгаж эхлээрэй. Энд Thinkpad-тай холбоотой үр дүнгүүд байна:
hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.s4bios: 0
Энэ нь бид S3,
S4OS болон
S5-ийг шалгахад
acpiconf -s тушаалыг ашиглаж болно гэсэн үг юм.
Хэрэв нь нэг (1) байх
юм бол бид S4OS-ийн оронд
S4BIOS дэмжлэгтэй байх юм.
Түр зогсоолт/үргэлжлүүлэлтийг тест хийхдээ хэрэв дэмжигдсэн бол
S1-ээс эхлээрэй. Энэ төлөв нь драйверийн дэмжлэг барагтаа л
шаарддаггүй болохоор бараг л ажиллах болно. Хэн ч S2-ийг
хийгээгүй байдаг бөгөөд танд энэ хэрэв байгаа бол энэ нь S1-тэй
адил байна. Дараагийн оролдох зүйл нь S3 юм. Энэ нь
хамгийн гүнзгий STR төлөв бөгөөд таны тоног төхөөрөмжийг
дахин зөв эхлүүлэхийн тулд драйверийн ихээхэн дэмжлэг шаарддаг. Хэрэв
үргэлжлүүлэх үед танд асуудлууд гарч байгаа бол &a.acpi.name; жагсаалт уруу
цахим захидал чөлөөтэй илгээгээрэй, гэхдээ илүү их тест хийлт, ажил шаардсан маш
олон драйверууд/тоног төхөөрөмжүүд байдаг учир асуудал шийдэгдэхийг хүлээх хэрэггүй юм.
Асуудлыг тусгаарлахад туслахын тулд өөрийн цөмөөс аль болох олон драйверуудыг
арилгаарай. Хэрэв энэ нь ажиллаж байвал та яг аль драйвер асуудалтай байгааг
драйверуудыг амжилтгүй ажиллах хүртэл ачаалан тодорхойлж болох юм.
nvidia.ko, X11 дэлгэцийн драйверууд болон
USB зэрэг хоёртын драйверууд нь ерөнхийдөө хамгийн их
асуудлуудтай байдаг байхад Ethernet интерфэйсүүд ихэвчлэн зүгээр ажилладаг.
Хэрэв та драйверуудыг зөв ачаалж/буулгаж чадаж байвал та тохирох тушаалуудыг
/etc/rc.suspend болон
/etc/rc.resume файлуудад хийж үүнийг
автоматжуулж болно. Драйверийг буулгах болон ачаалахад зориулсан тайлбар
болгосон жишээ байдаг. Хэрэв таны дэлгэц үргэлжлүүлэлт хийгдсэний дараа заваарсан
бол -г тэг (0)
болгож үзээрэй. Хэрэв тусламж болохоор бол
-г арай урт эсвэл арай богино утгуудаар
тохируулж үзээрэй.
Өөр нэг турших зүйл нь ACPI дэмжлэгтэй сүүлийн үеийн
Линуксийн түгээлтийг ачаалан тэдний түр зогсоолт/үргэлжлүүлэлтийн дэмжлэгийг адил
тоног төхөөрөмж дээр турших явдал юм. Хэрэв Линукс дээр ажиллаж байвал
энэ нь &os;-ийн драйверийн асуудал гэсэн үг бөгөөд яг аль драйвер асуудлыг үүсгэж
байгааг олсноор асуудлыг засварлахад бидэнд тус болох болно.
ACPI-ийг дэмжиж байдаг дэмжигчид нь өөр бусад
драйверуудыг (өөрөөр хэлбэл дуу, ATA гэх мэт)
ихэвчлэн дэмжин ажилладаггүй болохоор драйверийн асуудлыг мөшгөж хийгдсэн ажил бүр
магадгүй эцсийн эцэст &a.current.name; жагсаалт болон драйверийг дэмжигч
уруу илгээгдэх хэрэгтэйг санаарай. Хэрэв та адал явдлыг эрж байгаа бол
драйверийн үргэлжлүүлэлтийн функцын аль хэсэгт өлгөгдөж байгааг мөшгөхийн тулд
зарим дибаг хийх &man.printf.3;-үүдийг асуудалтай драйверт хийж эхлээрэй.
Эцэст нь ACPI-г хааж оронд нь
APM-г нээж оролдоорой. Хэрэв түр зогсоолт/үргэлжлүүлэлт
APM-тэй байхад ажиллаж байвал та
APM-тэйгээ үлдэх нь ялангуяа хуучин тоног төхөөрөмжийн
(2000 оноос өмнөх) хувьд бараг дээр байх бизээ. ACPI
дэмжлэгийг зөв болгоход үйлдвэрлэгчдэд цаг хугацаа шаардах бөгөөд магадгүй хуучин
тоног төхөөрөмжүүд нь ACPI-ийн хувьд
BIOS-ийн асуудлуудтай ихэвчлэн байдаг.
Систем өлгөгдөх (түр хугацаагаар эсвэл бүрмөсөн)
Ихэнх системийн өлгөгдлүүд нь гээгдсэн тасалдлууд эсвэл тасалдлын
шуургын үр дүн юм. Бичил схемүүд нь ачаалахаас өмнө тасалдлуудыг BIOS
хэрхэн тохируулдгаас болсон асуудлууд, APIC
(MADT) хүснэгтийн зөв байдал болон
System Control Interrupt буюу Системийн Хянагч
Тасалдлын (SCI) чиглүүлэлт дээр
тулгуурласан олон асуудлуудтай байдаг.
тасалдлын шуургууд
Тасалдлын шуургыг vmstat -i тушаалын
гаралтаас acpi0 бүхий мөрийг шалгаж гээгдсэн
тасалдлуудаас ялгаж болно. Хэрэв тоологч секунд тутам хоёроор нэмэгдэж
байвал та тасалдлын шуургатай байна. Хэрэв систем өлгөгдсөн юм шиг байвал
DDB
(консол дээр CTRL
ALTESC)
уруу орж show interrupts гэж бичих хэрэгтэй.
APIC
хаах нь
Тасалдлын асуудлуудтай ажиллаж байхад таны хамгийн шилдэг итгэл найдвар
бол loader.conf-д hint.apic.0.disabled="1"
хэмээн зааж APIC дэмжлэгийг хаах явдал юм.
Үймээнүүд
Үймээнүүд нь ACPI-ийн хувьд харьцангуй ховор
байдаг бөгөөд засварлах нэн тэргүүн ээлжийн асуудал байдаг. Эхний алхам бол
үймээнийг дахин гаргах (хэрэв боломжтой бол) алхмуудыг тусгаарлаж
буцах мөрийг (backtrace) авах явдал юм. options DDB
мөрийг нээж сериал консол (-г үзнэ үү)
тохируулах эсвэл &man.dump.8; хуваалтыг тохируулах зөвлөгөөг дагаарай.
Та буцах мөрийг DDB дээр tr-р
авч болно. Хэрэв та буцах мөрийг гараар бичих болбол мөр дэх хамгийн доодох тав (5)
болон хамгийн дээдэх таван (5) мөрийг хамгийн багадаа бодоход аваарай.
Дараа нь асуудлыг тусгаарлахыг оролдож ACPI-г
хааж ачаалж үзээрэй. Хэрэв энэ нь ажиллаж байвал
-ийн төрөл бүрийн утгуудыг хэрэглэж
та ACPI дэд системийг тусгаарлаж болно. Зарим жишээнүүдийг
&man.acpi.4; гарын авлагын хуудаснаас үзнэ үү.
Түр зогссоны дараа эсвэл унтраасны дараа систем дахин эхлэх
Эхлээд &man.loader.conf.5; дээр
hw.acpi.disable_on_poweroff="0" гэж тохируулаад
үз. Энэ нь унтраах процессийн үед төрөл бүрийн үйл явцуудыг
ACPI хаахыг болиулдаг. Энэ зорилгын нэгэн адил зарим
системүүд энэ утгыг 1 (анхдагч) болгож тохируулахыг
шаарддаг. Энэ нь түр зогсоолт эсвэл унтраалт хийгдсэний дараа аяндаа гарсан
систем асаж эхлэх асуудлыг ихэвчлэн засварладаг.
Бусад асуудлууд
Хэрэв танд ACPI-тай холбоотой бусад асуудлууд
(суулгах станцтай ажиллах, төхөөрөмжүүд илрүүлэгдэхгүй гэх мэт) байвал
тайлбарыг захидлын жагсаалт уруу бас илгээнэ үү; гэхдээ эдгээр асуудлуудын
зарим нь ACPI дэд системийн дуусаагүй хэсгүүдтэй
холбоотой байж болох бөгөөд тэдгээрийг шийдэж хийхэд нэлээн хугацаа зарцуулж
болох юм. Тэвчээртэй байж бидний илгээж болох засваруудыг тест хийхэд
бэлэн байгаарай.
ASL, acpidump, болон
IASL
ACPI
ASL
Хамгийн нийтлэг асуудал бол BIOS үйлдвэрлэгчдийн
гаргасан буруу (эсвэл алдаатай!) байткод юм. Энэ нь ихэвчлэн дараах шиг цөмийн
консол мэдээллүүдээр ил тод болдог:
ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
(Node 0xc3f6d160), AE_NOT_FOUND
Ихэвчлэн та эдгээр асуудлуудыг өөрийн BIOS-ийг
хамгийн сүүлийн хувилбар уруу шинэчилснээр шийдэж болно. Ихэнх консолын
мэдээллүүд нь аюулгүй гэхдээ хэрэв танд батарейний төлөв ажиллахгүй гэх мэт
өөр бусад асуудлууд байгаа бол тэдгээр мэдээллүүд нь AML-д
байгаа асуудлуудыг хайж болох боломжийн газар нь юм.
AML гэгддэг байткод нь ASL
хэмээгддэг эх хэлээс хөрвүүлэгддэг. AML нь
DSDT гэгддэг хүснэгтэд байдаг. Өөрийн
ASL-ийн хуулбарыг авахын тулд &man.acpidump.8;-ийг
ашиглана. Та (тогтмол хүснэгтүүдийн агуулгуудыг үзүүлэх)
болон (AML-ийг
ASL уруу дизассембл хийх) тохируулгыг хоёуланг нь
ашиглах хэрэгтэй. Синтаксын жишээг
Дибаг Мэдээллийг Илгээх нь
хэсгээс үзнэ үү.
Таны хийж болох хамгийн хялбар анхны шалгалт нь алдаануудыг шалгахын тулд өөрийн
ASL-ийг хөрвүүлэх явдал юм. Анхааруулгуудыг ихэвчлэн орхиж
болох боловч алдаанууд нь ACPI-г зөв ажиллуулахад гол төлөв саад
болдог хорхойнууд байдаг. Өөрийн ASL-ийг дахин хөрвүүлэхдээ
дараах тушаалыг ажиллуулна:
&prompt.root; iasl your.asl
Өөрийн ASL-г засварлах нь
ACPI
ASL
Бидний эцсийн зорилго бол бараг хүн болгоны хувьд хэрэглэгчийн ямар ч оролцоогүйгээр
ACPI-г ажиллуулах явдал юм. Гэхдээ өнөөг хүртэл бид
BIOS үйлдвэрлэгчдийн гаргасан нийтлэг алдаануудад
зориулан тойрон гарах арга замуудыг хөгжүүлсээр байгаа билээ.
µsoft;-ийн тайлбарлагч (acpi.sys болон
acpiec.sys) нь стандартыг баримталж байгааг чанд
шалгадаггүй бөгөөд BIOS-ийн олон үйлдвэрлэгчид
ACPI-г зөвхөн &windows; дээр тест хийж өөрсдийн
ASL-ийг хэзээ ч засдаггүй. Бид µsoft;-ийн
тайлбарлагчид зөвшөөрөгдсөн ямар стандартын бус ажиллагаа байгааг үргэлжлүүлэн
нарийн таньж баримтжуулан хэрэглэгчдээр ASL-ийг хүчлэн
засуулалгүйгээр &os; ажиллаж чадахаар түүнийг хуулбарлах болно гэж найдаж байна.
Тойрон гарах арга зам болгон биднийг энэ ажиллагааг танихад тусалж та
ASL-ийг гараар засварлаж болно. Хэрэв таны хувьд энэ нь
ажиллавал хуучин болон шинэ ASL-ийнхээ &man.diff.1;-ийг
илгээнэ үү, бид бололцоогоороо ACPI-CA дахь алдаатай
ажиллагааг тойрон гарч ингэснээр хойшид таны засвар байнга хийгдэх шаардлагагүй
болох юм.
ACPI
алдааны мэдээллүүд
Энд нийтлэг алдааны мэдээллүүд, тэдгээрийн шалтгаан болон хэрхэн засаж болох
жагсаалтыг үзүүлэв:
_OS хамаарлууд
Зарим AML нь ертөнц төрөл бүрийн &windows;
хувилбаруудаас тогтдог гэж үздэг. Хэрэв танд байгаа асуудлыг засаж чадаж байвал
та &os;-г ямар нэг OS гэж харагдуулахаар хэлж өгч болно.
Үүнийг хялбар аргаар дарж бичихийн тулд /boot/loader.conf-д
hw.acpi.osname="Windows 2001" гэж эсвэл
ASL дахь өөр бусад адил мөрүүдийг тохируулж өгнө.
Буцах мэдээллүүд байхгүй бол
Зарим аргууд нь стандартын дагуу шууд утга буцаадаггүй.
ACPI-CA нь үүнтэй ажиллаж чадахгүй байхад
&os; үүнийг далдаар утга буцаалгах боломжийг олгодог тойрон гарах арга замтай байдаг.
Хэрэв та утга буцаагдах ёстойг мэдэж байвал шаардлагатай газар нь Return буюу Буцах
мэдээллүүдийг шууд нэмж болно. ASL-ийг
iasl тушаалаар хүчээр хөрвүүлэхдээ
тугийг ашиглана.
Анхдагч AML-ийг дарж өөрчлөх нь
your.asl-ийг өөрчилсний дараа үүнийг
та хөрвүүлэхдээ:
&prompt.root; iasl your.asl
Хөрвүүлэх явцад алдаанууд байсан ч гэсэн та тугийг
нэмж AML-ийг хүчээр үүсгэж болно. Зарим алдаануудыг
(өөрөөр хэлбэл Буцах мэдээллүүд байхгүй гэх мэт) тайлбарлагчийн тусламжтайгаар
автоматаар тойрон гардгийг санаарай.
DSDT.aml нь iasl-ийн
анхдагч гаралт файлын нэр юм. Та өөрийн BIOS-ийн
алдаатай хуулбарын (флэш санах ойд байсаар байгаа) оронд
/boot/loader.conf-ийг дараах байдлаар засварлан
үүнийг ачаалж болно:
acpi_dsdt_load="YES"
acpi_dsdt_name="/boot/DSDT.aml"
Өөрийн DSDT.aml файлын хуулбарыг
/boot сан уруу хуулах хэрэгтэй.
ACPI-аас дибаг мэдээлэл гаргаж авах нь
ACPI
асуудлууд
ACPI
дибаг
ACPI драйвер нь маш уян хатан дибаг хийх боломжтой.
Энэ нь дэд системүүдийн олонлог болон харуулах түвшинг зааж өгөхийг танд зөвшөөрдөг.
Таны дибаг хийхийг хүсэж байгаа дэд системүүд нь давхаргууд
болж заагдсан байдаг бөгөөд ACPI-CA хэсгүүд
(ACPI_ALL_COMPONENTS) болон ACPI тоног төхөөрөмжийн
дэмжлэг (ACPI_ALL_DRIVERS) болж задардаг. Дибаг гаралтын харуулалт нь
үе
ээр заагддаг бөгөөд ACPI_LV_ERROR (зөвхөн алдаануудыг хэлдэг)
тогтмолоос ACPI_LV_VERBOSE (бүгд) хүртэл байдаг. Үе
нь
олон тохируулгуудыг нэг удаа зайгаар зааглан тохируулж болох бит баг (bitmask) юм.
Хэрэв энэ нь маш урт тэгээд консолын мэдээллийн буферийг арилган шинэчилж
байвал та практик дээр гаралтыг бүртгэх сериал консолыг ашиглахыг хүсэж болох юм.
Бие даасан давхаргууд болон түвшингүүдийн бүрэн жагсаалт &man.acpi.4; гарын
авлагын хуудсанд байдаг.
Дибаг гаралт анхдагчаар идэвхжүүлэгдээгүй байдаг. Идэвхтэй болгохын тулд
ACPI хэрэв цөмд хөрвүүлэгдсэн бол
options ACPI_DEBUG мөрийг өөрийн цөмийн тохиргооны
файлд нэмэх хэрэгтэй. Нийтэд нь идэвхтэй болгохын тулд
/etc/make.conf-д
ACPI_DEBUG=1 мөрийг нэмж болно. Хэрэв энэ нь
модуль бол та өөрийн acpi.ko модулийг дараах
маягаар дахин хөрвүүлж болно:
&prompt.root; cd /sys/modules/acpi/acpi
&& make clean &&
make ACPI_DEBUG=1
acpi.ko-г
/boot/kernel-д суулгаад
өөрийн хүссэн давхарга болон түвшинг loader.conf-д
нэмнэ. Энэ жишээ нь ACPI-CA-ийн бүх хэсгүүд болон
бүх ACPI тоног төхөөрөмжийн драйверуудад
(CPU, LID, гэх мэт.)
зориулан дибаг мэдээллүүдийг идэвхжүүлдэг. Энэ нь зөвхөн алдааны мэдээллүүдийг
хамгийн багаар гаргаж харуулна.
debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
debug.acpi.level="ACPI_LV_ERROR"
Хэрэв таны хүссэн мэдээлэл онцгой үйл явцаар эхэлсэн бол (түр зогсоолт болон
үргэлжлүүлэлт гэж бодъё) та loader.conf-ийн
өөрчлөлтүүдийг орхиж оронд нь sysctl-ийг ашиглан
давхарга болон түвшинг ачаалсны дараа зааж онцгой үйл явцад зориулан өөрийн
системийг бэлдэж болно. sysctl-ууд нь
loader.conf дахь тохируулгуудын адилаар
нэрлэгддэг.
Лавлагаанууд
ACPI-ийн талаар дэлгэрэнгүй мэдээллийг
дараах байршлуудаас олж болно:
- The &a.acpi;
+ &a.acpi;
ACPI Захидлын Жагсаалтын Архивууд
Хуучин ACPI Захидлын Жагсаалтын Архивууд
ACPI 2.0 Тодорхойлолт
&os; Гарын авлагын хуудаснууд: &man.acpi.4;,
&man.acpi.thermal.4;, &man.acpidump.8;, &man.iasl.8;,
&man.acpidb.8;
DSDT дибаг эх үүсвэр.
(Compaq-ийг жишээ болгон хэрэглэсэн боловч ерөнхийдөө хэрэгтэй.)
diff --git a/mn_MN.UTF-8/books/handbook/cutting-edge/chapter.sgml b/mn_MN.UTF-8/books/handbook/cutting-edge/chapter.sgml
index d78f68434f..7d3aec4227 100644
--- a/mn_MN.UTF-8/books/handbook/cutting-edge/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/cutting-edge/chapter.sgml
@@ -1,1672 +1,1672 @@
Жим
Мок
Бүтцийг дахин өөрчлөн зохион байгуулж зарим хэсгүүдийг шинэчилсэн
Жордан
Хаббард
Анхлан эхийг бичсэн
Поул-Хэннинг
Камп
Жон
Полстра
Ник
Клэйтон
Цагаанхүүгийн
Ганболд
Орчуулсан
Амжилт ололтын тэргүүнд
Ерөнхий агуулга
&os; нь өөрийн хувилбаруудын хооронд байнгын хөгжүүлэлтийн доор оршин тогтнож
байдаг. Амжилт ололтын тэргүүнд байхыг хүссэн хүн бүхэнд өөрийн системийг хамгийн
сүүлийн үеийн хөгжүүлэлтийн хэлбэрт оруулах хэд хэдэн хялбар арга байдаг.
Амжилт ололтын тэргүүнд байх нь хүн бүхэнд зориулагдаагүйг
анхаарна уу! Энэхүү бүлэг нь хөгжүүлэлтийн системийг дагахыг хүсэх эсвэл гаргасан
хувилбартай үлдэх эсэхийг шийдэхэд танд туслах болно.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
&os.stable; болон &os.current; хөгжүүлэлтийн салбаруудын
ялгаа.
CVSup,
CVS, эсвэл
CTM програмуудын тусламжтай өөрийн системийг
хэрхэн хамгийн сүүлийн хэлбэрт авчрах талаар.
Бүх үндсэн системийг make buildworld
(гэх мэт) ашиглан хэрхэн дахин бүтээж суулгах талаар.
Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:
Өөрийн сүлжээний холболтыг зөв тохируулах ().
Нэмэлт гуравдагч програм хангамжуудыг
хэрхэн суулгахыг мэдэх ().
&os.current; vs. &os.stable;
-CURRENT
-STABLE
FreeBSD-ийн хоёр хөгжүүлэлтийн салбар байдаг: &os.current; болон
&os.stable;. Энэ хэсэгт эдгээр тус бүрийг тайлбарлаж өөрийн системийг тус
тусын модны хувьд хамгийн шинэ хэлбэрт байнга байлгах талаар тайлбарлах болно.
&os.current; эхлээд хэлэлцэгдэх бөгөөд дараа нь &os.stable;-ийн тухай
яригдах болно.
&os;-ийн одоо үеийн хэлбэрт байх нь
Та үүнийг уншихдаа &os.current; нь &os;-ийн хөгжүүлэлтийн
bleeding edge салбар буюу амжилт ололтын хамгийн тэргүүний
салбар
гэдгийг санаарай. &os.current; хэрэглэгчдийг техникийн өндөр
чадавхитай бөгөөд системийн хүнд хэцүү асуудлуудыг өөрсдөө шийдвэрлэх
чадвартай байна гэж тооцдог. Хэрэв та &os;-д анхлан суралцагч бол
үүнийг суулгахаасаа өмнө дахин сайн бодоорой.
&os.current; гэж юу вэ?
хормын агшны хувилбар
&os.current; нь &os;-ийн хамгийн сүүлийн үеийн ажлын эх юм.
Энэ нь хийгдэж байгаа ажлууд, туршилтын өөрчлөлтүүд болон програм хангамжийн
дараагийн албан ёсны хувилбарт байхгүй ч байж болох эсвэл байж ч болох
шилжилтийн аргуудыг багтаадаг. &os;-ийн олон хөгжүүлэгчид &os.current;-ийн
эх кодыг өдөр болгон эмхэтгэн хөрвүүлж байдаг боловч эхийг бүтээх боломжгүй үе бас
байдаг. Эдгээр асуудлууд нь боломжийн хэрээр хурдан шийдэгддэг боловч
&os.current; нь сүйрэл авчрах эсвэл тун их хүссэн ажиллагааг авчрах эсэх нь
та яг ямар агшинд эх кодыг татаж авснаас хамаарах юм!
&os.current; хэнд хэрэгтэй вэ?
&os.current; нь үндсэн 3 сонирхлын бүлэгт зориулагдан
хийгдсэн:
Эх модны зарим хэсэг дээр идэвхтэйгээр ажиллаж байгаа &os;-ийн хүрээний
гишүүд болон current буюу одоо үеийн хэлбэрт
байлгах нь
туйлын шаардлага болсон хүмүүст.
&os.current;-г аль болох ухаалаг байлгахыг хичээж асуудлуудыг шийдвэрлэхэд
цагаа зарах хүсэлтэй байдаг идэвхтэй тест хийгч &os;-ийн хүрээний гишүүд.
Эдгээр хүмүүс нь өөрчлөлтүүд болон &os;-ийн ерөнхий чиглэлд цаг үеийн
саналуудыг тусгахыг хүсэж тэдгээрийг шийдэх засваруудыг илгээдэг бас хүмүүс
юм..
Юу болж байгааг зөвхөн харж мэдэж байхыг хүссэн эсвэл одоо үеийн эхийг
лавлагааны зорилгоор ашиглахыг зөвхөн хүссэн хүмүүс (өөрөөр хэлбэл
ажиллуулах биш унших зорилгоор).
Эдгээр хүмүүс нь хааяа бас санал гаргаж кодонд хувь нэмэр оруулдаг.
&os.current; нь юу Биш вэ?
Та зарим нэг дажгүй шинэ боломж байгааг сонссон учраас бусдаас
түрүүлж урьдчилсан хувилбарын тэдгээр битүүдийг авах таны нэн тэргүүний
арга зам. Шинэ боломжийг авч эхэнд байна гэдэг нь та шинэ алдаанууд,
хорхойнуудыг бас авч эхэнд байна гэсэн үг юм.
Алдааны засваруудыг хурдан авах арга зам. &os.current;-ийн
өгөгдсөн дурын хувилбар нь илэрсэн алдаануудыг засахын хажуугаар бас
магадгүй шинэ алдаанууд бас гаргаж байдаг.
Аль ч үед албан ёсоор дэмжигдсэн
. Бид өөрсдийн
чадлын хирээр хууль ёсны
3 &os.current; бүлгийн
аль нэгэнд хүмүүст бодитоор туслахыг хичээдэг, гэхдээ бидэнд ердөө л
техникийн дэмжлэг үзүүлэх цаг байдаггүй.
Энэ нь бид хүмүүст туслах дургүй өөдгүй муухай хүмүүс учраас гэсэн үг
биш юм (хэрэв бид байгаагүй бол бид &os;-г хийж байхгүй байх байсан).
Бид ердөө л өдрийн хэдэн зуун захидлуудад хариулахын
хажуугаар FreeBSD дээр ажиллаж чаддаггүй!
&os;-г сайжруулах болон туршилтын кодон дээр тавигдсан маш олон
асуултуудад хариулах хоёр сонголтын эхнийхийг хөгжүүлэгчид сонгосон
юм.
&os.current; ашиглах нь
-CURRENT
ашиглах нь
- &a.current.name; болон the &a.cvsall.name; жагсаалтуудад элсэн орно уу.
+ &a.current.name; болон &a.cvsall.name; жагсаалтуудад элсэн орно уу.
Энэ нь зөвхөн сайн санаанаас гадна бас чухал
юм. Хэрэв та &a.current.name; жагсаалтад
ороогүй бол системийн одоогийн төлвийн талаар хүмүүсийн өгч байгаа санал
хүсэлтүүдийг харахгүй учраас бусдын аль хэдийн олоод шийдсэн маш их асуудлууд
дээр магадгүй та бүдрэн төөрөлдөж дуусах биз ээ. Бүр илүү чухал зүйл нь юу вэ гэвэл
таны системийн эрүүл мэндэд эгзэгтэй байж болох чухал мэдээнүүдээс та хоцрох
болно.
&a.cvsall.name; жагсаалт нь кодонд оруулсан өөрчлөлт бүрийн
бүртгэл оруулгыг болзошгүй сөрөг нөлөөнүүдийн талаар тохирсон мэдээллийн
хамтаар танд харах боломжийг олгодог.
Эдгээр жагсаалтууд эсвэл байгаа бусдын аль нэгэнд элсэхийн тулд
&a.mailman.lists.link; хаяг уруу орж элсэхийг хүссэн жагсаалтаа
сонгоорой. Дарааллын үлдсэн зааврууд тэнд байгаа болно.
&os;-ийн толин тусгалаас
эхийг авна. Та үүнийг хоёр аргаар хийж болно:
cvsup
cron
-CURRENT
CVSup ашиглан сүүлийн хэлбэрт аваачих
/usr/share/examples/cvsup санд байх
standard-supfile гэж нэрлэгдсэн
supfile-тай цуг
cvsup програм ашигла.
Энэ нь бүхэл цуглуулгыг нэг л удаа авч дараа нь зөвхөн өөрчлөгдсөнүүдийг
танд авах боломжийг олгодог хамгийн сайшаасан арга юм.
Олон хүмүүс cvsup-г cron-с
ажиллуулж өөрсдийн эхийг хамгийн сүүлийн хэлбэрт автоматаар
аваачдаг. Та дээр дурдсан жишээ supfile-г
өөрчлөн cvsup-г өөрийн орчны хувьд
тохируулах хэрэгтэй.
-CURRENT
CTM ашиглан сүүлийн хэлбэрт аваачих
CTM хэрэгслийг ашигла.
Хэрэв та маш муу холболттой (өндөр үнэтэй холболтууд эсвэл
зөвхөн цахим захидлын хандалт) бол CTM
нь сонголт болох юм. Гэхдээ энэ нь бөөн зовлон бөгөөд та эвдэрсэн
файлуудтай үлдэж болох юм. Энэ нь үүнийг ховор ашиглахад хүргэдэг бөгөөд
ингэснээр ажиллахгүй байх боломжийг нэлээн удаан хугацаагаар ихэсгэдэг.
Бид 9600 bps модем болон түүнээс хурдан холболттой хүмүүст
CVSup-г
ашиглахыг зөвлөдөг.
Хэрэв та эхийг зөвхөн харахаар биш ажиллуулахаар татаж авч байгаа бол
зөвхөн сонгосон хэсгүүдийг биш &os.current;-ийн бүх
эхийг татаж аваарай. Үүний шалтгаан нь эхийн төрөл бүрийн хэсгүүд нь бусад хаа нэгтээ байгаа
шинэчлэлтүүдээс хамаардаг бөгөөд зөвхөн хэсэг бүлэг эхийг хөрвүүлэхийг оролдох нь
таныг бараг л баталгаатайгаар асуудалтай учруулах болно.
-CURRENT
хөрвүүлэх
&os.current;-ийг хөрвүүлэхээсээ өмнө /usr/src
дахь Makefile-г анхааралтай уншина уу.
Эхний удаа та хамгийн багаар бодоход шинэчлэлтийн процессийн хэсэг болох шинэ цөмийг суулгаж ертенцийг дахин бүтээх хэсгээр
дамжих хэрэгтэй. &a.current; болон /usr/src/UPDATING
файлыг унших нь биднийг дараагийн хувилбар уруу шилжихэд заримдаа шаардлагатай
болдог бусад эхлүүлэх процедуруудын хувьд хамгийн сүүлийн мэдээлэлтэй байлгах
боломжийг бидэнд олгодог.
Идэвхтэй бай! Хэрэв та &os.current; ажиллуулж байгаа бол
түүний талаар таныг юу хэлэхийг ялангуяа хэрэв танд өргөжүүлэлт эсвэл
алдааны засваруудын талаар санал хүсэлт байвал түүнийг бид мэдэхийг
хүсдэг юм. Хавсаргасан кодтой санал хүсэлтүүдийг хамгийн их урам зоригтойгоор
хүлээн авдаг билээ!
&os;-ийн тогтвортой хэлбэрт байх нь
&os.stable; гэж юу вэ?
-STABLE
&os.stable; нь үндсэн хувилбарууд гардаг бидний хөгжүүлэлтийн салбар юм.
Өөрчлөлтүүд нь эхлээд тест хийгдэх зорилгоор &os.current; уруу ордог гэсэн
ерөнхий төсөөлөл/таамаглалтайгаар янз бүрийн зөвшөөрлөөр энэ салбар уруу
ордог. Энэ нь одоо болтол хөгжүүлэлтийн салбар
бөгөөд гэхдээ энэ нь ямар ч үед &os.stable;-д зориулагдсан эх нь ямар ч зорилгод
тохирч эсвэл тохирохгүй байж болно гэсэн үг юм. Энэ нь эцсийн хэрэглэгчид
зориулагдсан эх үүсвэр бус ердөө л өөр нэг инженерчлэлийн хөгжүүлэлтийн арга зам
юм.
&os.stable; хэнд хэрэгтэй вэ?
Хэрэв та FreeBSD-ийн хөгжүүлэлтийн процессод хувь нэмэр оруулах сонирхолтой,
энэ нь ялангуяа FreeBSD-ийн дараагийн гарах
хувилбартай холбоотой байдаг,
эсвэл юу болж байгааг мэдэж байх сонирхолтой байгаа бол та дараах
&os.stable;-г бодолцох хэрэгтэй.
Аюулгүй байдлын засварууд бас &os.stable; салбар уруу орж байдаг нь
үнэн боловч та үүнийг хийхийн тулд &os.stable;-г заавал дагах
хэрэггүй. FreeBSD-ийн аюулгүй байдлын
зөвлөмжүүд нь тухайн хувилбарт хамааралтай асуудлыг хэрхэн засах тухай
тайлбарладаг
Энэ нь бүр яг үнэн биш юм. Бид FreeBSD-ийн хуучин хувилбаруудыг
үргэлж дэмжиж чадахгүй, гэхдээ бид тэдгээрийг олон жилийн турш дэмжсээр
ирсэн. FreeBSD-ийн хуучин хувилбаруудын одоогийн аюулгүй байдлын бодлогын
бүрэн тайлбарыг http://www.FreeBSD.org/security/-с
үзнэ үү.
бөгөөд зөвхөн аюулгүй байдлын үүднээс бүхэл бүтэн хөгжүүлэлтийн салбарыг
дагаж байна гэдэг бас зөндөө олон хүсээгүй өөрчлөлтүүдийг авчрах
магадлалтай юм.
Бид &os.stable; салбар үргэлж хөрвүүлэгдэн эмхэтгэгдэж дандаа ажилладаг байлгахаар
чармайж байдаг боловч энэ нь баталгаатай биш юм. Нэмж хэлэхэд код нь &os.stable;-д
орохоосоо өмнө &os.current;-д хөгжүүлэгдэж байдаг боловч &os.current;-г
ашиглан ажиллуулдгаас илүү &os.stable;-г хүмүүс ажиллуулдаг болохоор
&os.current;-ийн хувьд илэрхий биш байсан алдаанууд болон булангийн тохиолдлууд
&os.stable;-д илрэх нь заримдаа зайлшгүй юм.
Эдгээр шалтгаануудаас болоод бид &os.stable;-г сохроор дагахыг танд
зөвлөдөггүй бөгөөд энэ нь
өөрийн хөгжүүлэлтийн орчиндоо кодыг эхлээд сайтар тест хийлгүйгээр
үйлдвэрлэлд (production) ашиглаж байгаа серверүүдээ &os.stable;
уруу шинэчлэхгүй байхад танд ялангуяа чухал ач холбогдолтой юм.
Хэрэв танд үүнийг хийх эх үүсвэрүүд байхгүй бол бид FreeBSD-ийн хамгийн сүүлийн үеийн
хувилбарыг ажиллуулж хоёртын шинэчлэлт хийх аргыг хувилбараас хувилбар уруу шилжихдээ
ашиглахыг танд зөвлөж байна.
&os.stable; ашиглах нь
-STABLE
ашиглах нь
&a.stable.name; жагсаалтад элсэн орно уу. Энэ нь
&os.stable;-д илэрч болох бүтээлтийн хамаарлууд эсвэл
тусгайлсан анхаарал шаардлагатай өөр бусад асуудлуудын талаар
танд мэдээлж байх болно. Хөгжүүлэгчид нь зарим нэг маргаантай засвар
эсвэл шинэчлэлийн талаар бодож байгаа талаараа бас энэ захидлын жагсаалтад
мэдээлдэг бөгөөд ийнхүү санал болгож байгаа өөрчлөлтийн талаар хэрэглэгчдэд
ямар нэг асуудал байвал тэдэнд эргээд хариу өгөх боломж олгодог юм.
&a.cvsall.name; жагсаалт нь кодонд оруулсан өөрчлөлт бүрийн
бүртгэл оруулгыг болзошгүй сөрөг нөлөөнүүдийн талаар тохирсон мэдээллийн
хамтаар танд харах боломжийг олгодог.
Эдгээр жагсаалтууд эсвэл байгаа бусдын аль нэгэнд элсэхийн тулд
&a.mailman.lists.link; хаяг уруу орж элсэхийг хүссэн жагсаалтаа
сонгоорой. Дарааллын үлдсэн зааврууд тэнд байгаа болно.
Хэрэв та шинэ систем суулгаж &os.stable;-ээс бүтээсэн сар бүрийн хормын
агшны хувилбарыг түүн дээр ажиллуулахыг хүсэж байгаа бол дэлгэрэнгүй
мэдээллийн талаар
Хормын агшны хувилбарууд вэб хуудаснаас шалгана уу.
Үүнээс гадна хамгийн сүүлийн үеийн &os.stable; хувилбарыг
толин тусгалын хаягуудаас
татан авч суулгах боломжтой бөгөөд доор дурдсан заавруудыг дагаж
өөрийн системийг хамгийн сүүлийн үеийн &os.stable; эх код уруу
шинэчилж болох юм.
Хэрэв та &os;-ийн урдны хувилбар аль хэдийн ажиллуулж байгаа бөгөөд
эхээс шинэчлэхийг хүсэж байгаа бол &os;-ийн
толин тусгал хуудасаас хялбараар
хийж болно. Үүнийг хоёр аргаар хийж болно:
cvsup
cron
-STABLE
CVSup ашиглан сүүлийн хэлбэрт аваачих
/usr/share/examples/cvsup санд байх
standard-supfile гэж нэрлэгдсэн
supfile-тай цуг
cvsup програм ашигла.
Энэ нь бүхэл цуглуулгыг нэг л удаа авч дараа нь зөвхөн өөрчлөгдсөнүүдийг
танд авах боломжийг олгодог хамгийн сайшаасан арга юм.
Олон хүмүүс cvsup-г cron-с
ажиллуулж өөрсдийн эхийг хамгийн сүүлийн хэлбэр автоматаар
аваачдаг. Та дээр дурдсан жишээ supfile-г
өөрчлөн cvsup-г өөрийн орчны хувьд
тохируулах хэрэгтэй.
-STABLE
CTM ашиглан сүүлийн хэлбэрт аваачих
CTM хэрэгслийг ашигла.
Хэрэв танд Интернэт уруу холбогдсон хурдан хямд холболт байхгүй бол
энэ аргыг та ашиглах хэрэгтэй.
Гол нь хэрэв та эхэд хурдан, шаардлагын улмаас хандах хэрэгтэй болоод
холболтуудын зурвасын өргөн ач холбогдолгүй бол cvsup эсвэл
ftp ашиглаарай. Бусад тохиолдолд
CTM-г ашигла.
-STABLE
хөрвүүлэх нь
&os.current;-ийг хөрвүүлэхээсээ өмнө /usr/src
дахь Makefile-г анхааралтай уншина уу.
Эхний удаа та хамгийн багаар бодоход шинэчлэлтийн процессийн хэсэг болох шинэ цөмийг суулгаж ертенцийг дахин бүтээх хэсгээр
дамжих хэрэгтэй. &a.current; болон /usr/src/UPDATING
файлыг унших нь биднийг дараагийн хувилбар уруу шилжихэд заримдаа шаардлагатай
болдог бусад эхлүүлэх процедуруудын хувьд хамгийн сүүлийн мэдээлэлтэй байлгах
боломжийг бидэнд олгодог.
Өөрийн эхийг хамгийн сүүлийн хэлбэрт аваачих нь
Интернетийн (эсвэл цахим захидал) холболт ашиглан &os; төслийн эхүүдийн аль ч
хэсгийн хувьд эсвэл таны юу сонирхож байгаагаас хамааран бүх хэсгүүдийг
хамгийн шинэ байлгаж байх төрөл бүрийн аргууд байдаг. Бидний санал болгодог үндсэн
үйлчилгээнүүд бол Anonymous буюу нэргүй
CVS, CVSup болон CTM юм.
Өөрийн эх модны зөвхөн зарим хэсгийг шинэчлэх боломжтой боловч
цорын ганц шинэчлэх арга бол модыг бүтнээр нь шинэчилж хэрэглэгчийн талбар
(өөрөөр хэлбэл /bin болон
/sbin гэх мэт дэх хэрэглэгчийн талбарт ажилладаг
бүх програмууд) болон цөмийн эхүүдийг дахин эмхэтгэх явдал юм. Өөрийн эх модны
зөвхөн нэг хэсэг зөвхөн цөм эсвэл зөвхөн хэрэглэгчийн талбарыг шинэчлэх нь
асуудлууд гарахад ихэвчлэн хүргэдэг. Эдгээр асуудлууд нь эмхэтгэлтийн үеийн
алдаануудаас авахуулаад цөмийн сүйрлүүд эсвэл өгөгдлийн эвдрэлийг хүртэл
хамардаг.
CVS
anonymous буюу нэргүй
Нэргүй CVS болон
CVSup нь эхийг шинэчлэхдээ
татах загварыг хэрэглэдэг.
CVSup-ийн хувьд хэрэглэгч (эсвэл
cron скрипт) cvsup
програмыг эхлүүлэн хаа нэгтээ байгаа cvsupd
серверт хандаж таны өөрийн файлуудыг хамгийн шинэ хэлбэрт авчирдаг.
Таны хүлээн авах шинэчлэлтүүд нь хамгийн сүүлийн минут хүртэлх үеийнх
байх бөгөөд та тэдгээрийг зөвхөн өөрийн хүссэн тэр үедээ авдаг. Та өөрийн
шинэчлэлтүүдийг таны сонирхож байгаа тусгайлсан файлууд эсвэл сангуудаар
хялбараар хязгаарлаж болно. Шинэчлэлтүүд нь таны юуг авахыг хүссэн болон танд
юу байгаагаас хамааран серверээр тухайн үед үүсгэгддэг.
Нэргүй CVS нь алсын CVS repository
буюу кодын архиваас өөрчлөлтүүдийг шууд татахыг түүнд зөвшөөрдөг
CVS-ийн ердөө л нэг өргөтгөл бөгөөд
үүгээрээ CVSup-с арай илүү хялбар юм.
CVSup нь үүнийг хамаагүй илүү
үр дүнтэйгээр хийж чаддаг боловч Нэргүй CVS-г
ашиглахад илүү хялбар байдаг.
CTM
Нөгөө талаас CTM нь танд байгаа эхийг
мастер архив дахь эхтэй лавлаж асуух зарчмаар харьцуулдаггүй бөгөөд өөрөөр хэлбэл
тэдгээрийг татаж авдаггүй. Ингэхийн оронд харин өмнө нь ажиллуулснаас хойшхи
файл дахь өөрчлөлтүүдийг таньдаг скрипт өдөрт хэд хэдэн удаа мастер CTM машин
дээр ажиллаж илэрсэн өөрчлөлтүүдийг шахаж дарааллын-дугаар тавин цахим
захидлаар дамжуулахад зориулан кодчилдог (зөвхөн хэвлэгдэх боломжтой ASCII
хэлбэрээр). Эдгээр CTM дельтануудыг
авсаны дараа
тэдгээрийг автоматаар декод хийж шалган хэрэгчид байгаа эхийн хуулбарт
өөрчлөлтүүдийг хийх &man.ctm.rmail.1; хэрэгсэл уруу өгдөг. Энэ процесс
нь CVSup-с хамаагүй илүү үр дүнтэй
бөгөөд энэ нь татах биш харин
түлхэх загвар учраас бидний серверийн эх үүсвэрт
бага ачаалал учруулдаг юм.
Мэдээж үүнээс гадна харилцан сул болон давуу талуудтай асуудлууд байдаг.
Хэрэв та санамсаргүйгээр өөрийн архивын хэсгийг устгачих юм бол
CVSup үүнийг илрүүлж эвдэрсэн хэсгүүдийг
дахин бүтээж өгдөг. CTM ингэж
хийдэггүй бөгөөд хэрэв та өөрийн эх модны зарим хэсгийг устгасан
(бас нөөцлөн аваагүй) бол та дахин шинээр эхнээс нь (хамгийн сүүлийн үеийн
CVS суурь дельтагаас
) эхэлж
CTM-ийн тусламжтайгаар бүгдийг дахин бүтээх
буюу эсвэл Нэргүй CVS-ийн тусламжтайгаар
муу битүүдийг ердөө л устгаж дахин сүүлийн хэлбэрт аваачих хэрэгтэй болно.
Ертөнц
ийг дахин бүтээх нь
Ертөнц
ийг дахин бүтээх нь
Та өөрийн локал эх модоо &os;-ийн тухайн хувилбарын (&os.stable;,
&os.current;, гэх зэрэг) хамгийн сүүлийн үеийн хэлбэрт аваачсаныхаа
дараа та эх модоо ашиглан системийг дахин бүтээж болно.
Нөөц хий
Та дээрхийг хийхээсээ өмнө өөрийн системийг
нөөцлөн авах нь ямар чухал болохыг энэ нь хангалттай хэлж өгч чаддаггүй.
Ертөнцийг дахин бүтээх нь (хэрэв та эдгээр заавруудыг дагасан тохиолдолд)
хялбар боловч таныг алдаа гаргахад эсвэл бусдын эх модонд хийсэн алдаанууд
нь таны системийг ачаалагдахгүй болгох нөхцөлд зайлшгүй хүргэдэг.
Нөөц хийж авсан эсэхээ шалгаарай. Засварлах уян диск эсвэл ачаалагдах
CD-г гарын дор байлгаарай. Магадгүй та үүнийг хэзээ ч хэрэглэхгүй байж болох
юм, гэхдээ харамсахаасаа өмнө аюулгүй байж байх нь илүү дээр юм!
Тохирох захидлын жагсаалтад бүртгүүл
захидлын жагсаалт
&os.stable; болон &os.current; салбарууд нь угаасаа
хөгжүүлэлтэд байдаг. &os;-д хувь нэмэр
оруулж байгаа хүмүүс нь хүн л учраас алдаанууд заримдаа гардаг.
Заримдаа эдгээр алдаанууд нь нэг их хор хөнөөлгүй бөгөөд ердөө л таны
системийг шинэ оношлогооны анхааруулга хэвлэхэд хүргэдэг. Эсвэл
өөрчлөлт нь сүйрлийн байж болзошгүй байдаг бөгөөд таны системийг ачаалагдахгүй
болгож эсвэл файлын системүүдийг чинь устгаж (эсвэл бүр муу юм болж) болох юм.
Эдгээртэй адил асуудлууд гарвал асуудлын учир шалтгаан болон аль систем дээр
энэ асуудал хамааралтайг тайлбарласан heads up буюу бүхний сонорт
хандсан зарлал тохирох захидлын жагсаалтад илгээгддэг. Тэгээд
all clear буюу бүгд цэвэр
зарлал асуудал шийдэгдсэний дараа
тавигддаг.
Хэрэв та &os.stable; эсвэл &os.current;-ийг дагахыг оролдож &a.stable;
эсвэл &a.current;-г харгалзуулан уншихгүй байгаа бол энэ нь та өөртөө гай төвөг асууж
байна л гэсэн үг юм.
make world тушаалыг бүү ашигла
Ихэнх хуучин баримтууд үүнд зориулан make world
тушаалыг ашиглахыг зөвлөдөг. Энэ тушаалыг ажиллуулснаар зарим нэг чухал алхмуудыг
алгасах бөгөөд та юу хийж байгаагаа мэдэж байгаа тохиолдолд үүнийг зөвхөн ашиглах
хэрэгтэй. Бараг ихэнх тохиолдолд make world хийх нь
буруу зүйл бөгөөд энд тайлбарласан процедурыг түүний оронд ашиглах ёстой юм.
Шалгагдсан аргаар өөрийн системийг шинэчлэх нь
Өөрийн системийг шинэчлэхийн тулд өөрт чинь байгаа эхийн хувилбарт шаардлагатай байгаа
бүтээхээс урьдах алхмууд та /usr/src/UPDATING
файлд байгаа эсэхийг шалгах хэрэгтэй бөгөөд үүний дараа доор дурдсан процедурыг
ашиглана:
&prompt.root; make buildworld
&prompt.root; make buildkernel
&prompt.root; make installkernel
&prompt.root; reboot
buildworld алхмаас өмнө
mergemaster -p тушаалыг нэмж ажиллуулах
цөөн ховор тохиолдлууд байдаг. Эдгээрийн талаар UPDATING
файлд тайлбарласан байдаг. Хэрэв та &os;-ийн нэг буюу олон голлох
хувилбаруудын дагуу шинэчлэл хийхгүй байгаа бол ерөнхийдөө энэ алхмыг
эмээлгүйгээр орхиж болох юм.
installkernel амжилттай дууссаны
дараа та ганц хэрэглэгчийн горим уруу ачаалах хэрэгтэй (өөрөөр хэлбэл
boot -s тушаалыг дуудагч мөрөөс ашиглана).
Дараа нь доор дурдсан тушаалуудыг ажиллуулна:
&prompt.root; mergemaster -p
&prompt.root; make installworld
&prompt.root; mergemaster
&prompt.root; reboot
Тайлбаруудыг цааш уншина уу
Дээр тайлбарласан дараалал нь зөвхөн таныг эхлэхэд туслах богино
сэргээлт болох юм. Гэхдээ хэрэв та ялангуяа өөрчлөн тохируулсан
цөмийн тохиргоо ашиглахыг хүсэж байгаа бол дараах хэсгүүдийг уншиж
алхам бүрийг сайтар ойлгох хэрэгтэй.
/usr/src/UPDATING файлыг унш
Өөр юм хийж эхлэхээсээ өмнө та /usr/src/UPDATING-г
(эсвэл эх кодын хуулбар хаана байгаа тэндээс үүнтэй төстэй файлыг ) уншаарай.
Энэ файл нь танд учирч болзошгүй асуудлуудын талаар чухал мэдээлэл агуулдаг бөгөөд
эсвэл таны ажиллуулах зарим нэг тушаалуудын дарааллын талаар заасан байдаг.
Хэрэв UPDATING файл таны энд уншсантай зөрчилдөж
байвал UPDATING файлд заасныг дагах хэрэгтэй.
UPDATING файлыг унших нь өмнө нь тайлбарласнаар
зөв захидлын жагсаалтад бүртгүүлэхтэй харьцуулах юм бол хүлээн зөвшөөрч болохуйц
орлогч байж чадахгүй юм. Энэ хоёр шаардлага нь нэмэлт бөгөөд заавал шаардлагатай
биш юм.
/etc/make.conf файлыг шалга
make.conf
/usr/share/examples/etc/make.conf
болон /etc/make.conf файлыг шалгаарай.
Эхнийх нь зарим нэг анхдагч тодорхойлолтуудыг агуулдаг – тэдгээрийн
ихэнх нь тайлбар болон хаагдсан байдаг. Та системээ эхээс нь дахин бүтээх үедээ
тэдгээрийг ашиглахын тулд /etc/make.conf
файлд нэмэх хэрэгтэй. /etc/make.conf файлд
нэмсэн болгон make тушаалыг ажиллуулах бүрд
бас ашиглагддаг учир өөрийн системдээ зориулан тэдгээрийг боломжийн утгаар
тохируулж өгөх нь зүйтэй юм.
Ердийн хэрэглэгч /usr/share/examples/etc/make.conf
файлд байдаг CFLAGS болон
NO_PROFILE мөрүүдийг
/etc/make.conf уруу хуулж
тэдгээрийг тайлбар болгосныг болиулж нээхийг магадгүй хүсэж
болох юм.
Бусад тодорхойлолтуудыг (COPTFLAGS,
NOPORTDOCS гэх зэрэг) шалгаж танд хамаатай
эсэхээс хамаарч оруулах эсэхээ шийдээрэй.
/etc дэх файлуудыг шинэчил
/etc сан нь таны системийн тохиргооны мэдээллийн
ихэнх хэсгийг агуулдгаас гадна системийг эхлүүлэхэд ажилладаг скриптүүд энд байдаг.
Эдгээр скриптүүдийн зарим нь FreeBSD-ийн хувилбараас хувилбарт өөрчлөгддөг.
Тохиргооны файлуудын зарим нь бас системийг ажиллуулахад өдөр тутам хэрэглэгддэг.
Ялангуяа /etc/group-г дурдаж болно.
make installworld тушаалын суулгалт хийх хэсэг нь
зарим нэг хэрэглэгчийн нэр эсвэл бүлгүүд байж байна гэж тооцдог тохиолдлууд байдаг.
Шинэчлэл хийж байх үед эдгээр хэрэглэгчид эсвэл бүлгүүд ихэнхдээ байхгүй байдаг.
Энэ нь шинэчлэл хийхэд асуудал учруулдаг. Зарим тохиолдолд make buildworld
нь эдгээр хэрэглэгчид эсвэл бүлгүүд байгаа эсэхийг шалгана.
Үүний нэг жишээ нь smmsp хэрэглэгч нэмэгдсэн
тохиолдол юм. &man.mtree.8; нь /var/spool/clientmqueue-г
үүсгэхийг оролдох үед хэрэглэгчийн суулгалтын процесс энэ асуудлаас болж амжилтгүй
болж байсан.
Үүний шийдэл нь &man.mergemaster.8;-г ертөнцийг бүтээхээс урд
тохируулгатай ажиллуулах явдал юм. Энэ нь buildworld
эсвэл installworld тушаалыг амжилттай болгоход
зөвхөн шаардлагатай файлуудыг харьцуулдаг. Хэрэв таны хуучин mergemaster
хувилбар тохируулгыг дэмждэггүй бол эх модон дахь шинэ хувилбарыг
эхний удаа ажиллуулахдаа ашиглаарай:
&prompt.root; cd /usr/src/usr.sbin/mergemaster
&prompt.root; ./mergemaster.sh -p
Хэрэв та ялангуяа хэтэрхий санаа зовж байгаа бол тухайн бүлэгт харьяалагдаж байгаа
нэрийг нь өөрчилж байгаа эсвэл устгаж байгаа ямар файлууд байгааг өөрийн системээс
шалгаарай:
&prompt.root; find / -group GID -print
дээрх нь GID (энэ бүлгийн нэр байж болно эсвэл
бүлгийн тоон ID байж болно) бүлгийн эзэмшдэг файлуудыг харуулна.
Ганц хэрэглэгчийн горимд шилж
ганц хэрэглэгчийн горим
Та системийг ганц хэрэглэгчийн горимд эмхэтгэхийг хүсэж болох юм.
Энэ нь шинэчлэлтийг арай илүү хурдасгах илэрхий ашиг тустайгаас гадна
системийг дахин суулгах нь системийн стандарт хоёртын файлууд,
libraries буюу туслах сангууд, оруулгын файлууд гэх зэрэг системийн
маш олон чухал файлуудыг хөнддөг. Ажиллаж байгаа систем дээр эдгээрийг
өөрчлөх нь (ялангуяа хэрэв тухайн үед таны систем дээр идэвхтэй хэрэглэгчид
байвал) гай төвгийг өөрөө эрж байна гэсэн үг юм.
олон хэрэглэгчийн горим
Өөр нэг арга бол системийг олон хэрэглэгчийн горимд эмхэтгэж дараа нь
суулгахдаа ганц хэрэглэгчийн горимд шилжин хийх явдал юм. Хэрэв та энэ замаар
хийхийг хүсэж байвал бүтээлт дуустал дараах алхмууд дээр хүлээж байгаарай.
Та installkernel эсвэл
installworld хийх хүртлээ ганц хэрэглэгчийн горимд
оролгүйгээр хүлээж байж болно.
Супер хэрэглэгч болоод та доор дурдсаныг:
&prompt.root; shutdown now
ажиллаж байгаа системээс ганц хэрэглэгчийн горим уруу оруулахдаа
ажиллуулж болно.
Өөр нэг арга нь системийг дахин ачаалаад ачаалалтын тушаал хүлээх мөрөн дээр
single user буюу ганц хэрэглэгч
тохируулгыг сонгоорой.
Ингэхэд систем ганц хэрэглэгчийг ачаална. Бүрхүүлийн тушаал хүлээх мөрөнд та
доор дурдсан тушаалуудыг ажиллуулах шаардлагатай:
&prompt.root; fsck -p
&prompt.root; mount -u /
&prompt.root; mount -a -t ufs
&prompt.root; swapon -a
Энэ нь файлын системүүдийг шалгаж /-г
дахин унших/бичихээр дахин холбож бусад бүх UFS файлын системүүдийг
/etc/fstab-д заасны дагуу холбон дараа нь
swap-ийг идэмвхжүүлэх болно.
Хэрэв таны CMOS цаг нь GMT биш локал хугацаагаар тохируулагдсан бол
(хэрэв &man.date.1; тушаалын гаралт зөв цаг болон бүсийг харуулахгүй
бол энэ нь үнэн) та дараах тушаалыг бас ажиллуулах хэрэгтэй болж
болох юм:
&prompt.root; adjkerntz -i
Энэ нь таны локал цагийн бүсийн тохируулгуудыг зөвөөр тохируулж өгдөг —
үүнийг хийхгүй бол та дараа нь зарим асуудлуудтай тулгарч магадгүй.
/usr/obj-г устга
Системийн хэсгүүд дахин бүтээгдсэнийхээ дараа (анхдагчаар)
/usr/obj дахь сангуудад байршдаг. Эдгээр сангууд нь
/usr/src доторхийг халхалдаг.
Та make buildworld процессийг хурдасгаж болох бөгөөд
энэ санг бас устгаснаар хамаарлын зовлонгуудаас өөрийгөө магадгүй аврах болно.
/usr/obj доторхи зарим файлуудад immutable
буюу хувиршгүй туг тавигдсан (дэлгэрэнгүй мэдээллийг &man.chflags.1;-с үзнэ үү )
байж болох бөгөөд түүнийг эхлээд арилгах хэрэгтэй.
&prompt.root; cd /usr/obj
&prompt.root; chflags -R noschg *
&prompt.root; rm -rf *
Үндсэн системийг дахин эмхэтгэ
Гаралтыг хадгалах нь
&man.make.1;-г ажиллуулахдаа гарах үр дүнг өөр файл уруу хадгалах нь
зүйтэй юм. Хэрэв ямар нэг юм болохоо боливол та алдааны мэдэгдлийн хуулбартай
байх болно. Энэ нь танд юу буруутсаныг шинжлэхэд чинь тус болохгүй байж болох боловч
та өөрийн энэ асуудлаа &os;-ийн аль нэг захидлын жагсаалт уруу илгээсэн тохиолдолд
бусдад тус болж болох юм.
Үүнийг хамгийн амраар хийхийн тулд &man.script.1; тушаалыг бүх гаралтыг хадгалах
файлын нэрийг заасан параметрийн хамтаар ашиглана. Та үүнийг ертөнцийг дахин бүтээхээс
өмнөхөн нэн даруй хийж дараа нь процесс дууссаны дараа exit
гэж бичиж гарна.
&prompt.root; script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
&prompt.root; make TARGET
… compile, compile, compile …
&prompt.root; exit
Script done, …
Хэрэв та үүнийг хийх бол гаралтыг /tmp дотор
битгий хадгалаарай. Энэ сан нь таныг дахин ачаалсны
дараа цэвэрлэгдэж болох юм. Энэ файлыг хадгалах арай илүү боломжийн газар нь
/var/tmp (өмнөх жишээн дээрх шиг) эсвэл
root хэрэглэгчийн гэр сан байж болох юм.
Үндсэн системийг эмхэтгэ
Та /usr/src сан дотор байх
шаардлагатай:
&prompt.root; cd /usr/src
(гэхдээ мэдээж таны код өөр газар байгаа тохиолдолд тэр сан уруугаа орох
хэрэгтэй).
make
Ертөнцийг дахин бүтээхдээ та &man.make.1; тушаалыг ашиглана. Энэ
тушаал нь &os;-ийн агуулсан програмууд ямар дарааллаар дахин хэрхэн бүтээгдэх зэргийг
тайлбарласан Makefile файлаас заавруудыг уншдаг.
Таны бичих тушаалын мөрийн ерөнхий хэлбэр нь дараах байдлаар байна:
&prompt.root; make -x -DVARIABLE target
Энэ жишээн дээр нь
&man.make.1; уруу таны дамжуулах тохируулга юм. &man.make.1;-н гарын авлагын хуудаснаас
та дамжуулж болох тохируулгуудын жишээг үзнэ үү.
тохируулга нь Makefile уруу хувьсагч дамжуулж байна.
Makefile-ийн ажиллагаа эдгээр хувьсагчуудаар
хянагдана. Эдгээр нь /etc/make.conf дотор
зааж өгсөн хувьсагчуудтай адил бөгөөд энэ нь тэдгээрийг тохируулах бас нэг өөр
арга юм.
&prompt.root; make -DNO_PROFILE target
тушаал нь профиль хийгдсэн сангууд бүтээгдэх ёсгүйг заах өөр нэг арга бөгөөд
энэ нь /etc/make.conf дахь дараах
NO_PROFILE= true # Avoid compiling profiled libraries
мөрд харгалзах юм.
target нь &man.make.1;-д
таны юу хийхийг хэлж өгдөг. Makefile болгон
өөр өөр targets буюу даалгаврын төрлүүдийг
тодорхойлдог
бөгөөд таны сонгосон төрөл юу болохыг тодорхойлдог.
Зарим төрлүүд Makefile-д жагсаагдсан байх
бөгөөд гэхдээ эдгээр нь таныг ажиллуулахад зориулагдаагүй. Харин тэдгээр нь
системийг дахин бүтээхэд шаардлагатай алхмуудыг хэд хэдэн дэд алхмуудад хуваахын
тулд бүтээх процессод хэрэглэгддэг.
Ихэнх тохиолдолд та &man.make.1; уруу ямар ч параметр дамжуулах
хэрэггүй бөгөөд тэгэхээр таны тушаал дараахтай ижил байж болно:
&prompt.root; make target
дээрх target нь олон бүтээх тохируулгуудын
нэг болно. Эхний төрөл нь үргэлж buildworld
байх ёстой.
Нэртэйгээ адилаар buildworld нь
/usr/obj дотор бүрэн гүйцэд шинэ модыг бүтээх бөгөөд
өөр нэг төрөл болох installworld нь
энэ модыг тухайн машин дээр суулгадаг.
Тусдаа тохируулгуудтай байх нь хоёр шалтгаанаар маш ач холбогдолтой юм.
Нэгдүгээрт энэ нь бүтээлтийг таны ажиллаж байгаа системийн ямар ч хэсэгт нөлөөлөхгүйгээр
аюулгүйгээр хийхийг танд зөвшөөрдөг. Бүтээлт нь өөр дээрээ хийгдэнэ (self hosted)
.
Ийм болохоор та buildworld тушаалыг олон
хэрэглэгчийн горимд ажиллаж байгаа машин дээр буруу нөлөөллөөс айлгүйгээр аюулгүйгээр
хийж болно. Гэхдээ installworld хэсгийн хувьд ганц
хэрэглэгчийн горимд хийхийг танд зөвлөдөг.
Хоёрдугаарт энэ нь сүлжээн дэх олон машинуудыг шинэчлэхэд
NFS холболтуудыг ашиглахыг танд зөвшөөрдөг. Хэрэв танд гурван машин байгаа бөгөөд
A, B болон C
машинуудыг шинэчлэхийг хүсвэл make
buildworld болон make installworld
тушаалыг A дээр ажиллуулна. Дараа нь B болон C
машинууд A дээрх /usr/src
болон /usr/obj сангуудыг NFS холболт хийн
make installworld-г ажиллуулж
бүтээлтийн үр дүнг B болон C дээр
суулгаж болох юм.
world төрөл байсаар байгаа хэдий ч
танд түүнийг ашиглахгүй байхыг зөвлөж байна.
Дараах тушаалыг ажиллуул
&prompt.root; make buildworld
Хэд хэдэн зэрэгцээ процессуудыг үүсгэх тохируулгыг
make тушаалд зааж өгөх боломжтой. Энэ нь олон CPU-тэй
машинууд дээр хамгийн их ашигтай. Гэхдээ эмхэтгэх процессийн ихэнх нь CPU дээр биш
IO дээр ажилладаг болохоор энэ нь бас нэг CPU-тэй машинууд дээр ашигтай юм.
Ердийн нэг CPU-тэй машин дээр та доор дурдсаныг ажиллуулж болох юм:
&prompt.root; make -j4 buildworld
&man.make.1; нь 4 хүртэлх процессийг нэгэн зэрэг ажиллуулах юм. Захидлын
жагсаалтуудад илгээгдсэн туршлагаас харахад энэ нь ерөнхийдөө ажиллагааг хамгийн сайн
хангаж хурдасгадаг байна.
Хэрэв та олон CPU машинтай бөгөөд SMP тохируулагдсан цөм ашиглаж байвал
утгыг 6-аас 10 хүртэл болгож хэр хурдсаж байгааг хараарай.
Хугацаа
ертөнцийг
дахин бүтээх нь
хугацаа
Бүтээхэд шаардагдах хугацаанд олон хүчин зүйлс нөлөөлдөг, гэхдээ
нэлээн сүүлийн үеийн машинуудын хувьд &os.stable; модыг процессийн явцад ямар нэгэн
заль мэх эсвэл дөт зам ашиглалгүйгээр бүтээхэд зөвхөн нэг юм уу эсвэл хоёр цаг л
шаардагдах болох юм. &os.current; модны хувьд арай удах болов уу.
Шинэ цөмийг эмхэтгэж суулга
цөм
суулгах нь
Та өөрийн шинэ системийн давуу талыг бүгдийг нь авахын тулд цөмөө дахин эмхэтгэх
хэрэгтэй. Зарим нэг санах ойн бүтцүүд өөрчлөгдсөн байх талтай бөгөөд
&man.ps.1; болон &man.top.1; зэрэг програмууд нь цөм болон эх кодын хувилбарууд
адил болтол ажилладаггүй болохоор эмхэтгэх нь үнэндээ чухал хэрэгцээтэй юм.
Үүнийг хамгийн хялбараар аюулгүйгээр хийхийн тулд GENERIC
дээр тулгуурласан цөмийг бүтээж суулгах явдал юм. GENERIC нь
таны системийн хувьд хэрэгцээтэй төхөөрөмжүүдийг агуулаагүй байж болох боловч
таны системийг ядаж ганц хэрэглэгчийн горимд ачаалахад шаардлагатай бүгдийг агуулсан
байх ёстой. Шинэ систем зөв ажиллуулахад энэ сайн тест болж өгдөг.
GENERIC-с ачаалж таны систем ажиллаж байгааг шалгасны
дараа та өөрийн ердийн цөмийн тохиргооны файл дээр тулгуурлан шинэ цөмөө бүтээж
болох юм.
&os; дээр шинэ цөм бүтээхээсээ өмнө ертөнцийг бүтээх нь чухал юм.
Хэрэв та өөрчлөн тохируулсан цөмийг бүтээхийг хүсэж тохиргооны файлаа аль
хэдийн үүсгэсэн бол доор дурдсантай адилаар
KERNCONF=MYKERNEL
гэж ашиглаарай:
&prompt.root; cd /usr/src
&prompt.root; make buildkernel KERNCONF=MYKERNEL
&prompt.root; make installkernel KERNCONF=MYKERNEL
Хэрэв та kern.securelevel хувьсагчийг
1-ээс дээш болгон ихэсгэсэн бөгөөд
noschg эсвэл түүнтэй адил тугуудыг өөрийн цөмийн хоёртын
файлд тавьсан бол installkernel хийхийн тулд
та ганц хэрэглэгчийн горимд шилжин орох шаардлагатай байж болох юм. Үгүй бол
та энэ хоёр тушаалыг олон хэрэглэгчийн горимоос ямар ч асуудалгүйгээр
ажиллуулах ёстой. kern.securelevel-ийн талаар
дэлгэрэнгүйг &man.init.8; болон төрөл бүрийн файлын тугуудын талаар дэлгэрэнгүйг
&man.chflags.1; гарын авлагын хуудаснуудаас үзнэ үү.
Ганц хэрэглэгчийн горим уруу дахин ачаалан ор
ганц хэрэглэгчийн горим
Та шинэ цөмийн ажиллагааг шалгахын тулд ганц хэрэглэгчийн горимд дахин
ачаалан орох хэрэгтэй. Үүнийг
дахь заавруудын дагуу хийнэ.
Шинэ системийн хоёртын файлуудыг суулга
Хэрэв та make buildworld тушаалыг ашигласан
саяхны &os;-ийн хувилбарыг бүтээж байгаа бол одоо шинэ системийн хоёртын
файлуудыг суулгахын тулд installworld
тушаалыг ашиглах шаардлагатай.
Доор дурдсаныг ажиллуулна
&prompt.root; cd /usr/src
&prompt.root; make installworld
Хэрэв та make buildworld тушаалын мөрөнд
хувьсагчуудыг зааж өгсөн бол тэдгээр хувьсагчуудыг
make installworld тушаалын мөрөнд бас адилаар
зааж өгөх хэрэгтэй. Энэ бусад тохируулгуудын хувьд заавал шаардлагатай биш
байж болох юм; жишээ нь тохируулга
installworld-той цуг хэзээ ч хэрэглэгдэх
ёсгүй.
Жишээ нь хэрэв та доор дурдсаныг ажиллуулсан бол:
&prompt.root; make -DNO_PROFILE buildworld
хоёртын файлуудыг дараах тушаалаар суулгана:
&prompt.root; make -DNO_PROFILE installworld
ингэхгүй бол make buildworld тушаалын ажиллах
явцад бүтээгдээгүй профиль хийгдсэн сангуудыг (libraries) суулгахыг оролдох болно.
make installworld тушаалаар шинэчлэгдээгүй файлуудыг шинэчил
Ертөнцийг дахин бүтээх нь зарим нэг сангуудыг (ялангуяа /etc,
/var болон /usr) шинэ болон
өөрчлөгдсөн тохиргооны файлуудаар шинэчилдэггүй.
Эдгээр файлуудыг хамгийн амархнаар шинэчлэх арга нь &man.mergemaster.8;-г
ашиглах явдал юм, гэхдээ та хэрэв хүсвэл үүнийг гараар ажиллуулах боломжтой юм.
Аль ч аргыг сонголоо гэсэн ямар нэгэн зүйл буруутсан тохиолдолд сэргээх боломжтойгоор
/etc-г нөөцөлж авах нь зүйтэй юм.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
mergemaster
mergemaster
&man.mergemaster.8; хэрэгсэл нь /etc дэх
таны тохиргооны файлууд болон /usr/src/etc эх модон дахь
тохиргооны файлуудын ялгааг тодорхойлоход танд тусалдаг Bourne скрипт юм.
Энэ нь системийн тохиргооны файлуудыг эх модон дахь тохиргооны файлуудаар шинэчлэх
зориулалттай бидний зөвлөдөг шийдэл юм.
Эхлэхийн тулд өөрийн тушаал оруулах мөрөнд ердөө л mergemaster-г
бичиж түүний эхлэхийг нь хараарай. mergemaster нь түр зуурын
root орчныг /-с доошлуулан бүтээж төрөл бүрийн системийн тохиргооны
файлуудаар дамждаг. Тэдгээр файлууд нь таны системд суулгагдсан файлуудтай харьцуулагддаг.
Энэ үед хоорондоо ялгаатай файлууд &man.diff.1; хэлбэрээр үзүүлэгддэг бөгөөд
тэмдэгтээр нэмэгдсэн эсвэл өөрчлөгдсөн мөрүүдийг
тэмдэгтээр устгагдсан эсвэл шинэ мөрөөр солигдсон мөрүүдийг
харуулдаг. &man.diff.1;-н синтакс болон файлын өөрчлөлтүүдийг хэрхэн үзүүлдэг талаар
дэлгэрэнгүй мэдээллийг &man.diff.1; гарын авлагын хуудаснаас үзнэ үү.
&man.mergemaster.8; нь зөрчилдөөнүүдийг үзүүлсэн файл болгоныг харуулдаг бөгөөд
энэ үед танд шинэ файлыг устгах (түр зуурын файл гэгддэг), түр зуурын файлыг өөрчлөлгүйгээр
суулгах, суусан байгаа файлтай түр зуурын файлыг нийлүүлэх эсвэл &man.diff.1;-н
гаралтыг дахин харах сонголтыг үзүүлэх болно.
Түр зуурын файлыг устгахыг сонгосноор бид одоо байгаа файлаа хэвээр өөрчлөлгүй үлдээж
шинэ хувилбарыг устгахыг хүсэж байгаагаа &man.mergemaster.8;-д хэлж байна гэсэн үг юм.
Хэрэв та одоо байгаа файлаа өөрчлөх шалтгааныг олж харахгүй байгаагаас бусад тохиолдолд
энэ сонголтыг хийхийг зөвлөдөггүй. Та ямар ч үед &man.mergemaster.8; тушаал хүлээх
мөрөн дээр ? гэж бичин тусламж авч болох юм. Хэрэв хэрэглэгч
файлыг орхихоор сонгосон бол энэ нь бусад бүх файлуудтай ажилсны дараа дахин үзүүлэгдэн
хэрэглэгчээс тушаал хүлээх болно.
Өөрчлөгдөөгүй түр зуурын файлыг суулгахыг сонгосноор одоо байгаа файлыг шинээр
сольдог. Ихэнх өөрчлөгдөөгүй файлуудын хувьд энэ нь хамгийн шилдэг сонголт юм.
Файлыг нийлүүлэхийг сонгосноор текст засварлагч болон хоёр файлын агуулгыг танд
харуулах болно. Та дэлгэцийн хоёр талд байрласан тэдгээр хоёр файлыг хоёуланг нь
шалган аль аль талаас нь хэрэгтэй хэсгүүдийг сонгон эцсийн бүтээгдэхүүн гаргаж аван
нийлүүлж болно. Файлууд нь дэлгэцийн хоёр талд байрлан харьцуулагдах явцад
l түлхүүр таны зүүн талын агуулгыг сонгодог бол
r түлхүүр нь таны баруун тал дахь агуулгыг сонгох юм.
Гарах эцсийн үр дүн нь хоёр файлын хоёулангийн хэсгүүдийг агуулсан файл болох бөгөөд
түүнийг дараа нь суулгах боломжтой болох юм. Энэ сонголтыг хэрэглэгчийн тохиргоонуудад
хийгдсэн өөрчлөлтүүдтэй файлуудын хувьд хэрэглэх нь зуршил болжээ.
&man.diff.1;-ээс гарах үр дүнг дахин харахыг сонгосноор өмнө нь
&man.mergemaster.8; файлын өөрчлөлтүүдийг харуулан таны сонголтыг хүлээсний
нэгэн адилыг дахин харуулдаг.
&man.mergemaster.8; системийн файлуудтай ажиллаж дууссаны дараа
танаас бусад сонголтуудыг хийхийг хүлээдэг. &man.mergemaster.8; тушаал
нууц үгийн файлыг дахин бүтээхийг хүсэж байгаа эсэхийг танаас асууж үлдсэн
түр зуурын файлуудыг устгах сонголтыг үзүүлэн дуусдаг.
Гараар шинэчлэх
Хэрэв та гараар шинэчлэхийг хүсвэл гэхдээ та /usr/src/etc
сангаас /etc сан уруу файлуудыг зүгээр л дарж хуулж ажиллуулж
чадахгүй. Зарим файлуудыг эхлээд суулгах
хэрэгтэй. Учир нь
/usr/src/etc сан таны /etc
сангийн хуулбар шиг байхаар харагддагүй. Мөн
/usr/src/etc санд байдаггүй хэрнээ
/etc сан дотор байх шаардлагатай зарим файлууд
байдаг.
Хэрэв та &man.mergemaster.8; (зөвлөсний дагуу) ашиглаж байвал та
дагаагийн хэсэг уруу
орж болно.
Үүнийг гараар хамгийн хялбар аргаар хийхийн тулд файлуудыг шинэ сан уруу
суулгаж нэг бүрчлэн өөрчлөлтүүдийг хайн ажиллах хэрэгтэй.
Өөрт байгаа /etc-г нөөцөл
Онолоор бол автоматаар энэ санд юу ч хүрдэггүй ч үүнд үргэлж итгэлтэй
байх хэрэгтэй. Тэгэхээр өөрийн байгаа /etc санг
хаа нэг аюулгүй газар хуулах хэрэгтэй. Доорхтой адилаар:
&prompt.root; cp -Rp /etc /etc.old
нь рекурсив хуулбар хийх бөгөөд
нь файлуудын хугацаа, эзэмшигч гэх мэтийг
хадгалдаг.
Та шинэ /etc болон бусад файлуудыг суулгахын тулд
хоосон сангууд бүтээх хэрэгтэй. /var/tmp/root нь
боломжийн сонголт болох бөгөөд энэ сангийн доор хэд хэдэн дэд сангууд бас
шаардлагатай болно.
&prompt.root; mkdir /var/tmp/root
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distribution
Энэ нь шаардлагатай сангийн бүтцийг бүтээж файлуудыг суулгадаг.
/var/tmp/root дотор үүсгэгдсэн олон дэд сангууд
хоосон бөгөөд тэдгээрийг устгах шаардлагатай байдаг. Үүнийг хамгийн хялбараар
хийхийн тулд:
&prompt.root; cd /var/tmp/root
&prompt.root; find -d . -type d | xargs rmdir 2>/dev/null
Энэ нь бүх хоосон сангуудыг устгана. (Хоосон биш сангуудын тухай анхааруулгуудыг
гаргахгүйн тулд стандарт алдаа нь /dev/null
уруу илгээгддэг.)
Одоо /var/tmp/root нь /-с
доор байрлах тохирох байрлалуудад байршуулах ёстой бүх файлуудыг агуулсан байх болно.
Та одоо эдгээр файл бүрийг шалгаж танд байгаа файлуудаас хэрхэн ялгаатай болохыг
тогтоох хэрэгтэй.
/var/tmp/root дотор суулгагдсан зарим файлуудын нэр
урдаа .
тэмдэгттэй байдгийг анхаарна уу. Энэ баримтыг бичиж байх үед
ийм файлуудтай адил файлууд /var/tmp/root/ болон
/var/tmp/root/root/ сан дахь бүрхүүлийн эхлүүлэх файлууд
байсан, гэхдээ (таны хэзээ үүнийг уншиж байгаагаас хамаарч) өөр бусад файлууд байхыг
үгүйсгэхгүй. Тэдгээрийг олж харахын тулд ls -a тушаалыг
заавал ашиглаарай.
Үүнийг хамгийн хялбар аргаар хийж хоёр файлыг харьцуулахын тулд &man.diff.1;
тушаалыг ашиглах явдал юм:
&prompt.root; diff /etc/shells /var/tmp/root/etc/shells
Энэ нь таны /etc/shells файл болон
шинэ /var/tmp/root/etc/shells файлын хоорондын
ялгааг харуулна. Эдгээрийг ашиглаж өөрийн хийсэн өөрчлөлтүүдийг нийлүүлэх эсвэл
өөрийн хуучин файл дээрээс хуулах эсэхээ шийдээрэй.
Хувилбаруудын Хоорондох Ялгаануудыг Хялбараар Харьцуулахын Тулд Та
Шинэ Root Сангаа Тухайн Үеийн Хугацаагаар Нэрлээрэй
Ертөнцийг байнга дахин бүтээнэ гэдэг нь /etc-г
та бас байнга шинэчилнэ гэсэн үг бөгөөд энэ нь ердөө л жижиг хэвшмэл ажил юм.
Та энэ процессийг /etc уруу нийлүүлсэн
өөрийн хамгийн сүүлийн өөрчлөгдсөн файлуудыг хадгалснаар хурдасгаж болох юм.
Дараах процедур үүнийг хэрхэн хийж болох нэг санааг өгч байна.
Ертөнцийг жирийнээр бүтээ. /etc болон
бусад сангуудыг шинэчлэхийг хүсэхдээ тухайн цаг дээр тулгуурласан нэр бүхий
санг өг. Хэрэв та үүнийг 1998 оны 2 сарын 14-нд хийж байгаа бол дараах
байдлаар хийнэ:
&prompt.root; mkdir /var/tmp/root-19980214
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root-19980214 \
distrib-dirs distribution
Энэ сангийн өөрчлөлтүүдийг дээр дурдсаны дагуу нийлүүл.
Та дууссаныхаа дараа /var/tmp/root-19980214
санг битгий устгаарай.
Та эхийн хамгийн сүүлийн хувилбарыг татан авч дахин бүтээхдээ 1-р алхмыг дага.
Энэ нь танд шинэ сан өгөх бөгөөд /var/tmp/root-19980221
гэж нэрлэгдсэн байж болох юм (хэрэв та шинэчлэлтүүдийг хийхдээ долоо хоног
хүлээсэн бол).
Та одоо &man.diff.1; ашиглан хоёр сангийн хооронд рекурсив diff үүсгэж
долоо хоногийн хооронд хийгдсэн өөрчлөлтүүдийг харж болно:
&prompt.root; cd /var/tmp
&prompt.root; diff -r root-19980214 root-19980221
Ихэнхдээ энэ нь /var/tmp/root-19980221/etc болон
/etc хоёрын хоорондох өөрчлөлтүүдийг бодох юм бол
харьцангуй бага өөрчлөлтүүд байдаг. Өөрчлөлтүүд нь арай бага болохоор тэдгээр
өөрчлөлтүүдийг өөрийн /etc сан уруу шилжүүлэх нь
илүү хялбар байдаг.
Та одоо хоёр /var/tmp/root-* сангуудын аль хуучныг
устгаж болно:
&prompt.root; rm -rf /var/tmp/root-19980214
/etc уруу өөрчлөлтүүдийг
нийлүүлэх болгондоо энэ процессийг давтах хэрэгтэй.
Та &man.date.1;-г ашиглан сангийн нэрсийг автоматаар үүсгэж
болно:
&prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"`
Дахин ачаалах нь
Та ерөнхийдөө ингээд хийгээд дуусч байна. Та бүх зүйл байх ёстой байрандаа байгаа эсэхийг шалгасныхаа
дараа системийг дахин ачаалж болно. Энгийн &man.shutdown.8; үүнийг
хийх болно:
&prompt.root; shutdown -r now
Дууслаа
Одоо та өөрийн &os; системийг амжилттайгаар шинэчлээд дууссан байх
ёстой. Баяр хүргэе.
Хэрэв юмс шал буруугаар эргэвэл системийн тухайн хэсгийг дахин бүтээхэд амархан
байдаг. Жишээ нь хэрэв та шинэчлэлтийн явцад эсвэл /etc-г
нийлүүлэх явцад санамсаргүйгээр /etc/magic файлыг
устгасан бол &man.file.1; тушаал ажиллахаа болино. Ийм тохиолдолд дараах
засварыг ажиллуулж болох юм:
&prompt.root; cd /usr/src/usr.bin/file
&prompt.root; make all install
Асуултууд
Өөрчлөлт бүрт зориулан ертөнцийг дахин бүтээх хэрэгтэй юу?
Үүнд хялбар хариулт байхгүй, учир нь өөрчлөлтийн цаад утга чанараас
хамаарна. Жишээ нь хэрэв та CVSup-г
дөнгөж ажиллуулахад дараах файлууд шинэчлэгдэж байгааг үзүүлж байгаа бол:
src/games/cribbage/instr.c
src/games/sail/pl_main.c
src/release/sysinstall/config.c
src/release/sysinstall/media.c
src/share/mk/bsd.port.mk
магадгүй бүхэл ертөнцийг дахин бүтээх хэрэггүй байж болох юм.
Та тохирох дэд сангууд уруу орж make all install
гэж тушаалыг өгөөд л болох юм. Хэрэв зарим нэг гол чухал зүйл жишээ нь
src/lib/libc/stdlib өөрчлөгдсөн бол
та ертөнцийг эсвэл хамгийн багаар бодоход статикаар холбогдсон (statically linked)
түүний тэдгээр хэсгүүдийг дахин бүтээх шаардлагатай болно.
Эцсийн эцэст энэ нь танаас л хамаарна. Та жишээ нь хоёр долоо хоног тутам
ертөнцийг дахин бүтээж тэр хоёр долоо хоногийн хугацаанд өөрчлөлтүүдийг
хуримтлуулж байгаадаа сэтгэл хангалуун байж болно. Эсвэл та зөвхөн өөрчлөгдсөн
зүйлсүүдийг дахин бүтээхийг хүсэж магадгүй бөгөөд бүх хамаарлуудыг шийднэ
гэдэгтээ итгэлтэй байх хэрэгтэй.
Тэгээд мэдээж энэ бүхэн таны ямар давтамжтайгаар шинэчлэхийг хүсдэг болон
&os.stable; эсвэл &os.current;-ийн алийг дагаж байгаагаас хамаарах
болно.
Миний эмхэтгэл маш олон дохио 11 (эсвэл бусад дохионы дугаар)
алдаагаар амжилтгүй болсон. Юу болсон юм бол?
дохио 11
Энэ нь ихэвчлэн тоног төхөөрөмжийн асуудлыг илэрхийлдэг.
Ертөнцийг (дахин) бүтээх нь өөрийн тоног төхөөрөмжийг ачаалах тест
хийх үр дүнтэй арга бөгөөд удаа дараа санах ойн асуудлууд байвал
тэдгээрийг илрүүлдэг. Эмхэтгэгч нь сонин/хачин дохионуудыг хүлээн авч
ид шидийн байдлаар амжилтгүй болсноор тэдгээр асуудлууд нь өөрсдийгөө
зарлан тунхагладаг.
Хэрэв та бүтээлтийг дахин эхлүүлээд тэр нь процессийн өөр өөр хэсэгт
амжилтгүй болж байвал энэ нь үүнийг тодоор зааж байна
гэсэн үг юм.
Энэ тохиолдолд та өөрийн машин дахь бүрэлдэхүүн хэсгүүдээ өөрчлөн
нэгээс нөгөөд сольж тавин аль нь ажиллахгүй байгааг олохоос өөр зүйл
хийж чадахгүй л болов уу.
Би дууссаныхаа дараа /usr/obj-г устгаж болох уу?
Товчхондоо бол болно.
/usr/obj нь эмхэтгэх үед бүтээгдсэн бүх
обьект файлуудыг агуулдаг. Жирийн үед make buildworld
процессийн эхний алхмуудын нэг нь энэ санг устгаад цоо шинээр эхлэх явдал
юм. Энэ тохиолдолд /usr/obj-г дууссаныхаа
дараа байлгаад байх нь ухаалаг биш бөгөөд үүнийг устгаснаар ихээхэн хэмжээний дискний зайг
суллах болно (одоогоор 340 MB орчим).
Гэхдээ хэрэв та юу хийж байгаагаа мэдэж байгаа бол make buildworld
хийхдээ энэ алхмыг алгасаж болно. Энэ нь дараа дараагийн бүтээлтийг илүү хурдасгадаг
бөгөөд учир нь ихэнх эхүүд дахин эмхэтгэх шаардлагагүй байдаг. Үүний сул тал нь
баригдашгүй хамаарлын асуудлууд илэрч таны бүтээлтийг хачин байдлаар амжилтгүй
болгодог. Хэн нэгэн илүү дөтлөх гэснээсээ болоод амжилтгүй болсныг мэдэлгүй өөрийн
бүтээлтийг амжилтгүй болсныг гомдоллосноор &os;-ийн захидлын жагсаалтуудад
хий дэмий шуугианыг удаа дараа үүсгэдэг билээ.
Тасалдсан бүтээлтүүдийг үргэлжлүүлж болох уу?
Энэ нь асуудлыг олох хүртлээ та хэр хол явснаас хамаарна.
Ерөнхийдөө (энэ нь хэцүү бас хурдан дүрэм биш)
make buildworld процесс нь үндсэн
багажуудын (&man.gcc.1;, болон &man.make.1; зэрэг) болон системийн
сангуудын шинэ хуулбаруудыг бүтээдэг. Тэдгээр багажууд болон сангууд нь
дараа нь суулгагддаг. Шинэ багажууд болон сангууд дараа нь
өөрсдийгөө дахин бүтээхэд ашиглагддаг бөгөөд дахин суулгагддаг. Бүхэл бүтэн
систем (одоо &man.ls.1; эсвэл &man.grep.1; зэрэг ердийн хэрэглэгчийн програмууд)
дараа нь шинэ системийн файлуудтайгаар дахин бүтээгддэг.
Хэрэв та сүүлийн шатанд байгаа бөгөөд та үүнийг мэдэж байгаа бол (та
хадгалж байгаа гаралтаас харсан болохоор) та дараах тушаалыг ажиллуулж
(бараг л аюулгүйгээр) болно:
… fix the problem …
&prompt.root; cd /usr/src
&prompt.root; make -DNO_CLEAN all
Энэ нь өмнөх make buildworld тушаалын
хийснийг буцаахгүй.
Хэрэв та доорх мэдэгдлийг :
--------------------------------------------------------------
Building everything..
--------------------------------------------------------------
make buildworld тушаалын гаралт дээр харсан
бол магадгүй тэгж хийх нь аюулгүй байж болох юм.
Хэрэв та тийм мэдэгдэл харахгүй байгаа бол эсвэл та итгэлтэй биш байгаа бол
харамсахаасаа өмнө аюулгүй байдлыг бодож бүтээлтийг бүр эхнээс нь дахин эхлүүлсэн нь
дээр юм.
Би ертөнцийг бүтээхийг хэрхэн хурдасгах вэ?
Ганц хэрэглэгчийн горимд ажиллуул.
/usr/src болон
/usr/obj сангуудыг тус тусдаа байх дискнүүд
дээр тус тусдаа байх файлын системүүд дээр байрлуул. Хэрэв боломжтой бол
эдгээр дискнүүдийг тус тусад нь дискний хянагчууд дээр байрлуул.
&man.ccd.4; (нийлүүлсэн дискний драйвер) төхөөрөмж ашиглан
эдгээр файлын системүүдийг олон дискнүүдийн дагуу байрлуулах нь бас
арай илүү хурдасгах юм.
Профиль хийгдэхийг (/etc/make.conf файлд
NO_PROFILE=true
гэж зааж өг) болиул. Танд энэ бараг
гарцаагүй хэрэггүй.
/etc/make.conf файлд бас
CFLAGS-г гэдэгтэй
адилаар заа. оновчлол нь илүү удаан байдаг бөгөөд
болон оновчлолын
ялгаа ихэвчлэн өчүүхэн байдаг. нь эмхэтгэгчид
холбооны зориулалтаар түр зуурын файлуудыг биш хоолойнуудыг ашиглахыг
зөвшөөрдөг бөгөөд энэ нь дискэнд хандах хандалтыг (санах ойг илүүтэй хэрэглэж)
багасгадаг.
тохируулгыг
&man.make.1;-д дамжуулж олон процессийг зэрэгцээгээр ажиллуул. Энэ нь
танд ганц эсвэл олон процессортой машин аль нь ч байсан ялгаагүйгээр ихэвчлэн тусалдаг.
/usr/src-г агуулж байгаа файлын
систем тохируулгаар холболт хийгдэж (эсвэл салгагдаж)
болно. Энэ нь файлын систем файл уруу хандах хандалтын хугацааг бүртгэхийг
болиулдаг. Танд магадгүй энэ мэдээлэл бараг л хэрэггүй биз ээ.
&prompt.root; mount -u -o noatime /usr/src
Энэ жишээ /usr/src нь өөрийн файлын
систем дээр байгаа гэж тооцож байгаа болно. Хэрэв энэ нь тийм биш бол
(хэрэв энэ сан жишээ нь /usr-ийн хэсэг маягаар
байгаа бол) та /usr/src-г биш харин тэр
файлын системээ холболтын цэг болгон ашиглах хэрэгтэй.
/usr/obj-г агуулж байгаа файлын систем
тохируулгатай холболт хийгдэж (эсвэл салгагдаж)
болно. Энэ нь диск уруу хийх бичилтийг асинхроноор буюу зэрэг биш хийлгэдэг.
Өөрөөр хэлбэл бичилт нэн даруй хийгдээд өгөгдөл диск уруу цөөн секундын дараа
бичигддэг. Энэ нь бичилтүүдийг бүлэглэхийг зөвшөөрч маш их үр дүнтэйгээр
ажиллагааг хурдасгаж болох юм.
Энэ тохируулга нь таны файлын системийг илүү
эмзэг болгохыг санаарай. Тэжээл тасалдаж машин дахин ачаалах үед
файлын систем сэргээж болшгүй төлөвт орох магадлал энэ тохируулгатай
байхад илүү байдаг.
Хэрэв /usr/obj нь энэ файлын систем
дээрх цорын ганц зүйл бол энэ асуудал биш юм. Хэрэв танд уг файлын
систем дээр өөр, үнэтэй өгөгдөл байгаа бол энэ тохируулгыг
идэвхжүүлэхээсээ өмнө өөрийн нөөц чинь шинэ эсэхийг шалгаарай.
&prompt.root; mount -u -o async /usr/obj
Дээр дурдсан шиг хэрэв /usr/obj нь
өөрийн файлын систем дээр биш байх юм бол жишээн дээрхийг
тохирох холболт хийх цэгийн нэрээр солиорой.
Хэрэв ямар нэг юм буруутвал би юу хийх вэ?
Таны орчинд өмнөх бүтээлтүүдийн үеийн илүү үлдэгдлүүд
байхгүйд үнэхээр итгэлтэй байх хэрэгтэй. Энэ нь их амархан
юм.
&prompt.root; chflags -R noschg /usr/obj/usr
&prompt.root; rm -rf /usr/obj/usr
&prompt.root; cd /usr/src
&prompt.root; make cleandir
&prompt.root; make cleandir
Тиймээ, make cleandir тушаалыг үнэндээ
хоёр удаа ажиллуулах шаардлагатай.
Тэгээд make buildworld
тушаалыг эхлүүлж бүх процессийг дахин эхлүүл.
Хэрэв та асуудалтай хэвээр байгаа бол алдаа болон
uname -a тушаалын дүнг &a.questions;
уруу явуулаарай. Өөрийн тохиргооныхоо талаар бусад асуултанд
хариулахад бэлэн байгаарай!
Майк
Мэйэр
Хувь нэмэр болгон оруулсан
Олон машины хувьд дагах нь
NFS
олон машин суулгах нь
Хэрэв та олон машинуудын хувьд ижил эх модыг дагахыг хүсэж бүгдийн хувьд
эхийг татан авахуулж бүгдийг дахин бүтээхийг хүсэж байгаа бол энэ нь дискний зай,
сүлжээний зурвасын өргөн болон
CPU циклүүд зэрэг эх үүсвэрүүдийг үр ашиггүйгээр ашиглахад хүргэхээр санагдаж
болох юм. Тиймээ, үүний шийдэл нь нэг машинаар ихэнх ажлыг хийлгэж
бусад машинууд нь тэр ажлыг NFS-ээр дамжуулан холбох явдал юм. Энэ хэсэгт
ингэж хийх аргыг тайлбарсан.
Бэлтгэл ажлууд
Эхлээд хоёртын адил файлуудыг ажиллуулах build set буюу
бүтээх олонлог гэж бидний нэрлэх машинуудыг олох хэрэгтэй.
Машин бүр өөрчлөн тохируулсан цөмтэй байж болох бөгөөд гэхдээ тэд ижил хэрэглэгчийн
талбарын хоёртын файлуудыг ажиллуулж байх ёстой. Тэр олонлогоос
бүтээх машиныг сонгох хэрэгтэй. Энэ нь
ертөнц болон цөм бүтээгдэх машин байх юм. Туйлын хүслээр бол энэ
нь make buildworld болон
make buildkernel тушаалуудыг ажиллуулахад
хангалттай нөөц CPU бүхий хурдан машин байх хэрэгтэй. Та мөн
үйлдвэрлэлд ашиглахаас өмнө програм хангамжуудыг тест хийдэг
тест машин сонгохыг бас хүсэж болох юм.
Энэ нь удаан хугацаагаар унтраастай эсвэл зогссон байж болох машин байх
ёстой. Энэ нь бүтээх машин байж болох юм, гэхдээ заавал
биш юм.
Энэ бүтээх олонлог дахь бүх машинууд нь өөр өөрийн машин дээрээсээ ижил цэг дээр
/usr/obj болон /usr/src-г
холболт хийх хэрэгтэй. Туйлын хүслээр бол энэ нь бүтээх машин дээрх хоёр өөр дискнүүд
байж болох бөгөөд гэхдээ эдгээр нь уг машин дээр NFS холболт бас хийгдэж болохоор
байж болох юм. Хэрэв танд олон бүтээх олонлогууд байгаа бол
/usr/src сан нь нэг бүтээх машин дээр байрлаж
бусад дээр нь NFS холболт хийгдсэн байх юм.
Төгсгөлд нь бүтээх олонлогийн бүх машинууд дээрх /etc/make.conf
файл бүтээх машиныхтай тохирч байгаа эсэхийг шалгаарай. Энэ нь бүтээх олонлогийн
машин бүрийн суулгах үндсэн системийн бүх хэсгүүдийг бүтээх машин хийх ёстой гэсэн
үг юм. Мөн бүтээх машин бүр өөрийн цөмийн нэрийг /etc/make.conf
файлд KERNCONF хувьсагчид заан өгөх ёстой бөгөөд бүтээх
машин бүр KERNCONF хувьсагчдаа өөрийн цөмийг эхэнд
оруулан дараа нь тэдгээрийг жагсаах ёстой байдаг. Бүтээх машин нь машин бүрийн
цөмийг бүтээхээр болох юм бол тэдгээрийн тохиргооны файлыг
/usr/src/sys/arch/conf
санд агуулсан байх шаардлагатай.
Үндсэн систем
Одоо бүх юм ингэж хийгдсэний дараа та бүгдийг бүтээхэд бэлэн боллоо.
Бүтээх машин дээр -д тайлбарласны
дагуу цөм болон ертөнцийг бүтээ, гэхдээ юуг ч битгий суулгаарай. Бүтээлт
дууссаны дараа тест машин дээр дөнгөж саяхан бүтээсэн цөмөө суулга.
Хэрэв энэ машин нь /usr/src
болон /usr/obj сангуудыг NFS-ээр холболт хийх
гэж байгаа бол та ганц хэрэглэгчийн горимд дахин ачаалахдаа сүлжээг нээж
тэдгээрийг холбож өгөх хэрэгтэй. Үүнийг хамгийн хялбараар хийхийн тулд
олон хэрэглэгчийн горимд ачаалан shutdown now
тушаалыг ажиллуулж ганц хэрэглэгчийн горимд орох явдал юм. Тэгэж орсныхоо
дараа та шинэ цөм болон ертөнцийг суулгаж жирийн үедээ хийдэг
mergemaster тушаалыг ажиллуулж болно.
Ингэж дууссаныхаа дараа энэ машины хувьд ердийн олон хэрэглэгчийн
үйлдлүүдэд дахин ачаалж орно.
Тест машин дээрх бүх зүйлс зөв ажиллаж байгааг мэдсэнийхээ дараа та
бүтээх олонлогийн бусад машин бүр дээр шинэ програм хангамж суулгахдаа
ижил процедурыг ашиглаарай.
Портууд
Үүнтэй адил санааг бас портуудын модонд ашиглаж болно. Эхний чухал
алхам бол нөгөө машин дээрх /usr/ports санг
бүтээх олонлогийн бусад машинууд дээр холбож өгөх явдал юм. Дараа нь та
/etc/make.conf файлыг distfiles
буюу түгээлтийн файлуудыг хуваалцахаар зөв тохируулж өгч болно.
Та DISTDIR хувьсагчийг таны NFS холболтуудад заагдсан
аль ч root хэрэглэгчийн хувьд бичигдэх боломжтой байх
нийтлэг хуваалцсан сангаар тохируулах шаардлагатай.
Машин бүр WRKDIRPREFIX хувьсагчийг локал
бүтээх сангаар зааж өгөх хэрэгтэй. Эцэст нь хэрэв та багцуудыг бүтээж түгээх
гэж байгаа бол PACKAGES хувьсагчийг
DISTDIR хувьсагчийн нэгэн адил сангаар зааж өгөх
хэрэгтэй.
diff --git a/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml b/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml
index a9f14fc0da..79d06f5ead 100644
--- a/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml
@@ -1,880 +1,880 @@
Жим
Мок
Дахин бүтцийг өөрчилж зохион байгуулсан, зарим хэсгийг дахин бичсэн
Цагаанхүүгийн
Ганболд
Орчуулсан
Танилцуулга
Ерөнхий агуулга
FreeBSD-г сонирхсон танд баярлалаа! Дараах бүлэг FreeBSD төслийн түүх, зорилго,
хөгжүүлэх загвар зэрэг бусад төрөл бүрийн ойлголтуудыг хамарна.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
FreeBSD бусад компьютерийн үйлдлийн системүүдтэй ямар хамааралтай талаар.
FreeBSD төслийн түүх.
FreeBSD төслийн зорилгууд.
FreeBSD-ийн нээлттэй-эх хөгжүүлэх загварын үндсүүд.
Мөн мэдээж FreeBSD
нэр хаанаас гарсан талаар.
FreeBSD-д тавтай морилно уу!
4.4BSD-Lite
FreeBSD нь Интел (x86 болон &itanium;), AMD64, Alpha,
Sun &ultrasparc; компьютеруудад зориулагдсан 4.4BSD-Lite дээр үндэслэсэн үйлдлийн систем
юм. Мөн өөр бусад архитектур уруу порт хийгдэж байгаа болно. Та мөн
FreeBSD-ийн түүх эсвэл
одоогийн хувилбарыг унших боломжтой. Хэрэв та
энэ төсөлд (код, тоног төхөөрөмж, тэмдэглээгүй тооцоонууд) хувь нэмэр оруулахыг сонирхож
байгаа бол
FreeBSD-д хувь нэмэр оруулах нь нийтлэлийг уншина уу.
FreeBSD юу хийж чадах вэ?
FreeBSD олон тооны дурдахад буруудахгүй боломжуудтай. Эдгээрийн зарим нь:
Илүү өндөр давуу эрх бүхий бодлогоор солигдох боломж бүхий олон бодлогочлол
Компьютерийг их ачаалалтай байсан ч програмууд болон хэрэглэгчдийн хооронд бартаагүй,
ижил хуваалцах нөхцлийг бүрдүүлэх, динамик дараалал тохируулалттай,
илүү өндөр давуу эрх бүхий бодлогоор солигдох боломж бүхий олон бодлогочлол.
Олон-хэрэглэгчийн боломжууд
Олон-хэрэглэгчийн боломжууд нь олон хүмүүс FreeBSD
системийг төрөл бүрийн зүйлд зориулан зэрэгцэн хэрэглэх боломжийг зөвшөөрдөг.
Энэ нь, жишээ нь, хэвлэгчүүд болон соронзон хальсны хөтлөгчүүд зэрэг системийн захын
төхөөрөмжүүд нь систем эсвэл сүлжээн дэх бүх хэрэглэгчдийн дунд зөвөөр хуваалцах
ба эх үүсвэр бүр дэх хязгаарууд нь маш чухал системийн эх үүсвэрүүдийг илүү
ашиглахаас хамгаалж хэрэглэгчдэд болон бүлэг хэрэглэгчдэд тавигдаж болно гэсэн үг
юм.
TCP/IP сүлжээ
SLIP, PPP, NFS, DHCP, ба NIS зэрэг үйлдвэрлэлийн стандартуудын
дэмжлэгтэй, хүчирхэг TCP/IP сүлжээ.
Энэ нь таны FreeBSD машин бусад үйлдлийн системүүдтэй хялбар харилцан
ажиллаж чадахаас гадна мөн NFS (файлд алсаас хандах)
цахим захидлын үйлчилгээнүүд зэрэг чухал боломжуудыг хангадаг
эсвэл Интернэтэд WWW, FTP, чиглүүлэх эсвэл галт ханын (аюулгүй байдал)
үйлчилгээнүүдийн хамт та өөрийнхөө байгууллагыг байрлуулах Enterprise
сервер шиг ажиллаж чадна гэсэн үг юм.
санах ойн хамгаалалт
Санах ойн хамгаалалт нь програмууд
(эсвэл хэрэглэгчид) өөр хоорондоо нөлөөлөхгүй нөхцлийг хангадаг.
Нэг програм сүйрэхэд бусдад аль ч замаар нөлөөлөхгүй.
FreeBSD нь 32-бит үйлдлийн систем
(Альфа дээр 64-бит, &itanium;, AMD64, болон &ultrasparc;)
бөгөөд бүр анхнаасаа эхлэн дизайн хийгдсэн юм.
X Цонхны Систем
XFree86
Үйлдвэрлэлийн стандарт болох X Цонхны Систем (X11R6)
нь ердийн VGA карт ба дэлгэцийн үнэнд хэрэглэгчийн график интерфэйсийг (GUI)
хангадаг бөгөөд бүрэн эхийн хамт ирдэг.
хоёртын нийлэмж
Линукс
хоёртын нийлэмж
SCO
хоёртын нийлэмж
SVR4
хоёртын нийлэмж
BSD/OS
хоёртын нийлэмж
NetBSD
Линукс, SCO, SVR4, BSDI ба NetBSD-д зориулан бүтээгдсэн
олон програмуудтай хоёртын нийлэмж.
Олон мянган ажиллахад бэлэн програмууд
FreeBSD-ийн портууд болон багцуудын
цуглуулганд байдаг. Эндээс бүгдийг олж болж байхад яагаад сүлжээнээс хайх
хэрэгтэй гэж?
Олон мянган нэмэлт болон амархан порт хийх
боломжтой програмууд Интернэтэд байдаг. FreeBSD нь эх кодын хувьд
ихэнх олны мэддэг арилжааны &unix; системүүдтэй нийцтэй бөгөөд
ихэнх програмуудыг хөрвүүлэхэд хэрэв байгаа бол цөөн өөрчлөлтүүдийг
шаарддаг.
виртуал санах ой
Шаардлагаар хуудасладаг (demand paged) виртуал санах ой
ба нийлүүлсэн VM/түр хадгалагч
дизайн нь санах ойн хувьд
их хэрэглэдэг програмуудын хүслийг үр ашигтайгаар хангадаг бөгөөд ингэхдээ бусад
хэрэглэгчдэд харилцан хариу өгөх боломжийг олгосоор байдаг.
Адил Хэмт Олон-Боловсруулалт (SMP)
Олон CPU-тай машинуудад зориулсан SMP
дэмжлэг.
хөрвүүлэгчид
C
хөрвүүлэгчид
C++
хөрвүүлэгчид
ФОРТРАН
C,
C++, болон ФОРТРАН
хөгжүүлэх багажуудын бүрэн бүрэлдэхүүн. Нарийн судалгаа болон хөгжүүлэлтэд
зориулсан олон нэмэлт хэлнүүд бас портууд болон багцуудын цуглуулганд байдаг.
эх код
Бүх системд зориулсан эх код гэдэг нь
та орчноо хамгийн ихээр хянана гэсэн үг юм. Та жинхэнэ нээлттэй системтэй мөртлөө
яагаад үйлдвэрлэгчийн буянд хаалттай шийдэлд цоожтой байх ёстой гэж?
Дэлгэрэнгүй онлайн
баримтжуулалт.
гэх мэт өөр илүү олныг дурдаж болно!
4.4BSD-Lite
Компьютерийн Системийн Судалгааны Бүлэг (CSRG)
К.И.С. Беркли
FreeBSD нь Беркли дэх Калифорнийн Их Сургуулийн Компьютерийн Системийн
Судалгааны Бүлгээс (CSRG) гаргасан 4.4BSD-Lite хувилбар дээр үндэслэсэн
бөгөөд BSD системийн хөгжүүлэлтийн бусдаас ялгаатай уламжлалыг үргэлжлүүлсээр
байна. CSRG-ээс гаргасан сайхан ажлаас гадна FreeBSD Төсөл нь жинхэнэ амьдрал
дээрхи ачааллын үеийн найдвартай болон хамгийн сайн ажиллагааг хангах системийг
нарийн тохируулахад олон мянган цагийг зориулжээ. Улам олон арилжааны аваргууд
ийм боломжууд, ажиллагаа болон найдвартай байдал бүхий PC үйлдлийн системийг
гаргах гэж тэмцэж байхад FreeBSD тэдгээрийг одоо
санал болгож чадна!
FreeBSD-г ямар хэрэглээнд ашиглах нь зөвхөн таны төсөөллийн хүрээнд байна.
Програм хангамжийн хөгжүүлэлтээс эхлээд үйлдвэрлэлийн автоматжуулалт, төлвийн
хяналтаас авахуулаад алсын хиймэл дагуулын антеннуудын азимут засварлалт;
хэрэв үүнийг арилжааны &unix; бүтээгдэхүүнээр хийж чадах бол мэдээж та үүнийг
FreeBSD-ээр ч бас хийж чадна! Мөн FreeBSD дэлхий даяар судалгааны төвүүд болон их
сургуулиудад хөгжүүлсэн ихэнхдээ бага эсвэл үнэгүй байдаг олон мянган өндөр чанарын
програмуудаас мэдэгдэхүйц үр ашгийг авдаг. Арилжааны програмууд бас байдаг бөгөөд
өдөр ирэх тусам их хэмжээгээр нэмэгдэж байна.
FreeBSD-ийн өөрийн эх код ерөнхийдөө байгаа болохоор
тусгай програмууд эсвэл төслүүдэд зориулж системийг бараг сонсоогүй хэмжээнд
өөрчлөх боломжтой бөгөөд ерөнхийдөө бусад ихэнх том том арилжааны
үйлдвэрлэгчдийн үйлдлийн системүүдэд үүнийг хийх боломжгүй байдаг. Энд
FreeBSD-г ашиглаж байгаа хүмүүсийн хэрэглээний зарим нэг байна:
Интернэтийн Үйлчилгээнүүд: FreeBSD дэх хүчирхэг TCP/IP
сүлжээ нь төрөл бүрийн Интернэтийн үйлчилгээнүүдэд хамгийн тохирсон тавцан болгодог:
FTP серверүүд
FTP серверүүд
вэб серверүүд
Дэлхий Даяарх Вэб серверүүд (стандарт эсвэл нууцлаг [SSL])
гал хана
NAT
Галт хананууд болон NAT (IP маскарад хийх
)
гарцууд
цахим захидал
захидал
захидал
Цахим Захидлын серверүүд
USENET
USENET Мэдээнүүд эсвэл Зарлалын Самбарын Системүүд
гэх мэт өөр илүү олныг дурдаж болно...
Та FreeBSD-тэй байхад хямд 386 ангиллын PC-тэй жижгээс хялбархнаар эхлээд
таны Enterprise өсөхийн хэрээр RAID хадгалалт бүхий 4 процессортой Xeon
хүртэл шинэчилж болно.
Боловсрол: Та компьютерийн шинжлэх ухаан эсвэл
түүнтэй холбоотой инженерчлэлийн салбарын оюунтан уу? Үйлдлийн систем, компьютерийн
архитектур болон сүлжээний талаар сурахад FreeBSD-ийн далд хангаж өгдөг боломж шиг
илүү сайн арга байхгүй. Чөлөөтэй байдаг хэд хэдэн CAD, математикийн болон графикийн
дизайн хийх багцууд нь өөр бусад ажлуудыг хийхийн тулд
компьютерийг ашигладаг хүмүүст FreeBSD-г илүү их ашигтай болгодог!
Судалгаа: Бүхэл системийн хувьд эх кодтой FreeBSD
нь үйлдлийн системүүд болон компьютерийн шижлэх ухааны бусад салбаруудын
хувьд судалгааны маш сайн тавцан болдог. FreeBSD-ийн чөлөөтэй байдаг чанар нь
алсад байгаа бүлгүүд тусгай лицензийн гэрээ эсвэл нээлттэй форум дээр хэлэлцэж болох
хязгааруудад санаа зоволгүйгээр шинэ санаанууд болон хуваалцсан хөгжүүлэлт дээр
хамтран ажиллах боломжийг бүрдүүлдэг.
чиглүүлэгч
DNS Сервер
Сүлжээ: Шинэ чиглүүлэгч? Нэрийн сервер (DNS)?
Хүмүүсийг дотоод сүлжээнээс гадуур байлгах галт хана хэрэгтэй байна уу?
FreeBSD нь ашиглаагүй, буланд хэвтэж байгаа 386 эсвэл 486 PC-г пакет
шүүлт хийх сайжруулсан боломжуудтай өргөтгөсөн чиглүүлэгч болгон хялбархан
хувиргаж чадна.
X Цонхны Систем
XFree86
X Цонхны Систем
Хурдасгасан-X
X Цонхны ажлын станц: FreeBSD нь
чөлөөтэй байдаг X11 серверийг ашиглан хямд X терминалын шийдэлд
зориулсан сайн сонголт болдог. X терминалаас ялгаатай нь хэрэв хүсвэл олон
програмуудыг FreeBSD ажиллуулахыг зөвшөөрдөг бөгөөд ингэснээр төв
серверийн ачааллыг хөнгөвчилдөг. FreeBSD нь дискгүй
ачаалж чадсанаар ажлын станцуудыг хямд, амархан удирдах боломжтой болгодог.
GNU Хөрвүүлэгчийн Цуглуулга
Програм Хангамжийн Хөгжүүлэлт: Үндсэн
FreeBSD систем нь нийтэд алдаршсан GNU C/C++ хөрвүүлэгч болон алдаа ологч зэрэг
програмчлалын үндсэн хэрэгслүүдтэй ирдэг.
FreeBSD нь CDROM, DVD, болон нэргүй FTP дээр эх болон хоёртын хэлбэрээр байдаг.
FreeBSD-г олж авах талаар дэлгэрэнгүй мэдээллийг хаягаас
үзнэ үү.
FreeBSD-г хэн ашигладаг вэ?
хэрэглэгчид
FreeBSD ажиллуулдаг том сайтууд
FreeBSD нь интернэт дэх зарим нэг хамгийн томоохон вэб хуудсуудыг ажиллуулдаг:
Yahoo!
Yahoo!
Apache
Apache
Blue Mountain Arts
Blue Mountain
Arts
Pair Networks
Pair
Networks
Sony Japan
Sony
Japan
Netcraft
Netcraft
Weathernews
Weathernews
Supervalu
Supervalu
TELEHOUSE America
TELEHOUSE
America
Sophos Anti-Virus
Sophos
Anti-Virus
JMA Wired
JMA Wired
гэх мэт өөр илүү олон вэб хуудсуудыг дурдаж болно.
FreeBSD Төслийн тухай
Дараах хэсэг төслийн товч түүх, төслийн зорилгууд,болон төслийн
хөгжүүлэлтийн загвар зэрэг төслийн тухай зарим нэг мэдээллийг өгнө.
Жордан
Хаббард
Хувь нэмэр болгон оруулсан
FreeBSD-ийн товч түүх
386BSD Залруулах багц
Хаббард, Жордан
Вилльямс, Нэйт
Граймс, Род
FreeBSD Төсөл
түүх
FreeBSD төслийн үүсэл 1993 оны эхэн хэсэгт үүдэлтэй бөгөөд залруулах багцын
сүүлийн 3 зохицуулагчид болох Нэйт Вилльямс, Род Граймс болон миний биеийн хамтран
гаргасан Албан ёсны бус 386BSD Залруулах багц
аас
хэсэгчилэн хөгжсөн юм.
386BSD
Бидний анхны зорилго хэд хэдэн асуудлуудыг шийдэхийн тулд 386BSD-ийн дундын
хормын хувилбарыг гаргаж авах явдал байсан бөгөөд залруулах багцын механизм үүнийг шийдэж
чаддаггүй байлаа. Та нарын зарим нэг нь төслийн ажлын анхны нэр тэр явдалтай холбоотой
386BSD 0.5
эсвэл 386BSD Дундын
гэж байсныг
санаж магадгүй юм.
Жолиц, Билл
386BSD нь бараг жил орчмын үл ойшоолтоос болж ихээхэн зовж байсан тэр үед хүрсэн
Билл Жолицийн үйлдлийн систем байсан юм. Залруулалтын багц нь өдөр өнгөрөх бүр
улам эвгүйгээр томорч байсан бөгөөд бид ямар нэг юм хийх ёстойг 100 хувь зөвшөөрч
Биллд туслахаар шийдэж энэхүү дундын цэвэрлэсэн
хормын хувилбарыг
гаргасан юм. Тэдгээр төлөвлөгөөнүүд нь Билл Жолицийг юу хийгдэж болохыг тодорхой
харуулахын оронд ямар ч зүйлгүйгээр төслийн өөрийн санкцаас гэнэт татгалзах шийдвэрт
хүргэж бүдүүлэг зогсоолтод хүргэсэн юм.
Грийнмэн, Дэйвид
Волнат Крийк CDROM
Биллийн дэмжлэггүй ч гэсэн зорилго маань харамсахааргүй хэвээрээ үлдэхийг
бид нэг их удалгүй шийдсэн бөгөөд Дэйвид Грийнмэний бодож олсноор
FreeBSD
нэрийг авсан юм. Бидний эхний зорилгууд
системийн одоогийн хэрэглэгчидтэй зөвлөлдсөний дараа тодорхойлогдсон бөгөөд
төсөл эхэлсэн нь тодорхой болсны дараа бүр магадгүй амьдрал дээр биеллээ олохын
тулд би Интернэт уруу хялбар хандах боломжгүй олон золгүйчүүдэд зориулж
FreeBSD-ийн түгээлтийн сувгуудыг сайжруулах зорилготойгоор Волнат Крийк
CDROM-той холбоо тогтоосон юм.
Волнат Крийк CDROM нь FreeBSD-г CD дээр түгээх санааг дэмжээд зогсоогүй
ажиллах машин бас хурдан Интернэтийн холболтыг төсөлд зориулан хангасан юм.
Волнат Крийк CDROM-ийн тэр үед тэр чигээрээ үл мэдэгдэх төсөлд бараг л
урьдчилан тооцох аргагүй өгсөн итгэлгүйгээр FreeBSD одоогийн хүрсэн шиг ийм
хол түвшинд, ийм хурдан хүрэхгүй байсан биз ээ.
4.3BSD-Lite
Net/2
К.И.С. Беркли
386BSD
Чөлөөт Програм Хангамжийн Сан
Анхны CDROM (ерөнхийдөө сүлжээнд өргөнөөр) түгээлт 1993 оны 12 сард гаргасан
FreeBSD 1.0 байлаа. Энэ нь Берклигийн К.И.С-ийн 4.3BSD-Lite
(Net/2
) соронзон хальс дээр тулгуурласан, бас 386BSD болон Чөлөөт Програм
Хангамжийн Сангаас хангасан олон хэсгүүдээс тогтсон байсан билээ.Энэ бол эхний удаад нэлээн
боломжийн амжилт байсан бөгөөд дараа нь бид маш өндөр амжилт олсон FreeBSD 1.1
хувилбарыг 1994 оны 5 сард гаргасан юм.
Новэлл
К.И.С. Беркли
Net/2
AT&T
Энэ үед урт удаан үргэлжилсэн Берклигийн Net/2 соронкон хальны хууль эрх зүйн статустай
холбоотой Новэлл ба Берклигийн К.И.С нарын хоорондох зарга шийдэгдэж гэнэтийн хар
үүлс бий болсон юм. Тэр тохиролцооны нөхцөл нь саад болсон
код ба
Новэллийн урьд нь AT&T-ээс авсан өмч болох Net/2-ийн ихэнх хэсэг дээр хийсэн
Берклигийн К.И.С-ийн буулт байлаа. Хариуд нь Новэллийн адислал
4.4BSD-Lite хувилбар байсан бөгөөд энэ нь гарсныхаа дараа саадгүйгээр тунхаглагдаж
түүн уруу Net/2-ийн бүх хэрэглэгчид маш хүчтэйгээр шилжихийг дэмжих явдал байлаа.
Үүнд FreeBSD бас орсон бөгөөд төсөлд 1994 оны 7 сараас хүртэл хугацаа өгч өөрийн
Net/2 дээр тулгуурласан бүтээгдэхүүнээ гаргахыг хориглосон юм. Тэр гэрээний хүрээнд
эцсийн хугацаанаас өмнө төсөлд сүүлийн нэг хувилбар гаргахыг зөвшөөрсөн бөгөөд тэр
хувилбар нь FreeBSD 1.1.5.1 байлаа.
Дараа нь FreeBSD бараг тэр чигээрээ шинэ, бүрэн биш 4.4BSD-Lite-ийн хэсгээс
- өөрийгээ дахин бүтээх хүнд бэрх бодлогыг тогтоосон юм. The Lite
+ өөрийгээ дахин бүтээх хүнд бэрх бодлогыг тогтоосон юм. Lite
хувилбарууд нь зарим талаараа хөнгөн байсан, учир нь ачаалагдаж ажиллах системийг
бүтээхэд шаардлагатай кодын ихээхэн хэсгийг Берклигийн CSRG арилгасан
(төрөл бүрийн хууль эрх зүйн шаардлагаар) бөгөөд 4.4-ийн Интелийн хэсэг бас нэлээн
бүрэн биш байлаа. Энэ шилжилтийг хийсээр төсөл 1994 оны 11 сар хүргэсэн бөгөөд
тэр үед сүлжээ болон CDROM (12 сарын сүүлээр) дээр FreeBSD 2.0-ийг гаргасан
байна. Хэдийгээр гадуураа бага зэрэг түүхий байсан боловч энэ хувилбар нь ихээхэн амжилттай
болсон бөгөөд удалгүй илүү хүчирхэг, амархан суулгадаг FreeBSD 2.0.5 хувилбарыг
1995 оны 6 сард гаргасан билээ.
1996 оны 8 сард FreeBSD 2.1.5-ыг бид гаргасан бөгөөд энэ нь ISP болон
арилжааны хүрээнийхэнд нэлээн алдаршсан ба 2.1-STABLE салбарын бас нэг өөр хувилбар
сайшаагдсан билээ. Энэ нь 1997 оны 2 сард гарсан FreeBSD 2.1.7.1 бөгөөд 2.1-STABLE
-ийн зонхилох хөгжүүлэлтийн төгсгөл болсон юм. Одоо үйл ажиллагааг хангах горимд
зөвхөн аюулгүй байдлын өргөжүүлэлт болон бусад ноцтой алдааны засварлалтууд энэ салбарын
(RELENG_2_1_0) хувьд хийгдэх болно.
FreeBSD 2.2 нь хөгжүүлэлтийн гол салбараас (-CURRENT
)
1996 оны 11 сард RELENG_2_2 салбар болон салбарлан гарсан бөгөөд анхны
бүрэн хувилбар (2.2.1) 1997 оны 4 сард гарсан юм. 2.2 салбарын дараагийн
хувилбарууд 97 оны зун болон намар гарцгаасан бөгөөд тэдгээрийн сүүлийнх (2.2.8)
1998 оны 11 сард гарчээ. Анхны албан ёсны 3.0 хувилбар 1998 оны 10 сард
гарсан бөгөөд 2.2 салбарын хувьд төгсгөл болох эхлэлийг тавьсан юм.
1999 оны 1 сарын 20-нд мод дахин салбарласан бөгөөд 4.0-CURRENT болон
3.X-STABLE салбарууд гарахад хүргэжээ. 3.X-STABLE-ээс 3.1 1999 оны 2 сарын
15-нд гарсан, 3.2 1999 оны 5 сарын 15-нд, 3.3 1999 оны 9 сарын 16-нд, 3.4
1999 оны 12 сарын 20-нд, тэгээд 3.5 2000 оны 6 сарын 24-нд гарсан бөгөөд
хэдхэн хоногийн дараагаар Kerberos-т сүүлийн минутын аюулгүй байдлын засваруудыг
оруулсан багахан хувилбар шинэчлэл 3.5.1-ийг гарахад хүргэсэн юм. Энэ нь 3.X салбар
дахь сүүлийн хувилбар юм.
2000 оны 3 сарын 13-нд нэг салбар гарсан нь 4.X-STABLE салбар бий болсон
явдал юм. Үүнээс хэд хэдэн хувилбарууд гарсан: 4.0-RELEASE 2000 оны 3 сард
танилцуулагдсан бөгөөд сүүлийн 4.11-RELEASE 2005 оны 1 сард гарсан юм.
Удаан хүсэн хүлээсэн 5.0-RELEASE 2003 оны 1 сарын 19-нд зарлагдсан. Ойролцоогоор
3 жилийн ажлыг шингээсэн энэ хувилбар нь FreeBSD-г өргөжүүлсэн олон процессор,
програмын урсгал дэмжлэгийн замд гаргаж &ultrasparc; ба ia64
тавцангуудад зориулсан дэмжлэгийг танилцуулсан билээ. Энэ хувилбарын дараагаа 2003 оны
6 сард 5.1 хувилбар гарсан. -CURRENT салбарын сүүлийн 5.X хувилбар 2004 оны 2 сард
танилцуулагдсан 5.2.1-RELEASE байв.
RELENG_5 салбар 2004 оны 8 сард үүссэн бөгөөд дараагаар нь
5-STABLE салбар хувилбаруулын эхлэлийг тэмдэглэсэн 5.3-RELEASE гарсан юм.
Хамгийн сүүлийн &rel2.current;-RELEASE &rel2.current.date; гарсан.
RELENG_5 салбараас дахиж нэмэлт хувилбарууд гарахгүй.
2005 оны 7 сард энэ удаа RELENG_6-д зориулж мод дахин салбарлажээ.
6.X салбарын анхны хувилбар болох 6.0-RELEASE 2005 оны 11 сард гарчээ.
Хамгийн сүүлийн &rel.current;-RELEASE &rel.current.date; гарсан.
RELENG_6 салбарын нэмэлт хувилбарууд гарах болно.
Одоогоор урт хугацааны хөгжүүлэлтийн төслүүд 7.X-CURRENT (транк) салбарт
үргэлжлэх бөгөөд ажил урагшлах бүр CDROM дээрх (мэдээж сүлжээнд бас) 7.X-ийн
SNAPshot хувилбарууд
Хормын агшны сервэрээс үргэлжлэн гарсаар байх болно.
Жордан
Хаббард
Хувь нэмэр болгон оруулсан
FreeBSD Төслийн Зорилгууд
FreeBSD Төсөл
зорилгууд
FreeBSD Төслийн зорилгууд нь ямар нэг хязгаарлалтгүйгээр дурын зорилгоор ашиглаж
болох програм хангамжийг хангах явдал юм. Бидний олонхи нь кодонд (болон төсөлд)
чухал хөрөнгө оруулалт хийцгээсэн бөгөөд одоо болон ирээдүйд багахан санхүүгийн нөхөн
олговроос мэдээж татгалзахгүй, гэхдээ бид мэдээж үүнийг шаардахаар бэлтгэгдээгүй юм.
Бидний анхны бөгөөд нэн тэргүүний даалгавар
бол ирсэн дурын болон
бүгдэд аль ч зорилгоор ашиглагдаж болох кодоор хангах бөгөөд код нь аль болох өргөн
хэрэглэгдэж, аль болох өргөн үр ашгийг өгөх явдал юм. Энэ нь Чөлөөт Програм
Хангамжийн хамгийн үндсэн зорилгуудын нэг бөгөөд бид үүнийг санаачлагатайгаар
дэмжих ёстой гэдэгт би итгэж байна.
GNU General Public License (GPL)
GNU Lesser General Public License (LGPL)
BSD Зохиогчийн Эрх
Бидний эх модонд байгаа GNU General Public License (GPL) эсвэл
Library General Public License (LGPL) хүрээнд байдаг код нь арай илүү
хязгаарлалттай бөгөөд ядаж л эсрэгээрээ байх биш харин ч хүчилсэн хандлагын талд байдаг.
GPL програм хангамжийг арилжааны зорилгоор ашиглахад гарах нэмэлт төвөгтэй асуудлуудаас
болоод бид ингэж хийхэд боломжийн сонголт байгаа нөхцөлд арай зөөлөн BSD Зохиогчийн
Эрхийн доор програм хангамжийг ирүүлэхийг илүүд үздэг.
Сатоши
Асами
Хувь нэмэр болгон оруулсан
FreeBSD Хөгжүүлэх Загвар
FreeBSD Төсөл
хөгжүүлэх загвар
FreeBSD-ийн хөгжүүлэлт нь бидний хувь нэмэр
оруулагчдын жагсаалтаас харахад дэлхий даяар хэдэн зуун хүмүүсийн оруулсан
хувь нэмэр дээр бүтээгдсэн, их нээлттэй, уян хатан процесс юм.
FreeBSD-ийн хөгжүүлэлтийн дэд бүтэц нь эдгээр хэдэн зуун хөгжүүлэгчдийг
Интернэтээр хамтран ажиллах боломжийг нээж өгдөг.
Бид шинэ хөгжүүлэгчид, болон санаануудыг тогтмол хайж байдаг бөгөөд
төсөлтэй илүү ойртохыг сонирхсон хэн ч гэсэн &a.hackers; хаягаар бидэнд
хандаарай. Мөн бусад FreeBSD хэрэглэгчдэд гол гол ажлуудын талаар мэдээлэх
&a.announce; бас байгаа болно.
Чөлөөтэй болон нягт хамтын ажиллагаан доор ажилладгаас үл хамааран FreeBSD
төсөл болон түүний хөгжүүлэлтийн процессийн талаар ашигтай зүйлсийн талаар мэдэхийг
хүсвэл:
CVS репозитор
CVS
репозитор
Зэрэгцээ Хувилбаруудын Систем
CVS
FreeBSD-ийн гол эх мод нь FreeBSD-тэй цуг багцалсан чөлөөтэй байдаг
эх кодыг хянах багаж болох
CVS-ээр
(Зэрэгцээ Хувилбаруудын Систем) тэтгэгдэж байдаг. Үндсэн
CVS
репозитор АНУ-ийн Калифорнийн Санта Клара дахь машин дээр
байрладаг бөгөөд тэндээс дэлхий даяар байрласан хэд хэдэн толин тусгалын
машинууд уруу хувилагддаг. -CURRENT болон -STABLE модуудыг агуулсан CVS мод
таны өөрийн машин дээр ч гэсэн амархан хувилагдах боломжтой.
Үүнийг хэрхэн хийх талаар дэлгэрэнгүй мэдээллийг
Өөрийн эх модоо хамгийн сүүлийн түвшинд
аваачих хэсэг уруу хандаж үзээрэй.
Итгэмжлэн оруулагчдын жагсаалт
итгэмжлэн оруулагчид
Итгэмжлэн оруулагчид нь CVS мод уруу
бичих эрхтэй бөгөөд FreeBSD-ийн эхэд
өөрчлөлтүүд хийх зөвшөөрөлтэй хүмүүс юм (итгэмжлэн оруулагч
гэсэн
ойлголт нь CVS репозитор уруу шинэ өөрчлөлтүүдийг хийдэг &man.cvs.1;-ийн
commit тушаалаас гаралтай).
Итгэмжлэн оруулагчдад илгээсэн зүйлээ хянуулахаар өгөх хамгийн шилдэг арга нь
&man.send-pr.1; тушаал юм. Хэрэв ямар нэг зүйл систем дээр гацвал
&a.committers; уруу та цахим захидал бас илгээн холбогдож болно.
FreeBSD-ийн гол баг
гол баг
FreeBSD-г компани гэж бодох юм бол FreeBSD-ийн гол баг
нь захирлуудын зөвлөлтэй ижил утгатай юм. Гол багийн үндсэн үүрэг нь
төсөл бүхэлдээ сайн байж, түүнийг зөв чиглэлээр явуулахыг хянаж байх явдал юм.
Өөрийгөө бүрэн дайчилсан, хариуцлагатай хөгжүүлэгчдийг итгэмжлэн оруулагчдын
бүлэгт урих нь гол багийн үүргүүдийн нэг бөгөөд зарим гишүүд шилжихэд гол багийн
шинэ гишүүдийг шинээр авах нь бас нэг үүрэг нь юм.
Одоогийн гол баг нь нэр дэвшигч итгэмжлэн оруулагчдаас 2006 оны 7 сард сонгогдсон.
Сонгууль 2 жилд нэг удаа явагддаг.
Гол багийн зарим гишүүд тусгай хариуцлагатай бөгөөд системийн ихээхэн хэсэг
сурталчилсан хэмжээгээрээ ажиллаж байхыг хянаж бие сэтгэлээ зориулж байдаг.
FreeBSD хөгжүүлэгчдийн жагсаалт болон тэдний аль хэсэгт хариуцлагатайг
Хувь
нэмэр оруулагчдын жагсаалтаас үзнэ үү.
Гол багийн ихэнх гишүүд FreeBSD-ийн хөгжүүлэлтэд сайн дураар оролцдог бөгөөд
төслөөс санхүүгийн хувьд ашиг олдоггүй болохоор commitment
гэдэг нь баталгаатай дэмжлэг
гэсэн үг гэж ойлгож болохгүй юм.
Дээрх захирлуудын зөвлөл
гэсэн аналог нь тийм ч зөв биш бөгөөд
эдгээр хүмүүс нь FreeBSD-ийн тусын тулд өөрсдийнхөө илүү шийдлийн эсрэг амьдралаа
орхисон хүмүүс гэвэл магадгүй илүү тохирох биз ээ!
Гаднын хувь нэмэр оруулагчид
хувь нэмэр оруулагчид
Эцэст нь, гэхдээ мэдээж хамгийн сүүлийнх биш, хамгийн том бүлэг
хөгжүүлэгчид нь санал сэтгэгдэл болон алдааны засваруудыг бидэнд
бараг л тогтмол илгээдэг хэрэглэгчид юм. FreeBSD-ийн илүү
төвлөрсөн бус хөгжүүлэлттэй холбоотой байх үндсэн арга нь
тийм зүйлсийн талаар хэлэлцдэг &a.hackers;-д бүртгүүлэх явдал юм.
FreeBSD-ийн төрөл бүрийн захидлын жагсаалтын талаар дэлгэрэнгүйг
-ээс үзнэ үү.
FreeBSD-ийн
Хувь нэмэр оруулагчдын Жагсаалт нь урт бөгөөд
өсөн нэмэгдэж байгаагийн нэг, тийм болохоор яагаад өнөөдөр FreeBSD-д
хувь нэмэр оруулж энэ жагсаалтад нэгдэж болохгүй гэж?
Код ирүүлэх нь төсөлд хувь нэмэр оруулах ганц арга биш юм;
Хийх шаардлагатай байгаа зүйлсүүдийн бүрэн жагсаалтын талаар
FreeBSD Төслийн вэб хуудсын
хаягт хандаж үзнэ үү.
Дүгнэж хэлэхэд бидний хөгжүүлэлтийн загвар нь нэг нь нөгөөдөө багтсан, чөлөөтэй
тойргууд маягаар зохион байгуулагдсан загвар юм. Төвлөрсөн загвар нь ирээдүйтэй хувь
нэмэр оруулагчдыг цааш түлхэлгүйгээр нэг төвийн кодын суурийг хялбар хянах боломжийг
олгож FreeBSD-ийн хэрэглэгчдэд эвтэй байхаар зориулагдан
дизайн хийгдсэн юм. Бидний хүсэл бол хэрэглэгчид амархан суулгаж ашиглаж болдог
ихээхэн хэмжээний уялдаа холбоотой хэрэглээний програмуудтай
тогтвортой үйлдлийн системийг бий болгох явдал юм — энэнд хүрэхэд энэ загвар нь
маш сайн тохирон ажиллаж байна.
Төслийн амжилттай байсаар байгаад хүргэж байгаа одоогийн хүмүүсийн адил бие
сэтгэлийнхээ зарим ч гэсэн хэсгийг зориулахыг FreeBSD хөгжүүлэгч болон бидэнтэй нэгдэж
байгаа хүмүүсээс хүсэж байгаа бидний цорын ганц хүсэлт юм!
Одоогийн FreeBSD хувилбарууд
NetBSD
OpenBSD
386BSD
Чөлөөт Програм Хангамжийн Сан
К.И.С. Беркли
Компьютерийн Системийн Судалгааны Бүлэг (CSRG)
FreeBSD нь чөлөөтэй байдаг, Интел &i386;, &i486;, &pentium;,
&pentium; Pro,
&celeron;,
&pentium; II,
&pentium; III,
&pentium; 4 (эсвэл нийцтэй),
&xeon;, DEC Alpha
болон Sun &ultrasparc;-д зориулагдсан бүрэн эх 4.4BSD-Lite дээр тулгуурласан
хувилбар юм. Энэ нь үндсэндээ NetBSD, OpenBSD, 386BSD, болон Чөлөөт Програм
Хангамжийн Сангийн зарим өргөжүүлэлт хийгдсэн Берклигийн К.И.С.-ийн CSRG бүлгээс
гаргасан програм хангамжууд дээр үндэслэсэн.
94 оны сүүлд гарсан FreeBSD 2.0 хувилбараас хойш FreeBSD-ийн хурдан
ажиллагаа, боломжууд болон тогтвортой байдал мэдэгдэхүйц сайжирсан.
Хамгийн том өөрчлөлт нь нийлсэн VM/файл буферийн кэш бүхий засварласан виртуал санах ойн систем
бөгөөд энэ нь ажиллагааг хурдасгаад зогсохгүй FreeBSD-ийн санах ойн мөрийг багасгаж
5 MB тохиргоог илүү боломжийн хамгийн бага хэмжээнд хүргэсэн. Бусад
өргөтгөлүүдийг дурдвал гүйцэд NIS клиент ба серверийн дэмжлэг, шилжилтийн TCP дэмжлэг,
шаардлагаар залгах PPP, цогц DHCP дэмжлэг, сайжруулсан SCSI дэд систем, ISDN
дэмжлэг, ATM-ийн дэмжлэг, FDDI, Хурдан болон Гигабит Ethernet (1000 Mbit)
картууд, сүүлийн үеийн Адаптек хянагчууд болон олон мянган алдаануудын засварууд зэрэг юм.
Үндсэн түгээлтүүдээс гадна FreeBSD нь мянга мянган байнга хайгддаг програмуудтай
хөрвүүлсэн програм хангамжийн цуглуулгатай байдаг. Энэ авлагыг хэвлэж байх үед
&os.numports; гаруй портууд байсан! Портуудын жагсаалтад http (WWW) серверүүдээс
тоглоомууд, хэлнүүд, засварлагчид, зэрэг бараг л бүх төрлийн програмууд байдаг.
Портуудын Цуглуулга бүхэлдээ ойролцоогоор &ports.size; хэмжээний хадгалалт шаарддаг
бөгөөд бүх портууд өөрсдийн жинхэнэ эхийн хувьд дельта
болж илэрхийлэгддэг.
Энэ нь бидэнд портуудыг шинэчлэхэд хялбар болгож хуучин 1.0 Портуудын Цуглуулгын шаарддаг
байсан дискний зайн шаардлагыг ихээхэн багасгаж өгдөг. Портыг хөрвүүлэхийн тулд та
суулгахыг хүсэж байгаа програмын сан уруу шилжиж make install
хэмээн бичихэд систем цааш үлдсэнийг хийх болно. Таны бүтээх порт болгоны жинхэнэ эх бүрэн
түгээлт динамикаар CDROM эсвэл локал FTP хаягаас татагдах бөгөөд танд зөвхөн хүссэн портоо
бүтээх хангалттай дискний зай л шаардлагатай. Порт бүр урьдчилан хөрвүүлсэн багц
хэлбэрээр бас байх бөгөөд өөрийн портыг эхээс хөрвүүлэх хүсэлгүй хүмүүс хялбар тушаалаар
(pkg_add) ийм портыг суулгаж болдог. Багцууд болон портуудын
талаар дэлгэрэнгүй мэдээллийг хаягаар олж болно.
Танд FreeBSD суулгаж ашиглах явцад маш их тус болохуйц хэд хэдэн баримтуудыг
хамгийн сүүлийн үеийн дурын FreeBSD машин дээр
/usr/share/doc
сангаас бас олох боломжтой юм. Локалаар суусан гарын авлагуудыг та HTML боломжтой
хөтчүүдийг ашиглан дараах хаягаас үзэж болно:
FreeBSD Гарын авлага
/usr/share/doc/handbook/index.html
FreeBSD-ийн БХА (байнга хариулагддаг асуултууд FAQ)
/usr/share/doc/faq/index.html
Мөн та мастер (болон бусдаас их шинэчлэгддэг) хуулбаруудыг
хаягаас үзэж болно.
diff --git a/mn_MN.UTF-8/books/handbook/jails/chapter.sgml b/mn_MN.UTF-8/books/handbook/jails/chapter.sgml
index 590e8f6d3e..ef1c57cb09 100644
--- a/mn_MN.UTF-8/books/handbook/jails/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/jails/chapter.sgml
@@ -1,478 +1,478 @@
Матео
Риондато
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
Jails буюу Шоронгууд
шоронгууд
Ерөнхий агуулга
Энэ бүлэг нь &os;-ийн шоронгууд гэж юу болох, тэдгээрийг хэрхэн ашиглах
талаар тайлбарлах болно. Шоронгууд буюу заримдаа chroot орчнуудын
өргөжүүлсэн орлуулалт гэгддэг энэ боломж нь системийн администраторуудад
зориулагдсан маш хүчтэй хэрэгсэл боловч тэдгээрийн үндсэн хэрэглээ нь
илүү дэвшилтэт хэрэглэгчдэд бас үр ашигтай байдаг.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Шорон гэж юу болох, &os;-ийн суулгалтуудад ямар зорилгоор
ашиглагдаж болох талаар.
Шоронг хэрхэн бүтээх, эхлүүлэх, болон зогсоох талаар.
Шоронгийн гадна болон дотор талаас хийгдэж болох
удирдлагын үндсүүд.
Шоронгийн тухай ашигтай мэдээллийн өөр бусад эхүүдийг дурдвал:
&man.jail.8; гарын авлагын хуудас. Энэ нь jail
хэрэгслийн бүрэн гүйцэд авлага юм — jail нь &os;
дээр &os; шоронгуудыг эхлүүлэх, зогсоох, болон хянахад ашиглагдаж болох
удирдлагын хэрэгсэл юм.
Захидлын жагсаалтууд болон тэдгээрийн архивууд. &a.questions;
болон бусад захидлын жагсаалтуудын архивууд нь &a.mailman.lists; дээр
байрладаг бөгөөд шоронгуудын талаар маш баялаг материалуудыг агуулсан байдаг.
Архивуудаас хайх юм уу эсвэл &a.questions.name; захидлын жагсаалт уруу
шинэ асуултаа илгээх нь үргэлж сонирхолтой байдаг.
Шоронгуудтай холбоотой ойлголтууд
Шоронгуудтай холбоотой &os; системийн хэсгүүд, тэдгээрийн дотоод хэсгүүд болон
&os;-ийн бусад хэсэгтэй хэрхэн харилцдаг арга замыг илүүтэй ойлгохыг хөнгөвчлөхийн тулд
энэ бүлэгт дараах ойлголтуудыг ашиглах болно:
&man.chroot.2; (тушаал)
Процесс болон түүний бүх үр удмуудын root санг өөрчилдөг
&os;-ийн системийн дуудлага.
&man.chroot.2; (орчин)
chroot
-д ажиллаж байгаа процессуудын орчин.
Үүнд харагдаж байгаа файлын системийн хэсэг, байгаа хэрэглэгч болон
бүлэг, сүлжээний интерфэйсүүд болон бусад IPC арга замууд гэх
мэт эх үүсвэрүүд ордог.
&man.jail.8; (тушаал)
Шоронгийн орчин дотор процессуудыг ажиллуулах боломжийг олгох
системийн удирдлагын хэрэгсэл.
хост (систем, процесс, хэрэглэгч, гэх мэт.)
Шоронгийн системийн хяналтын систем. Хост систем нь байгаа бүх тоног
төхөөрөмжийн эх үүсвэрүүдэд хандах боломжтой байдаг бөгөөд
шоронгийн орчны болон түүний гаднах процессуудыг хянаж чаддаг.
Хост системийн шоронгоос ялгарах нэг чухал ялгаа нь шорон доторх
супер хэрэглэгчийн процессуудад хамаарах хязгаарлалтууд
хост системийн процессуудын хувьд үйлчилдэггүй явдал юм.
хост хийгдсэн (систем, процесс, хэрэглэгч, гэх мэт.)
&os; шоронгоор эх үүсвэрүүдэд ханддаг хандалт нь хязгаарлагддаг
процесс, хэрэглэгч эсвэл бусад зүйлс.
Танилцуулга
Системийн удирдлага нь хэцүү, самууруулмаар ажил болохоор администраторын
амьдралыг хялбар болгох үүднээс олон хүчирхэг хэрэгслүүд хийгдэж хөгжүүлэгдсэн
байдаг. Эдгээр хэрэгслүүд нь системийг суулгах, тохируулах, болон арчлахад
нэгэн төрлийн өргөтгөлүүдийг ихэвчлэн хангаж өгдөг. Администраторуудын
хийх ёстой эдгээр ажлуудын нэг хэсэг нь системийн аюулгүй байдлыг зөв тохируулах
явдал юм. Ингэснээр аюулгүй байдлын зөрчлүүдгүйгээр систем өөрийн жинхэнэ
зорилгоороо үйлчлэх болно.
&os; системийн аюулгүй байдлыг сайжруулахад ашиглагдаж болох хэрэгслүүдийн
нэг нь jails буюу шоронгууд
юм. Шоронгуудыг &os; 4.X дээр &a.phk; анх танилцуулсан юм. Гэхдээ тэдгээрийг
хүчирхэг, уян хатан дэд систем болгохын тулд &os; 5.X дээр илүү ихээр сайжруулсан
билээ. Тэдгээрийн ашигтай тал, ажиллагаа болон найдвартай байдлыг өргөжүүлэн
тэдгээрийн хөгжүүлэлт үргэлжилсэн хэвээр болой.
Шорон гэж юу вэ
BSD-тэй төстэй үйлдлийн системүүд нь 4.2BSD-ийн үеэс эхлэн &man.chroot.2;
боломжтой болсон билээ. &man.chroot.8; хэрэгсэл нь процессуудын олонлогийн
root санг өөрчлөхөд ашиглагдаж
аюулгүй орчин үүсгэн системийн бусад хэсгээс тэдгээрийг тусгаарладаг.
chroot хийгдсэн орчинд үүсгэгдсэн процессууд нь өөрийн орчноос гаднах файлууд
болон эх үүсвэрүүдэд хандаж чаддаггүй. Энэ шалтгаанаар chroot хийгдсэн
орчинд ажиллаж байгаа үйлчилгээг эвдэх нь халдагчид бүхэл системийг
эвдэх боломжийг олгох ёсгүй юм. &man.chroot.8; хэрэгсэл нь маш их уян хатан
чанар эсвэл төвөгтэй, дэвшилтэт боломжуудыг шаарддаггүй хялбар ажлуудад
сайн байдаг. Мөн chroot ойлголтын эхлэлээс эхлээд л chroot хийгдсэн орчноос
зугтах олон арга замууд олдсон бөгөөд хэдийгээр тэдгээр нь &os; цөмийн
орчин үеийн хувилбаруудад засагдсан боловч &man.chroot.2; нь үйлчилгээнүүдийг
аюулгүй болгоход зориулагдсан туйлын шийдэл биш нь тодорхой байсан юм.
Үүнтэй холбоотой шинэ дэд систем хийгдэх шаардлагатай болсон байна.
Энэ нь шоронгууд яагаад хөгжүүлэгдсэн
гол шалтгаануудын нэг юм.
Шоронгууд нь уламжлалт &man.chroot.2; орчны ойлголтуудыг хэд хэдэн
аргаар сайжруулдаг. Уламжлалт &man.chroot.2; орчинд процессууд нь
өөрийн хандаж болох файлын системийн нэг хэсэгт хязгаарлагдаж байдаг.
Системийн бусад эх үүсвэрүүд (системийн хэрэглэгчид, ажиллаж байгаа процессууд,
эсвэл сүлжээний дэд систем зэрэг) нь chroot хийгдсэн процессууд болон
хост системийн процессуудын хооронд хуваалцан хэрэглэгддэг. Шоронгууд нь
зөвхөн файлын систем уруу хандах хандалт биш бас хэрэглэгчид, &os; цөмийн
сүлжээний дэд систем болон бусад хэд хэдэн зүйлсүүдийг виртуалчлан энэ загварыг
өргөтгөдөг байна. Шорон болгосон орчны хандалтыг тааруулахад зориулсан
илүү бүрэн гүйцэд нарийн тааруулсан хяналтуудын олонлог байдаг нь
хэсэгт тайлбарлагдсан байгаа.
Шорон дөрвөн элементээр тодорхойлогддог:
Сангийн дэд мод — шоронгийн орж ирдэг эхлэл цэг.
Шорон дотор орсны дараа процессийг энэ дэд модноос гадна
зугтахыг зөвшөөрдөггүй. Анхдагч &man.chroot.2; дизайныг
зовоосон аюулгүй байдлын уламжлалт асуудлууд нь &os; шоронгуудад
байдаггүй.
Хостын нэр — шорон дотор ашиглагдах хостын нэр. Шоронгууд нь
сүлжээний үйлчилгээнүүдийг хост хийхэд (байрлуулах) ихэвчлэн ашиглагддаг
болохоор шорон бүрийн хувьд тодорхойлсон нэртэй байх нь системийн администраторт
ихээхэн тус болж чадах юм.
IP хаяг — энэ нь шорон бүрт өгөгдөх
бөгөөд шоронгийн оршин тогтнох хугацаанд ямар ч талаараа өөрчлөгдөх
ёсгүй. Шоронгийн IP хаяг нь ихэвчлэн байгаа сүлжээний интерфэйсийн alias хаяг
байх боловч заавал тийм байх шаардлагагүй юм.
Тушаал — шорон дотор ажиллах програм/тушаалын зам.
Энэ нь шоронгийн орчны root сантай харьцангуй байх бөгөөд
шоронгийн тусгай очны төрлөөс хамаараад асар өөр өөр байж болох
юм.
Эдгээрээс гадна шоронгууд нь өөрийн гэсэн хэрэглэгчид болон өөрийн
root хэрэглэгчтэй байж болдог. Мэдээжийн хэрэг
root хэрэглэгчийн хүч чадал шоронгийн орчин дотор
хязгаарлагддаг бөгөөд хост системийн үүднээс авч үзвэл шоронгийн root
хэрэглэгч нь бүхнийг чадагч хэрэглэгч биш юм. Мөн шоронгийн root
хэрэглэгчид өөрийнх нь харгалзах &man.jail.8; орчноос гадна осолтой үйлдлүүдийг
систем дээр хийлгэхийг зөвшөөрдөггүй. root хэрэглэгчийн
боломжууд болон хязгаарлалтуудын тухай дэлгэрэнгүй мэдээллийг хэсэгт доор хэлэлцэх болно.
Шоронг үүсгэж хянах нь
Зарим администраторууд шоронг дараах хоёр төрөлд хуваадаг: эдгээр нь
жинхэнэ &os; системтэй адил төстэй бүрэн
шоронгууд болон
нэг програм юм уу эсвэл үйлчилгээнд зориулагдсан, магадгүй зөвшөөрлүүдтэй ажиллах
үйлчилгээ
шоронгууд юм. Энэ нь зөвхөн ухагдахууны хуваагдал
бөгөөд шоронг бүтээх процесс үүнд хамаагүй юм. &man.jail.8; гарын авлагын
хуудас шоронг бүтээх аргачлалын талаар маш тодорхой зааварласан буй:
&prompt.root; setenv D /here/is/the/jail
&prompt.root; mkdir -p $D
&prompt.root; cd /usr/src
&prompt.root; make world DESTDIR=$D
&prompt.root; cd etc/ Энэ алхам нь
&os; 6.0 болон түүнээс хойшхи хувиилбаруудад шаардлагагүй.
&prompt.root; make distribution DESTDIR=$D
&prompt.root; mount_devfs devfs $D/dev
Шоронгийн байрлалыг сонгох нь хамгийн шилдэг эхлэх цэг юм.
Энэ нь шорон физикээр өөрийн хостын файлын систем дотор байрлах байрлал юм. Сайн сонголт нь
/usr/jail/jailname
байж болох бөгөөд энд байгаа jailname нь
шоронг таниулж байгаа хостын нэр юм. /usr/ файлын систем нь
шоронгийн файлын системийн хувьд ихэвчлэн хангалттай зайтай байдаг.
Үндсэндээ бүрэн
шоронгуудын хувьд энэ шоронгийн
файлын систем нь үндсэн &os; системийн андагч
суулгацад байдаг бүх файлуудын хуулбар байдаг.
Энэ тушаал нь шоронгийн физик байрлал болгон сонгосон сангийн дэд модыг
файлын систем дээр шаардлагатай хоёртын файлууд, сангууд, гарын авлагын
хуудаснууд гэх зэргүүдийг тараан байрлуулах болно. Бүгд хэвшмэл &os;
загвараар хийгдэнэ — эхлээд бүгд бүтээгдэнэ/эмхэтгэгдэнэ, дараа нь
хүрэх замд суулгагдана.
make тушаалд зориулагдсан
distribution тохируулга нь бүх шаардлагатай
тохиргооны файлыг суулгана, өөрөөр хэлбэл энэ нь
/usr/src/etc/ сангийн
бүх суулгаж болох файлуудыг шоронгийн орчны
/etc сан болох
$D/etc/ руу хуулдаг.
Шорон дотор &man.devfs.8; файлын системийг холбох шаардлагагүй.
Нөгөө талаас авч үзвэл дурын, бараг бүх програм өөрийн зорилгоосоо хамааран
хамгийн багаар бодоход ядаж ганц төхөөрөмжид хандах шаардлагатай байдаг.
Шорон дотроос төхөөрөмжид хандах хандалтыг хянах нь маш чухал байдаг.
Учир нь буруу тохируулгууд халдагчид шорон дотор муухай зүйлс хийх боломжийг
олгож болох юм. &man.devfs.8; дээрх хяналтыг &man.devfs.8; болон
&man.devfs.conf.5; гарын авлагын хуудаснуудад тайлбарласан дүрмийн
олонлогуудаар удирддаг.
Шорон суулгагдсаны дараа &man.jail.8; хэрэгсэл ашиглан түүнийг
эхлүүлж болно. &man.jail.8; хэрэгсэл дөрвөн зайлшгүй шаардлагатай
нэмэлт өгөгдлийг авдаг бөгөөд эдгээр нь хэсэгт тайлбарлагдсан байгаа болно.
Өөр бусад нэмэлт өгөгдлүүдийг бас зааж өгч болох бөгөөд өөрөөр хэлбэл
шорон хийгдсэн процессийг тухайн нэг хэрэглэгчийн итгэмжлэлүүдтэй ажиллуулж болох юм.
-н нэмэлт өгөгдөл нь
шоронгийн төрлөөс хамаарна; виртуал системийн
хувьд /etc/rc нь боломжийн сонголт байна.
Энэ нь жинхэнэ &os; системийн эхлүүлэх дарааллыг хуулбарлах учраас тэр
юм. Үйлчилгээ шоронгийн хувьд шорон дотор
ажиллах үйлчилгээ эсвэл програмаас энэ нь хамаарна.
Шоронгууд нь ихэвчлэн ачаалах үед эхлүүлэгддэг бөгөөд &os;
rc арга зам нь үүнийг хийх хялбар аргаар
хангадаг.
Ачаалах үед эхлэхээр идэвхжүүлэгдсэн шоронгуудын жагсаалтыг
&man.rc.conf.5; файлд нэмэх ёстой:
jail_enable="YES" # Set to NO to disable starting of any jails
jail_list="www" # Space separated list of names of jails
Шорон бүрийг тайлбарласан &man.rc.conf.5; тохируулгуудын бүлэг
jail_list-д жагсаагдсан шорон бүрийн
хувьд доор дурдсаныг нэмэх ёстой:
jail_www_rootdir="/usr/jail/www" # jail's root directory
jail_www_hostname="www.example.org" # jail's hostname
jail_www_ip="192.168.0.10" # jail's IP address
jail_www_devfs_enable="YES" # mount devfs in the jail
jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail
&man.rc.conf.5;-д тохируулагдсан шоронгуудын анхдагч
эхлүүлэлт нь шоронг бүрэн виртуал систем гэж тооцдог шоронгийн
/etc/rc скриптийг ажиллуулах болно. Үйлчилгээний
шоронгуудын хувьд
jail_jailname_exec_start
тохируулгыг зохистойгоор тохируулан шоронгийн анхдагч эхлүүлэх тушаалыг
өөрчлөх ёстой.
Тохируулгуудын бүрэн жагсаалтыг &man.rc.conf.5; гарын
авлагын хуудаснаас үзнэ үү.
Шоронд зориулагдсан оруулга rc.conf файлд байгаа
тохиолдолд /etc/rc.d/jail скрипт шоронг гараар эхлүүлэх
эсвэл зогсооход ашиглагдаж болох юм:
&prompt.root; /etc/rc.d/jail start www
&prompt.root; /etc/rc.d/jail stop www
Одоогоор &man.jail.8;-г зогсоох цэвэр зам байхгүй байгаа.
Цэвэр системийн зогсолтыг хийх тушаалуудыг шорон дотор ашиглах боломжгүй
байдаг болохоор тэр юм. Шоронг зогсоох хамгийн шилдэг арга бол
дараах тушаалыг шорон дотроос ажиллуулах эсвэл шоронгийн гадна
&man.jexec.8; хэрэгслийг ашиглах явдал юм:
&prompt.root; sh /etc/rc.shutdown
Үүний талаар дэлгэрэнгүй мэдээллийг &man.jail.8; гарын авлагын хуудаснаас
олж болно.
Нарийн тааруулалт болон удирдлага
Аль ч шоронд зориулж тохируулж болох хэд хэдэн тохируулгууд байдаг бөгөөд
өндөр түвшний програмуудыг хийхийн тулд хост &os; системийг шоронгуудтай цуг
хослуулах төрөл бүрийн аргууд бас байдаг. Энэ хэсэг нь дараах зүйлсийг үзүүлнэ:
Ажиллагаа болон шоронгийн суулгалтаар хийгдсэн аюулгүй байдлын
хязгаарлалтуудыг тааруулахад зориулагдсан зарим тохируулгууд.
&os;-ийн портын цуглуулгад байх, шорон дээр суурилсан шийдлүүдийг
хийхэд ашиглагдаж болох шорон удирдах зарим нэг өндөр түвшний
програмууд.
&os; дээр шорон тааруулах системийн хэрэгслүүд
Шоронгийн тохиргооны нарийн сайн тааруулалтыг &man.sysctl.8;
хувьсагчуудыг тохируулснаар ихэвчлэн хийдэг. Бүх хамаатай тохируулгуудыг
зохион байгуулах үндэс болон sysctl-ийн тусгай дэд мод байдаг: энэ нь
&os; цөмийн тохируулгуудын security.jail.* шатлал
юм. Энд шоронтой холбоотой гол sysctl-уудын жагсаалтыг тэдгээрийн
анхдагч утгуудтайгаар харуулав. Нэрс нь өөрийгөө тайлбарласан байгаа,
гэхдээ тэдгээрийн талаар илүү мэдээллийг &man.jail.8; болон &man.sysctl.8;
гарын авлагын хуудаснуудаас лавлана уу.
security.jail.set_hostname_allowed:
1
security.jail.socket_unixiproute_only:
1
security.jail.sysvipc_allowed:
0
security.jail.enforce_statfs:
2
security.jail.allow_raw_sockets:
0
security.jail.chflags_allowed:
0
security.jail.jailed: 0
root хэрэглэгчид анхдагчаар ноогдуулсан хязгаарлалтуудын
заримыг нэмэх эсвэл хасахын тулд эдгээр хувьсагчуудыг хост системийн
администратор ашиглаж болно. Зарим нэг хязгаарлалтуудыг хасаж болохгүйг
тэмдэглэе. root хэрэглэгчид &man.jail.8;
дотор файлын системүүдийг холбох эсвэл салгахыг зөвшөөрдөггүй. Шорон
доторх root хэрэглэгч &man.devfs.8; дүрмийн
олонлогуудыг дуудах эсвэл буцааж болиулах, галт ханын дүрмүүдийг тохируулах,
эсвэл цөмийн securelevel хувьсагчийг тохируулах зэрэг
цөм дэх өгөгдлийн өөрчлөлтүүдийг шаарддаг өөр олон бусад удирдлагын
ажлуудыг хийж чадахгүй байж болох юм.
&os;-ийн үндсэн систем нь идэвхтэй шоронгуудын тухай мэдээллийг үзүүлэх болон
удирдлагын тушаалуудыг ажиллуулахын тулд шоронд залгагдаж болох хялбар хэрэгслүүдийн
цуглуулгыг агуулдаг. &man.jls.8; болон &man.jexec.8; тушаалууд нь &os;-ийн үндсэн системийн
хэсэг бөгөөд дараах хялбар ажлуудыг хийж гүйцэтгэхэд ашиглагдаж болно:
Идэвхтэй байгаа шоронгуудын жагсаалт болон тэдгээрийн харгалзах
шорон танигч (JID), IP
хаяг, хостын нэр болон замыг үзүүлнэ.
Өөрийнх нь хост системээс ажиллаж байгаа шоронд залгагдаж
шорон дотор тушаал ажиллуулах юм уу эсвэл шоронгийн удирдлагын ажлуудыг
шорон дотор ажиллуулна.
root хэрэглэгч шоронг цэвэрхэн
зогсоож унтраахыг хүсэх үед энэ нь ялангуяа ашигтай байдаг.
Шорон дотор удирдлага хийхийн тулд түүн дотор бүрхүүл эхлүүлэхэд
&man.jexec.8; хэрэгсэл бас ашиглагдаж болдог; жишээ нь:
&prompt.root; jexec 1 tcsh
&os;-ийн портын цуглуулга дахь өндөр түвшний удирдлагын хэрэгслүүд
Шорон удирдлагад зориулагдсан гуравдагч талуудын олон хэрэгслүүдийн дундаас
хамгийн бүрэн гүйцэд, ашигтай нь sysutils/jailutils юм. Энэ нь
&man.jail.8;-ийн удирдлагад хувь нэмэр болсон жижиг програмуудын цуглуулга
юм. Дэлгэрэнгүй мэдээллийн талаар түүний вэб хуудсанд хандана уу.
diff --git a/mn_MN.UTF-8/books/handbook/l10n/chapter.sgml b/mn_MN.UTF-8/books/handbook/l10n/chapter.sgml
index 57fdcb00c1..843d027d76 100644
--- a/mn_MN.UTF-8/books/handbook/l10n/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/l10n/chapter.sgml
@@ -1,930 +1,930 @@
Андрей
Чернов
Хувь нэмэр болгон оруулсан
Майкл Си.
Ву
Дахин бичсэн
Цагаанхүүгийн
Ганболд
Орчуулсан
Локалчлал - I18N/L10N-ийн хэрэглээ болон тохируулга
Ерөнхий агуулга
FreeBSD нь дэлхий даяар байрласан хэрэглэгчид болон хувь нэмэр болгон
оруулагчидтай маш тархмал төсөл юм. Энэ бүлэг Англиар ярьдаггүй хэрэглэгчдэд
жинхэнэ ажлаа хийх боломж олгох FreeBSD-ийн интернационалчлал болон
локалчлалын боломжуудыг хэлэлцэх болно. Систем болон програмын түвшингүүдийн
аль алинд нь i18n шийдлийн олон үзэл бодлууд байдаг бөгөөд бид шаардлагатай
тохиолдолд илүү тусгайлсан баримтын эхүүдийг хэрэглэгчдэд зааж өгөх болно.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Орчин үеийн үйлдлийн системүүд дээр хэлнүүд болон
локалууд (locales) нь хэрхэн кодчилогддог талаар.
Өөрийн нэвтрэх бүрхүүлийн хувьд локалыг хэрхэн
тохируулах талаар.
Англи биш хэлнүүдийн хувьд өөрийн консолыг хэрхэн
тохируулах талаар.
X Цонхны Системийг өөр хэлнүүдтэй хэрхэн үр дүнтэйгээр
ашиглах талаар.
i18n-нийцтэй програмуудыг бичих талаар илүү мэдээллийг
хаанаас олох талаар.
Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:
Нэмэлт гуравдагч этгээдийн програмуудыг
() хэрхэн суулгах талаар.
Үндсүүд
I18N/L10N гэж юу вэ?
интернационалчлал
локалчлал
локалчлал
Хөгжүүлэгчид интернационалчлалыг I18N гэж internationalization гэсэн үгийн
эхний болон эцсийн үсгийн хоорондох үсгийн тоог оруулан богиносгосон юм.
L10N нь бас адил журмаар localization
-с улбаалан
нэрлэгдсэн юм. Хоёулаа нэгдсэн I18N/L10N аргууд, протоколууд болон
програмууд нь хэрэглэгчдэд өөрсдийнх нь сонгосон хэлнүүдийг ашиглах
боломжийг олгодог.
I18N програмууд нь сангуудын доорх I18N хэрэгслүүдийг ашиглан
програмчлагдсан байдаг. Энэ нь энгийн файлыг бичих болон
харуулагдсан цэснүүд, текстүүдийг хэл бүр уруу орчуулах боломжийг хөгжүүлэгчдэд олгоно.
Бид энэ дадлыг мөрдөхийг програм зохиогчдоос шаргуу хүсдэг.
I18N/L10N-ийг би яагаад ашиглах ёстой гэж?
I18N/L10N нь Англи хэлнээс өөр хэл дээр өгөгдлийг харах, оруулах, эсвэл
боловсруулахыг таныг хүсэх үед хэрэглэгддэг.
I18N чармайлтад ямар хэлнүүд дэмжигдсэн байдаг вэ?
I18N болон L10N нь зөвхөн FreeBSD зориулагдаагүй. Одоогоор
хэрэглэгч дэлхийн гол гол хэлнүүдийн ихэнхийг сонгож болох бөгөөд гэхдээ энэ нь энд
байгаа жагсаалтаар хязгаарлагдахгүй: Хятад, Герман, Япон, Солонгос, Франц, Орос,
Вьетнам болон бусад хэлнүүдийг дурдаж болно.
Локалчлалыг ашиглах нь
Өөрийн бүх сүр жавхлангаараа I18N нь зөвхөн FreeBSD-д зориулагдаагүй бөгөөд
энэ нь ёс заншил болсон байдаг. Энэ ёс заншлыг дагаж FreeBSD-д туслахыг
бид танаас хүсдэг.
локал
Локалчлалын тохируулгууд нь гурван гол ойлголт дээр тулгуурладаг:
Хэлний код, Улсын код ба Кодчилол. Локалын нэрс эдгээр хэсгүүдээс
дараах маягаар бүрэлдэн тогтоно:
LanguageCode_CountryCode.Encoding
Хэл болон Улсын кодууд
хэлний кодууд
улсын кодууд
FreeBSD системийг тухайн хэл уруу (эсвэл I18N дэмждэг бусад &unix; төст системүүд дээр)
локалчлахын тулд хэрэглэгч улс болон хэлийг (улсын код нь програмд өгөгдсөн хэлний аль хувилбарыг
ашиглахыг хэлж өгдөг) заах кодуудыг олж мэдэх хэрэгтэй. Мөн вэб хөтчүүд, SMTP/POP
серверүүд зэрэг нь тэдгээр дээр тулгуурлан шийдэл гаргадаг. Дараах нь хэл/улсын кодны
жишээнүүд юм:
Хэл/Улсын код
Тайлбар
en_US
English буюу Англи - Нэгдсэн Улс
ru_RU
Орос улсад зориулсан Russian буюу Орос
zh_TW
Тайваньд зориулсан Уламжлалт Хятад хэл
Кодчилолууд
кодчилолууд
ASCII
Зарим хэлнүүд 8-бит, өргөн эсвэл олон байт тэмдэгтүүд зэрэг ASCII биш
кодчилолыг ашигладаг. Олон байт тэмдэгтүүдийн талаар илүү дэлгэрэнгүйг
&man.multibyte.3;-ээс үзнэ үү. Хуучин програмууд тэдгээрийг танидаггүй бөгөөд
тэдгээрийг хянах тэмдэгтүүд гэж алддаг. Шинэ програмууд ихэвчлэн 8-бит тэмдэгтүүдийг
танидаг. Шийдлээс хамаараад хэрэглэгчид програмыг өргөн эсвэл олон байт тэмдэгтийн
дэмжлэгтэйгээр эмхэтгэх эсвэл зөвөөр тохируулах шаардлагатай байж болох юм.
Өргөн эсвэл олон тэмдэгтүүдийг оруулж процесс хийж чадахын тулд FreeBSD портын цуглуулга
хэл бүрийг өөр өөр програмуудтайгаар хангадаг. FreeBSD порт дахь
харгалзах I18N баримтжуулалтаас лавлана уу.
Ялангуяа програмыг хэрхэн зөв тохируулах эсвэл зөв утгуудыг
configure/Makefile/эмхэтгэгчид дамжуулахыг шийдэхдээ програмын баримтжуулалтаас
харах хэрэгтэй болно.
Санаж байх ёстой зарим нэг зүйлүүд нь:
Тухайн хэлний ганц C chars тэмдэгтийн олонлогууд
(&man.multibyte.3;-г үзнэ үү), өөрөөр хэлбэл
ISO8859-1, ISO8859-15, KOI8-R, CP437.
Өргөн эсвэл олон байт кодчилол, өөрөөр хэлбэл EUC, Big5.
Та тэмдэгтийн олонлогуудын идэвхтэй жагсаалтыг IANA Registry-с
шалгаж болно.
&os; нь X11-нийцтэй локалын кодчилолуудыг харин ашигладаг.
I18N програмууд
FreeBSD-ийн портууд болон багцын системд I18N програмууд нь амархан
танигдахын тулд нэрэндээ I18N-тайгаар нэрлэгддэг.
Гэхдээ тэдгээр нь хэрэгтэй хэлийг үргэлж дэмжсэн байдаггүй.
Локалыг тохируулах
Нэвтрэх бүрхүүл дээр локалын нэрний утгыг LANG уруу
экспорт хийхэд ихэвчлэн хангалттай байдаг. Үүнийг хэрэглэгчийн
~/.login_conf файл эсвэл хэрэглэгчийн бүрхүүлийн
эхлүүлэх файлд (~/.profile,
~/.bashrc, ~/.cshrc)
зааж өгч болно. LC_CTYPE, LC_CTIME зэрэг
локал дэд олонлогуудыг тохируулах хэрэггүй. Дэлгэрэнгүй мэдээллийн талаар
тухайн хэлний FreeBSD-ийн баримтаас лавлана уу.
Та өөрийн тохиргооны файлууддаа дараах хоёр орчны хувьсагчийг тохируулах хэрэгтэй:
POSIX
&posix; &man.setlocale.3; төрлийн функцуудад зориулсан LANG
MIME
Програмуудын MIME тэмдэгтийн олонлогт зориулсан MM_CHARSET
Энэ нь хэрэглэгчийн бүрхүүлийн тохиргоо, тухайн програмын тохиргоо болон X11-ийн
тохиргоог агуулдаг.
Локал аргуудыг тохируулах
локал
нэвтрэх ангилал
Локалыг тохируулах хоёр арга байдаг бөгөөд хоёуланг доор тайлбарласан
байгаа. Эхнийхийг (бидний зөвлөж байгааг) нэвтрэх
ангилалд орчны хувьсагчуудыг зааж хоёр дахийг системийн бүрхүүлийн
эхлүүлэх файлд орчны хувьсагчийн
заалтуудыг нэмснээр хийдэг.
Нэвтрэх ангилалуудын арга
Энэ арга нь бүрхүүл бүрийн эхлүүлэх файлд тухайн бүрхүүлийн заалтуудыг
нэмэхийн оронд локалын нэр болон MIME тэмдэгтийн олонлогуудад хэрэгтэй орчны
хувьсагчуудыг боломжит бүрхүүл бүрийн хувьд нэг л удаа заах боломжийг
олгодог. Хэрэглэгчийн түвшний
тохируулгыг хэрэглэгч өөрөө хийж болох бөгөөд Администраторын түвшний тохируулга нь
супер хэрэглэгчийн зөвшөөрлүүдийг шаарддаг.
Хэрэглэгчийн түвшний тохируулга
Энд хэрэглэгчийн гэр сан дотор байрлах Latin-1 кодчилолын хувьд
хоёр хувьсагчийг нь тохируулж өгсөн .login_conf
файлын хамгийн бага жишээ байна:
me:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:
Уламжлалт Хятад хэлBIG-5 кодчилол
Энд BIG-5 кодчилолд Уламжлалт Хятад хэлд зориулан хувьсагчуудыг
тохируулж байгаа .login_conf файлын жишээ
байна. Зарим програм хангамжууд нь Хятад, Япон болон
Солонгос хэлний хувьд локалын хувьсагчуудыг зөвөөр хүндэлдэггүй учраас
илүү олон хувьсагчуудыг тохируулсныг эндээс харж болно.
#Users who do not wish to use monetary units or time formats
#of Taiwan can manually change each variable
me:\
:lang=zh_TW.Big5:\
:setenv=LC_ALL=zh_TW.Big:\
:setenv=LC_COLLATE=zh_TW.Big5:\
:setenv=LC_CTYPE=zh_TW.Big5:\
:setenv=LC_MESSAGES=zh_TW.Big5:\
:setenv=LC_MONETARY=zh_TW.Big5:\
:setenv=LC_NUMERIC=zh_TW.Big5:\
:setenv=LC_TIME=zh_TW.Big5:\
:charset=big5:\
:xmodifiers="@im=gcin": #Set gcin as the XIM Input Server
Илүү дэлгэрэнгүйг Администраторын түвшний
тохируулга болон &man.login.conf.5;-с үзнэ үү.
Администраторын түвшний тохируулга
/etc/login.conf дахь хэрэглэгчийн
нэвтрэх ангилал зөв хэл тохируулсныг шалгана. Эдгээр тохируулгууд
/etc/login.conf-д байгаа
эсэхийг шалгаарай:
language_name:accounts_title:\
:charset=MIME_charset:\
:lang=locale_name:\
:tc=default:
Бидний урдны жишээний адил Latin-1-г сонговол энэ нь иймэрхүү
харагдана:
german:German Users Accounts:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:\
:tc=default:
Хэрэглэгчийн нэвтрэх ангиллуудыг өөрчлөхөөсөө өмнө дараах тушаалыг
ажиллуулж
&prompt.root; cap_mkdb /etc/login.conf
шинэ тохиргоог системд харагдуулахаар
/etc/login.conf-д хийнэ.
Нэвтрэх ангиллуудыг &man.vipw.8; ашиглан солих
vipw
Шинэ хэрэглэгчид нэмэхийн тулд vipw тушаал ашиглан
оруулгыг иймэрхүү болгоно:
user:password:1111:11:language:0:0:User Name:/home/user:/bin/sh
Нэвтрэх ангиллуудыг &man.adduser.8; ашиглан солих
adduser
нэвтрэх ангилал
Шинэ хэрэглэгчид нэмэхийн тулд adduser тушаал
ашиглан доор дурдсаныг хийнэ:
/etc/adduser.conf файлд
defaultclass =
language-г
тохируулна. Та энэ тохиолдолд бусад хэлнүүдийн бүх хэрэглэгчдэд
зориулан анхдагч ангилалыг оруулах
хэрэгтэйг санах хэрэгтэй.
&man.adduser.8;-с гарч ирэх асуулт бүрт
Enter login class: default []:
асуултад тухайн хэлийг зааж өгөх бас нэг хувилбар байж болно.
Өөр нэг арга нь нэмэхээр хүсэж байгаа өөр хэлний хэрэглэгч бүрийн
хувьд доор дурдсаныг ашиглах явдал юм:
&prompt.root; adduser -class language
Нэвтрэх ангиллуудыг &man.pw.8; ашиглан солих
pw
Хэрэв та &man.pw.8;-г шинэ хэрэглэгч нэмэхийн тулд ашиглаж байгаа бол
үүнийг иймэрхүү маягаар дуудаарай:
&prompt.root; pw useradd user_name -L language
Бүрхүүлийн эхлүүлэх файл арга
Энэ аргыг зөвлөдөггүй, учир нь сонгосон боломжит бүрхүүл програм
бүрийн хувьд өөр тохируулгыг шаарддаг. Оронд нь
Нэвтрэх ангиллын аргыг
ашиглаарай.
MIME
локал
Локалын нэр болон MIME тэмдэгтийн олонлогийг нэмэхийн тулд
доор үзүүлсэн хоёр орчны хувьсагчийг /etc/profile-д
болон/эсвэл бүрхүүлийн эхлүүлэх файл /etc/csh.login-д
зааж өгнө. Бид Герман хэлийг доор жишээ болгон ашиглах болно:
/etc/profile файлд:
LANG=de_DE.ISO8859-1; export LANG
MM_CHARSET=ISO-8859-1; export MM_CHARSET
Эсвэл /etc/csh.login файлд:
setenv LANG de_DE.ISO8859-1
setenv MM_CHARSET ISO-8859-1
Өөрөөр та дээрх заавруудыг /usr/share/skel/dot.profile
файлд (дээрх /etc/profile-д ашигласантай адил) эсвэл
/usr/share/skel/dot.login файлд (дээрх
/etc/csh.login-д ашигласантай адил)
нэмж болно.
X11-ийн хувьд:
$HOME/.xinitrc файлд:
LANG=de_DE.ISO8859-1; export LANG
Эсвэл:
setenv LANG de_DE.ISO8859-1
Таны бүрхүүлээс хамаараад (дээр дурдсаныг үзнэ үү).
Консол тохируулах
Бүх ганц C chars тэмдэгтийн олонлогуудын хувьд зөв консолын
фонтуудыг /etc/rc.conf-д
асуултанд байгаа хэлний хувьд тохируулна:
font8x16=font_name
font8x14=font_name
font8x8=font_name
Эндэх font_name-ийг
/usr/share/syscons/fonts сангаас
.fnt төгсгөлгүйгээр авсан.
sysinstall
keymap
screenmap
Бас зөв keymap болон screenmap-ийг өөрийн ганц C chars тэмдэгтийн
олонлогийн хувьд sysinstall (5.2-оос хуучин &os;
хувилбаруудад /stand/sysinstall) ашиглан
зааж өгсөн эсэхээ шалгаарай. sysinstall
дотор байхдаа Configure-г сонгоод
дараа нь Console-г сонгоно. Өөрөөр
та доор дурдсаныг /etc/rc.conf-д нэмж болно:
scrnmap=screenmap_name
keymap=keymap_name
keychange="fkey_number sequence"
Эндэх screenmap_name-ийг
/usr/share/syscons/scrnmaps сангаас
.scm төгсгөлгүйгээр авсан. Зохих оноогдсон фонттой
screenmap нь псевдографик талбарт VGA адаптерийн фонтын тэмдэгтийн
матриц дээр бит 8-ийг бит 9 уруу өргөтгөхөд ихэвчлэн тойрон гарах арга зам
болгон хэрэглэгддэг, өөрөөр хэлбэл хэрэв дэлгэцийн фонт бит 8 багана ашиглаж
байвал тэр талбараас үсэгнүүдийг шилжүүлэн гаргахын тулд хэрэглэгддэг.
Хэрэв та /etc/rc.conf-д
moused дэмонг идэвхжүүлэхийг
дараах байдлаар тохируулсан бол:
moused_enable="YES"
хулганы заагчийн мэдээллийг дараагийн хэсгээс шалгаарай.
moused
Анхдагчаар &man.syscons.4; драйверийн хулганы заагч нь тэмдэгтийн
олонлогийн 0xd0-0xd3 хэсгийг эзэлдэг. Хэрэв таны хэл энэ хэсгийг ашигладаг
бол заагчийн хэсгийг үүнээс гадна шилжүүлэх хэрэгтэй. &os;-ийн хувьд
тойрон гарах арга замыг идэвхжүүлэхийн тулд дараах мөрийг
/etc/rc.conf-д нэмнэ:
mousechar_start=3
Эндэх keymap_name-ийг
/usr/share/syscons/keymaps сангаас
.kbd төгсгөлгүй авсан. Хэрэв та аль keymap-ийг
ашиглах эсэхдээ эргэлзэж байвал &man.kbdmap.1;-г ашиглаж дахин
ачаалалгүйгээр keymap-уудыг тест хийж болно.
keychange нь функцын товчлууруудыг сонгосон терминалын
төрөлтэй тааруулахын тулд програмчлахад ихэвчлэн хэрэгтэй байдаг, учир нь функцын
товчлуурын дарааллуудыг товчлууруудын оноолтод тодорхойлж болдоггүй.
Бас консолын терминалын зөв төрлийг бүх ttyv*
оруулгуудын хувьд /etc/ttys файлд тохируулсан
эсэхээ шалгаарай. Одоогийн урьдчилан тодорхойлсон зохицлууд нь:
Тэмдэгтийн Олонлог
Терминалын Төрөл
ISO8859-1 эсвэл ISO8859-15
cons25l1
ISO8859-2
cons25l2
ISO8859-7
cons25l7
KOI8-R
cons25r
KOI8-U
cons25u
CP437 (VGA default)
cons25
US-ASCII
cons25w
Өргөн эсвэл олон байт тэмдэгтүүд бүхий хэлнүүдийн хувьд өөрийн
/usr/ports/language
сангаас зөв FreeBSD портоо ашиглаарай. Зарим портууд консол маягаар
байхад түүнийг систем сериал vtty-үүд шигээр хардаг, ийм учраас та X11
болон псевдо-сериал консолын хувьд хангалттай vtty-үүдийг хадгалж байх
шаардлагатай. Өөр хэлүүдийг консолд ашиглахын тулд энд програмуудын
хэсэгчилсэн жагсаалт байна:
Хэл
Байрлал
Уламжлалт Хятад хэл (BIG-5)
chinese/big5con
Япон хэл
japanese/kon2-16dot эсвэл
japanese/mule-freewnn
Солонгос хэл
korean/han
X11 тохируулах
X11 нь FreeBSD Төслийн нэг хэсэг биш боловч бид энд FreeBSD хэрэглэгчдэд
зориулж зарим мэдээлэл орууллаа. Илүү дэлгэрэнгүйг &xorg;
вэб хаягаас эсвэл аль X11 сервер ашиглаж байгаа түүнийхээ
вэб хаягаас лавлана уу.
~/.Xresources файлд та програмуудад зориулсан
I18N тохируулгуудыг (өөрөөр хэлбэл фонтууд, цэснүүд, гэх мэт.) тааруулж өгч
болно.
Фонтуудыг үзүүлэх
X11 True Type фонтын сервер
&xorg; сервер
(x11-servers/xorg-server)
эсвэл &xfree86; сервер
(x11-servers/XFree86-4-Server)
суулгаад дараа нь хэлний &truetype; фонтуудыг суулгана. Зөв локалыг тохируулах нь
танд цэснүүдийг сонгосон хэлээрээ харах зэрэг боломжийг олгоно.
Англи биш тэмдэгтүүдийг оруулах нь
X11 оруулах арга (XIM)
X11 оруулах арга (XIM) нь бүх X11 клиентүүдэд зориулсан шинэ
стандарт юм. Бүх X11 програмууд нь XIM оруулах серверүүдээс оролт авдаг
XIM клиентүүд маягаар бичигдэх ёстой. Өөр өөр хэлнүүдэд зориулагдсан хэд хэдэн
XIM серверүүд байдаг.
Хэвлэгч тохируулах
Зарим ганц C chars тэмдэгтийн олонлогууд нь ихэвчлэн хэвлэгчүүд дотор
хатуугаар бичигдсэн байдаг. Өргөн эсвэл олон байт тэмдэгтийн олонлогууд нь
тусгай тохируулга шаарддаг бөгөөд бид apsfilter
програмыг хэрэглэхийг зөвлөдөг. Та бас &postscript; эсвэл PDF хэлбэрүүд
уруу тухайн хэлний хөрвүүлэгчдийг ашиглан баримтыг хөрвүүлж болох юм.
Цөм ба файлын системүүд
FreeBSD-ийн хурдан файлын систем (FFS) нь 8-бит цэвэр учир үүнийг
ямар ч ганц C chars тэмдэгтийн олонлогтой цуг ашиглаж болно
(&man.multibyte.3;-г үзнэ үү), гэхдээ тэмдэгтийн олонлогийн нэр
файлын системд хадгалагддаггүй; өөрөөр хэлбэл энэ нь түүхий 8-бит бөгөөд
кодчилолын дарааллын талаар юу ч мэддэггүй. Албан ёсоор FFS нь
өргөн эсвэл олон байт тэмдэгтийн олонлогуудын аль ч хэлбэрийг дэмждэггүй.
Гэхдээ зарим өргөн эсвэл олон байт тэмдэгтийн олонлогууд нь FFS-д ийм дэмжлэгийг
идэвхжүүлэхэд зориулсан бие биеэсээ ангид засваруудтай байдаг. Тэдгээр нь
цорын ганц ийш тийш хөрвүүлэх боломжгүй шийдлүүд буюу hack бөгөөд бид
тэдгээрийг эх модонд оруулахгүй гэж шийдэцгээсэн юм. Тохирох хэлнүүдийн
вэб хуудаснуудаас илүү дэлгэрэнгүй мэдээлэл болон засвар файлуудын талаар
лавлана уу.
DOS
Unicode
FreeBSD &ms-dos; файлын систем нь &ms-dos;, Юникод тэмдэгтийн олонлогууд
болон FreeBSD-ийн сонгосон файлын системийн тэмдэгтийн олонлогуудын хооронд
хөрвүүлэх тохируулж болох боломж бүхий байдаг. Дэлгэрэнгүйг
&man.mount.msdosfs.8;-с үзнэ үү.
I18N програмуудыг эмхэтгэх
FreeBSD-ийн олон портууд I18N дэмжлэгтэйгээр хөрвүүлэгдсэн байдаг.
Тэдгээрийн зарим нь портын нэрэндээ -I18N гэж тэмдэглэгдсэн байдаг.
Эдгээр болон бусад олон програмууд I18N-д зориулагдсан дэмжлэгтэйгээр бүтээгдсэн
байдаг бөгөөд тусгай хэлэлцүүлэг шаардлагагүй юм.
MySQL
Гэхдээ MySQL зэрэг зарим програмууд
тусгайлсан charset бүхий байхаар тохируулагдсан Makefile
файлтай байх шаардлагатай. Үүнийг ихэвчлэн Makefile-д
эсвэл эхэд байх configure програмд утга
дамжуулан хийдэг.
FreeBSD-г өөр хэлнүүд уруу локалчлах
Андрей
Чернов
Анхлан хувь нэмэр болгон оруулсан
Орос хэл (KOI8-R Кодчилол)
локалчлал
Орос
KOI8-R кодчилолын талаар дэлгэрэнгүй мэдээллийг KOI8-R Лавлахууд
(Russian Net Character Set)-с үзнэ үү.
Локал Тохируулах
Дараах мөрүүдийг өөрийн ~/.login_conf
файлд нэмнэ:
me:My Account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:
Энэ бүлгийн өмнөхөөс локал
тохируулах жишээнүүдийг үзнэ үү.
Консол Тохируулга
Дараах мөрийг өөрийн /etc/rc.conf файлд нэмнэ:
mousechar_start=3
Мөн дараах тохируулгуудыг
/etc/rc.conf-д ашиглана:
keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"
/etc/ttys файл дахь
ttyv* оруулга болгоны хувьд
cons25r-ийг терминалын төрөлд ашиглана.
Энэ бүлгийн өмнөхөөс консол
тохируулах жишээнүүдийг үзнэ үү.
Хэвлэгчийн Тохируулга
хэвлэгчид
Орос тэмдэгтүүдтэй ихэнх хэвлэгчид CP866 гэсэн тоног төхөөрөмжийн код хуудастай
ирдэг бөгөөд KOI8-R-с CP866 уруу хөрвүүлэхийн тулд тусгай гаралтын шүүгч хэрэгтэй
болдог. Ийм шүүгч анхдагчаар /usr/libexec/lpr/ru/koi2alt
гэж суугддаг. Орос хэвлэгчийн /etc/printcap оруулга
иймэрхүү харагдах ёстой:
lp|Russian local line printer:\
:sh:of=/usr/libexec/lpr/ru/koi2alt:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
Дэлгэрэнгүй тайлбарын талаар &man.printcap.5;-с үзнэ үү.
&ms-dos; FS болон Орос файлын нэрс
Дараах жишээ &man.fstab.5; оруулга нь холбогдсон &ms-dos;
файлын системүүд дээр Орос файлын нэрийн дэмжлэгийг идэвхжүүлдэг:
/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0
тохируулга ашиглагдсан локалын нэрийг сонгодог
бөгөөд нь тэмдэгтийн хөрвүүлэлтийн хүснэгтийг заадаг.
тохируулгыг ашиглахын тулд /usr-г
&ms-dos; хуваалтаас өмнө холбох хэрэгтэй, учир нь хөрвүүлэлтийн хүснэгтүүд
/usr/libdata/msdosfs-д байрладаг. Дэлгэрэнгүй
мэдээллийг &man.mount.msdosfs.8; гарын авлагын хуудаснаас үзнэ үү.
X11 тохируулга
Эхлээд X биш локалын
тохируулгыг тайлбарласнаар хийнэ.
Хэрэв та &xorg;-г ашиглаж байгаа
бол x11-fonts/xorg-fonts-cyrillic
багцыг суулгана.
Өөрийн /etc/X11/xorg.conf файлын
"Files" хэсгийг шалгаарай. Дараах мөрүүд
аль ч FontPath оруулгуудаас
өмнө нэмэгдсэн байх шаардлагатай:
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
Хэрэв та өндөр нарийвчлалтай видео горимыг ашиглаж байгаа бол
75 dpi болон 100 dpi мөрүүдийг солиорой.
Өөр илүү олон кирилл фонтуудыг авахыг хүсвэл портуудаас үзнэ үү.
Орос гарыг идэвхжүүлэхийн тулд өөрийн xorg.conf
файлын "Keyboard" хэсэгт доор дурдсаныг
нэмээрэй:
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:toggle"
Мөн XkbDisable-г хаасан (тайлбар болгосон)
эсэхийг тэндээс шалгаарай.
grp:caps_toggle-н хувьд RUS/LAT шилжүүлэгч
Right Alt болох бөгөөд
grp:ctrl_shift_toggle шилжүүлэгчийн хувьд
CtrlShift
болно. Хуучин CapsLock функцын хувьд
ShiftCapsLock
(зөвхөн LAT горимд) байсаар байна. grp:toggle-н
хувьд RUS/LAT шилжүүлэгч Right Alt байна.
grp:caps_toggle нь &xorg;
дээр тодорхойгүй шалтгааны улмаас ажилладаггүй.
Хэрэв та өөрийн гар дээрээ &windows;
товчлууруудтай
бол, зарим үсгэн товчлуурууд нь RUS горимд буруугаар тааруулагддагийг
анзаарсан байх, өөрийн xorg.conf файлдаа
дараах мөрийг нэмээрэй:
Option "XkbVariant" ",winkeys"
Орос XKB гар нь локалчлал хийгдээгүй програмуудтай ажиллахгүй байж
болох юм.
Хамгийн багаар локалчлагдсан програмууд XtSetLanguageProc (NULL, NULL,
NULL); функцыг програмын эхэнд дуудах ёстой.
X11 програмуудыг локалчлах талаар дэлгэрэнгүй заавруудыг X Цонхны KOI8-R
хаягаас үзнэ үү.
Тайваньд зориулсан уламжлалт Хятад хэлний локалчлал
локалчлал
Уламжлалт Хятад хэл
FreeBSD-Тайвань Төсөл олон Хятад портуудыг ашиглан FreeBSD-д зориулсан Хятад HOWTO-г
дээр байрлуулсан байдаг. FreeBSD Хятад HOWTO-н
одоогийн засварлагч нь Чуан-Шинг Шен statue@freebsd.sinica.edu.tw юм.
Чуан-Шинг Шен statue@freebsd.sinica.edu.tw нь
FreeBSD-Тайваний zh-L10N-tut ашиглан
Хятад FreeBSD Цуглуулга (CFC) үүсгэсэн байгаа. Багцууд болон
скрипт файлууд
дээр байгаа болно.
Герман хэлний локалчлал(бүх ISO 8859-1 хэлнүүдэд зориулсан)
локалчлал
Герман
Славен Резич eserte@cs.tu-berlin.de нь FreeBSD
машин дээр umlaut буюу Герман хэлний авиа өөрчлөгддөгийг тэмдэглэдэг
хоёр цэгийг хэрхэн ашиглах талаар заавар бичсэн байгаа. Энэ заавар нь Герман хэл
- дээр бичигдсэн бөгөөд
+ дээр бичигдсэн бөгөөд
дээр байгаа болно.
Япон болон Солонгос хэлний локалчлал
локалчлал
Япон хэл
локалчлал
Солонгос хэл
Япон хэлний хувьд
-д хандана уу,
Солонгос хэлний хувьд
-д хандана уу.
Англи биш FreeBSD баримтжуулалт
FreeBSD-ийн зарим хувь нэмэр оруулагчид FreeBSD-ийн зарим хэсгийг
орчуулсан байгаа. Тэдгээрийг эх сайт дээрх холбоосуудаас эсвэл
/usr/share/doc сангаас үзэж болох юм.
diff --git a/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml b/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml
index 6a366ebe61..5d2d093dd6 100644
--- a/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml
@@ -1,3198 +1,3207 @@
FreeBSD-г олж авах нь
CDROM болон DVD Нийтлэгчид
Жижиглэнгийн хайрцагласан бүтээгдэхүүнүүд
FreeBSD нь хайрцагласан бүтээгдэхүүн хэлбэрээр (FreeBSD CD-үүд,
нэмэлт програм хангамж, болон хэвлэсэн баримт) хэд хэдэн жижиглэн
худалдаалагчдаас гардаг:
CompUSA
WWW:
Frys Electronics
WWW:
CD болон DVD цуглуулгууд
FreeBSD CD болон DVD цуглуулгуудыг олон жижиглэн худалдаалагчдаас
шууд худалдан авах боломжтой байдаг:
BSD Mall by Daemon News
PO Box 161
Nauvoo, IL 62354
USA
Утас: +1 866 273-6255
Факс: +1 217 453-9956
Email: sales@bsdmall.com
WWW:
BSD-Systems
Email: info@bsd-systems.co.uk
WWW:
FreeBSD Mall, Inc.
3623 Sanford Street
Concord, CA 94520-1405
USA
Утас: +1 925 674-0783
Факс: +1 925 674-0821
Email: info@freebsdmall.com
WWW:
Dr. Hinner EDV
St. Augustinus-Str. 10
D-81825 München
Germany
Утас: (089) 428 419
WWW:
Ikarios
22-24 rue Voltaire
92000 Nanterre
France
WWW:
JMC Software
Ireland
Утас: 353 1 6291282
WWW:
Linux CD Mall
Private Bag MBE N348
Auckland 1030
New Zealand
Утас: +64 21 866529
WWW:
The Linux Emporium
Hilliard House, Lester Way
Wallingford
OX10 9TA
United Kingdom
Утас: +44 1491 837010
Факс: +44 1491 837016
WWW:
Linux+ DVD Magazine
Lewartowskiego 6
Warsaw
00-190
Poland
Утас: +48 22 860 18 18
Email: editors@lpmagazine.org
WWW:
Linux System Labs Australia
21 Ray Drive
Balwyn North
VIC - 3104
Australia
Утас: +61 3 9857 5918
Факс: +61 3 9857 8974
WWW:
LinuxCenter.Ru
Galernaya Street, 55
Saint-Petersburg
190000
Russia
Утас: +7-812-3125208
Email: info@linuxcenter.ru
WWW:
Түгээгчид
Хэрэв та дахин худалдагч бөгөөд FreeBSD CDROM бүтээгдэхүүнүүдийг тараахыг хүсэж
байгаа бол түгээгч буюу дистрибьюторт хандана уу:
Cylogistics
809B Cuesta Dr., #2149
Mountain View, CA 94040
USA
Утас: +1 650 694-4949
Факс: +1 650 694-4953
Email: sales@cylogistics.com
WWW:
Ingram Micro
1600 E. St. Andrew Place
Santa Ana, CA 92705-4926
USA
Утас: 1 (800) 456-8000
WWW:
Kudzu, LLC
7375 Washington Ave. S.
Edina, MN 55439
USA
Утас: +1 952 947-0822
Факс: +1 952 947-0876
Email: sales@kudzuenterprises.com
LinuxCenter.Ru
Galernaya Street, 55
Saint-Petersburg
190000
Russia
Утас: +7-812-3125208
Email: info@linuxcenter.ru
WWW:
Navarre Corp
7400 49th Ave South
New Hope, MN 55428
USA
Утас: +1 763 535-8333
Факс: +1 763 535-0341
WWW:
FTP сайтууд
FreeBSD-д зориулсан абан ёсны эхүүдийг дэлхий даяар байрласан толин тусгал сайтуудаас
авч болно.
сайт нь сайн холбогдсон бөгөөд маш олон тооны холболтуудыг зөвшөөрдөг. Гэхдээ та
илүү ойр
толин тусгал сайтыг хайж олсон нь дээр биз ээ (ялангуяа хэрэв
та ямар нэгэн толин тусгал маягийн сайт тохируулж ажиллуулахыг хүсвэл).
FreeBSD толин тусгал сайтуудын
мэдээллийн бааз нь Гарын авлага дахь толин тусгалын жагсаалтаас
илүү зөв байдаг. Учир нь энэ нь хостуудын статик жагсаалтад тулгуурлалгүй өөрийн мэдээллээ
DNS серверээс авдаг юм.
Мөн FreeBSD нь дараах толин тусгал сайтууд дахь нэргүй FTP-ээс авч болохоор байдаг.
Хэрэв та нэргүй FTP-ээс FreeBSD-г авахыг сонговол өөртөө аль болох ойр сайтыг ашиглаад
үзээрэй. Primary Mirror Sites
буюу үндсэн толин тусгал
сайтууд дахь толин тусгал сайтууд нь бүхэл FreeBSD архивыг (архитектур
болгонд зориулсан одоо байгаа бүх хувилбарууд) ихэвчлэн агуулдаг боловч
танай улс юм уу эсвэл бүсэд байрлаж байгаа сайтаас татаж авахад танд илүү хурдан
байх болов уу. Бүсийн сайтууд нь хамгийн түгээмэл архитектуруудад зориулсан
хамгийн сүүлийн үеийн хувилбаруудыг агуулдаг боловч FreeBSD-ийн бүх архивыг
агуулаагүй байж болох юм. Бүх сайтууд нь нэргүй FTP-ээр хандах боломжийг
олгодог. Зарим сайтууд нь бас бусад аргуудаар хандах боломжийг олгодог.
Сайт болгоны хувьд хандах аргууд нь хостын нэрийн дараа хаалтанд өгөгдсөн
байгаа болно.
&chap.mirrors.ftp.inc;
Нэргүй CVS
Танилцуулга
CVS
нэргүй
Нэргүй CVS (эсвэл өөрөөр anoncvs гэгддэг)
нь алсын CVS архивтай синхрончлол хийгдэхэд зориулагдсан FreeBSD-тэй
цуг багцлагдсан CVS хэрэгслүүдийн үзүүлдэг боломж юм. Мөн
FreeBSD-ийн хэрэглэгчдэд ямар нэгэн зөвшөөрлүүдгүйгээр зөвхөн унших эрхтэй
CVS үйлдлүүдийг FreeBSD төслийн албан ёсны anoncvs серверүүдийн аль нэг дээр
хийх боломжийг олгодог. Ашиглахын тулд CVSROOT
орчны хувьсагчийг тохирох anoncvs сервер руу зааж cvs login
тушаалд бүгдийн мэддэг anoncvs
нууц үгийг өгч
дараа нь &man.cvs.1; тушаал ашиглан локал архивт хандаж байгаа шигээр
хандана.
cvs login тушаал нь CVS серверт
өөрийгээ таниулан нэвтрэхэд хэрэглэгдсэн нууц үгсийг
таны HOME санд .cvspass
файлд хадгалдаг.Хэрэв энэ файл байхгүй бол
таныг cvs login тушаалыг эхний удаа
ашиглахаар оролдоход алдаа гарч болох юм. Ердөө л
хоосон .cvspass файл үүсгээд нэвтрэхийг
оролдоорой.
CVSup болон anoncvs
үйлчилгээнүүд нь хоюул үндсэндээ адил үүргийг гүйцэтгэдэг гэж бас хэлж
болох боловч синхрончлол хийх аргуудын хэрэглэгчийн сонголтод
нөлөөлж болох төрөл бүрийн сул болон давуу талуудтай байдаг. Товчхондоо
CVSup нь өөрийн сүлжээний эх үүсвэрүүдийн
хэрэглээндээ илүү үр ашигтай бөгөөд техникийн хувьд хамгийн
ухаалаг нь боловч ажиллагаа ихтэй байдаг. CVSup-г
ашиглахын тулд эхүүдийг авч эхлэхээсээ өмнө тусгай клиентийг эхлээд суулгаж тохируулсан
байх ёстой бөгөөд зөвхөн дараа нь нэлээн том хэмжээтэй хэсгүүдээр
CVSup нь цуглуулгуудыг
дууддаг.
Харин Anoncvs-г
нэг файлаас авахуулаад тусгай програм (ls эсвэл
grep гэх зэрэг) хүртэлх бүгдийг CVS модулийн нэрээр нь
шалгахад ашиглаж болно. Мэдээж anoncvs
нь CVS архив дээрх зөвхөн уншигдах үйлдлүүдэд бас сайн болохоор
хэрэв та FreeBSD төслийн хэсгүүдтэй хуваалцсан нэг архив дахь локал
хөгжүүлэлтийг дэмжих зорилготой байгаа бол CVSup нь
таны цорын ганц сонголт байх юм.
Нэргүй CVS-г ашиглах нь
Ердөө л CVSROOT орчны хувьсагчийг FreeBSD төслийн
anoncvs серверүүдийн аль нэг уруу зааснаар
&man.cvs.1;-ийг нэргүй CVS архив ашиглахаар тохируулах юм.
Биднийг энэ баримтыг бичиж байх үед дараах серверүүд байгааг дурдав:
Австри:
:pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs
(cvs login тушаалыг ашиглаж асуух үед нь дурын нууц үг оруулна.)
Франц:
:pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
(pserver (нууц үг anoncvs
), ssh (нууц үггүй))
Герман:
:pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs
(cvs login тушаалыг ашиглаж асуух үед нь
anoncvs
нууц үгийг оруулна.)
Герман:
:pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs
(rsh, pserver, ssh, ssh/2022)
Япон:
:pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
(cvs login тушаалыг ашиглаж асуух үед нь
anoncvs
нууц үгийг оруулна.)
Тайвань:
:pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
(cvs login тушаалыг ашиглаж асуух үед нь дурын нууц үг оруулна.)
АНУ:
freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs
(зөвхөн ssh - нууц үггүй)
SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu
SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub
АНУ:
anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (зөвхөн ssh2 - нууц үггүй)
SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub
CVS нь FreeBSD-ийн хэзээ нэгэн цагт байсан (эсвэл зарим тохиолдолд ирээдүйд байх)
эхүүдийн бараг л дурын хувилбарыг check out
буюу шалгаж авах
боломжийг олгодог болохоор та &man.cvs.1;-ийн залруулалт ()
туг болон түүнд зориулагдсан зарим зөвшөөрөгдөх ямар утгууд FreeBSD төслийн архивт байдгийг
мэддэг байх хэрэгтэй.
Залруулалтын хаягууд болон салбарын хаягууд гэсэн хоёр төрлийн хаяг байдаг.
Залруулалтын хаяг нь тухайн залруулалтыг заадаг. Үүний утга нь өдрөөс өдөрт
ижил хэвээр байна. Нөгөө талаас салбарын хаяг нь ямар ч үед хөгжүүлэлтийн өгөгдсөн шугам дахь
хамгийн сүүлийн залруулалтыг заадаг. Салбарын хаяг нь тухайн нэг залруулалтыг
заадаггүй болохоор үүний маргаашийн утга нь өнөөдрийнхөөс өөр байж болох юм.
нь хэрэглэгчдийн сонирхож болох
залруулалтуудын хаягуудыг агуулдаг. Дахин хэлэхэд портын цуглуулга нь
олон залруулалтгүй учир эдгээрийн аль нь ч портын цуглуулгын хувьд зөв биш
юм.
Та салбарын хаягийг заах юм бол тэр хөгжүүлэлтийн шугам дахь
файлуудын сүүлийн хувилбаруудыг хүлээн авах болно. Хэрэв та ямар нэг өнгөрсөн
хувилбарыг хүлээн авахыг хүсэж байгаа бол
тугаар огноог заан тэгж хийж болно. Илүү дэлгэрэнгүйг &man.cvs.1;
гарын авлагын хуудаснаас үзнэ үү.
Жишээнүүд
Ямар нэг юм хийхээсээ өмнө &man.cvs.1;-ийн гарын авлагын хуудсыг
нэг бүрчлэн уншихыг зөвлөдөг хэдий ч нэргүй CVS-ийг хэрхэн ашиглахыг харуулж
байгаа зарим жишээнүүдийг энд үзүүлэв:
-CURRENT-с ямар нэгэн зүйл шалгаж авах нь (&man.ls.1;):
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
At the prompt, enter the password anoncvs
.
&prompt.user; cvs co ls
src/ модыг шалгаж авахын тулд SSH-г ашиглах нь:
&prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established.
DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.
6-STABLE салбар дахь &man.ls.1;-ийн хувилбарыг шалгаж авах нь:
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
At the prompt, enter the password anoncvs
.
&prompt.user; cvs co -rRELENG_6 ls
&man.ls.1;-д хийгдсэн өөрчлөлтүүдийн жагсаалтыг (нэгдсэн ялгаанууд хэлбэрээр) үүсгэх нь
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
At the prompt, enter the password anoncvs
.
&prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls
Өөр бусад ямар модулийн нэрс ашиглагдаж болохыг олох нь:
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
At the prompt, enter the password anoncvs
.
&prompt.user; cvs co modules
&prompt.user; more modules/modules
Бусад эх үүсвэрүүд
Дараах нэмэлт эх үүсвэрүүд нь CVS-ийг сурахад тус болж болох юм:
Кал Полигийн CVS заавар.
CVS гэр,
CVS-ийн хөгжүүлэлт болон дэмжлэгийн нийгэм.
CVSweb нь
FreeBSD төслийн CVS-д зориулсан вэб интерфэйс юм.
CTM-г ашиглах нь
CTM
CTM нь алсын сангийн модыг төвтэй
синхрончлол хийхэд зориулсан арга юм. Энэ нь FreeBSD-ийн эх моднуудтай
ашиглахад зориулагдаж хөгжүүлэгдсэн бөгөөд цаг хугацаа өнгөрөх тусам бусад хүмүүс
бусад зорилгоор хэрэглэхэд ашигтайг мэдэж болох юм. Дельтанууд үүсгэх процессийн
талаар бараг баримт байхгүй болохоор бас хэрэв та CTM-г
бусад зүйлсэд зориулж ашиглахыг хүсэж байгаа бол дэлгэрэнгүй мэдээллийн талаар
&a.ctm-users.name; захидлын жагсаалтад хандана уу.
CTM-г би яагаад ашиглах ёстой вэ?
CTM нь танд FreeBSD эх моднуудын локал
хуулбарыг өгдөг. Модны төрөл бүрийн хэлбэрүүд
байдаг.
Таны бүхэл CVS мод эсвэл аль нэг салбаруудын нэгийг дагахыг хүсэж байгаагаас
хамаарч CTM нь танд мэдээлэл өгч чадна.
Та FreeBSD-ийн идэвхтэй хөгжүүлэгч боловч олиггүй юм уу эсвэл TCP/IP холболт байхгүй
эсвэл өөрчлөлтүүдийг автоматаар тан руу илгээгддэг байлгахыг хүсэж байгаа
бол CTM нь танд зориулагджээ.
Та хамгийн идэвхтэй салбаруудын хувьд өдөрт гурав хүртэлх дельтануудыг авах
хэрэгтэй болно. Гэхдээ та тэдгээрийг автомат цахим захидлаар илгээгддэг
байхыг бодох хэрэгтэй. Шинэчлэлтүүдийн хэмжээг үргэлж аль болох бага байлгадаг.
Энэ ихэвчлэн 5K-с бага байдаг, хааяа (арваас нэгт) 10-50K хэмжээтэй
байдаг бөгөөд заримдаа том 100K+ эсвэл илүү бас байдаг.
Та урьдчилан багцалсан хувилбарын оронд хөгжүүлэлтийн эхүүд дээр
шууд ажиллахтай холбоотой гардаг төрөл бүрийн анхааруулгуудын талаар бас
мэдэж байх хэрэгтэй болно. Энэ нь таныг current
эхүүдийг сонгох тохиолдолд ялангуяа үнэн байдаг. Таныг
FreeBSD-ийн одоо үеийн хэлбэрт байх нь
хэсгийг уншихыг зөвлөдөг.
CTM-г ашиглахад надад юу хэрэгтэй вэ?
Танд хоёр зүйл хэрэгтэй: CTM
програм болон түүнийг тэжээх эхний дельтанууд (current
түвшингүүдэд хүрэхийн тулд).
CTM програм нь хувилбар 2.0 гарснаас
хойш FreeBSD-ийн хэсэг болж ирсэн бөгөөд хэрэв танд эх байгаа бол энэ нь
/usr/src/usr.sbin/ctm санд байдаг.
CTM-г тэжээх дельтануудыг
нь FTP эсвэл цахим захидал гэсэн хоёр аргаар авч болно. Хэрэв танд Интернет уруу
хандах ерөнхий FTP хандалт байгаа бол дараах FTP сайтууд нь CTM-д
хандахыг дэмждэг:
эсвэл толин тусгалууд хаягийг үзнэ үү.
тохирох сан руу FTP хийгээд README
файлыг татаж аваад тэндээс эхлээрэй.
Хэрэв та өөрийн дельтануудыг цахим захидлаар авахыг хүсэж байгаа бол:
CTM түгээлтийн жагсаалтуудын
аль нэгэнд бүртгүүлэх хэрэгтэй. &a.ctm-cvs-cur.name; нь
бүхэл CVS модыг дэмждэг. &a.ctm-src-cur.name; нь
хөгжүүлэлтийн салбарын толгойг дэмждэг. &a.ctm-src-4.name; нь
4.X хувилбарыг дэмждэг, гэх мэт. (Хэрэв та өөрийгөө жагсаалтад
хэрхэн бүртгүүлэхийг мэдэхгүй байгаа бол дээрх жагсаалтын нэрэн дээр
дарах юм уу эсвэл &a.mailman.lists.link; уруу очоод
өөрийн хүсэж байгаа жагсаалтан дээрээ дарах хэрэгтэй. Бүртгэхэд
шаардлагатай бүгдийг жагсаалтын хуудас агуулсан байх ёстой.)
Өөрийн CTM шинэчлэлтүүдийг
хүлээн авч эхлэхдээ та тэдгээрийг задалж ашиглахдаа ctm_rmail
тушаал ашиглаж болох юм. Хэрэв та процессийг бүрэн автомат загвараар
ажилладаг байлгахыг хүсэж байгаа бол /etc/aliases
файл дахь оруулгаас ctm_rmail програмыг
шууд ашиглаж болох юм. Илүү дэлгэрэнгүйг ctm_rmail-ийн
гарын авлагын хуудаснаас шалгана уу.
CTM дельтануудыг авах ямар
аргыг ашиглаж байгаагаас үл хамааран та &a.ctm-announce.name;
захидлын жагсаалтад бүртгүүлэх хэрэгтэй. Ирээдүйд
CTM системийн ажиллагааны тухай
зарлалууд илгээгдэх газар нь зөвхөн энэ болох юм.
Дээрх жагсаалтын нэрэн дээр дарж жагсаалтад бүртгүүлэхийн тулд
заавруудыг дагах хэрэгтэй.
CTM-г эхний удаа хэрэглэх
CTM дельтануудыг ашиглаж эхлэхээсээ
өмнө дельтанууд дараа дараагийн удаа үүсгэгдэхэд нь зориулж та эхлэх цэг дээр ирэх
хэрэгтэй болно.
Танд юу байгааг эхлээд тодорхойлох хэрэгтэй. Бүгд
хоосон
сангаас эхэлж болно. Өөрийн CTM-ээр
дэмжигдсэн модыг эхлүүлэхийн тулд та эхний Empty
буюу хоосон
дельтаг ашиглах ёстой. Тодорхой нэг цэгт эдгээр started
буюу
эхэлсэн дельтануудын аль нэгийг өөрийн хүслээр CD дээр түгээж болохоор энэ нь
зориулагдсан боловч одоогоор тийм юм болоогүй байгаа билээ.
Моднууд нь хэдэн арван мегабайт байдаг болохоор өөртөө байгаагаас эхлэхийг
эрхэмлэх ёстой юм. Хэрэв танд -RELEASE CD байгаа бол та эхний эхийг түүнэс хуулж эсвэл
задалж болох юм. Энэ нь өгөгдлийн чухал дамжуулалтыг хэмнэх болно.
Та эдгээр starter
буюу эхлэх дельтануудыг
дугаарт нэмэгдсэн X-ээр таньж болно
(жишээ нь src-cur.3210XEmpty.gz).
X-ийн дараах тэмдэглээс нь таны эхний seed
буюу үрийн үүсэлд харгалзана. Дүрмээр бол Empty буюу
хоосноос шилжих үндсэн шилжилт нь 100 дельта бүрээс үүсгэгдэнэ.
Ингэхэд тэдгээр нь том байна! XEmpty
дельтануудын хувьд 70-аас 80 мегабайт gzip хийгдсэн
өгөгдөл нь нийтлэг байдаг.
Эхлэх анхдагч дельтаг сонгосны дараа танд түүний дараах өндөр дугааруудтай
бүх дельтанууд хэрэгтэй болно.
Өөрийн өдөр тутмын амьдралдаа CTM-г ашиглах нь
Дельтануудыг өгөхийн тулд ердөө л доор дурдсаныг хийнэ:
&prompt.root; cd /where/ever/you/want/the/stuff
&prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.*
CTM нь gzip-ээр
тавигдсан дельтануудыг ойлгодог болохоор та тэдгээрийг эхлээд
gunzip хийх хэрэггүй юм. Энэ нь дискний зай
хэмнэх болно.
Бүх процессийн талаар маш нууцлаг гэж бодоогүй л бол
CTM нь таны модыг хөндөхгүй байх болно.
Дельтаг шалгахын тулд та тугийг бас ашиглаж
болох бөгөөд CTM нь таны модыг
үнэндээ хөндөхгүй; энэ нь зөвхөн дельтаны бүрэн бүтэн байдлыг шалгаж
таны одоогийн модонд цэвэр хийгдэх эсэхийг л үздэг.
CTM-д өгөгдөх бусад сонголтууд
бас байдаг бөгөөд эдгээрийг гарын авлагын хуудаснуудаас үзнэ үү,
эсвэл илүү дэлгэрэнгүйг эхүүдээс хайна уу.
Ингээд л бүгд бараг болж байна. Шинэ дельта авах бүртээ
өөрийн эхүүдийг хамгийн сүүлийн хувилбарт аваачихын тулд түүнийг
CTM-ээр ажиллуулах хэрэгтэй.
Дельтануудыг дахин татаж авахад хэцүү байгаа бол битгий
устгаарай. Ямар нэг муу юм болж болзошгүй гэж үзээд тэдгээрийг та
хаа нэгтэй хадгалахыг хүсэж болох юм. Танд зөвхөн уян диск байсан ч
гэсэн fdwrite тушаалыг ашиглан хуулбар хийх
нь зүйтэй.
Өөрийн локал өөрчлөлтүүдийг хадгалах нь
Хөгжүүлэгчийн хувьд эх модыг өөрчлөх эсвэл түүн дээр турших хүсэл төрж
болох юм. CTM нь локал өөрчлөлтүүдийг
хязгаарлалттайгаар дэмждэг: foo файлыг байгаа
эсэхийг шалгахын өмнө foo.ctm файлыг эхлээд
хайдаг. Хэрэв энэ файл байвал CTM нь
foo-ийн оронд энэ файл дээр ажилладаг.
Энэ нь бидэнд локал өөрчлөлтүүдийг хялбараар арчлах боломжийг
олгодог: өөрийн өөрчлөх төлөвлөгөөтэй байгаа файлуудаа .ctm
өргөтгөлтэй болгон хуулах хэрэгтэй. Дараа нь та кодыг чөлөөтэй оролдож
болох бөгөөд CTM нь .ctm
файлыг хамгийн сүүлийн хэлбэрт байлгах болно.
CTM-ийн бусад сонирхолтой сонголтууд
Шинэчлэлтээр яг юу хөндөгдөхийг олох
Та өөрийн эх архивт CTM-ийн
хийх өөрчлөлтүүдийн жагсаалтыг
сонголтыг CTM-д
өгөн тодорхойлж болно.
Та өөрчлөлтүүдийн бүртгэлүүдийг хадгалах, өөрчлөгдсөн файлуудад
урьдчилан эсвэл дараа нь боловсруулалт хийх эсвэл ердөө л хэтэрхий зовниж
байгаа бол энэ нь ашигтай юм.
Шинэчлэхээсээ өмнө нөөцлөлтүүд хийх
Заримдаа та CTM шинэчлэлтээр
өөрчлөгдөх бүх файлуудыг нөөцөлж авахыг хүсэж болох юм.
сонголтыг зааснаар
CTM-ийг өгөгдсөн
CTM дельтагаар хөндөгдөх бүх
файлуудыг нөөцөлж backup-file руу
хадгалахад хүргэнэ.
Шинэчлэлтээр хөндөгдөх файлуудыг хязгаарлах
Заримдаа та өгөгдсөн CTM шинэчлэлтийн
хүрээг хязгаарлах сонирхолтой эсвэл дельтануудын дарааллаас цөөн
хэдэн файлуудыг задлах сонирхолтой байж болох юм.
CTM-ийн ажилладаг файлуудын
жагсаалтыг та болон
сонголтуудыг ашиглан шүүлт хийх регулар илэрхийллүүдийг заан хянаж
болно.
Жишээ нь өөрийн хадгалсан CTM дельтануудын
цуглуулгаас lib/libc/Makefile-ийн
хамгийн сүүлийн хуулбарыг задалж авахын тулд дараах тушаалуудыг
ажиллуулна:
&prompt.root; cd /where/ever/you/want/to/extract/it/
&prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*
CTM дельтанд заагдсан файл бүрийн
хувьд тушаалын мөрөнд өгөгдсөн дарааллаар
болон сонголтуудыг өгсөн.
Файл нь бүх болон
сонголтууд түүнд өгөгдсөний дараа
зөвхөн сонгогдох эрхтэй гэж тэмдэглэгдсэн бол CTM-ээр
боловсруулагддаг.
CTM-ийн ирээдүйн төлөвлөгөөнүүд
Маш их:
CTM-ийн хуурамч шинэчлэлтүүдийг
илрүүлэхийн тулд CTM системд ямар нэгэн нэвтрэлт танилт
ашиглах.
CTM-ийн сонголтуудыг цэвэрлэх,
тэдгээр нь толгой эргүүлэм, зөн совингийн эсрэг болсон.
Бусад зүйлс
ports цуглуулгад зориулсан дельтануудын
дараалал бас байдаг боловч сонирхол тийм ч өндөр байдаггүй.
CTM толин тусгалууд
CTM/FreeBSD нь дараах толин тусгал сайтууд дахь
нэргүй FTP-ээр хандаж авах боломжтой байдаг. Хэрэв та CTM-г
нэргүй FTP-ээр авахыг сонгосон бол өөртөө ойр сайтыг оролдож үзнэ үү.
Асуудал гарсан тохиолдолд &a.ctm-users.name; захидлын жагсаалтад
хандана уу.
Калифорни, Bay Area, албан ёсны эх
Өмнөд Африк, хуучин дельтануудад зориулсан нөөц сервер
Тайвань/R.O.C.
Хэрэв та өөртөө ойрхон толин тусгалыг олоогүй бол эсвэл толин тусгал нь
бүрэн биш байгаа бол alltheweb
зэрэг хайлтын системийг ашиглаад үзээрэй.
CVSup-г ашиглах нь
Танилцуулга
CVSup нь алсын сервер хост дээр
байгаа мастер CVS архиваас эх модыг шинэчлэх болон түгээхэд зориулагдсан
програм хангамжийн багц юм. FreeBSD-ийн эхүүд Калифорни дахь төв хөгжүүлэлтийн
машин дээрх CVS архивт арчлагдаж байдаг. CVSup-ийн
тусламжтай FreeBSD хэрэглэгчид өөрсдийн эх модыг хялбараар хамгийн сүүлийн
хэлбэрт аваачиж чаддаг байна.
CVSup нь шинэчлэлтийн
pull буюу татах загварыг
ашигладаг. Татах загвар дээр клиент бүр серверээс шинэчлэлтийг хүссэн үедээ
эсвэл хэрэгтэй үедээ асуудаг. Сервер нь өөрийн хэрэглэгчдээс ирэх хүсэлтүүдийг
идэвхгүйгээр хүлээж байдаг. Сервер хэзээ ч хүсээгүй шинэчлэлтүүдийг илгээдэггүй.
Хэрэглэгчид нь шинэчлэлтийг авахын тулд CVSup
клиентийг гараар ажиллуулах юм уу эсвэл түүнийг автоматаар давтамжтайгаар
ажиллуулахын тулд cron ажил тохируулах ёстой болно.
Ингэж том үсгээр бичсэн CVSup ухагдахуун нь
бүхэл програм хангамжийн багцыг хэлнэ. Түүний гол бүрэлдэхүүн хэсгүүд нь
хэрэглэгч бүрий машин дээр ажилладаг cvsup клиент, ба
FreeBSD-ийн толин тусгал сайтууд дээр ажиллаж байдаг cvsupd
сервер юм.
FreeBSD-ийн баримт болон захидлын жагсаалтуудыг уншиж байхдаа та
sup гэж хэлснийг харж болох юм.
Sup нь CVSup-ийн
өмнөх үе бөгөөд ижил зорилгоор ашиглагддаг байсан. CVSup
нь sup-тай бараг л адилаар ашиглагддаг бөгөөд үнэндээ sup
ашиглаж болохоор тохиргооны файлуудыг ашигладаг. CVSup
нь илүү хурдан бөгөөд уян хатан учраас Sup
нь FreeBSD төсөлд ашиглагдахаа больсон.
csup хэрэгсэл нь CVSup-г
C дээр бичсэн хувилбар юм. Үүний хамгийн том давуу тал бол илүү хурдан бөгөөд
Modula-3 хэлээс хамаардаггүй, тиймээс та түүнийг суулгах шаардлагагүй байдаг.
Мөн хэрэв та &os; 6.2 юм уу эсвэл түүнээс хойшхи хувилбаруудыг ашиглаж байгаа
бол түүнийг шууд ашиглаж болно, учир нь энэ нь үндсэн системд орсон байдаг.
Хуучин &os; хувилбаруудын үндсэн системд &man.csup.1; байдаггүй, гэхдээ
та net/csup портууд юм уу эсвэл
урьдчилан эмхэтгэсэн багцыг хялбархан суулгаж болно.
csup хэрэгсэл нь гэхдээ CVS горимыг дэмждэггүй.
Хэрэв та бүрэн архивыг толин тусгал хийхийг хүсэж байгаа бол CVSup-г
ашиглах хэрэгтэй болно. Хэрэв та csup-г ашиглахаар
шийдсэн бол CVSup-ийн суулгалт дахь алхмуудыг
алгасаж энэ нийтлэлийн үлдсэн хэсгийг дагаж байхдаа
CVSup гэснийг csup
болгож солиорой.
Суулгалт
CVSup-г суулгах хамгийн хялбар арга бол
FreeBSD-ийн багцын цуглуулгаас
урьдчилан эмхэтгэсэн net/cvsup
багцыг ашиглах явдал юм. Хэрэв та CVSup-г
эхээс бүтээхийг эрхэмлэж байгаа бол net/cvsup
портыг ашиглаарай. Гэхдээ урьдчилан анхааруулъя: net/cvsup
порт нь Modula-3 системээс хамаардаг бөгөөд үүнийг татан авч суулгахад ихээхэн
хэмжээний дискний зай болон хугацаа шаарддаг.
Хэрэв та &xfree86; эсвэл &xorg;
зэрэг суулгагдаагүй сервер машин дээр CVSup-г ашиглах гэж байгаа
бол CVSup GUI-г агуулаагүй
net/cvsup-without-gui портыг ашиглах
хэрэгтэй.
Хэрэв та csup-г FreeBSD 6.1 эсвэл
түүнээс өмнөх хувилбаруудад суулгахыг хүсэж байгаа бол
FreeBSD-ийн багцын цуглуулгаас
урьдчилан эмхэтгэсэн net/csup
багцыг ашиглаж болно. Хэрэв та csup-г
эхээс бүтээхийг эрхэмлэж байгаа бол net/csup
портыг ашиглаж болно.
CVSup тохиргоо
CVSup-ийн ажиллагаа supfile
гэгддэг тохиргооны файлаар хянагддаг.
/usr/share/examples/cvsup/
санд зарим жишээ supfiles байдаг.
supfile дахь мэдээлэл
CVSup-д зориулж дараах асуултуудад
хариулдаг:
Ямар файлуудыг та хүлээн авахыг хүсэж
байна вэ?
Тэдгээрийн ямар хувилбаруудыг та хүсэж
байна вэ?
Тэдгээрийг та хаанаас авахыг хүсэж
байна вэ?
Та тэдгээрийг өөрийн машиныхаа
хаана байрлуулахыг хүсэж байна вэ?
Та өөрийн төлвийн файлуудыг
хаана байрлуулахыг хүсэж байна вэ?
Дараах хэсгүүдэд бид эдгээр асуултуудад хариулан түгээмэл
supfile-г бүтээх болно. Эхлээд бид
supfile-ийн ерөнхий бүтцийг тайлбарлах
болно.
supfile нь текст файл юм. Тайлбарууд
нь # тэмдэгтээс эхэлж мөр дуустал үргэлжилнэ.
Хоосон мөрнүүд болон зөвхөн тайлбараас тогтох мөрүүдийг орхидог.
Үлдэж байгаа мөр болгон хэрэглэгчийн авахыг хүсэж байгаа файлуудын
цуглуулгыг тайлбарладаг. Мөр нь файлуудын цуглуулга
буюу
файлуудын логик бүлэглэлийн нэрээс эхэлдэг бөгөөд эдгээрийг сервер
тодорхойлдог. Цуглуулгын нэр таны аль файлуудыг хүсэж байгааг серверт
хэлдэг. Цуглуулгын нэрийн дараа талбарууд байхгүй эсвэл байж болох
бөгөөд зайгаар тусгаарлагдсан байна. Эдгээр талбарууд нь дээрх
асуултуудад хариулдаг. Хоёр төрлийн талбар байдаг: тугны талбарууд ба
утгын талбарууд. Тугны талбар нь ганцаараа байгаа түлхүүр үгнээс
тогтдог, өөрөөр хэлбэл delete эсвэл
compress байна. Утгын талбар нь бас
түлхүүр үгээс эхлэх боловч хоосон зайгаар тусгаарлагдалгүйгээр
= болон хоёр дахь үгээс тогтоно. Жишээ нь
release=cvs нь утгын талбар юм.
supfile ихэвчлэн нэгээс илүү цуглуулгыг
хүлээн авахаар заасан байдаг. supfile-г
зохион байгуулах нэг арга нь цуглуулга бүрийн хувьд харгалзах бүх
талбаруудыг зааж өгөх явдал юм. Гэхдээ энэ нь supfile-ий
мөрүүдийг нэлээн урт болгодог бөгөөд supfile дахь
цуглуулгуудын бүгдийн хувьд ихэнх талбарууд нь ижил байдаг болохоор
таагүй юм. CVSup нь эдгээр асуудлуудыг
тойрон гарах анхдагч болгох арга замтай байдаг. Тусгай псевдо цуглуулгын
нэр *default-р эхэлсэн мөрүүд нь
тугнууд болон supfile дахь дараа дараачийн
цуглуулгуудын хувьд анхдагч болж ашиглагдах утгуудыг заахад хэрэглэгддэг.
Анхдагч утгыг цуглуулгатай цуг өөр утгыг заан өгч тухайн цуглуулгын хувьд
өөрчилж болдог. Анхдагчуудыг дундын supfile-д
нэмэлт *default мөрүүдээр өөрчилж эсвэл дарж
болдог.
Ийм мэдээлэлтэйгээр бид одоо FreeBSD-CURRENT-ийн гол эх модыг
хүлээн авч шинэчлэхэд зориулсан supfile-г
бүтээх болно.
Ямар файлуудыг та хүлээн авахыг хүсэж
байна вэ?
CVSup-аар авах боломжтой файлууд нь
collections
буюу цуглуулгууд гэгддэг бүлгүүдэд
хуваагдан зохион байгуулагддаг. Байгаа цуглуулгууд нь
дараах хэсэгт тайлбарлагдсан
байгаа. Энэ жишээн дээр бид FreeBSD-ийн хувьд бүх гол эхийг авахыг хүсэж
байна. src-all гэсэн ганц том цуглуулга
бидэнд үүнийг өгөх болно. supfile-аа
бүтээх эхний алхам болгож бид цуглуулгуудыг нэг мөрөнд нэгийг
тавьж жагсаана (энэ тохиолдолд зөвхөн нэг мөр байна):
src-all
Тэдгээрийн ямар хувилбаруудыг та хүсэж
байна вэ?
CVSup-ийн тусламжтай та хэзээ ч юм байсан
эхүүдийн бараг ямар ч хувилбарыг хүлээн авч чадна.
cvsupd сервер нь бүх хувилбаруудыг агуулсан
CVS архиваас шууд ажилладаг болохоор энэ нь боломжтой юм. Та тэдгээрийн
алийг хүсэж байгаагаа tag= болон
утга талбаруудыг ашиглан зааж өгч болно.
tag= талбарыг зөв зааж өгөхдөө анхааралтай
байх хэрэгтэй. Зарим хаягууд нь зөвхөн файлуудын зарим цуглуулгуудын
хувьд зөв байдаг. Хэрэв та буруу эсвэл буруу бичсэн хаягийг зааж өгөх юм
бол магадгүй таны устгахыг хүсээгүй файлуудыг CVSup нь
устгах юм. Ялангуяа ports-*
цуглуулгуудын хувьд зөвхөн
tag=.-г ашиглаарай.
tag= талбар нь симболын хаягийг архивт
нэрлэдэг. Хоёр төрлийн хаяг байдаг бөгөөд эдгээр нь
залруулалтын хаягууд болон салбарын хаягууд юм. Залруулалтын
хаяг нь тухайн нэг залруулалтыг заадаг.
Үүний утга нь өдрөөс өдөрт ижил хэвээр байна. Нөгөө талаас салбарын
хаяг нь ямар ч үед хөгжүүлэлтийн өгөгдсөн шугам дахь хамгийн сүүлийн
залруулалтыг заадаг. Салбарын хаяг нь тухайн нэг залруулалтыг
заадаггүй болохоор үүний маргаашийн утга нь өнөөдрийнхөөс өөр
байж болох юм.
нь хэрэглэгчдийн сонирхож болох
салбарын хаягуудыг агуулдаг. CVSup-ийн
тохиргооны файлд хаягийг зааж өгөхдөө өмнө нь tag=
гэж өгөх ёстой (RELENG_4 нь
tag=RELENG_4 болно).
Зөвхөн tag=. нь портын цуглуулгад
хамааралтай болохыг санаарай.
Хаягийн нэрийг яг үзүүлсэн шиг бичихдээ анхааралтай байгаарай.
CVSup нь зөв болон буруу
хаягуудыг ялгаж чаддаггүй. Хэрэв та хаягийг буруу бичвэл
CVSup нь
таныг зөв хаяг өгсөн гэж ойлгон ажиллах бөгөөд энэ нь ямар ч файлуудыг
заагаагүйд хүргэж болох юм. Энэ тохиолдолд энэ нь танд байгаа
эхүүдийг устгах болно.
Салбарын хаягийг заахад та тэр хөгжүүлэлтийн шугамын
файлуудын хамгийн сүүлийн хувилбаруудыг авах болно.
Хэрэв та ямар нэг өнгөрсөн хувилбарыг авахыг хүсвэл
талбарт огноог заан хийж өгч болно. &man.cvsup.1; гарын
авлагын хуудас үүнийг хэрхэн хийхийг тайлбарладаг.
Бидний жишээний хувьд FreeBSD-CURRENT-г авахыг бид хүсэж байна.
Бид энэ мөрийг өөрсдийн supfile-ийн
эхэнд нэмнэ:
*default tag=.
Хэрэв та tag= талбар эсвэл date=
талбарын алийг ч зааж өгөөгүй бол чухал тусгай тохиолдол гарч
ирнэ. Энэ тохиолдолд тодорхой нэг хувилбарыг хүлээн авахын оронд
серверийн CVS архиваас RCS файлуудыг шууд хүлээн авдаг.
Ажиллагааны ийм горимыг хөгжүүлэгчид ерөнхийдөө эрхэмлэдэг.
Өөрсдийн системүүд дээр архивын хуулбарыг арчилснаар тэд
залруулалтын түүхийг хайж файлуудын өнгөрсөн хувилбаруудыг шалгах
боломжтой болох юм. Гэхдээ энэ хонжоо нь дискний зайны хувьд
их өртөгтэйгээр орж ирдэг.
Тэдгээрийг та хаанаас авахыг хүсэж
байна вэ?
Бид host= талбарыг ашиглан cvsup-д
өөрийн шинэчлэлтүүдийг хаанаас авахыг хэлж өгдөг. CVSup
толин тусгал сайтуудын аль нь ч болох боловч та өөрийн кибер
ертөнцдөө ойрхныг турших хэрэгтэй. Энэ жишээн дээр бид
зохиомол FreeBSD түгээлтийн сайт
cvsup99.FreeBSD.org-г ашиглах
болно:
*default host=cvsup99.FreeBSD.org
Та CVSup-г ашиглахаасаа өмнө
үнэн хэрэг дээрээ байгаа жинхэнэ хостоор солих хэрэгтэй болно.
cvsup-г ажиллуулах үедээ та хостын тохируулгыг
тушаалын мөрөөс сонголтоор
өөрчлөн дарж болно.
Та тэдгээрийг өөрийн машиныхаа
хаана байрлуулахыг хүсэж байна вэ?
prefix= талбар нь хүлээн авсан файлуудыг
хаана байрлуулахыг cvsup хэлнэ.
Энэ жишээн дээр бид эх файлуудыг өөрсдийн гол эх модны /usr/src
байрлалд шууд байрлуулах болно. src сан нь
бидний хүлээн авахаар сонгосон цуглуулгад далд байгаа болохоор
энэ нь зөв юм:
*default prefix=/usr
cvsup
өөрийн төлвийн файлуудыг хаана арчлах ёстой вэ?
CVSup клиент нь base
буюу үндсэн гэгддэг сан дахь зарим төлвийн файлуудыг арчилж байдаг.
Эдгээр файлууд нь ямар шинэчлэлтүүдийг та аль хэдийн хүлээн авсныг
хянаж CVSup-ийг илүү үр ашигтай
ажиллахад тусалдаг. Бид стандарт үндсэн сан /var/db-г
ашиглах болно:
*default base=/var/db
Хэрэв таны үндсэн сан байхгүй байгаа бол одоо түүнийг үүсгэх
хугацаа болсон байна. Хэрэв үндсэн сан байхгүй бол
cvsup ажиллахаас татгалзах болно.
supfile-ийн бусад
тохиргоонууд:
supfile-д ерөнхийдөө байх ёстой бас нэг
мөр байдаг:
*default release=cvs delete use-rel-suffix compress
release=cvs нь сервер гол FreeBSD CVS
архиваас өөрийн мэдээллийг авах ёстойг зааж байна. Энэ нь
бараг үргэлж тохиолддог, хэдийгээр бусад боломжууд байдаг боловч
энэ хэлэлцүүлгийн хүрээнээс хальдаг.
delete нь
CVSup-д файлууд устгах зөвшөөрөл өгдөг.
CVSup нь таны эх модыг байнга
хамгийн сүүлийн хэлбэрт байлгадаг байхын тулд та үүнийг үргэлж
зааж өгөх хэрэгтэй. CVSup нь
өөрийн хариуцдаг зөвхөн тэр файлуудыг устгах тал дээр их анхааралтай
ажилладаг. Танд байж болох нэмэлт файлууд тэр хэвээрээ үлддэг.
use-rel-suffix нь ... ойлгоход төвөгтэй юм.
Хэрэв та үүний тухай жинхэнээсээ мэдье гэж хүсэж байгаа бол
&man.cvsup.1; гарын авлагын хуудаснаас үзнэ үү. Хэрэв тийм биш бол
ердөө заагаад л тэгээд санаа зовох хэрэггүй юм.
compress нь холбооны суваг дээр
gzip загварын шахалтын хэрэглээг идэвхжүүлдэг. Хэрэв таны
сүлжээний холболт T1 эсвэл түүнээс хурдан бол та магадгүй
шахалтыг ашиглах хэрэггүй юм. Хэрэв үгүй бол энэ нь бодитойгоор
тусалдаг.
Бүгдийг нийлүүлбэл:
Энд бидний жишээнд зориулсан бүхэл supfile
байна:
*default tag=.
*default host=cvsup99.FreeBSD.org
*default prefix=/usr
*default base=/var/db
*default release=cvs delete use-rel-suffix compress
src-all
refuse файл
Дээр дурдсанаар CVSup нь
татах аргыг ашигладаг. Энэ нь юу гэсэн үг вэ гэхээр
та CVSup сервер руу холбогдох бөгөөд
энэ нь Над дээрээс татаж авах боломжтой зүйлс энэ байна...
гэж хэлэх бөгөөд таны клиент OK, Би энэ,энэ, энийг авна.
гэж хариулна гэсэн үг юм. Анхдагч тохиргоон дээр
CVSup клиент нь таны тохиргооны файлд сонгосон хаяг болон
цуглуулгатай холбоотой бүх файлыг авна. Гэхдээ үүнийг та үргэлж хүсэхгүй байх,
ялангуяа хэрэв та doc, ports, эсвэл
www моднуудыг авч байгаа бол үүнийг хийхийг хүсэхгүй
байх — ихэнх хүмүүс дөрөв эсвэл таван хэлийг уншиж чаддаггүй
бөгөөд тиймээс тэдэнд хэлтэй холбоотой файлуудыг татаж авах хэрэггүй байдаг.
Хэрэв та портын цуглуулгыг CVSup хийж байгаа
бол та цуглуулга бүрийг тусад нь заан өгч үүнийг тойрон гарч болно
(өөрөөр хэлбэл, ports-astrology,
ports-biology, гэх мэтээр ports-all
гэхийн оронд). Гэхдээ doc
болон www моднууд нь хэлтэй холбоотой цуглуулгуудтай байдаггүй
болохоор та CVSup-ийн олон сайн боломжуудын
нэгийг ашиглах ёстой нь refuse юм.
refuse файл нь үндсэндээ
CVSup-д цуглуулгаас файл болгоныг
татаж авахгүй гэдгийг хэлдэг; өөрөөр хэлбэл клиентэд серверээс зарим
файлууд татаж авахаас татгалзахыг хэлж өгдөг.
refuse файл нь
base/sup/ сангаас
олдож болно (эсвэл хэрэв танд ийм файл байхгүй байгаа бол түүнийг дээрх санд байрлуулах
хэрэгтэй). base нь таны supfile-д
тодорхойлогдсон байдаг; бидний тодорхойлсон base нь
/var/db бөгөөд энэ нь анхдагчаар
refuse файл нь /var/db/sup/refuse
гэсэн үг юм.
refuse файл нь маш хялбар хэлбэршилттэй байдаг;
энэ нь таны татаж авахыг хүсээгүй файлууд эсвэл сангуудын нэрийг агуулдаг.
Жишээ нь хэрэв та Англи болон Германаар бага зэрэг ярьдгаас өөр хэлээр
ярьдаггүй бөгөөд баримтын Герман орчуулгыг авах сонирхолгүй байвал
өөрийн refuse файлд дараах:
doc/bn_*
doc/da_*
doc/de_*
doc/el_*
doc/es_*
doc/fr_*
doc/it_*
doc/ja_*
doc/nl_*
doc/no_*
doc/pl_*
doc/pt_*
doc/ru_*
doc/sr_*
doc/tr_*
doc/zh_*
мөрүүд болон гэх мэтээр бусад хэлнүүдийн хувьд оруулж өгөх хэрэгтэй
(та бүрэн жагсаалтыг FreeBSD
CVS архивыг шалган олж болно).
Энэ ашигтай боломжийг ашиглан удаан холболттой юм уу эсвэл өөрсдийн
Интернэтийн холболтод минутаар төлдөг хэрэглэгчид үнэ цэнэтэй хугацаагаа
хэмнэх болно. Учир нь тэд өөрсдийн хэзээ ч ашиглахгүй файлаа татаж авах
шаардлагагүй болох юм. CVSup-ийн
refuse файлууд болон бусад сайхан боломжуудын
талаар илүү мэдээллийг түүний гарын авлагын хуудаснаас үзнэ үү.
CVSup-г ажиллуулах нь
Одоо та шинэчлэлт хийж үзэхэд бэлэн боллоо. Үүнийг хийх тушаалын мөр
их амархан:
&prompt.root; cvsup supfile
энд байгаа supfile нь
таны дөнгөж үүсгэсэн supfile-ийн нэр юм.
Таныг X11 дээр ажиллаж байна гэж үзвэл cvsup нь
энгийн зүйлсийг хийх зарим товчлууруудтай GUI цонхыг үзүүлэх болно.
go товчлуурыг дарж ажиллахыг нь хараарай.
Та энэ жишээн дээр өөрийн жинхэнэ /usr/src
модыг шинэчилж байгаа болохоор cvsup нь
таны файлуудыг шинэчлэхэд шаардлагатай зөвшөөрлүүдтэй байхын тулд
та програмыг root эрхээс ажиллуулах хэрэгтэй
болно. Өөрийн тохиргооны файлыг дөнгөж үүсгэсэн бөгөөд урьд нь энэ програмыг
хэзээ ч ашиглаж байгаагүй бол таныг бухимдуулж магадгүй юм. Өөрийн файлуудыг
хөндөлгүйгээр туршилтын журмаар ажиллуулах хялбар арга байдаг.
Хаа нэгтээ хоосон сан үүсгээд түүнийг тушаалын мөрөнд нэмэлт өгөгдлөөр оруулж
өгнө:
&prompt.root; mkdir /var/tmp/dest
&prompt.root; cvsup supfile /var/tmp/dest
Таны заасан сан бүх файлын шинэчлэлтүүдийн хувьд очих сан болдог.
CVSup нь /usr/src сан
доторх таны энгийн файлуудыг шалгадаг, гэхдээ тэдгээрийн алийг ч өөрчлөх буюу
устгахгүй. Файлын шинэчлэлтүүд харин /var/tmp/dest/usr/src
санд хийгдэнэ. CVSup нь ингэж ажиллахдаа бас
өөрийн үндсэн сангийн төлвийн файлуудыг өөрчлөлгүйгээр үлдээдэг.
Тэдгээр файлуудын шинэ хувилбарууд заагдсан сан уруу бичигдэх болно.
Танд /usr/src сан уруу унших эрх л байхад
иймэрхүү туршилтын ажиллагааг гүйцэтгэхэд root
эрх байх заавал шаардлагагүй юм.
Хэрэв та X11-г ажиллуулахгүй байгаа юм уу эсвэл танд GUI таалагддаггүй бол
cvsup-г ажиллуулахдаа тушаалын мөрөн дээр
хоёр сонголтыг нэмж өгөх хэрэгтэй:
&prompt.root; cvsup -g -L 2 supfile
сонголт нь CVSup-д
өөрийн GUI-г ашиглахгүйг хэлнэ. Хэрэв та X11-ийг ажиллуулахгүй байгаа бол
энэ автомат байдаг, үгүй бол та үүнийг зааж өгөх хэрэгтэй.
нь CVSup-д
хийж байгаа бүх шинэчлэлтүүдийнхээ талаар дэлгэрэнгүй мэдээллийг үзүүлэхийг
хэлж өгнө. Гурван түвшний харуулах горим байдаг бөгөөд энэ нь
-с хүртэл байна. Анхдагч нь
0 байх бөгөөд энэ нь алдааны мэдэгдлээс бусдыг харуулахгүй.
Бусад олон сонголтууд байдаг. Тэдгээрийн товч жагсаалтыг үзэхийн тулд
cvsup -H гэж бичнэ. Илүү дэлгэрэнгүй тайлбаруудын
талаар гарын авлагын хуудсыг үзнэ үү.
Шинэчлэлт ажилладаг аргад сэтгэл ханамжтай болсныхоо дараа
та CVSup-г давтамжтайгаар ажиллуулахын тулд
&man.cron.8; ашиглан хийж өгч болно. Мэдээж та &man.cron.8;-с
CVSup-г ажиллуулахдаа өөрийнхөө GUI-г
ашиглахгүй болгох хэрэгтэй.
CVSup-ийн файлын цуглуулгууд
CVSup-ийн файлын цуглуулгууд нь шатлалтайгаар
зохион байгуулагдсан байдаг. Цөөн том цуглуулгууд байдаг бөгөөд тэдгээр нь
арай жижиг дэд цуглуулгуудад хуваагддаг. Том цуглуулгыг хүлээн авах нь
түүний дэд цуглуулгууд тус бүрийг хүлээн авахтай адил юм. Цуглуулга хоорондын
шаталсан холбоонууд нь доорх жагсаалт дахь догол ашиглалтаар тусгагддаг.
Хамгийн түгээмэл хэрэглэгддэг цуглуулгууд нь src-all,
болон ports-all юм. Бусад цуглуулгуудыг тусгай зорилгоор
зөвхөн жижиг бүлэг хүмүүс ашигладаг бөгөөд зарим толин тусгал сайтууд тэдгээрийг
бүгдийг агуулдаггүй байж болох юм.
cvs-all release=cvs
Криптограф кодыг оролцуулаад FreeBSD-ийн гол CVS архив.
distrib release=cvs
FreeBSD-ийн түгээлт болон толин тусгал хийхтэй холбоотой файлууд.
doc-all release=cvs
FreeBSD гарын авлагын эхүүд ба бусад баримт. Энэ нь FreeBSD-ийн
вэб сайтын файлуудыг агуулдаггүй.
ports-all release=cvs
FreeBSD-ийн портын цуглуулга.
Хэрэв та бүхэл ports-all-г (бүх портын мод)
шинэчлэхийг хүсэхгүй байгаа бөгөөд доор жагсаагдсан дэд цуглуулгуудын
нэгийг ашиглаж байгаа бол ports-base
дэд цуглуулгыг шинэчилсэн эсэхээ үргэлж
шалгаж байх хэрэгтэй. ports-base-ээр
танилцуулагдсан портын бүтээлтийн дэд бүтцэд ямар нэгэн өөрчлөлт
орох болгонд тэдгээр өөрчлөлтүүд нь жинхэнэ
портуудад тун удахгүй ашиглагдах нь бараг л тодорхой байдаг юм.
Тиймээс хэрэв та зөвхөн жинхэнэ
портуудыг
шинэчилж тэдгээр нь шинэ боломжуудын заримыг ашигладаг бол
тэдгээрийн бүтээлт нь зарим нэг ид шидийн алдааны мэдэгдэлтэйгээр
амжилтгүй болох маш их магадлалтай юм. Энэ тохиолдолд
хамгийн эхэнд хийх зүйл бол
таны ports-base дэд цуглуулга
хамгийн сүүлийн үеийнх эсэхийг шалгах хэрэгтэй юм.
Хэрэв та ports/INDEX-ийн
өөрийн локал хуулбарыг бүтээх гэж байгаа бол
ports-all буюу бүх портыг
хүлээж авах ёстой (бүх портын мод).
ports/INDEX-г хэсэг модтой бүтээхийг
дэмждэггүй.
FAQ хаягийг үзнэ үү.
ports-accessibility
release=cvs
Хөгжлийн бэрхшээлтэй хэрэглэгчдэд туслахад зориулсан програм хангамж.
ports-arabic
release=cvs
Араб хэлний дэмжлэг.
ports-archivers
release=cvs
Архивлах хэрэгслүүд.
ports-astro
release=cvs
Одон оронтой холбоотой портууд.
ports-audio
release=cvs
Дууны дэмжлэг.
ports-base
release=cvs
Портын цуглуулгын бүтээх дэд бүтэц -
төрөл бүрийн файлууд /usr/ports
сангийн Mk/ болон
Tools/ дэд сангуудад байрладаг.
Дээрх чухал
анхааруулгыг үзнэ үү: та FreeBSD-ийн
портын цуглуулгын ямар ч хэсгийг шинэчлэхдээ
энэ дэд цуглуулгыг үргэлж
шинэчилж байх хэрэгтэй!
ports-benchmarks
release=cvs
Бенчмаркууд.
ports-biology
release=cvs
Биологи.
ports-cad
release=cvs
Компьютерийн тусламжтай дизайн хийх хэрэгслүүд.
ports-chinese
release=cvs
Хятад хэлний дэмжлэг.
ports-comms
release=cvs
Холбооны програм хангамж.
ports-converters
release=cvs
тэмдэгтийн код хөрвүүлэгчид.
ports-databases
release=cvs
Мэдээллийн баазууд.
ports-deskutils
release=cvs
Компьютер зохион бүтээгдэхээс өмнө
ширээн дээр байдаг байсан зүйлс.
ports-devel
release=cvs
Хөгжүүлэлтийн багажууд.
ports-dns
release=cvs
DNS-тэй холбоотой програм хангамж.
ports-editors
release=cvs
Засварлагчид.
ports-emulators
release=cvs
Бусад үйлдлийн системүүдэд зориулсан эмуляторууд.
ports-finance
release=cvs
Банк, санхүү болон тэдгээртэй холбоотой програмууд.
ports-ftp
release=cvs
FTP клиент ба серверийн багажууд.
ports-games
release=cvs
Тоглоомууд.
ports-german
release=cvs
Герман хэлний дэмжлэг.
ports-graphics
release=cvs
Графикийн багажууд.
ports-hebrew
release=cvs
Хэбрю хэлний дэмжлэг.
ports-hungarian
release=cvs
Унгар хэлний дэмжлэг.
ports-irc
release=cvs
Internet Relay Chat буюу чалчих багажууд.
ports-japanese
release=cvs
Япон хэлний дэмжлэг.
ports-java
release=cvs
&java; багажууд.
ports-korean
release=cvs
Солонгос хэлний дэмжлэг.
ports-lang
release=cvs
Програмчлалын хэлнүүд.
ports-mail
release=cvs
Захидлын програмууд.
ports-math
release=cvs
Тоо тооцоолох програм хангамж.
ports-mbone
release=cvs
MBone програмууд.
ports-misc
release=cvs
Бусад багажууд.
ports-multimedia
release=cvs
Мультимедиа програм хангамж.
ports-net
release=cvs
Сүлжээний програм хангамж.
ports-net-im
release=cvs
Шуурхай мэдэгдэл (instant messaging) илгээх програм хангамж.
ports-net-mgmt
release=cvs
Сүлжээний удирдлагын програм хангамж.
ports-net-p2p
release=cvs
p2p сүлжээ.
ports-news
release=cvs
USENET мэдээний програм хангамж.
ports-palm
release=cvs
Palm төрлийн
төхөөрөмжүүдэд зориулсан програм хангамжийн дэмжлэг.
ports-polish
release=cvs
Польш хэлний дэмжлэг.
ports-ports-mgmt
release=cvs
Портууд болон багцуудыг удирдах багажууд.
ports-portuguese
release=cvs
Португал хэлний дэмжлэг.
ports-print
release=cvs
Хэвлэлтийн програм хангамж.
ports-russian
release=cvs
Орос хэлний дэмжлэг.
ports-science
release=cvs
Шинжлэх ухаан.
ports-security
release=cvs
Аюулгүй байдлын хэрэгслүүд.
ports-shells
release=cvs
Тушаалын мөрийн бүрхүүлүүд.
ports-sysutils
release=cvs
Системийн хэрэгслүүд.
ports-textproc
release=cvs
текст боловсруулах хэрэгслүүд (ширээний хэвлэл ордоггүй).
ports-ukrainian
release=cvs
Украйн хэлний дэмжлэг.
ports-vietnamese
release=cvs
Вьетнам хэлний дэмжлэг.
ports-www
release=cvs
World Wide
Web-тэй холбоотой програм хангамж.
ports-x11
release=cvs
X Цонхны системийг дэмжих портууд.
ports-x11-clocks
release=cvs
X11 цагнууд.
+
+ ports-x11-drivers
+ release=cvs
+
+
+ X11 драйверууд.
+
+
+
ports-x11-fm
release=cvs
X11 файл менежерүүд.
ports-x11-fonts
release=cvs
X11 үсгийн маягууд ба үсгийн маягийн хэрэгслүүд.
ports-x11-toolkits
release=cvs
X11 багажны цуглуулгууд.
ports-x11-servers
release=cvs
X11 серверүүд.
ports-x11-themes
release=cvs
X11 харуулах маягууд.
ports-x11-wm
release=cvs
X11 цонхны менежерүүд.
projects-all release=cvs
FreeBSD төслийн архив дахь эхүүд.
src-all release=cvs
Криптограф кодыг оролцуулаад FreeBSD-ийн гол эхүүд.
src-base
release=cvs
/usr/src сангийн дээр байрлах
бусад файлууд.
src-bin
release=cvs
Ганц хэрэглэгчийн горимд хэрэг болох хэрэглэгчийн багажууд
(/usr/src/bin).
src-cddl
release=cvs
CDDL лицензийн доор байдаг хэрэгслүүд болон сангууд
(/usr/src/cddl).
src-contrib
release=cvs
Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг
FreeBSD төслөөс гаднах хэрэгслүүд ба сангууд
(/usr/src/contrib).
src-crypto release=cvs
Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг
FreeBSD төслөөс гаднах криптограф хэрэгслүүд ба сангууд
(/usr/src/crypto).
src-eBones release=cvs
Kerberos ба DES
(/usr/src/eBones). FreeBSD-ийн
одоогийн хувилбаруудад ашигладаггүй.
src-etc
release=cvs
Системийн тохиргооны файлууд
(/usr/src/etc).
src-games
release=cvs
Тоглоомууд
(/usr/src/games).
src-gnu
release=cvs
GNU Нийтийн Лицензтэй хэрэгслүүд
(/usr/src/gnu).
src-include
release=cvs
Толгой файлууд
(/usr/src/include).
src-kerberos5
release=cvs
Kerberos5 аюулгүй байдлын багц
(/usr/src/kerberos5).
src-kerberosIV
release=cvs
KerberosIV аюулгүй байдлын багц
(/usr/src/kerberosIV).
src-lib
release=cvs
Сангууд
(/usr/src/lib).
src-libexec
release=cvs
Бусад програмуудаар ажилладаг системийн програмууд
(/usr/src/libexec).
src-release
release=cvs
FreeBSD хувилбар гаргахад шаардагдах файлууд
(/usr/src/release).
src-rescue
release=cvs
Яаралтай сэргээлт хийхэд зориулсан статикаар холболт хийгдсэн програмууд;
&man.rescue.8;-г үзнэ үү
(/usr/src/rescue).
src-sbin release=cvs
Ганц хэрэглэгчийн горимд зориулсан системийн хэрэгслүүд
(/usr/src/sbin).
src-secure
release=cvs
Криптограф сангууд ба тушаалууд
(/usr/src/secure).
src-share
release=cvs
Олон системүүдийн хооронд хуваалцаж болох файлууд
(/usr/src/share).
src-sys
release=cvs
Цөм
(/usr/src/sys).
src-sys-crypto
release=cvs
Цөмийн криптограф код
(/usr/src/sys/crypto).
src-tools
release=cvs
FreeBSD-г арчлахад зориулсан төрөл бүрийн хэрэгслүүд
(/usr/src/tools).
src-usrbin
release=cvs
Хэрэглэгчийн хэрэгслүүд
(/usr/src/usr.bin).
src-usrsbin
release=cvs
Системийн хэрэгслүүд
(/usr/src/usr.sbin).
www release=cvs
FreeBSD WWW сайтын эх.
distrib release=self
CVSup серверийн өөрийн
тохиргооны файлууд. CVSup
толин тусгал сайтуудад хэрэглэгддэг.
gnats release=current
GNATS алдаа мөрдөх мэдээллийн бааз.
mail-archive release=current
FreeBSD захидлын жагсаалтын архив.
www release=current
Урьдчилан боловсруулсан FreeBSD WWW сайтын файлууд
(эх файлууд биш). WWW толин тусгал сайтуудад хэрэглэгддэг.
Дэлгэрэнгүй мэдээллийг
CVSup FAQ болон бусад
CVSup-ийн тухай мэдээллийг
CVSup гэрийн хуудас хаягаас үзнэ үү.
Ихэнх FreeBSD-тэй холбоотой CVSup-ийн
хэлэлцүүлэг &a.hackers;-д болдог. Програмын шинэ хувилбар тэнд, бас
&a.announce;-д зарлагддаг.
Асуултууд болон алдааны тайлангуудыг програмын зохиогч cvsup-bugs@polstra.com
руу хаяглах ёстой.
CVSup сайтууд
FreeBSD-д зориулсан CVSup серверүүд дараах хаягууд дээр
ажиллаж байгаа:
&chap.mirrors.cvsup.inc;
Portsnap-г ашиглах нь
Танилцуулга
Portsnap нь &os;-ийн портын модыг
аюулгүйгээр түгээхэд зориулагдсан систем юм. Дунджаар цаг тутам
портын модны snapshot
буюу хормын хувилбар үүсгэгдэж
дахин багцлагдаж криптографын хувьд баталгаажуулагддаг. Үүний үр дүнд гарсан
файлууд нь дараа нь HTTP-ээр түгээгддэг.
CVSup-ийн адил
Portsnap нь шинэчлэлтийн
pull буюу татах
загварыг ашигладаг: Багцлагдаж баталгаажуулагдсан портын моднууд
клиентүүдээс ирэх файлын хүсэлтийг идэвхгүйгээр хүлээж байдаг вэб сервер дээр
байрлуулагддаг. Хэрэглэгчид шинэчлэлтүүдийг татаж авахын тулд
&man.portsnap.8;-г гараар ажиллуулах эсвэл шинэчлэлтүүдийг автоматаар
тогтмол татаж авдгаар &man.cron.8; ажлыг тохируулах ёстой.
Техникийн шалтгаануудаас болоод Portsnap
нь амьд
портын модыг /usr/ports/
санд шууд шинэчилдэггүй; харин анхдагчаар /var/db/portsnap/
санд хадгалагдсан портын модны шахагдсан хуулбараар дамжуулан ажилладаг.
Энэ шахагдсан хуулбар нь дараа нь амьд портын модыг шинэчлэхэд хэрэглэгддэг.
Хэрэв Portsnap нь &os;-ийн
портын цуглуулгаас суулгагдсан бол түүний шахагдсан хормын хувилбарт
зориулсан анхдагч байрлал нь /var/db/portsnap/-ийн
оронд /usr/local/portsnap/ байх болно.
Суулгалт
&os; 6.0 болон сүүлийн хувилбарууд дээр Portsnap нь
&os; үндсэн систем дээр байдаг. &os;-ийн хуучин хувилбарууд дээр үүнийг
ports-mgmt/portsnap портыг
ашиглан суулгаж болно.
Portsnap-ийн тохиргоо
Portsnap-ийн ажиллагаа
/etc/portsnap.conf тохиргооны файлаар хянагддаг.
Ихэнх хэрэглэгчдийн хувьд анхдагч тохиргооны файл хангалттай; илүү дэлгэрэнгүйг
&man.portsnap.conf.5; гарын авлагын хуудаснаас лавлана уу.
Хэрэв Portsnap нь &os;-ийн
портын цуглуулгаас суулгагдсан бол /etc/portsnap.conf-ийн
оронд /usr/local/etc/portsnap.conf тохиргооны файлыг
ашиглах болно. Энэ тохиргооны файл нь порт суулгагдах үед үүсгэгддэггүй, гэхдээ
жишээ тохиргооны файл түгээгддэг; түүнийг байрлал уруу нь хуулаад дараах
тушаалыг ажиллуулна:
&prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf
Portsnap-г эхний удаа ажиллуулах нь
&man.portsnap.8; эхний удаа ажиллахдаа бүхэл портын модны шахагдсан
хормын хувилбарыг /var/db/portsnap/ (хэрэв
Portsnap нь портын цуглуулгаас суулгагдсан бол
/usr/local/portsnap/ байна) руу татаж
авах хэрэгтэй болдог. 2006 оны эхнээс эхлээд энэ нь ойролцоогоор 41 MB
татаж авахаар байна.
&prompt.root; portsnap fetch
Шахагдсан хормын хувилбар татагдсаны дараа портын модны амьд
хуулбарыг /usr/ports/ руу задалж болно. Энэ нь
портын модны аль хэсгүүд сүүлд шинэчлэгдэх ёстойг portsnap тодорхойлж
чадах үндсэн шугамыг тогтоож өгдөг болохоор портын мод (өөрөөр хэлбэл
CVSup ашиглан) энэ сан уруу үүсгэгдсэн
байсан ч гэсэн энэ үйлдэл шаардлагатай байдаг.
&prompt.root; portsnap extract
Анхдагч суулгалтад /usr/ports
сан үүсгэгддэггүй. Хэрэв та &os; 6.0-RELEASE-г ажиллуулж байгаа бол
энэ нь portsnap-г ашиглаж эхлэхээс өмнө үүсгэгдсэн
байх ёстой. &os; эсвэл Portsnap-ийн сүүлийн
хувилбарууд дээр энэ үйлдэл нь portsnap тушаалыг
эхлэн ашиглахад автоматаар хийгдэх болно.
Портын модыг шинэчлэх нь
Портын модны эхний шахагдсан хормын хувилбар татагдаж
/usr/ports/ руу задлагдсаны дараа
портын модыг шинэчлэх явц хоёр алхмаас тогтоно: шинэчлэлтүүдийг
шахагдсан хормын хувилбар руу татан авч
амьд портын модыг шинэчлэхийн
тулд тэдгээрийг ашиглана. Эдгээр хоёр алхмыг portsnap
руу нэг тушаалаар зааж өгч болно:
&prompt.root; portsnap fetch update
portsnap-ийн зарим хуучин хувилбарууд
энэ бичлэгийг дэмждэггүй; хэрэв энэ нь амжилтгүй болвол доор дурдсаныг
туршаад үзээрэй:
&prompt.root; portsnap fetch
&prompt.root; portsnap update
Portsnap-г cron-с ажиллуулах нь
Portsnap серверүүдэд
хандахад олон хүн
холбогдсон асуудлуудыг
тойрон гарахын тулд portsnap fetch
тушаал нь &man.cron.8; ажлаас ажиллахгүй. Харин
тусгай portsnap cron тушаал байх
бөгөөд энэ нь шинэчлэлтүүдийг татаж авахаасаа өмнө
3600 секунд хүртэл санамсаргүй хугацаагаар хүлээдэг.
Мөн энэ нь порт бүтээгдэж байх үед юм уу эсвэл суулгагдаж байх үед ажиллавал
асуудлууд үүсгэх магадлалтай болохоор portsnap update
тушаалыг cron ажлаас ажиллуулахгүй
байхыг тууштай зөвлөдөг. Гэхдээ портын INDEX
файлуудыг шинэчлэх нь аюулгүй байдаг бөгөөд үүнийг
тугийг portsnap тушаалд өгч хийж болно.
(Мэдээж хэрэв portsnap -I update нь
cron-с ажиллавал үлдсэн модыг шинэчлэхийн
тулд portsnap update тушаалыг
туггүйгээр дараа нь ажиллуулах хэрэгтэй болно.)
Дараах мөрийг /etc/crontab файлд
нэмэхэд portsnap-ийг өөрийн шахагдсан хормын
хувилбар болон INDEX файлуудыг
/usr/ports/ санд шинэчлэж
суулгагдсан портуудаас хуучин портууд байвал цахим захидал илгээхэд
хүргэх болно:
0 3 * * * root portsnap -I cron update && pkg_version -vIL=
Хэрэв системийн цагийг локал цагийн бүс гэж тохируулаагүй бол
Portsnap серверүүд дээр ачааллыг
тэгш хуваарилахын тулд 3 гэдгийг 0-с 23-ын
хоорондох санамсаргүй утгаар солино уу.
portsnap-ийн зарим хуучин хувилбарууд
portsnap-тай цуг зэрэг олон тушаалуудыг жагсаахыг дэмждэггүй
(өөрөөр хэлбэл cron update). Хэрэв
дээрх мөр амжилтгүй болвол portsnap -I cron update
тушаалыг portsnap cron && portsnap -I update
тушаалуудаар солиод үзээрэй.
CVS Tags буюу хаягууд
cvs эсвэл
CVSup ашиглан эхийг авах юм уу эсвэл шинэчилж
байгаа үед revision tag буюу залруулалтын хаягийг зааж өгөх ёстой байдаг.
Залруулалтын хаяг нь &os; хөгжүүлэлтийн тодорхой нэг байх юм уу эсвэл
хугацааны тодорхой нэг цэг байдаг. Эхнийх нь branch tags
буюу салбарын хаягууд
гэгддэг бөгөөд хоёр дахь нь
хувилбарын хаягууд
гэгддэг.
Салбарын хаягууд
HEAD-с (энэ нь үргэлж зөв хаяг байдаг) бусад бүх
хаягууд зөвхөн src/ модонд хамаардаг.
ports/, doc/, болон
www/ моднууд нь салбарладаггүй.
HEAD
Гол шугамын симболын нэр, эсвэл FreeBSD-CURRENT.
Залруулалт заагаагүй тохиолдолд бас анхдагч байдаг.
CVSup-д энэ хаяг нь
. гэсэн тэмдэгтээр илэрхийлэгддэг
(цэг биш харин . тэмдэгт).
CVS-д энэ нь залруулалт заагаагүй тохиолдолд анхдагч байдаг.
Хэрэв та өөрөө хүсээгүй л бол STABLE машин дээр CURRENT
эхийг татан авч шинэчлэх нь ихэвчлэн тийм ч сайн санаа
биш юм.
RELENG_6
FreeBSD-6.X-д зориулсан хөгжүүлэлтийн шугам, бас
FreeBSD 6-STABLE гэгддэг
RELENG_6_2
FreeBSD-6.2-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_6_1
FreeBSD-6.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_6_0
FreeBSD-6.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_5
FreeBSD-5.X-д зориулсан хөгжүүлэлтийн шугам, бас
FreeBSD 5-STABLE гэгддэг.
RELENG_5_5
FreeBSD-5.5-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_5_4
FreeBSD-5.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_5_3
FreeBSD-5.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_5_2
FreeBSD-5.2 болон FreeBSD-5.2.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_5_1
FreeBSD-5.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_5_0
FreeBSD-5.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_4
FreeBSD-4.X-д зориулсан хөгжүүлэлтийн шугам, бас
FreeBSD 4-STABLE гэгддэг.
RELENG_4_11
FreeBSD-4.11-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_4_10
FreeBSD-4.10-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_4_9
FreeBSD-4.9-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_4_8
FreeBSD-4.8-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_4_7
FreeBSD-4.7-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_4_6
FreeBSD-4.6 болон FreeBSD-4.6.2-д зориулсан хувилбарын салбар,
аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_4_5
FreeBSD-4.5-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_4_4
FreeBSD-4.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_4_3
FreeBSD-4.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад
чухал засваруудад зориулж зөвхөн ашиглагддаг.
RELENG_3
FreeBSD-3.X-д зориулсан хөгжүүлэлтийн шугам, бас
3.X-STABLE гэгддэг.
RELENG_2_2
FreeBSD-2.2.X-д зориулсан хөгжүүлэлтийн шугам, бас
2.2-STABLE гэгддэг. Энэ салбар нь гол төлөв хуучирсан.
Хувилбарын хаягууд
Эдгээр хаягууд нь &os;-ийн тодорхой нэг хувилбар гарсан үеийн цагийн
тодорхой цэгийг заадаг. Хувилбар инженерчлэлийн процессийн талаар
Хувилбар инженерчлэлийн
мэдээлэл болон
Хувилбарын процесс
баримтуудад илүү дэлгэрэнгүй баримтжуулагдсан байдаг.
src мод нь
RELENG_ гэж эхэлсэн хаягийн нэрсийг ашигладаг.
ports болон
doc моднууд нь
RELEASE гэж эхэлсэн хаягийн нэрсийг ашигладаг.
Төгсгөлд нь www мод нь
хувилбаруудад зориулсан ямар нэг тусгай нэрээр хаяглагддаггүй.
RELENG_6_2_0_RELEASE
FreeBSD 6.2
RELENG_6_1_0_RELEASE
FreeBSD 6.1
RELENG_6_0_0_RELEASE
FreeBSD 6.0
RELENG_5_5_0_RELEASE
FreeBSD 5.5
RELENG_5_4_0_RELEASE
FreeBSD 5.4
RELENG_4_11_0_RELEASE
FreeBSD 4.11
RELENG_5_3_0_RELEASE
FreeBSD 5.3
RELENG_4_10_0_RELEASE
FreeBSD 4.10
RELENG_5_2_1_RELEASE
FreeBSD 5.2.1
RELENG_5_2_0_RELEASE
FreeBSD 5.2
RELENG_4_9_0_RELEASE
FreeBSD 4.9
RELENG_5_1_0_RELEASE
FreeBSD 5.1
RELENG_4_8_0_RELEASE
FreeBSD 4.8
RELENG_5_0_0_RELEASE
FreeBSD 5.0
RELENG_4_7_0_RELEASE
FreeBSD 4.7
RELENG_4_6_2_RELEASE
FreeBSD 4.6.2
RELENG_4_6_1_RELEASE
FreeBSD 4.6.1
RELENG_4_6_0_RELEASE
FreeBSD 4.6
RELENG_4_5_0_RELEASE
FreeBSD 4.5
RELENG_4_4_0_RELEASE
FreeBSD 4.4
RELENG_4_3_0_RELEASE
FreeBSD 4.3
RELENG_4_2_0_RELEASE
FreeBSD 4.2
RELENG_4_1_1_RELEASE
FreeBSD 4.1.1
RELENG_4_1_0_RELEASE
FreeBSD 4.1
RELENG_4_0_0_RELEASE
FreeBSD 4.0
RELENG_3_5_0_RELEASE
FreeBSD-3.5
RELENG_3_4_0_RELEASE
FreeBSD-3.4
RELENG_3_3_0_RELEASE
FreeBSD-3.3
RELENG_3_2_0_RELEASE
FreeBSD-3.2
RELENG_3_1_0_RELEASE
FreeBSD-3.1
RELENG_3_0_0_RELEASE
FreeBSD-3.0
RELENG_2_2_8_RELEASE
FreeBSD-2.2.8
RELENG_2_2_7_RELEASE
FreeBSD-2.2.7
RELENG_2_2_6_RELEASE
FreeBSD-2.2.6
RELENG_2_2_5_RELEASE
FreeBSD-2.2.5
RELENG_2_2_2_RELEASE
FreeBSD-2.2.2
RELENG_2_2_1_RELEASE
FreeBSD-2.2.1
RELENG_2_2_0_RELEASE
FreeBSD-2.2.0
AFS сайтууд
FreeBSD-д зориулсан AFS серверүүд нь дараах сайтууд дээр ажиллаж байна:
Швед
Файлуудад хүрэх зам нь:
/afs/stacken.kth.se/ftp/pub/FreeBSD/
stacken.kth.se # Stacken Computer Club, KTH, Sweden
130.237.234.43 #hot.stacken.kth.se
130.237.237.230 #fishburger.stacken.kth.se
130.237.234.3 #milko.stacken.kth.se
Арчлагч ftp@stacken.kth.se
rsync сайтууд
Дараах сайтууд нь FreeBSD-г rsync протоколоор түгээгдэх боломжийг
бүрдүүлдэг. rsync хэрэгсэл нь
&man.rcp.1; тушаалтай бараг төстэйгөөр ажилладаг боловч
илүү олон тохируулгуудтай бөгөөд хоёр талын файлуудын зөвхөн ялгаатайг нь
дамжуулдаг. Ингэснээр сүлжээгээр хийх хамгийн сүүлийн хэлбэрт аваачих үйлдлийг
ихээхэн хурдасгадаг байна. Хэрэв та FreeBSD FTP сервер юм уу эсвэл
CVS архивын толин тусгал сайт бол энэ нь их ашигтай байдаг.
rsync цуглуулга нь олон үйлдлийн системүүд
дээр байдаг. FreeBSD-ийн хувьд net/rsync
порт эсвэл багцыг үзнэ үү.
Бүгд Найрамдах Чех Улс
rsync://ftp.cz.FreeBSD.org/
Байгаа цуглуулгууд:
ftp: FreeBSD FTP серверийн хэсэгчилсэн толин тусгал.
FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал.
Герман
rsync://grappa.unix-ag.uni-kl.de/
Байгаа цуглуулгууд:
freebsd-cvs: Бүрэн FreeBSD CVS архив.
Үүнээс гадна энэ машин нь NetBSD болон OpenBSD төслүүдийн CVS архивуудыг бас толин тусгал
хийдэг.
Нидерланд
rsync://ftp.nl.FreeBSD.org/
Байгаа цуглуулгууд:
vol/4/freebsd-core: FreeBSD FTP серверийн бүрэн толин тусгал.
Тайвань
rsync://ftp.tw.FreeBSD.org/
rsync://ftp2.tw.FreeBSD.org/
rsync://ftp6.tw.FreeBSD.org/
Байгаа цуглуулгууд:
FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал.
Их Британи
rsync://rsync.mirror.ac.uk/
Байгаа цуглуулгууд:
ftp.FreeBSD.org: FreeBSD FTP серверийн бүрэн толин тусгал.
Америкийн Нэгдсэн Улс
rsync://ftp-master.FreeBSD.org/
Энэ серверийг FreeBSD-ийн анхдагч толин тусгал сайтууд зөвхөн хэрэглэж
болно.
Байгаа цуглуулгууд:
FreeBSD: FreeBSD FTP серверийн мастер архив.
acl: FreeBSD-ийн мастер ACL жагсаалт.
rsync://ftp13.FreeBSD.org/
Байгаа цуглуулгууд:
FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал.