FreeBSD гарын авлага

FreeBSD баримтжуулах төсөл

FreeBSD-д тавтай морилно уу! Энэ гарын авлага нь FreeBSD 8.3-RELEASE болон FreeBSD 9.0-RELEASE хувилбаруудын суулгацаас эхлээд өдөр тутмын хэрэглээг тайлбарласан билээ. Энэ гарын авлага нь төгс дуусаагүй бөгөөд маш олон хүний хамтын бүтээл юм. Зарим хэсэг нь хуучирч шинэчлэгдэх шаардлагатай байж болзошгүй. Хэрэв та энэ төсөлд хувь нэмрээ оруулж, бидэнд туслахыг хүсвэл FreeBSD баримтжуулах төслийн захидлын жагсаалт хаяг руу захиа бичнэ үү. Энэ гарын авлагын хамгийн сүүлийн хувилбарыг FreeBSD вэб хуудаснаас татаж авч болно. (энэ гарын авлагын өмнөх хувилбаруудыг http://docs.FreeBSD.org/doc/-с авах боломжтой). Мөн янз бүрийн шахаж бэлтгэсэн хэлбэрээр FreeBSD FTP серверээс эсвэл толин тусгал хуудаснаас татаж авагдаж болно. Хэрэв та энэ гарын авлагын хэвлэсэн хуулбарыг авахыг хүсвэл FreeBSD Mall хуудсанд зорчино уу. Та мөн гарын авлага дотор хайлт хийх боломжтой.

Доорх нөхцөл, шаардлагуудыг хангасан нөхцөлд эх код (SGML DocBook) болон 'эмхэтгэгдсэн' хэлбэрүүдийг (SGML, HTML, PDF, PostScript, RTF болон гэх зэрэг) ямарваа өөрчлөлт хийж болон өөрчлөлтгүйгээр хэрэглэх буюу тараах боломжтой:

  1. Эх кодыг (SGML DocBook) дээрх эзэмшигчийн эрхийн тэмдэглэл, болон доорх нөхцөл шаардлагууд болон зөрчигдөх тохиолдлуудын хамтаар энэ файлын эхний мөрийг хөндөлгүйгээр түгээнэ.

  2. Эмхэтгэгдсэн хэлбэрүүдийн (өөр DTD-үүд болон хувирсан, PDF, PostScript, RTF болон бусад хэлбэршилтүүд рүү хөрвүүлэгдсэн) дахин түгээлтүүд нь дээрх эзэмшигчийн эрхийн тэмдэглэл, доорх нөхцөл шаардлагууд болон түгээлттэй цуг ирсэн баримт ба/эсвэл бусад материалууд дахь зөрчих тохиолдлуудыг үүсгэх ёстой.

Чухал: ЭНЭ БАРИМТ НЬ FREEBSD БАРИМТЖУУЛАХ ТӨСЛӨӨС «БАЙГАА БАЙДЛААРАА» ГЭСЭН НӨХЦӨЛТЭЙГЭЭР ТҮГЭЭГДЭЖ БАЙГАА БӨГӨӨД, ЭНЭ НЬ ХУДАЛДААНЫ, ТОДОРХОЙ НЭГ БОЛОН БУСАД ЗОРИЛГОД НИЙЦЭХ БАТАЛГАА БОЛОХГҮЙ. ЗАЙЛШГҮЙ ҮҮРЭГ ХАРИУЦЛАГА ЭСВЭЛ /БУРУУ ХЭРЭГЛЭСНЭЭС/ (ХАЙХРАМЖГҮЙ БАЙДАЛ БА БУСАД) ЗЭРЭГ ЭНЭ БАРИМТЫГ ХЭРЭГЛЭСНЭЭС ҮҮДСЭН АЛИВАА ШУУД, ШУУД БУС, ТОХИОЛДЛЫН, ЗОРИУДЫН , ЗАГВАРЧИЛСАН, ЭСВЭЛ ҮР ДАГАВАР БОЛСОН (ЗАХИАЛСАН БҮТЭЭГДЭХҮҮН, ҮЙЛЧИЛГЭЭГ ОРЛУУЛАХ, ХЭРЭГЛЭЭНИЙ ҮЕИЙН ӨГӨГДӨЛ, ХЭРЭГЛЭЭ, АШГИЙН АЛДАГДАЛ, ЭСВЭЛ БИЗНЕСИЙН ҮЙЛ АЖИЛЛАГАА ТАСАЛДУУЛАХ ЗЭРГИЙГ ОРУУЛАХ БӨГӨӨД ҮҮГЭЭР ХЯЗГААРЛАГДАХГҮЙ) ГЭХ МЭТ ЯМАР Ч ТОХИОЛДОЛД, ХЭДИЙ ИЙМ ХОХИРОЛ ГАРЧ БОЛЗОШГҮЙГ АНХААРУУЛСАН БАЙСАН Ч ҮҮНЭЭС ҮҮДСЭН ХОХИРОЛД FREEBSD БАРИМТЖУУЛАХ ТӨСӨЛ НЬ ХУУЛЬ ЁСНЫ ХАРИУЦЛАГА ХҮЛЭЭХГҮЙ.

FreeBSD нь FreeBSD Сангийн бүртгэгдсэн худалдааны тэмдэг юм.

3Com болон HomeConnect нь 3Com Корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.

3ware болон Escalade нь 3ware Inc-ийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.

ARM нь ARM Limited-ийн бүртгэгдсэн худалдааны тэмдэг юм.

Adaptec нь Adaptec, Inc-ийн бүртгэгдсэн худалдааны тэмдэг юм.

Adobe, Acrobat, Acrobat Reader, болон PostScript нь бүртгэгдсэн худалдааны тэмдэгнүүд эсвэл Adobe Systems Incorporated-ийн Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь худалдааны тэмдэгнүүд юм.

Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, болон TrueType нь Америкийн Нэгдсэн Улс ба/эсвэл бусад улсуудад бүртгэгдсэн Apple Computer, Inc.-ийн худалдааны тэмдэгнүүд юм.

Corel болон WordPerfect нь Канад, Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь Corel корпораци ба/эсвэл түүний салбаруудын бүртгэгдсэн худалдааны тэмдэгнүүд юм.

Sound Blaster нь Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь Creative Technology Ltd.-ийн худалдааны тэмдэгнүүд юм.

CVSup нь Жон Д. Полстрагийн бүртгэгдсэн худалдааны тэмдэг юм.

Heidelberg, Helvetica, Palatino, болон Times Roman нь АНУ болон бусад улсууд дахь Heidelberger Druckmaschinen AG-ийн бүртгэгдсэн худалдааны тэмдэгнүүд, аль эсвэл худалдааны тэмдэгнүүд юм.

IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, болон ThinkPad нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь International Business Machines корпорацийн худалдааны тэмдэгнүүд юм.

IEEE, POSIX, болон 802 нь Америкийн Нэгдсэн Улс дахь Institute of Electrical and Electronics Engineers буюу Цахилгаан ба Электроны Инженерүүдийн Сургуулийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.

Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, болон Xeon нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь Intel корпораци эсвэл түүний салбаруудын худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.

Intuit болон Quicken нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь Intuit Inc. эсвэл түүний аль нэг салбаруудын бүртгэгдсэн тэмдэгнүүд ба/эсвэл бүртгэгдсэн үйлчилгээний тэмдэгнүүд юм.

Линукс нь Линус Торвалдсын бүртгэгдсэн худалдааны тэмдэг юм.

LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID болон Mylex нь LSI Logic Corp-ийн худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.

M-Systems болон DiskOnChip нь M-Systems Flash Disk Pioneers, Ltd-ийн худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.

Macromedia, Flash, болон Shockwave Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь Macromedia Inc-ийн худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.

Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media болон Windows NT нь Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь Microsoft корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд эсвэл худалдааны тэмдэгнүүд юм.

Netscape болон Netscape Navigator нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь Netscape Communications корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.

GateD болон NextHop нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь NextHop-ийн бүртгэгдсэн эсвэл бүртгэгдээгүй худалдааны тэмдэгнүүд юм.

Motif, OSF/1, болон UNIX нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь The Open Group-ийн бүртгэгдсэн худалдааны тэмдэгнүүд бөгөөд IT DialTone ба The Open Group нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь The Open Group-ийн худалдааны тэмдэгнүүд юм.

Oracle нь Oracle корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.

PowerQuest болон PartitionMagic нь Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь PowerQuest корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.

RealNetworks, RealPlayer, болон RealAudio нь RealNetworks, Inc.-ийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.

Red Hat, RPM, нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь Red Hat, Inc-ийн худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.

SAP, R/3, болон mySAP нь Герман болон дэлхий дахины бусад улсууд дахь SAP AG-ийн худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.

Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer Pages, JDK, JRE, JSP, JVM, Netra, Solaris, StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, Ultra болон VirtualBox нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь Sun Microsystems, Inc-ийн худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.

Symantec болон Ghost нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь Symantec корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.

MATLAB нь The MathWorks, Inc-ийн бүртгэгдсэн худалдааны тэмдэг юм.

SpeedTouch нь Thomson-ий худалдааны тэмдэг юм.

U.S. Robotics болон Sportster нь U.S. Robotics корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.

VMware нь VMware, Inc-ийн худалдааны тэмдэг юм.

Waterloo Maple болон Maple нь Waterloo Maple Inc-ийн худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.

Mathematica нь Wolfram Research, Inc-ийн бүртгэгдсэн худалдааны тэмдэг юм.

XFree86 нь XFree86 Project, Inc-ийн худалдааны тэмдэг юм.

Ogg Vorbis болон Xiph.Org нь Xiph.Org-ийн худалдааны тэмдэгнүүд юм.

Үйлдвэрлэгчид болон худалдаалагчдын өөрийнхөө бүтээгдэхүүнүүддээ ашигладаг тэмдэгнүүдийн олонхи нь худалдааны тэмдэг гэж хэлэгддэг. Тийм худалдааны тэмдэгнүүд энэ баримтад гарч байх үед, FreeBSD төсөлд худалдааны тэмдэг мэдэгдэж байвал тэмдэгнүүд дээр “™” эсвэл “®” тэмдэгт нэмэгддэг.


Гарчиг
Өмнөх үг
I. Эхлэл
1. Танилцуулга
1.1. Ерөнхий агуулга
1.2. FreeBSD-д тавтай морилно уу!
1.3. FreeBSD Төслийн тухай
2. FreeBSD 8.x болон түүнээс өмнөх хувилбар суулгах нь
2.1. Ерөнхий агуулга
2.2. Системд тавигдах төхөөрөмжийн шаардлага
2.3. Суулгацын өмнө
2.4. Суулгацыг эхлүүлэх
2.5. Sysinstall-н танилцуулга
2.6. Дискний зайг зохицуулах
2.7. Юу суулгахаа сонгох
2.8. Суулгацын төхөөрөмжөө сонгох
2.9. Суулгацыг баталж гүйцээх
2.10. Суулгацын дараах тохиргоо
2.11. Хүндрэл тулгарвал
2.12. Суулгацын нэмэлт гарын авлага
2.13. Өөртөө зориулж тусгай суулгацын төхөөрөмж бэлдэх нь
3. FreeBSD 9.x болон түүнээс хойшхи хувилбаруудыг суулгах нь
3.1. Ерөнхий агуулга
3.2. Тоног төхөөрөмжийн шаардлагууд
3.3. Суулгахын өмнөх ажлууд
3.4. Суулгалтыг эхлүүлэх нь
3.5. bsdinstall-г танилцуулах нь
3.6. Сүлжээнээс суулгах нь
3.7. Дискний зай авах нь
3.8. Суулгалтыг гүйцэтгэх нь
3.9. Суулгасны дараах үйлдлүүд
3.10. Асуудлыг олж засварлах
4. Юниксийн үндэс
4.1. Ерөнхий агуулга
4.2. Виртуал консол болон терминал
4.3. Зөвшөөрлүүд
4.4. Сангийн бүтэц
4.5. Диск зохион байгуулалт
4.6. Файл системийг холбох болон салгах
4.7. Процесс буюу програмын явц
4.8. Далд чөтгөр буюу дэмонууд, дохионууд, мөн процессуудыг зогсоох нь
4.9. Shell буюу бүрхүүл
4.10. Текст засварлагчид
4.11. Төхөөрөмж ба төхөөрөмжийн цэгүүд
4.12. Хоёртын хэлбэрүүд
4.13. Нэмэлт мэдээлэл олж авах нь
5. Програм суулгах: Багцууд болон портууд
5.1. Ерөнхий агуулга
5.2. Програм суулгацын ерөнхий ойлголт
5.3. Програмаа олох нь
5.4. Багцалсан системийг хэрэглэх нь
5.5. Портын цуглуулгыг хэрэглэх нь
5.6. Порт суулгасны дараах үйлдлүүд
5.7. Эвдрэлтэй портыг засах нь
6. X Цонхот систем
6.1. Ерөнхий агуулга
6.2. X-г таньж мэдэх
6.3. X11-г суулгах нь
6.4. X11-н тохируулга
6.5. X11 дээр үсгийн маяг хэрэглэх нь
6.6. X Display Manager буюу харуулалт зохицуулагч
6.7. Дэлгэцийн орчин
II. Нийтлэг асуудлууд
7. Ширээний програмууд
7.1. Ерөнхий агуулга
7.2. Хөтчүүд
7.3. Бүтээмж
7.4. Бичиг баримт үзүүлэгчид
7.5. Санхүү
7.6. Дүгнэлт
8. Мультимедиа
8.1. Ерөнхий агуулга
8.2. Дууны картыг тохируулах
8.3. MP3 аудио
8.4. Видео тоглуулах
8.5. ТВ картуудыг тохируулах
8.6. MythTV
8.7. Дүрс скан хийгчид
9. FreeBSD цөмийг тохируулах нь
9.1. Ерөнхий агуулга
9.2. Яагаад өөрчлөн тохируулсан цөм бүтээх хэрэгтэй вэ?
9.3. Системийн тоног төхөөрөмж хайж олох нь
9.4. Цөмийн драйверууд, дэд системүүд, болон модулиуд
9.5. Өөрчлөн тохируулсан цөмийг бүтээх ба суулгах нь
9.6. Тохиргооны файл
9.7. Хэрэв ямар нэг юм буруутвал
10. Хэвлэлт
10.1. Ерөнхий агуулга
10.2. Танилцуулга
10.3. Үндсэн тохируулга
10.4. Хэвлэгчийн илүү нарийн тохиргоо
10.5. Хэвлэгчдийг ашиглах нь
10.6. Хэвлэгчийн стандарт түр хадгалагчидтай ижил хадгалагчид
10.7. Алдааг олж засварлах
11. Линуксийн Хоёртын Нийлэмж
11.1. Ерөнхий агуулга
11.2. Суулгалт
11.3. Mathematica® суулгах нь
11.4. Maple™ суулгах нь
11.5. MATLAB® суулгах нь
11.6. Oracle® суулгах нь
11.7. Нэмэлт сэдвүүд
III. Системийн Удирдлага
12. Тохиргоо ба Тааруулалт
12.1. Ерөнхий агуулга
12.2. Эхний Тохиргоо
12.3. Гол Тохиргоо
12.4. Програмын Тохиргоо
12.5. Үйлчилгээнүүдийг эхлүүлэх нь
12.6. cron хэрэгслийг тохируулах нь
12.7. FreeBSD дээр rc(8) ашиглах нь
12.8. Сүлжээний интерфэйс картууд суулгах нь
12.9. Виртуал Хостууд
12.10. Тохиргооны Файлууд
12.11. sysctl(8) ашиглан тааруулах нь
12.12. Дискнүүдийг тааруулах нь
12.13. Цөмийн хязгаарууд тохируулах нь
12.14. Swap зай нэмэх нь
12.15. Тэжээл болон Эх үүсвэрийн Удирдлага
12.16. FreeBSD-ийн ACPI-г ашиглах нь ба дибаг хийх нь
13. FreeBSD-ийн Ачаалах процесс
13.1. Ерөнхий агуулга
13.2. Ачаалалтын асуудал
13.3. Ачаалагч Менежер болон Ачаалалтын шатууд
13.4. Ачаалах үе дэх цөмийн харилцан үйлдэл
13.5. Төхөөрөмжийн Сануулгууд
13.6. Init: Процесс хяналтын эхлүүлэлт
13.7. Унтраах дараалал
14. Хэрэглэгчид ба үндсэн бүртгэл зохицуулалт
14.1. Ерөнхий агуулга
14.2. Танилцуулга
14.3. Супер хэрэглэгчийн бүртгэл
14.4. Систем бүртгэл
14.5. Энгийн хэрэглэгчийн бүртгэл
14.6. Бүртгэлд өөрчлөлт хийх
14.7. Хэрэглэгчдэд хязгаарлалт хийх
14.8. Бүлэг
15. Аюулгүй байдал
15.1. Ерөнхий агуулга
15.2. Танилцуулга
15.3. FreeBSD-н аюулгүй байдлыг хангах нь
15.4. DES, MD5, болон Crypt
15.5. Нэг удаагийн нууц үгүүд
15.6. TCP Гүйцэтгэлийг хялбаршуулагчид
15.7. Kerberos5
15.8. OpenSSL
15.9. IPsec дээгүүр VPN хийх
15.10. OpenSSH
15.11. Файлын системийн хандалт хянах жагсаалтууд
15.12. Гуравдагч талын аюулгүй байдлын асуудлуудыг монитор хийх нь
15.13. FreeBSD-ийн аюулгүй байдлын зөвлөгөөнүүд
15.14. Процессийн бүртгэл хөтлөх
16. Jails буюу Шоронгууд
16.1. Ерөнхий агуулга
16.2. Шоронгуудтай холбоотой ойлголтууд
16.3. Танилцуулга
16.4. Шоронг үүсгэж хянах нь
16.5. Нарийн тааруулалт болон удирдлага
16.6. Шоронгийн хэрэглээ
17. Mandatory Access Control буюу Албадмал Хандалтын хяналт
17.1. Ерөнхий агуулга
17.2. Энэ бүлэг дэх түлхүүр ухагдахуунууд
17.3. MAC-ийн тайлбар
17.4. MAC хаяг/шошгонуудыг ойлгох нь
17.5. Аюулгүй байдлын тохиргоог төлөвлөх нь
17.6. Модулийн тохиргоо
17.7. MAC seeotheruids модуль
17.8. MAC bsdextended модуль
17.9. MAC ifoff модуль
17.10. MAC portacl модуль
17.11. MAC хуваалтын модуль
17.12. MAC олон түвшинт аюулгүй байдлын модуль
17.13. MAC Biba модуль
17.14. MAC LOMAC модуль
17.15. MAC Шорон дахь Nagios
17.16. Хэрэглэгчийг түгжих
17.17. MAC Тогтолцооны алдааг олж засварлах
18. Аюулгүй байдлын үйл явцад аудит хийх нь
18.1. Ерөнхий агуулга
18.2. Энэ бүлгийн түлхүүр ухагдахуунууд
18.3. Аудит хийх дэмжлэг суулгах нь
18.4. Аудитийн тохиргоо
18.5. Аудит дэд системийг удирдах нь
19. Хадгалалт
19.1. Ерөнхий агуулга
19.2. Төхөөрөмжийн нэрс
19.3. Диск нэмэх
19.4. RAID
19.5. USB хадгалалтын төхөөрөмжүүд
19.6. Оптик зөөвөрлөгчийг (CD-үүд) үүсгэж ашиглах нь
19.7. Оптик зөөвөрлөгчийг (DVD-үүд) үүсгэж ашиглах нь
19.8. Уян дискнүүдийг үүсгэж ашиглах нь
19.9. Өгөгдлийн соронзон хальснууд үүсгэж ашиглах нь
19.10. Уян диск уруу нөөцлөх
19.11. Нөөцлөх стратегууд
19.12. Нөөцлөлтийн үндсүүд
19.13. Сүлжээ, санах ой болон файл дээр тулгуурласан файлын системүүд
19.14. Файлын системийн хормын хувилбарууд
19.15. Файлын системийн ноогдлууд
19.16. Дискний хуваалтуудыг шифрлэх нь
19.17. Swap зайг шифрлэх
19.18. Highly Available Storage (HAST)
20. GEOM: Модульчлагдсан Диск Хувиргах Тогтолцоо
20.1. Ерөнхий агуулга
20.2. GEOM-ийн Танилцуулга
20.3. RAID0 - Судал үүсгэх
20.4. RAID1 - Толин тусгал үүсгэх
20.5. RAID3 - Parity бүхий байтын түвшний тусдаа судалжуулалт (Striping)
20.6. GEOM Хаалга Сүлжээний Төхөөрөмжүүд
20.7. Дискний төхөөрөмжүүдийг хаяглах нь
20.8. GEOM-ийн тусламжтай UFS тэмдэглэл
21. Файлын системийн дэмжлэг
21.1. Ерөнхий агуулга
21.2. Z Файлын Систем (ZFS)
21.3. Linux® файлын системүүд
22. Vinum Эзлэхүүн Менежер
22.1. Ерөнхий агуулга
22.2. Дискнүүд хэтэрхий жижиг
22.3. Хандалтын тагларалтууд
22.4. Өгөгдлийн бүрэн бүтэн байдал
22.5. Vinum обьектууд
22.6. Зарим жишээнүүд
22.7. Обьектийн нэрлэлт
22.8. Vinum тохируулах нь
22.9. Root файлын системийн хувьд Vinum-ийг ашиглах нь
23. Виртуалчлал
23.1. Ерөнхий агуулга
23.2. FreeBSD-г зочин OS маягаар ашиглах
23.3. FreeBSD-г хост буюу эх OS маягаар ашиглах
24. Локалчлал - I18N/L10N-ийн хэрэглээ болон тохируулга
24.1. Ерөнхий агуулга
24.2. Үндсүүд
24.3. Локалчлалыг ашиглах нь
24.4. I18N програмуудыг эмхэтгэх
24.5. FreeBSD-г өөр хэлнүүд уруу локалчлах
25. FreeBSD-г шинэчилж сайжруулах нь
25.1. Ерөнхий агуулга
25.2. FreeBSD-ийн шинэчлэлт
25.3. Portsnap: Портын цуглуулгыг шинэчлэх хэрэгсэл
25.4. Баримтын цуглуулгыг шинэчлэх нь
25.5. Хөгжүүлэлтийн салбарыг дагах нь
25.6. Өөрийн эхийг хамгийн сүүлийн хэлбэрт аваачих нь
25.7. “Ертөнц”ийг дахин бүтээх нь
25.8. Хуучин файлууд, хавтаснууд болон сангуудыг устгах
25.9. Олон машины хувьд дагах нь
26. DTrace
26.1. Ерөнхий агуулга
26.2. Шийдлийн ялгаанууд
26.3. DTrace дэмжлэгийг идэвхжүүлэх
26.4. DTrace-г ашиглах
26.5. D хэл
IV. Сүлжээний Холболт
27. Цуваа холбоонууд
27.1. Ерөнхий агуулга
27.2. Танилцуулга
27.3. Терминалууд
27.4. Dial-in буюу гаднаас залгах үйлчилгээ
27.5. Dial-out буюу гадагш залгах үйлчилгээ
27.6. Цуваа консолыг тохируулах нь
28. PPP болон SLIP
28.1. Ерөнхий агуулга
28.2. Хэрэглэгчийн PPP ашиглах
28.3. Цөмийн PPP-г ашиглах
28.4. PPP холболтуудын алдааг олж засварлах
28.5. Ethernet дээгүүр PPP ашиглах нь (PPPoE)
28.6. ATM дээгүүр PPP (PPPoA) ашиглах
28.7. SLIP ашиглах
29. Цахим Шуудан
29.1. Ерөнхий Агуулга
29.2. Цахим Захидлыг Хэрэглэх нь
29.3. sendmail-г Тохируулах нь
29.4. Өөрийн Захидал Дамжуулах Агентийг Солих нь
29.5. Гэмтэл саатлыг арилгах нь
29.6. Дээд түвшний сэдвүүд
29.7. UUCP-тэй SMTP
29.8. Зөвхөн илгээхээр тохируулах нь
29.9. Гадагш залгах холболтоор захидлыг ашиглах нь
29.10. SMTP нэвтрэлт танилт
29.11. Хэрэглэгчийн захидал дамжуулагчид
29.12. fetchmail-г ашиглах нь
29.13. procmail-г ашиглах нь
30. Сүлжээний орчны Серверүүд
30.1. Ерөнхий агуулга
30.2. inetd “Супер-Сервер”
30.3. Сүлжээний Файлын Систем (NFS)
30.4. Сүлжээний Мэдээллийн Систем (NIS/YP)
30.5. Автомат Сүлжээний Тохиргоо (DHCP)
30.6. Домэйн Нэрийн Систем (DNS)
30.7. Apache HTTP Сервер
30.8. Файл Дамжуулах Протокол (FTP)
30.9. Microsoft Windows харилцагчдад зориулсан Файл болон Хэвлэх Үйлчилгээ (Samba)
30.10. ntpd-р Цаг Тааруулах нь
30.11. syslogd ашиглан алсын хост руу бүртгэх нь
31. Галт хана
31.1. Танилцуулга
31.2. Галт ханын тухай ойлголтууд
31.3. Галт ханын багцууд
31.4. OpenBSD Пакет шүүгч (PF) ба ALTQ
31.5. IPFILTER (IPF) Галт хана
31.6. IPFW
32. Сүлжээний нэмэлт ойлголтууд
32.1. Ерөнхий агуулга
32.2. Гарцууд болон Чиглүүлэлтүүд
32.3. Утасгүй сүлжээ
32.4. Bluetooth
32.5. Гүүр
32.6. Холбоос нэгтгэлт ба ослыг тойрон гарах (Link Aggregation and Failover)
32.7. Дискгүй ажиллагаа
32.8. NFS root файлын систем ашиглан PXE ачаалалт хийх
32.9. ISDN
32.10. Network Address Translation буюу Сүлжээний Хаягийн Хөрвүүлэлт
32.11. Parallel Line IP (PLIP) буюу Зэрэгцээ Шугамын IP
32.12. IPv6
32.13. Asynchronous Transfer Mode (ATM) буюу Асинхрон Дамжуулах Горим
32.14. Common Address Redundancy Protocol (CARP)
V. Хавсралтууд
A. FreeBSD-г олж авах нь
A.1. CDROM болон DVD Нийтлэгчид
A.2. FTP сайтууд
A.3. BitTorrent
A.4. Нэргүй CVS
A.5. CTM-г ашиглах нь
A.6. CVSup-г ашиглах нь
A.7. CVS Tags буюу хаягууд
A.8. AFS сайтууд
A.9. rsync сайтууд
B. Ном зүй
B.1. FreeBSD-ийн талаар тусгайлан бичсэн ном & сэтгүүлүүд
B.2. Хэрэглэгчдийн гарын авлагууд
B.3. Администраторууд зориулсан зааврууд
B.4. Програм зохиогчдод зориулсан зааврууд
B.5. Үйлдлийн системийн дотоод бүрэлдэхүүнүүдийн талаар
B.6. Аюулгүй байдлын тухай номнууд
B.7. Тоног төхөөрөмжийн тухай номнууд
B.8. UNIX-ийн түүх
B.9. Сонин, сэтгүүлүүд
C. Интернэт дэх эх үүсвэрүүд
C.1. Захидлын жагсаалтууд
C.2. Usenet Newsgroups буюу мэдээний бүлгүүд
C.3. Word Wide Web серверүүд
C.4. Цахим захидлын хаягууд
D. PGP түлхүүрүүд
D.1. Албан хаагчид
D.2. Гол багийн гишүүд
D.3. Хөгжүүлэгчид
FreeBSD Нэр томъёо
Үгийн жагсаалт
Сүүл тайлбар
Хүснэгтийн жагсаалт
2-1. Төхөөрөмжийн бүртгэлийн жишээ
2-2. Эхний дискний хуваалт
2-3. Бусад дискэн дээрх дискний хуваалт
2-4. FreeBSD 7.X ба 8.X ISO буулгац дүрсний нэр болон агуулга
3-1. Хуваалтын схемүүд
4-1. Диск төхөөрөмжийн нэрнүүд
19-1. Физик диск нэрлэх заншил
22-1. Vinum Plex зохион байгуулалтууд
27-1. DB-25-аас DB-25 Null-Модем кабель
27-2. DB-9-өөс DB-9 Null-Модем кабель
27-3. DB-9-өөс DB-25 Null-Модем кабель
27-4. Дохионы нэрс
32-1. Station Capability Codes
32-2. Сүлжээнд зориулж зэрэгцээ кабель хийх нь
32-3. Нөөц IPv6 хаягууд
Зургийн жагсаалт
2-1. FreeBSD-ийн ачаалагч эхлүүлэгч цэс
2-2. Төхөөрөмж таньсан бүртгэл бичлэг
2-3. Улс сонгох цэс
2-4. Гарын цэсийг сонгох
2-5. Sysinstall-н үндсэн цэсэнд Usage буюу хэрэглээг сонгох нь
2-6. Documentation буюу бичиг баримтын цэс сонгох
2-7. Sysinstall-н Documentation буюу бичиг баримтын цэс
2-8. Sysinstall-н үндсэн цэс
2-9. Sysinstall-н Keymap буюу гарын товчлуур хуваарилалт цэс
2-10. Sysinstall-н үндсэн цэс
2-11. Sysinstall Options хэсэг
2-12. Үндсэн суулгацыг эхлүүлэх нь
2-13. FDisk-н хэрэглэх дискийг сонгох
2-14. Засварлаж эхлэхээс өмнөх fdisk-н диск хуваалтын жишээ
2-15. Fdisk дискийг бүхлээр нь хэрэглэж буй жишээ
2-16. Sysinstall-н эхлэн ачаалалт зохицуулагчийн цэс
2-17. Диск сонгох цэснээс гарах
2-18. Sysinstall-н Disklabel буюу дискэнд нэр өгөн засварлагч
2-19. Sysinstall-н Disklabel хэрэгслийн автомат тохируулалт
2-20. Root буюу эх хуваалт дээрх сул зай
2-21. Root partition буюу эх хуваалтын хэмжээ
2-22. Root Partition буюу эх хуваалтын төрлийг сонгох
2-23. Root-г холбох цэг
2-24. Sysinstall Disklabel засварлагч
2-25. Суулгах түгээлтийн төрлөөс сонгох
2-26. Сонгосон суулгах түгээлтийн төрлөө лавлах
2-27. Суулгацын төхөөрөмж сонгох
2-28. Сүлжээний төхөөрөмж сонгох нь
2-29. ed0-д сүлжээний тохиргоог хийх нь
2-30. inetd.conf файлыг засварлах нь
2-31. Anonymous нэр нь үл мэдэгдэгч FTP үйлчилгээний анхдагч тохиргоо
2-32. FTP мэндчилгээний бичлэгийг засварлах нь
2-33. exports файлыг засварлах нь
2-34. Системийн консолын тохируулгын сонголтууд
2-35. Дэлгэц амраах тохиргоо
2-36. Дэлгэц амраагчийн ажиллах хугацаа
2-37. Системийн консолын тохиргооноос гарах
2-38. Оршин буй бүсээ сонгох
2-39. Оршин буй улсаа сонгох
2-40. Цагийн бүсээ сонгох
2-41. Хулганы холбогдох төрлийг сонгох нь
2-42. Хулганы холбогдох төрлийг тохируулах
2-43. Хулганы холбогдох портыг нь сонгох
2-44. Хулганы портыг тохируулах
2-45. Хулганы Daemon буюу далд чөтгөрийг идэвхжүүлэх нь
2-46. Хулганы далд чөтгөрийг шалгах
2-47. Багцын төрлийг сонгох
2-48. Багц сонгох
2-49. Багц суулгах
2-50. Багц суулгалтын лавлалт
2-51. User буюу хэрэглэгч гэж сонгоно
2-52. Хэрэглэгчийн мэдээллийг оруулах
2-53. Хэрэглэгч ба бүлэг зохицуулах хэсгээс гарах
2-54. Суулгацаас гарах
2-55. Сүлжээний дээд түвшний тохиргоо
2-56. Анхдагч MTA-г сонгох
2-57. Ntpdate тохиргоо
2-58. Доод түвшний сүлжээний тохируулга
3-1. FreeBSD ачаалагч дуудагч цэс
3-2. Ердийн төхөөрөмж шалгасан үр дүн
3-3. Суулгалтын зөөвөрлөгч сонгох нь
3-4. Гарын байрлалын сонголт
3-5. Гарын цэсийг сонгох
3-6. Хостын нэрийг тохируулах
3-7. Бүрэлдэхүүн хэсгүүдийг суулгахаар сонгох
3-8. Сүлжээнээс суулгах нь
3-9. Толин тусгал сонгох нь
3-10. Зааварчилсан эсвэл Гар аргаар хуваах горимыг сонгох
3-11. Олон дискээс сонгох
3-12. Бүх диск эсвэл хуваалтыг сонгох
3-13. Үүсгэсэн хуваалтуудыг шалгах
3-14. Хуваалтуудыг гараар хийх нь
3-15. Хуваалтуудыг гараах хийх нь
3-16. Гараар хуваалтуудыг үүсгэх нь
3-17. Сүүлийн лавлагаа
3-18. Түгээлтийн файлуудыг татах нь
3-19. Түгээлтийн файлуудыг шалгах нь
3-20. Түгээлтийн файлуудыг задлах нь
3-21. root нууц үгийг тохируулах
3-22. Сүлжээний интерфэйсийг сонгоно
3-23. Утасгүй сүлжээний холболтын цэгийг хайх
3-24. Утасгүй сүлжээг сонгох нь
3-25. WPA2 тохируулга
3-26. IPv4 сүлжээг сонгох нь
3-27. IPv4 DHCP тохиргоог сонгох
3-28. IPv4 статик тохиргоо
3-29. IPv6 сүлжээг тохируулахаар сонгох
3-30. IPv6 SLAAC тохиргоог сонгох
3-31. IPv6 статик тохиргоо
3-32. DNS тохиргоо
3-33. Локал эсвэл UTC цагийг сонгох
3-34. Бүсийг сонгох
3-35. Улсыг сонгох
3-36. Цагийн бүсийг сонгох
3-37. Цагийн бүсийг зөвшөөрөх
3-38. Нэмэлт үйлчилгээнүүдийг идэвхжүүлэхийг сонгох
3-39. Сүйрлийн үеийн мэдээллийг хадгалахыг идэвхжүүлэх
3-40. Хэрэглэгчийн бүртгэл нэмэх
3-41. Хэрэглэгчийн мэдээлэл оруулах
3-42. Хэрэглэгч ба бүлгийн удирдлагаас гарах
3-43. Төгсгөлийн тохиргоо
3-44. Гараар тохируулах
3-45. Суулгалтыг гүйцээх
22-1. Нийлүүлэгдсэн зохион байгуулалт
22-2. Судалчлагдсан зохион байгуулалт
22-3. RAID-5 зохион байгуулалт
22-4. Энгийн Vinum эзлэхүүн
22-5. Толин тусгал хийгдсэн Vinum эзлэхүүн
22-6. Судалчлагдсан Vinum эзлэхүүн
22-7. Толин тусгал хийгдсэн, судалчлагдсан Vinum эзлэхүүн
Жишээний жагсаалт
2-1. Байгаа дискний хуваалтыг өөрчлөлгүйгээр хэрэглэх нь
2-2. Байгаа хуваалтын хэмжээг сунгаж өөрчлөх
3-1. Байгаа хуваалтыг ашиглах
3-2. Байгаа хуваалтыг багасгах
3-3. Уламжлалт тусдаа файлын системийн хуваалтуудыг үүсгэх
4-1. Диск, Зүсмэл, Хуваалтын нэрлэх жишээ
4-2. Дискний тогтсон загвар
5-1. Багц татаж аваад суулгах явц
12-1. Swap файл FreeBSD дээр үүсгэх нь
13-1. boot0 дэлгэцийн агшин
13-2. boot2 дэлгэцийн агшин
13-3. /etc/ttys дахь аюултай консол
14-1. FreeBSD дээр хэрэглэгч нэмэх нь
14-2. rmuser Лавлаж харилцан бүртгэл устгах
14-3. Супер хэрэглэгчийн лавлаж асуух chpass хэрэглээ
14-4. Энгийн хэрэглэгчийн лавлаж асуух chpass хэрэглээ
14-5. Өөрийнхөө нууц үгийг солих нь
14-6. Супер хэрэглэгч бол бусдын нууц үгийг солих нь
14-7. pw(8) хэрэглэж бүлэг нэмэх
14-8. pw(8) ашиглан бүлгийн гишүүдийн жагсаалтыг тохируулах нь
14-9. pw(8) ашиглан шинэ гишүүнийг бүлэгт нэмэх нь
14-10. id(1) хэрэглэж уг гишүүний бүлгийн мэдээллийг мэдэх нь
15-1. SMTP-д зориулан SSH ашиглан аюулгүй туннель үүсгэх
19-1. ssh-ээр dump-г ашиглах нь
19-2. ssh-ээр RSH тохируулан dump-г ашиглах нь
19-3. mdconfig ашиглан байгаа файлын системийн дүрсийг холбох нь
19-4. mdconfig тушаал ашиглан шинэ файл дээр тулгуурласан диск үүсгэх нь
19-5. mdmfs тушаал ашиглан файл дээр тулгуурласан дискийг тохируулж холбох нь
19-6. mdconfig тушаал ашиглан шинэ санах ой дээр тулгуурласан диск үүсгэх нь
19-7. mdmfs тушаал ашиглан шинэ санах ой дээр тулгуурласан диск үүсгэх нь
20-1. Ачаалах диск дээрх хуваалтуудыг хаяглах нь
27-1. /etc/ttys уруу терминалын оруулгууд нэмэх нь
29-1. sendmail Хандалтын Өгөгдлийн санг Тохируулах нь
29-2. Захидлын Хуурамч дүрүүд
29-3. Хийсвэр Домэйны Захидлын Буулгалтын Жишээ
30-1. inetd-н тохиргооны файлыг дахин ачаалах нь
30-2. Экспортыг amd-р холбох
30-3. Django-г Apache2, mod_python3, болон PostgreSQL суулгах нь
30-4. Django/mod_python-д зориулсан Apache-ийн тохиргоо
32-1. Cisco® шилжүүлэгчтэй LACP нэгтгэлт
32-2. Failover горим
32-3. Утастай болон утасгүй сүлжээний интерфэйсүүдийн хоорондох Failover горим
32-4. Салбар оффис эсвэл Гэрийн сүлжээ
32-5. Гол оффис эсвэл бусад LAN
A-1. -CURRENT-с ямар нэгэн зүйл шалгаж авах нь (ls(1)):
A-2. src/ модыг шалгаж авахын тулд SSH-г ашиглах нь:
A-3. 8-STABLE салбар дахь ls(1)-ийн хувилбарыг шалгаж авах нь:
A-4. ls(1)-д хийгдсэн өөрчлөлтүүдийн жагсаалтыг (нэгдсэн ялгаанууд хэлбэрээр) үүсгэх нь
A-5. Өөр бусад ямар модулийн нэрс ашиглагдаж болохыг олох нь:

Өмнөх үг

Энэ номын зориулалт

FreeBSD-ийн шинэ хэрэглэгч нь энэ номын эхний хэсэг хэрэглэгчид FreeBSD-ийн суулгалтын процесс дундуур хөтөлж UNIX®-ийн угт байдаг ойлголтууд болон ёс заншлыг аажим танилцуулдаг болохыг олж мэдэх болно. Энэ хэсэг дээр ажиллах нь шинээр олж мэдэх хүсэл эрмэлзлээс арай илүү хүсэл болон танилцуулсан шинэ ойлголтуудыг хүлээн авах чадварыг шаарддаг.

Гарын авлагын хоёр дахь хамаагүй том хэсэг хүрэх үед FreeBSD системийн администраторуудын сонирхлыг татах бүх сэдвүүдийг хамарсан нэвтэрхий лавлахыг та олох болно. Эдгээр бүлгүүдийн зарим нь таныг урьдчилан уншихыг зөвлөж болох бөгөөд энэ нь бүлэг бүрийн эхэнд ерөнхий агуулгад тэмдэглэгдсэн байдаг.

Мэдээллийн нэмэлт эхүүдийн жагсаалтыг Хавсралт B хэсгээс үзнэ үү.

Гурав дахь хэвлэлээс хойшх өөрчлөлтүүд

Гарын авлагын одоогийн хувилбар нь сүүлийн 10 жилийн хугацааны туршид олон зуун хувь нэмэр болгон оруулагчийн оруулсан хүчин чармайлтын үр дүн юм. Дараах нь 2004 онд хэвлэгдсэн гурав дахь хэвлэлийн хоёр ботиос хойш орсон мэдэгдэхүйц өөрчлөлтүүд юм:

Хоёр дахь хэвлэлээс (2004) хойшх өөрчлөлтүүд

Энэ гурав дахь хэвлэлт нь FreeBSD баримтжуулах төслийн гишүүдийн хоёр жил илүүтэй хугацаанд хийж гүйцэтгэсэн ажлын оргил юм. Хэвлэсэн хувилбарын хэмжээ ихэссэн учир хоёр тусдаа боть болгох шаардлагатай болсон. Энэ шинэ хэвлэлтэд орсон гол өөрчлөлтүүдийг доор дурдав:

Эхний хэвлэлээс (2001) хойшх өөрчлөлтүүд

Хоёр дахь хэвлэлт нь FreeBSD баримтжуулах төслийн гишүүдийн хоёр жил илүүтэй хугацаанд хийж гүйцэтгэсэн ажлын оргил юм. Энэ хэвлэлтэд орсон гол өөрчлөлтүүдийг доор дурдав:

Энэ номын зохион байгуулалт

Энэ ном нь таван логикийн хувьд тусдаа хэсгүүдэд хуваагдана. Эхний хэсэг Эхлэл нь FreeBSD-ийн суулгалт болон үндсэн хэрэглээг тайлбарлах болно. Эдгээр бүлгүүдийг дарааллаар нь магадгүй мэддэг сэдвүүдийг тайлбарлах бүлгүүдийг орхин уншина гэдэгт уншигч авхай нарт итгэдэг. Хоёр дахь хэсэг Нийтлэг асуудлууд нь FreeBSD-ийн зарим нэг байнга ашиглагддаг боломжуудыг тайлбарладаг. Энэ хэсэг болон дараачийн хэсгүүдийг дараалал хамаарахгүйгээр уншиж болно. Бүлэг бүр нь бүлэг юу тайлбарладаг болон уншигч юуг аль хэдийн мэдсэн байх ёстойг тайлбарласан хураангуй агуулгаас эхэлдэг. Энэ нь уншигчид өөрийн сонирхсон бүлгээ олоход туслах зорилготой юм. Гурав дахь хэсэг Системийн удирдлага нь удирдлагын сэдвүүдийг хөнддөг. Дөрөв дэх хэсэг Сүлжээний холболт нь сүлжээ болон серверийн сэдвүүдийг хамардаг. Тав дахь хэсэг нь лавлагаа мэдээллийн тухай хавсралтуудыг агуулдаг.

Бүлэг 1 Танилцуулга

FreeBSD-г шинэ хэрэглэгчид танилцуулна. Энэ нь FreeBSD төслийн түүх, түүний зорилгууд болон хөгжүүлэлтийн загварыг тайлбарладаг.

Бүлэг 2 буюу FreeBSD 8.x болон түүнээс өмнөх хувилбарыг суулгах нь

Хэрэглэгчийг FreeBSD 8.x болон түүнээс өмнөх хувилбарын суулгалтын процесс дундуур хөтөлнө. Цуваа консолоор суулгах зэрэг илүү нарийн суулгалтын сэдвүүдийг бас тайлбарлана.

Бүлэг 3 буюу FreeBSD 9.x болон түүнээс хойшхи хувилбарыг суулгах нь

Хэрэглэгчийг bsdinstall ашиглан FreeBSD 9.x болон түүнээс хойшхи хувилбарын суулгалтын процесс дундуур хөтөлнө.

Бүлэг 4, UNIX-ийн үндэс

FreeBSD үйлдлийн системийн үндсэн тушаалууд болон ажиллагааг тайлбарладаг. Хэрэв та Linux эсвэл UNIX-ийн өөр төрлийг мэддэг бол та энэ бүлгийг алгасаж болох юм.

Бүлэг 5 Програм суулгах нь

FreeBSD-ийн шинэ санаачлага “портын цуглуулга” болон стандарт хоёртын багцуудын тусламжтай гуравдагч програм хангамжуудын суулгалтыг тайлбарладаг.

Бүлэг 6 X Цонхот систем

X Цонхот системийг ерөнхийд нь болон FreeBSD-г ялангуяа X11 дээр ашиглах талаар тайлбарлах болно. KDE болон GNOME зэрэг ширээний түгээмэл орчнуудыг бас тайлбарладаг.

Бүлэг 7 Ширээний програмууд

Вэб хөтчүүд болон бүтээмжийн цуглуулгууд зэрэг зарим нэгэн ширээний програмуудыг дурдах бөгөөд тэдгээрийг FreeBSD дээр хэрхэн суулгах талаар тайлбарлах болно.

Бүлэг 8 Мультимедиа

Дуу болон дүрс тоглуулалтын дэмжлэгийг өөрийн систем дээр хэрхэн тохируулахыг үзүүлнэ. Бас зарим жишээ аудио болон видео програмуудыг тайлбарладаг.

Бүлэг 9 FreeBSD цөмийг тохируулах нь

Танд яагаад шинэ цөм хэрэгтэй болж болохыг тайлбарлаж цөмийг тохируулах, бүтээх болон суулгах тухай дэлгэрэнгүй заавруудыг өгнө.

Бүлэг 10 Хэвлэлт

Сурталчилгаа хуудаснууд, хэвлэгчийн бүртгэл болон эхний тохиргоо зэрэг мэдээллийг оруулаад хэвлэгчдийг FreeBSD дээр удирдах талаар тайлбарладаг.

Бүлэг 11, Linux-ийн хоёртын нийлэмж

FreeBSD-ийн Linux-тэй нийцтэй боломжуудыг тайлбарладаг. Бас Oracle, болон Mathematica® зэрэг Linux-ийн олон түгээмэл програмуудыг суулгах дэлгэрэнгүй заавруудыг өгдөг.

Бүлэг 12 Тохиргоо ба тааруулалт

FreeBSD-г хамгийн оновчтой ажиллагаанд зориулж тааруулахад туслах системийн администраторуудад зориулсан параметрүүдийг тайлбарладаг. Бас FreeBSD-д ашиглагдах төрөл бүрийн тохиргооны файлуудыг тайлбарлаж тэдгээрийг хаанаас олохыг хэлж өгдөг.

Бүлэг 13 Эхлүүлэх процесс

FreeBSD-ийн эхлүүлэх процессийг тайлбарлаж тохиргооны сонголтуудын тусламжтай энэ процессийг хэрхэн хянах талаар дурддаг.

Бүлэг 14 Хэрэглэгчид ба үндсэн бүртгэл зохицуулалт

Хэрэглэгчийн бүртгэлүүдийг үүсгэх болон удирдахыг тайлбарладаг. Бас хэрэглэгчид дээр эх үүсвэрийн хязгаарлалтуудыг тохируулах болон бусад бүртгэл удирдах ажлуудын талаар тайлбарладаг.

Бүлэг 15 Аюулгүй байдал

Kerberos, IPsec, болон OpenSSH зэргийг оролцуулаад таны FreeBSD системийг аюулгүй болгоход туслах олон хэрэгслүүдийг тайлбарладаг.

Бүлэг 16 Jails буюу Шоронгууд

Шоронгийн тогтолцоо болон FreeBSD-ийн уламжлалт chroot дэмжлэг дээр нэмэгдсэн шоронгийн сайжруулалтуудыг тайлбарладаг.

Бүлэг 17 Mandatory Access Control буюу Албадмал Хандалтын хяналт

Mandatory Access Control (MAC) буюу Албадмал Хандалтын хяналт гэж юу болохыг тайлбарладаг бөгөөд FreeBSD системийг аюулгүй болгоход энэ арга замыг хэрхэн ашиглах талаар хэлэлцдэг.

Бүлэг 18 Аюулгүй байдлын үйл явцад аудит хийх нь

FreeBSD-ийн үйл явцын аудит гэж юу болох, түүнийг хэрхэн суулгах, тохируулах болон аудит мөрнүүд хэрхэн шалгагдаж эсвэл монитор хийгддэг талаар тайлбарладаг.

Бүлэг 19 Хадгалалт

Хадгалалтын зөөвөрлөгч болон файлын системүүдийг FreeBSD-ээр хэрхэн удирдахыг тайлбарладаг. Үүнд физик дискнүүд, RAID массивууд, оптик болон соронзон хальсан зөөвөрлөгч, санах ой дээр тулгуурласан дискнүүд болон сүлжээний файлын системүүд ордог.

Бүлэг 20 GEOM

FreeBSD дээрх GEOM тогтолцоо гэж юу болох, төрөл бүрийн дэмжигдсэн RAID түвшнүүдийг хэрхэн тохируулах талаар тайлбарладаг.

Бүлэг 21 Файлын системийн дэмлэг

Sun-ий Z файлын систем зэрэг FreeBSD дээрх төрөлхийн биш файлын системүүдийн дэмжлэгийн талаар тайлбарладаг.

Бүлэг 22 Vinum

Төхөөрөмжөөс хамааралгүй логик дискнүүд болон програм хангамжийн RAID-0, RAID-1 болон RAID-5 зэргийн боломжийг олгодог логик эзлэхүүн менежер Vinum-ийг хэрхэн ашиглах талаар тайлбарладаг.

Бүлэг 23 Виртуалчлал

Виртуалчлалын системүүд юу санал болгодог болон тэдгээрийг FreeBSD-тэй хэрхэн ашиглаж болохыг тайлбарладаг.

Бүлэг 24 Локалчлал

Англи хэлнээс бусад хэлнүүд дээр FreeBSD-г хэрхэн ашиглах талаар тайлбарладаг. Систем болон програмын түвшингийн локалчлалыг дурддаг.

Бүлэг 25 FreeBSD-г шинэчилж сайжруулах нь

FreeBSD-STABLE, FreeBSD-CURRENT болон FreeBSD-ийн хувилбаруудын ялгаануудыг тайлбарладаг. Хөгжүүлэлтийн системийг дагахад ямар хэрэглэгчдэд ашигтайг тайлбарлаж тэр процессийг дурддаг. Хэрэглэгчид өөрсдийн системийг аюулгүй байдлын хамгийн сүүлийн үеийн хувилбар руу шинэчлэх аргуудыг тайлбарладаг.

Бүлэг 26 DTrace

FreeBSD дээр Sun-ий DTrace хэрэгслийг хэрхэн тохируулж хэрэглэх талаар тайлбарладаг. Динамикаар дагаж мөрдөх нь ажиллаж байх явцад системийн шинжилгээ хийж гүйцэтгэн үйл ажиллагааны асуудлуудыг олоход тусалж чадна.

Бүлэг 27 Цуваа холбоонууд

Терминалууд болон модемуудыг өөрийн FreeBSD системд гадагш залгах болон дуудлага хүлээн авах холболтуудад зориулж хэрхэн холбох талаар тайлбарладаг.

Бүлэг 28 PPP ба SLIP

FreeBSD дээр PPP, SLIP, эсвэл Ethernet дээгүүрх PPP-г хэрхэн ашиглаж алсын системд холбогдохыг тайлбарладаг.

Бүлэг 29 Цахим шуудан

Цахим захидлын серверийн бүрэлдэхүүн хэсгүүдийг тайлбарлаж хамгийн түгээмэл захидлын програм хангамж болох sendmail-д зориулсан хялбар тохиргооны сэдвүүдийн талаар өгүүлдэг.

Бүлэг 30 Сүлжээний серверүүд

Таны FreeBSD машиныг сүлжээний файлын систем сервер, домэйн нэрний сервер, сүлжээний мэдээллийн систем сервер эсвэл цаг тааруулах сервер болгон хэрхэн тохируулах тухай дэлгэрэнгүй зааврууд болон жишээ тохиргооны файлуудыг дурддаг.

Бүлэг 31 Галт хананууд

Програм хангамж дээр суурилсан галт ханануудын цаадах философийг тайлбарлаж FreeBSD-д зориулсан төрөл бүрийн галт ханануудын тохиргооны тухай дэлгэрэнгүй мэдээллийг өгүүлдэг.

Бүлэг 32 Сүлжээний нэмэлт ойлголтууд

Өөрийн LAN доторх бусад компьютеруудтай Интернэтийн холболтоо хуваалцах, чиглүүлэлтийн дэвшилтэт сэдвүүд, утасгүй сүлжээ, Bluetooth, ATM, IPv6 зэрэг зүйлсийг оролцуулаад сүлжээний олон сэдвүүдийг тайлбарладаг.

Хавсралт A FreeBSD-г олж авах нь

FreeBSD зөөвөрлөгчийг CDROM эсвэл DVD дээр олж авахад зориулагдсан төрөл бүрийн эхүүд болон FreeBSD-г татан авч суулгах боломжийг танд олгох Интернэт дэх олон сайтуудыг дурддаг.

Хавсралт B Ном зүй

Энэ ном нь маш олон төрөл бүрийн сэдвүүдийг хөнддөг бөгөөд таныг магадгүй илүү дэлгэрэнгүй мэдээлэл авах хүсэлд хөтлөж болох юм. Ном зүй нь энэ номонд ашигласан олон гайхалтай номнуудыг дурдсан байдаг.

Хавсралт C Интернэт дэх эх үүсвэрүүд

FreeBSD-ийн хэрэглэгчдэд зориулсан, асуултууд илгээж FreeBSD-ийн талаар техникийн хэлэлцүүлгүүд өрнүүлж болох олон хэлэлцүүлгүүд байдаг талаар тайлбарладаг.

Хавсралт D PGP түлхүүрүүд

FreeBSD-ийн хэд хэдэн хөгжүүлэгчдийн PGP түлхүүрүүдийг жагсаадаг.

Энэ номонд ашиглагдсан бичиглэлийн хэлбэрүүд

Текстийг уншихад хялбар, дэс дараалалтай болгохын тулд энэ номонд хэд хэдэн бичиглэлийн хэлбэрүүдийг ашигласан.

Хэвлэлийн хэлбэрүүд

Italic

italic фонт нь файлын нэрс, URL-ууд, онцолсон текст болон техникийн ухагдахуунуудын эхний хэрэглээнд italic үсгийн маяг ашиглагдсан.

Monospace

monospace хийгдсэн үсгийн маяг нь алдааны мэдэгдлүүд, тушаалууд, орчны хувьсагчууд, портуудын нэрс, хостын нэрс, хэрэглэгчдийн нэрс, бүлгийн нэрс, төхөөрөмжийн нэрс, хувьсагчууд болон кодын хэсгүүдэд ашиглагдсан.

Bold

bold үсгийн маяг нь програмууд, тушаалууд болон товчлууруудад ашиглагдсан.

Хэрэглэгчийн Оролт

Товчлуурууд нь бусад текстээс ялгарахын тулд bold хэлбэрээр харуулагдсан. Товчлууруудын хослолууд нь зэрэг бичигдэх ёстой бөгөөд товчлууруудын хооронд `+' тавигдан үзүүлэгдсэн, жишээ нь:

Ctrl+Alt+Del

Энэ нь хэрэглэгч Ctrl, Alt, болон Del товчлууруудыг зэрэг дарах ёстой гэсэн үг юм.

Дараалан бичих ёстой товчлууруудыг таслалаар тусгаарладаг, жишээ нь:

Ctrl+X, Ctrl+S

Энэ нь хэрэглэгч Ctrl болон X товчлууруудыг зэрэг дараад дараа нь Ctrl болон S товчлууруудыг зэрэг дарна гэсэн үг юм.

Жишээнүүд

E:\> гэж эхэлсэн жишээнүүд нь MS-DOS® тушаалыг илэрхийлнэ. Тэмдэглэж хэлээгүй л бол эдгээр тушаалуудыг орчин үеийн Microsoft Windows орчны “Тушаал хүлээх мөр” цонхноос ажиллуулж болох юм.

E:\> tools\fdimage floppies\kern.flp A:

# гэж эхэлсэн жишээнүүд нь FreeBSD дээр супер хэрэглэгчээр ажиллуулах ёстой тушаалыг илэрхийлнэ. Тушаал бичихийн тулд та root эрхээр нэвтрэх юм уу эсвэл өөрийн ердийн эрхээр нэвтрээд супер хэрэглэгчийн зөвшөөрлүүдийг авахын тулд su(1)-г ашиглаж болох юм.

# dd if=kern.flp of=/dev/fd0

% гэж эхэлсэн жишээнүүд нь ердийн хэрэглэгчийн бүртгэлээс ажиллуулах ёстой тушаалыг илэрхийлнэ. Тэмдэглэж хэлээгүй л бол орчны хувьсагчууд болон бусад бүрхүүлийн тушаалуудыг тохируулахад C бүрхүүлийн синтакс ашиглагддаг.

% top

Талархал

Таны барьж байгаа ном нь дэлхий даяарх олон зуун хүмүүсийн хүч хөдөлмөр юм. Бичгийн алдаануудын засварууд илгээсэн ч бай эсвэл бүхэл бүтэн бүлгүүдийг ирүүлсэн ч бай гэсэн эдгээр бүх оруулсан хувь нэмрүүд нь их ач холбогдолтой байсан юм.

Зохиогчдыг бүтэн ажлын өдрийн турш ажиллахыг дэмжин цалинжуулж, хэвлэлтийн төлбөрийг төлөх гэх зэргээр хэд хэдэн компаниуд энэ баримтын хөгжүүлэлтийг дэмжсэн билээ. Ялангуяа BSDi-ийн (дараахан нь Wind River Systems худалдан авсан) цалинжуулсан FreeBSD баримтжуулах төслийн гишүүд энэ номыг сайжруулж бүтэн ажлын өдрийн турш ажилласан нь 2000 оны 3 сард эхний хэвлэгдсэн хувилбар гаргахад хүргэсэн юм (ISBN 1-57176-241-8). Wind River Systems дараа нь хэвлэгдсэн гаралтын дэд бүтцэд хэд хэдэн сайжруулалтуудыг хийлгэж текстэд нэмэлт бүлгүүдийг нэмүүлэхийн тулд хэд хэдэн зохиогчийг цалинжуулсан билээ. 2001 оны 11 сард хэвлэгдсэн хоёр дахь хэвлэлд энэ ажил оржээ (ISBN 1-57176-303-1). 2003-2004 онуудад FreeBSD Mall, Inc гурав дахь удаагийн хэвлэлийг бэлтгэхэд зориулан Гарын авлагыг сайжруулахын тулд хэд хэдэн хувь нэмэр оруулагчдыг цалинжуулсан юм.

I. Эхлэл

FreeBSD гарын авлагын энэ хэсэг нь FreeBSD-тэй шинээр танилцаж байгаа администратор болон хэрэглэгчдэд зориулагдсан. Энд гарах бүлгүүд нь:

  • FreeBSD-н танилцуулга.

  • FreeBSD-г суулгах үйл явц.

  • UNIX-ийн үндсийн ойлголт.

  • FreeBSD-тэй хамт ирдэг гуравдагч-этгээдийн програмыг хэрхэн суулгах болон

  • UNIX цонхот систем X-ийг танд танилцуулж, илүү үр бүтээлтэй ажиллахын тулд ажлын ширээний орчноо хэрхэн тохируулах талаар тайлбарлана.

Бид Гарын авлагынхаа энэ хэсгийг аль болох цөөхөн хуудас дамжихаар бодолцсон бөгөөд ингэснээр танд энэ гарын авлагыг эхнээс нь дуустал хуудаснаас хуудас уруу үсрэлгүйгээр уншиж дуусгахад зориулсан билээ.


Бүлэг 1. Танилцуулга

Дахин бүтцийг өөрчилж зохион байгуулсан, зарим хэсгийг дахин бичсэн Жим Мок. Орчуулсан Цагаанхүүгийн Ганболд.

1.1. Ерөнхий агуулга

FreeBSD-г сонирхсон танд баярлалаа! Дараах бүлэг FreeBSD төслийн түүх, зорилго, хөгжүүлэх загвар зэрэг бусад төрөл бүрийн ойлголтуудыг хамарна.

Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:

  • FreeBSD бусад компьютерийн үйлдлийн системүүдтэй ямар хамааралтай талаар.

  • FreeBSD төслийн түүх.

  • FreeBSD төслийн зорилгууд.

  • FreeBSD-ийн нээлттэй-эх хөгжүүлэх загварын үндсүүд.

  • Мөн мэдээж “FreeBSD” нэр хаанаас гарсан талаар.


1.2. FreeBSD-д тавтай морилно уу!

FreeBSD нь Интел (x86 болон Itanium®), AMD64, Sun UltraSPARC® компьютеруудад зориулагдсан 4.4BSD-Lite дээр үндэслэсэн үйлдлийн систем юм. Мөн өөр бусад архитектур уруу порт хийгдэж байгаа болно. Та мөн FreeBSD-ийн түүх эсвэл одоогийн хувилбарыг унших боломжтой. Хэрэв та энэ төсөлд (код, тоног төхөөрөмж, сан) хувь нэмэр оруулахыг сонирхож байгаа бол FreeBSD-д хувь нэмэр оруулах нь нийтлэлийг уншина уу.


1.2.1. FreeBSD юу хийж чадах вэ?

FreeBSD олон тооны дурдахад буруудахгүй боломжуудтай. Эдгээрийн зарим нь:

  • Компьютерийг их ачаалалтай байсан ч програмууд болон хэрэглэгчдийн хооронд бартаагүй, ижил хуваалцах нөхцлийг бүрдүүлэх, динамик дараалал тохируулалттай, илүү өндөр давуу эрх бүхий бодлогоор солигдох боломж бүхий олон бодлогочлол.

  • Олон-хэрэглэгчийн боломжууд нь олон хүмүүс FreeBSD системийг төрөл бүрийн зүйлд зориулан зэрэгцэн хэрэглэх боломжийг зөвшөөрдөг. Энэ нь, жишээ нь, хэвлэгчүүд болон соронзон хальсны хөтлөгчүүд зэрэг системийн захын төхөөрөмжүүд нь систем эсвэл сүлжээн дэх бүх хэрэглэгчдийн дунд зөвөөр хуваалцах ба эх үүсвэр бүр дэх хязгаарууд нь маш чухал системийн эх үүсвэрүүдийг илүү ашиглахаас хамгаалж хэрэглэгчдэд болон бүлэг хэрэглэгчдэд тавигдаж болно гэсэн үг юм.

  • SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec, болон IPv6 зэрэг үйлдвэрлэлийн стандартуудын дэмжлэгтэй, хүчирхэг TCP/IP сүлжээ. Энэ нь таны FreeBSD машин бусад үйлдлийн системүүдтэй хялбар харилцан ажиллаж чадахаас гадна мөн NFS (файлд алсаас хандах) цахим захидлын үйлчилгээнүүд зэрэг чухал боломжуудыг хангадаг эсвэл Интернэтэд WWW, FTP, чиглүүлэх эсвэл галт ханын (аюулгүй байдал) үйлчилгээнүүдийн хамт та өөрийнхөө байгууллагыг байрлуулах Enterprise сервер шиг ажиллаж чадна гэсэн үг юм.

  • Санах ойн хамгаалалт нь програмууд (эсвэл хэрэглэгчид) өөр хоорондоо нөлөөлөхгүй нөхцлийг хангадаг. Нэг програм сүйрэхэд бусдад аль ч замаар нөлөөлөхгүй.

  • FreeBSD нь 32-бит үйлдлийн систем (Itanium, AMD64, болон UltraSPARC дээр 64-бит) бөгөөд бүр анхнаасаа эхлэн дизайн хийгдсэн юм.

  • Үйлдвэрлэлийн стандарт болох X Цонхны Систем (X11R7) нь ердийн VGA карт ба дэлгэцийн үнэнд хэрэглэгчийн график интерфэйсийг (GUI) хангадаг бөгөөд бүрэн эхийн хамт ирдэг.

  • Линукс, SCO, SVR4, BSDI ба NetBSD-д зориулан бүтээгдсэн олон програмуудтай хоёртын нийлэмж.

  • Олон мянган ажиллахад бэлэн програмууд FreeBSD-ийн портууд болон багцуудын цуглуулганд байдаг. Эндээс бүгдийг олж болж байхад яагаад сүлжээнээс хайх хэрэгтэй гэж?

  • Олон мянган нэмэлт болон амархан порт хийх боломжтой програмууд Интернэтэд байдаг. FreeBSD нь эх кодын хувьд ихэнх олны мэддэг арилжааны UNIX системүүдтэй нийцтэй бөгөөд ихэнх програмуудыг хөрвүүлэхэд хэрэв байгаа бол цөөн өөрчлөлтүүдийг шаарддаг.

  • Шаардлагаар хуудасладаг (demand paged) виртуал санах ой ба “нийлүүлсэн VM/түр хадгалагч” дизайн нь санах ойн хувьд их хэрэглэдэг програмуудын хүслийг үр ашигтайгаар хангадаг бөгөөд ингэхдээ бусад хэрэглэгчдэд харилцан хариу өгөх боломжийг олгосоор байдаг.

  • Олон CPU-тай машинуудад зориулсан SMP дэмжлэг.

  • C ба C++ хөгжүүлэх багажуудын бүрэн бүрэлдэхүүн. Нарийн судалгаа болон хөгжүүлэлтэд зориулсан олон нэмэлт хэлнүүд бас портууд болон багцуудын цуглуулганд байдаг.

  • Бүх системд зориулсан эх код гэдэг нь та орчноо хамгийн ихээр хянана гэсэн үг юм. Та жинхэнэ нээлттэй системтэй мөртлөө яагаад үйлдвэрлэгчийн буянд хаалттай шийдэлд цоожтой байх ёстой гэж?

  • Дэлгэрэнгүй онлайн баримтжуулалт.

  • гэх мэт өөр илүү олныг дурдаж болно!

FreeBSD нь Беркли дэх Калифорнийн Их Сургуулийн Компьютерийн Системийн Судалгааны Бүлгээс (CSRG) гаргасан 4.4BSD-Lite хувилбар дээр үндэслэсэн бөгөөд BSD системийн хөгжүүлэлтийн бусдаас ялгаатай уламжлалыг үргэлжлүүлсээр байна. CSRG-ээс гаргасан сайхан ажлаас гадна FreeBSD Төсөл нь жинхэнэ амьдрал дээрх ачааллын үеийн найдвартай болон хамгийн сайн ажиллагааг хангах системийг нарийн тохируулахад олон мянган цагийг зориулжээ. Улам олон арилжааны аваргууд ийм боломжууд, ажиллагаа болон найдвартай байдал бүхий PC үйлдлийн системийг гаргах гэж тэмцэж байхад FreeBSD тэдгээрийг одоо санал болгож чадна!

FreeBSD-г ямар хэрэглээнд ашиглах нь зөвхөн таны төсөөллийн хүрээнд байна. Програм хангамжийн хөгжүүлэлтээс эхлээд үйлдвэрлэлийн автоматжуулалт, төлвийн хяналтаас авахуулаад алсын хиймэл дагуулын антеннуудын азимут засварлалт; хэрэв үүнийг арилжааны UNIX бүтээгдэхүүнээр хийж чадах бол мэдээж та үүнийг FreeBSD-ээр ч бас хийж чадна! Мөн FreeBSD дэлхий даяар судалгааны төвүүд болон их сургуулиудад хөгжүүлсэн ихэнхдээ бага эсвэл үнэгүй байдаг олон мянган өндөр чанарын програмуудаас мэдэгдэхүйц үр ашгийг авдаг. Арилжааны програмууд бас байдаг бөгөөд өдөр ирэх тусам их хэмжээгээр нэмэгдэж байна.

FreeBSD-ийн өөрийн эх код ерөнхийдөө байгаа болохоор тусгай програмууд эсвэл төслүүдэд зориулж системийг бараг сонсоогүй хэмжээнд өөрчлөх боломжтой бөгөөд ерөнхийдөө бусад ихэнх том том арилжааны үйлдвэрлэгчдийн үйлдлийн системүүдэд үүнийг хийх боломжгүй байдаг. Энд FreeBSD-г ашиглаж байгаа хүмүүсийн хэрэглээний зарим нэг байна:

  • Интернэтийн Үйлчилгээнүүд: FreeBSD дэх хүчирхэг TCP/IP сүлжээ нь төрөл бүрийн Интернэтийн үйлчилгээнүүдэд хамгийн тохирсон тавцан болгодог:

    • FTP серверүүд

    • Дэлхий Даяарх Вэб серверүүд (стандарт эсвэл нууцлаг [SSL])

    • IPv4 болон IPv6 чиглүүлэлт

    • Галт хананууд болон NAT (“IP маскарад хийх”) гарцууд

    • Цахим Захидлын серверүүд

    • USENET Мэдээнүүд эсвэл Зарлалын Самбарын Системүүд

    • гэх мэт өөр илүү олныг дурдаж болно...

    Та FreeBSD-тэй байхад хямд 386 ангиллын PC-тэй жижгээс хялбархнаар эхлээд таны Enterprise өсөхийн хэрээр RAID хадгалалт бүхий 4 процессортой Xeon хүртэл шинэчилж болно.

  • Боловсрол: Та компьютерийн шинжлэх ухаан эсвэл түүнтэй холбоотой инженерчлэлийн салбарын оюунтан уу? Үйлдлийн систем, компьютерийн архитектур болон сүлжээний талаар сурахад FreeBSD-ийн далд хангаж өгдөг боломж шиг илүү сайн арга байхгүй. Чөлөөтэй байдаг хэд хэдэн CAD, математикийн болон графикийн дизайн хийх багцууд нь өөр бусад ажлуудыг хийхийн тулд компьютерийг ашигладаг хүмүүст FreeBSD-г илүү их ашигтай болгодог!

  • Судалгаа: Бүхэл системийн хувьд эх кодтой FreeBSD нь үйлдлийн системүүд болон компьютерийн шижлэх ухааны бусад салбаруудын хувьд судалгааны маш сайн тавцан болдог. FreeBSD-ийн чөлөөтэй байдаг чанар нь алсад байгаа бүлгүүд тусгай лицензийн гэрээ эсвэл нээлттэй форум дээр хэлэлцэж болох хязгааруудад санаа зоволгүйгээр шинэ санаанууд болон хуваалцсан хөгжүүлэлт дээр хамтран ажиллах боломжийг бүрдүүлдэг.

  • Сүлжээ: Шинэ чиглүүлэгч? Нэрийн сервер (DNS)? Хүмүүсийг дотоод сүлжээнээс гадуур байлгах галт хана хэрэгтэй байна уу? FreeBSD нь ашиглаагүй, буланд хэвтэж байгаа 386 эсвэл 486 PC-г пакет шүүлт хийх сайжруулсан боломжуудтай өргөтгөсөн чиглүүлэгч болгон хялбархан хувиргаж чадна.

  • X Цонхны ажлын станц: FreeBSD нь чөлөөтэй байдаг X11 серверийг ашиглан хямд X терминалын шийдэлд зориулсан сайн сонголт болдог. X терминалаас ялгаатай нь хэрэв хүсвэл олон програмуудыг FreeBSD ажиллуулахыг зөвшөөрдөг бөгөөд ингэснээр төв серверийн ачааллыг хөнгөвчилдөг. FreeBSD нь “дискгүй” ачаалж чадсанаар ажлын станцуудыг хямд, амархан удирдах боломжтой болгодог.

  • Програм Хангамжийн Хөгжүүлэлт: Үндсэн FreeBSD систем нь нийтэд алдаршсан GNU C/C++ хөрвүүлэгч болон алдаа ологч зэрэг програмчлалын үндсэн хэрэгслүүдтэй ирдэг.

FreeBSD нь CD-ROM, DVD, болон нэргүй FTP дээр эх болон хоёртын хэлбэрээр байдаг. FreeBSD-г олж авах талаар дэлгэрэнгүй мэдээллийг Хавсралт A хаягаас үзнэ үү.


1.2.2. FreeBSD-г хэн ашигладаг вэ?

FreeBSD нь дэлхийн IT-ийн ихэнх томоохон компаниудын гаргадаг төхөөрөмжүүд болон бүтээгдэхүүнүүдэд тавцан болон ашиглагддаг:

FreeBSD нь бас интернэт дэх зарим нэг хамгийн томоохон вэб хуудсуудыг ажиллуулдаг:

гэх мэт өөр илүү олон вэб хуудсуудыг дурдаж болно.


1.3. FreeBSD Төслийн тухай

Дараах хэсэг төслийн товч түүх, төслийн зорилгууд,болон төслийн хөгжүүлэлтийн загвар зэрэг төслийн тухай зарим нэг мэдээллийг өгнө.


1.3.1. FreeBSD-ийн товч түүх

Хувь нэмэр болгон оруулсан Жордан Хаббард.

FreeBSD төслийн үүсэл 1993 оны эхэн хэсэгт үүдэлтэй бөгөөд залруулах багцын сүүлийн 3 зохицуулагчид болох Нэйт Вилльямс, Род Граймс болон миний биеийн хамтран гаргасан “Албан ёсны бус 386BSD Залруулах багц”аас хэсэгчилэн хөгжсөн юм.

Бидний анхны зорилго хэд хэдэн асуудлуудыг шийдэхийн тулд 386BSD-ийн дундын хормын хувилбарыг гаргаж авах явдал байсан бөгөөд залруулах багцын механизм үүнийг шийдэж чаддаггүй байлаа. Та нарын зарим нэг нь төслийн ажлын анхны нэр тэр явдалтай холбоотой “386BSD 0.5” эсвэл “386BSD Дундын” гэж байсныг санаж магадгүй юм.

386BSD нь бараг жил орчмын үл ойшоолтоос болж ихээхэн зовж байсан тэр үед хүрсэн Билл Жолицийн үйлдлийн систем байсан юм. Залруулалтын багц нь өдөр өнгөрөх бүр улам эвгүйгээр томорч байсан бөгөөд бид ямар нэг юм хийх ёстойг 100 хувь зөвшөөрч Биллд туслахаар шийдэж энэхүү дундын “цэвэрлэсэн” хормын хувилбарыг гаргасан юм. Тэдгээр төлөвлөгөөнүүд нь Билл Жолицийг юу хийгдэж болохыг тодорхой харуулахын оронд ямар ч зүйлгүйгээр төслийн өөрийн санкцаас гэнэт татгалзах шийдвэрт хүргэж бүдүүлэг зогсоолтод хүргэсэн юм.

Биллийн дэмжлэггүй ч гэсэн зорилго маань харамсахааргүй хэвээрээ үлдэхийг бид нэг их удалгүй шийдсэн бөгөөд Дэйвид Грийнмэний бодож олсноор “FreeBSD” нэрийг авсан юм. Бидний эхний зорилгууд системийн одоогийн хэрэглэгчидтэй зөвлөлдсөний дараа тодорхойлогдсон бөгөөд төсөл эхэлсэн нь тодорхой болсны дараа бүр магадгүй амьдрал дээр биеллээ олохын тулд би Интернэт уруу хялбар хандах боломжгүй олон золгүйчүүдэд зориулж FreeBSD-ийн түгээлтийн сувгуудыг сайжруулах зорилготойгоор Волнат Крийк CDROM-той холбоо тогтоосон юм. Волнат Крийк CDROM нь FreeBSD-г CD дээр түгээх санааг дэмжээд зогсоогүй ажиллах машин бас хурдан Интернэтийн холболтыг төсөлд зориулан хангасан юм. Волнат Крийк CDROM-ийн тэр үед тэр чигээрээ үл мэдэгдэх төсөлд бараг л урьдчилан тооцох аргагүй өгсөн итгэлгүйгээр FreeBSD одоогийн хүрсэн шиг ийм хол түвшинд, ийм хурдан хүрэхгүй байсан биз ээ.

Анхны CD-ROM (ерөнхийдөө сүлжээнд өргөнөөр) түгээлт 1993 оны 12 сард гаргасан FreeBSD 1.0 байлаа. Энэ нь Берклигийн К.И.С-ийн 4.3BSD-Lite (“Net/2”) соронзон хальс дээр тулгуурласан, бас 386BSD болон Чөлөөт Програм Хангамжийн Сангаас хангасан олон хэсгүүдээс тогтсон байсан билээ.Энэ бол эхний удаад нэлээн боломжийн амжилт байсан бөгөөд дараа нь бид маш өндөр амжилт олсон FreeBSD 1.1 хувилбарыг 1994 оны 5 сард гаргасан юм.

Энэ үед урт удаан үргэлжилсэн Берклигийн 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-ийн хэсгээс өөрийгээ дахин бүтээх хүнд бэрх бодлогыг тогтоосон юм. “Lite” хувилбарууд нь зарим талаараа хөнгөн байсан, учир нь ачаалагдаж ажиллах системийг бүтээхэд шаардлагатай кодын ихээхэн хэсгийг Берклигийн CSRG арилгасан (төрөл бүрийн хууль эрх зүйн шаардлагаар) бөгөөд 4.4-ийн Интелийн хэсэг бас нэлээн бүрэн биш байлаа. Энэ шилжилтийг хийсээр төсөл 1994 оны 11 сар хүргэсэн бөгөөд тэр үед сүлжээ болон CD-ROM (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 гарсан юм. Хамгийн сүүлийн 5.5-RELEASE 2006 оны 5 сард гарсан. RELENG_5 салбараас дахиж нэмэлт хувилбарууд гарахгүй.

2005 оны 7 сард энэ удаа RELENG_6-д зориулж мод дахин салбарлажээ. 6.X салбарын анхны хувилбар болох 6.0-RELEASE 2005 оны 11 сард гарчээ. Хамгийн сүүлийн 6.4-RELEASE 2008 оны 11 сард гарсан. Энэ салбар нь Alpha-г дэмжих хамгийн сүүлийн салбар юм.

RELENG_7 салбар 2007 оны 10 сард үүссэн. Энэ салбарын эхний хувилбар 7.0-RELEASE байсан бөгөөд 2008 оны 2 сард гарчээ. Хамгийн сүүлийн 7.4-RELEASE 2011 оны 2 сард гарсан. RELENG_7 салбараас дахиж нэмэлт хувилбарууд гарахгүй.

2009 оны 8 сард энэ удаа RELENG_8-д зориулж мод дахин салбарлажээ. 8.X салбарын анхны хувилбар 8.0-RELEASE 2009 оны 11 сард гарсан. Хамгийн сүүлийн 8.3-RELEASE April 2012 гарсан. RELENG_8 салбарын нэмэлт хувилбарууд гарах болно.

2011 оны 9 сард RELENG_9 салбар үүссэн. Энэ салбарын эхний хувилбар 9.0-RELEASE байсан бөгөөд January 2012 гарсан. RELENG_9 салбарын нэмэлт хувилбарууд гарах болно.

Одоогоор урт хугацааны хөгжүүлэлтийн төслүүд 10.X-CURRENT (транк) салбарт үргэлжлэх бөгөөд ажил урагшлах бүр CD-ROM дээрх (мэдээж сүлжээнд бас) 10.X-ийн SNAPshot хувилбарууд Хормын агшны сервэрээс үргэлжлэн гарсаар байх болно.


1.3.2. FreeBSD Төслийн Зорилгууд

Хувь нэмэр болгон оруулсан Жордан Хаббард.

FreeBSD Төслийн зорилгууд нь ямар нэг хязгаарлалтгүйгээр дурын зорилгоор ашиглаж болох програм хангамжийг хангах явдал юм. Бидний олонхи нь кодонд (болон төсөлд) чухал хөрөнгө оруулалт хийцгээсэн бөгөөд одоо болон ирээдүйд багахан санхүүгийн нөхөн олговроос мэдээж татгалзахгүй, гэхдээ бид мэдээж үүнийг шаардахаар бэлтгэгдээгүй юм. Бидний анхны бөгөөд нэн тэргүүний “даалгавар” бол ирсэн дурын болон бүгдэд аль ч зорилгоор ашиглагдаж болох кодоор хангах бөгөөд код нь аль болох өргөн хэрэглэгдэж, аль болох өргөн үр ашгийг өгөх явдал юм. Энэ нь Чөлөөт Програм Хангамжийн хамгийн үндсэн зорилгуудын нэг бөгөөд бид үүнийг санаачлагатайгаар дэмжих ёстой гэдэгт би итгэж байна.

Бидний эх модонд байгаа GNU General Public License (GPL) эсвэл Library General Public License (LGPL) хүрээнд байдаг код нь арай илүү хязгаарлалттай бөгөөд ядаж л эсрэгээрээ байх биш харин ч хүчилсэн хандлагын талд байдаг. GPL програм хангамжийг арилжааны зорилгоор ашиглахад гарах нэмэлт төвөгтэй асуудлуудаас болоод бид ингэж хийхэд боломжийн сонголт байгаа нөхцөлд арай зөөлөн BSD Зохиогчийн Эрхийн доор програм хангамжийг ирүүлэхийг илүүд үздэг.


1.3.3. FreeBSD Хөгжүүлэх Загвар

Хувь нэмэр болгон оруулсан Сатоши Асами.

FreeBSD-ийн хөгжүүлэлт нь бидний хувь нэмэр оруулагчдын жагсаалтаас харахад дэлхий даяар хэдэн зуун хүмүүсийн оруулсан хувь нэмэр дээр бүтээгдсэн, их нээлттэй, уян хатан процесс юм. FreeBSD-ийн хөгжүүлэлтийн дэд бүтэц нь эдгээр хэдэн зуун хөгжүүлэгчдийг Интернэтээр хамтран ажиллах боломжийг нээж өгдөг. Бид шинэ хөгжүүлэгчид, болон санаануудыг тогтмол хайж байдаг бөгөөд төсөлтэй илүү ойртохыг сонирхсон хэн ч гэсэн FreeBSD техникийн хэлэлцүүлгүүдийн захидлын жагсаалт хаягаар бидэнд хандаарай. Мөн бусад FreeBSD хэрэглэгчдэд гол гол ажлуудын талаар мэдээлэх FreeBSD зарлалын захидлын жагсаалт бас байгаа болно.

Чөлөөтэй болон нягт хамтын ажиллагаан доор ажилладгаас үл хамааран FreeBSD төсөл болон түүний хөгжүүлэлтийн процессийн талаар ашигтай зүйлсийн талаар мэдэхийг хүсвэл:

SVN ба CVS репозитор

FreeBSD-ийн гол эх мод нь FreeBSD-тэй цуг багцалсан чөлөөтэй байдаг эх кодыг хянах багаж болох CVS-ээр (Зэрэгцээ Хувилбаруудын Систем) хэдэн жилийн турш тэтгэгдэж байсан. 2008 оны 6 сард Төсөл SVN (Subversion) рүү шилжин хэрэглэхээр болсон. Эх модны хурдацтай өсөлт болон хадгалаастай байсан түүхийн хуудаснуудын хэмжээнээс болоод CVS-ийн техникийн хязгаарлалтууд илэрхий болж энэ шилжилтийг зайлшгүй хэрэгцээтэй гэж үзсэн юм. Одоо үндсэн репозитор SVN-г ашигладаг бөгөөд хуучин CVS дэд бүтцээс хамаардаг csup зэрэг хэрэглэгчийн талын хэрэгслүүд хэвийн ажилласан хэвээр байгаа болно. Энэ зорилгоор SVN репозитор дахь өөрчлөлтүүд нь CVS рүү эргээд хөрвүүлэгддэг. Одоогоор зөвхөн төв эх мод SVN-ээр хянагддаг. Бичиг баримт, Дэлхий Даяарх Вэб болон портын репозиторууд CVS-ийг ашигласан хэвээр байгаа болно.Үндсэн репозитор АНУ-ийн Калифорнийн Санта Клара дахь машин дээр байрладаг бөгөөд тэндээс дэлхий даяар байрласан хэд хэдэн толин тусгалын машинууд уруу хувилагддаг. -CURRENT болон -STABLE модуудыг агуулсан SVN мод таны өөрийн машин дээр ч гэсэн амархан хувилагдах боломжтой. Үүнийг хэрхэн хийх талаар дэлгэрэнгүй мэдээллийг Өөрийн эх модоо хамгийн сүүлийн түвшинд аваачих хэсэг уруу хандаж үзээрэй.

Итгэмжлэн оруулагчдын жагсаалт

Итгэмжлэн оруулагчид нь CVS мод уруу бичих эрхтэй бөгөөд FreeBSD-ийн эхэд өөрчлөлтүүд хийх зөвшөөрөлтэй хүмүүс юм (“итгэмжлэн оруулагч” гэсэн ойлголт нь CVS репозитор уруу шинэ өөрчлөлтүүдийг хийдэг cvs(1)-ийн commit тушаалаас гаралтай). Итгэмжлэн оруулагчдад илгээсэн зүйлээ хянуулахаар өгөх хамгийн шилдэг арга нь send-pr(1) тушаал юм. Хэрэв ямар нэг зүйл систем дээр гацвал FreeBSD итгэмжлэн оруулагчдын захидлын жагсаалт уруу та цахим захидал бас илгээн холбогдож болно.

FreeBSD-ийн гол баг

FreeBSD-г компани гэж бодох юм бол FreeBSD-ийн гол баг нь захирлуудын зөвлөлтэй ижил утгатай юм. Гол багийн үндсэн үүрэг нь төсөл бүхэлдээ сайн байж, түүнийг зөв чиглэлээр явуулахыг хянаж байх явдал юм. Өөрийгөө бүрэн дайчилсан, хариуцлагатай хөгжүүлэгчдийг итгэмжлэн оруулагчдын бүлэгт урих нь гол багийн үүргүүдийн нэг бөгөөд зарим гишүүд шилжихэд гол багийн шинэ гишүүдийг шинээр авах нь бас нэг үүрэг нь юм. Одоогийн гол баг нь нэр дэвшигч итгэмжлэн оруулагчдаас 2010 оны 7 сард сонгогдсон. Сонгууль 2 жилд нэг удаа явагддаг.

Гол багийн зарим гишүүд тусгай хариуцлагатай бөгөөд системийн ихээхэн хэсэг сурталчилсан хэмжээгээрээ ажиллаж байхыг хянаж бие сэтгэлээ зориулж байдаг. FreeBSD хөгжүүлэгчдийн жагсаалт болон тэдний аль хэсэгт хариуцлагатайг Хувь нэмэр оруулагчдын жагсаалтаас үзнэ үү.

Тэмдэглэл: Гол багийн ихэнх гишүүд FreeBSD-ийн хөгжүүлэлтэд сайн дураар оролцдог бөгөөд төслөөс санхүүгийн хувьд ашиг олдоггүй болохоор “commitment” гэдэг нь “баталгаатай дэмжлэг” гэсэн үг гэж ойлгож болохгүй юм. Дээрх “захирлуудын зөвлөл” гэсэн аналог нь тийм ч зөв биш бөгөөд эдгээр хүмүүс нь FreeBSD-ийн тусын тулд өөрсдийнхөө илүү шийдлийн эсрэг амьдралаа орхисон хүмүүс гэвэл магадгүй илүү тохирох биз ээ!

Гаднын хувь нэмэр оруулагчид

Эцэст нь, гэхдээ мэдээж хамгийн сүүлийнх биш, хамгийн том бүлэг хөгжүүлэгчид нь санал сэтгэгдэл болон алдааны засваруудыг бидэнд бараг л тогтмол илгээдэг хэрэглэгчид юм. FreeBSD-ийн илүү төвлөрсөн бус хөгжүүлэлттэй холбоотой байх үндсэн арга нь тийм зүйлсийн талаар хэлэлцдэг FreeBSD техникийн хэлэлцүүлгүүдийн захидлын жагсаалт-д бүртгүүлэх явдал юм. FreeBSD-ийн төрөл бүрийн захидлын жагсаалтын талаар дэлгэрэнгүйг Хавсралт C-ээс үзнэ үү.

FreeBSD-ийн Хувь нэмэр оруулагчдын Жагсаалт нь урт бөгөөд өсөн нэмэгдэж байгаагийн нэг, тийм болохоор яагаад өнөөдөр FreeBSD-д хувь нэмэр оруулж энэ жагсаалтад нэгдэж болохгүй гэж?

Код ирүүлэх нь төсөлд хувь нэмэр оруулах ганц арга биш юм; Хийх шаардлагатай байгаа зүйлсүүдийн бүрэн жагсаалтын талаар FreeBSD Төслийн вэб хуудсын хаягт хандаж үзнэ үү.

Дүгнэж хэлэхэд бидний хөгжүүлэлтийн загвар нь нэг нь нөгөөдөө багтсан, чөлөөтэй тойргууд маягаар зохион байгуулагдсан загвар юм. Төвлөрсөн загвар нь ирээдүйтэй хувь нэмэр оруулагчдыг цааш түлхэлгүйгээр нэг төвийн кодын суурийг хялбар хянах боломжийг олгож FreeBSD-ийн хэрэглэгчдэд эвтэй байхаар зориулагдан дизайн хийгдсэн юм. Бидний хүсэл бол хэрэглэгчид амархан суулгаж ашиглаж болдог ихээхэн хэмжээний уялдаа холбоотой хэрэглээний програмуудтай тогтвортой үйлдлийн системийг бий болгох явдал юм -- энэнд хүрэхэд энэ загвар нь маш сайн тохирон ажиллаж байна.

Төслийн амжилттай байсаар байгаад хүргэж байгаа одоогийн хүмүүсийн адил бие сэтгэлийнхээ зарим ч гэсэн хэсгийг зориулахыг FreeBSD хөгжүүлэгч болон бидэнтэй нэгдэж байгаа хүмүүсээс хүсэж байгаа бидний цорын ганц хүсэлт юм!


1.3.4. Одоогийн FreeBSD хувилбарууд

FreeBSD нь чөлөөтэй байдаг, Интел i386™, i486™, Pentium®, Pentium Pro, Celeron®, Pentium II, Pentium III, Pentium 4 (эсвэл нийцтэй), Xeon™, болон Sun UltraSPARC-д зориулагдсан бүрэн эх 4.4BSD-Lite дээр тулгуурласан хувилбар юм. Энэ нь үндсэндээ NetBSD, OpenBSD, 386BSD, болон Чөлөөт Програм Хангамжийн Сангийн зарим өргөжүүлэлт хийгдсэн Берклигийн К.И.С.-ийн CSRG бүлгээс гаргасан програм хангамжууд дээр үндэслэсэн.

1994 оны сүүлд гарсан FreeBSD 2.0 хувилбараас хойш FreeBSD-ийн хурдан ажиллагаа, боломжууд болон тогтвортой байдал мэдэгдэхүйц сайжирсан. Хамгийн том өөрчлөлт нь нийлсэн VM/файл буферийн кэш бүхий засварласан виртуал санах ойн систем бөгөөд энэ нь ажиллагааг хурдасгаад зогсохгүй FreeBSD-ийн санах ойн мөрийг багасгаж 5 MB тохиргоог илүү боломжийн хамгийн бага хэмжээнд хүргэсэн. Бусад өргөтгөлүүдийг дурдвал гүйцэд NIS клиент ба серверийн дэмжлэг, шилжилтийн TCP дэмжлэг, шаардлагаар залгах PPP, цогц DHCP дэмжлэг, сайжруулсан SCSI дэд систем, ISDN дэмжлэг, ATM-ийн дэмжлэг, FDDI, Хурдан болон Гигабит Ethernet (1000 Mbit) картууд, сүүлийн үеийн Адаптек хянагчууд болон олон мянган алдаануудын засварууд зэрэг юм.

Үндсэн түгээлтүүдээс гадна FreeBSD нь мянга мянган байнга хайгддаг програмуудтай хөрвүүлсэн програм хангамжийн цуглуулгатай байдаг. Энэ авлагыг хэвлэж байх үед 23,000 гаруй портууд байсан! Портуудын жагсаалтад http (WWW) серверүүдээс тоглоомууд, хэлнүүд, засварлагчид, зэрэг бараг л бүх төрлийн програмууд байдаг. Портуудын Цуглуулга бүхэлдээ ойролцоогоор 500 MB хэмжээний хадгалалт шаарддаг бөгөөд бүх портууд өөрсдийн жинхэнэ эхийн хувьд “дельта” болж илэрхийлэгддэг. Энэ нь бидэнд портуудыг шинэчлэхэд хялбар болгож хуучин 1.0 Портуудын Цуглуулгын шаарддаг байсан дискний зайн шаардлагыг ихээхэн багасгаж өгдөг. Портыг хөрвүүлэхийн тулд та суулгахыг хүсэж байгаа програмын сан уруу шилжиж make install хэмээн бичихэд систем цааш үлдсэнийг хийх болно. Таны бүтээх порт болгоны жинхэнэ эх бүрэн түгээлт динамикаар CD-ROM эсвэл локал FTP хаягаас татагдах бөгөөд танд зөвхөн хүссэн портоо бүтээх хангалттай дискний зай л шаардлагатай. Порт бүр урьдчилан хөрвүүлсэн “багц” хэлбэрээр бас байх бөгөөд өөрийн портыг эхээс хөрвүүлэх хүсэлгүй хүмүүс хялбар тушаалаар (pkg_add) ийм портыг суулгаж болдог. Багцууд болон портуудын талаар дэлгэрэнгүй мэдээллийг Бүлэг 5 хаягаар олж болно.

FreeBSD-н сүүлийн үеийн бүх хувилбарууд нь суулгагч (sysinstall(8) эсвэл bsdinstall(8)) ашиглан системийг эхэлж суулгахдаа нэмэлт баримтуудыг /usr/local/share/doc/freebsd санд суулгах боломжоор хангагдсан байдаг. Баримтжуулалтыг бас дараа нь Хэсэг 25.4.6.2-д тайлбарласан шигээр багц хэлбэрээр суулгаж болно. Локалаар суусан гарын авлагуудыг та HTML боломжтой хөтчүүдийг ашиглан дараах хаягаас үзэж болно:

FreeBSD Гарын авлага

/usr/local/share/doc/freebsd/handbook/index.html

FreeBSD-ийн БХА (байнга хариулагддаг асуултууд FAQ)

/usr/local/share/doc/freebsd/faq/index.html

Мөн та мастер (болон бусдаас их шинэчлэгддэг) хуулбаруудыг http://www.FreeBSD.org/ хаягаас үзэж болно.


Бүлэг 2. FreeBSD 8.x болон түүнээс өмнөх хувилбар суулгах нь

Дахин засварлаж, зарим хэсгийг нь шинээр бичсэн Жим Мок. Суулгацын ерөнхий дараалал болон зургийг бэлдсэн Рэнди Пратт. Орчуулсан Шагдарын Нацагдорж.

2.1. Ерөнхий агуулга

FreeBSD нь текст хэлбэртэй, хэрэглэхэд хялбар суулгалтын програмтай ирдэг. FreeBSD 9.0-RELEASE болон түүнээс хойшх хувилбарууд bsdinstall гэгддэг суулгалтын програм ашиглах бөгөөд 9.0-RELEASE-с өмнөх хувилбарууд sysinstall-г суулгалтад хэрэглэдэг. Энэ бүлэгт sysinstall ашиглан FreeBSD суулгах талаар тайлбарлах болно. bsdinstall-н хэрэглээ Бүлэг 3 хэсэгт гарах болно.

Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:

  • FreeBSD суулгадаг дискнүүдийг хэрхэн үүсгэх.

  • FreeBSD таны диск уруу хэрхэн ханддаг болон хуваадаг талаар.

  • sysinstall-г хэрхэн эхлүүлэх.

  • sysinstall-аас танд тавигдах асуултууд, тэд ямар учиртай болох мөн хэрхэн хариулах тухай.

Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:

  • Суулгах гэж буй FreeBSD-нхээ хувилбар, мөн түүний дэмжиж чаддаг төхөөрөмжүүдийн жагсаалтыг хянаж тэр дунд таны төхөөрөмжүүд байгаа эсэхийг магадлах.

Тэмдэглэл: Ер нь, энэ суулгах заавар нь i386 (“PC төрлийн”) архитектурт зориулж бичсэн. Шаардлагатай тохиолдолд бусад тусгай тавцангуудын хувьд зориулагдсан заавруудыг оруулах болно. Хэдийгээр энэ гарын авлагыг аль болох шинэчилж байгаа боловч та суулгагч болон энд дурдсан хоёрын хооронд бага зэргийн өөрчлөлтүүд байгааг анзаарч болох юм. Тийм болохоор энэ гарын авлагыг үгчилсэн заавар биш ерөнхий суулгах заавар болгож хэрэглэхийг танд зөвлөж байна.


2.2. Системд тавигдах төхөөрөмжийн шаардлага

2.2.1. Хамгийн бага тохиргоо

FreeBSD-г суулгахад шаардагдах хамгийн бага тохиргоо нь FreeBSD-н хувилбар болон төхөөрөмжийн төрлөөс их хамаарна.

Эдгээр мэдээллийн ерөнхий дүгнэсэн мэдээллийг энэ хэсэгт та унших болно. FreeBSD-г суулгах аргаасаа хамаараад танд уян диск юм уу эсвэл CDROM төхөөрөмж, зарим тохиолдолд сүлжээний адаптер хэрэг болох болно. Энэ тухай Хэсэг 2.3.7 хэсэгт дурьдсан буй.


2.2.1.1. FreeBSD/i386 болон FreeBSD/pc98

FreeBSD/i386 болон FreeBSD/pc98 хоёр хоёулаа 486 юм уу эсвэл түүнээс дээш илүү төрлийн процессор шаарддаг бөгөөд хамгийн багадаа 24 MB RAM буюу шуурхай санах ой хэрэглэдэг. Танд хамгийн бага хэмжээгээр суулгахын тулд ядаж 150 MB дискний сул хэмжээ хэрэгтэй.

Тэмдэглэл: Хуучны тохиргоонд бол, ихэнх тохиолдолд, их хэмжээний санах ой ба дискний хэмжээ нь хурдан процессороос илүү хэрэгтэй байдаг.


2.2.1.2. FreeBSD/amd64

FreeBSD/amd64-г ажиллуулах боломжтой хоёр ангиллын процессор байдаг. Эхнийх нь AMD Athlon™64, AMD Athlon64-FX, AMD Opteron™ эсвэл түүнээс дээш төрлийн процессоруудыг агуулсан AMD64 процессорууд юм.

FreeBSD/amd64-ийг ашигладаг хоёр дахь ангиллын процессоруудад Intel® EM64T архитектурыг ашигладаг процессорууд ордог. Эдгээр процессоруудын жишээнд Intel Core™ 2 Duo, Quad, Extreme процессорын гэр бүлийнхэн ба Intel Xeon 3000, 5000, болон 7000 дарааллын процессоруудыг дурдаж болно.

Хэрэв таны машин nVidia nForce3 Pro-150 дээр үндэслэсэн бол та BIOS-н тохируулга дээр IO APIC сонголтыг хорих ёстой. Хэрэв танд ингэх сонголт байхгүй бол ACPI-г оронд нь хорих хэрэгтэй. Pro-150 төрлийн бичил схемд алдаа байдаг бөгөөд одоогоор тэр алдаа засагдаагүй байгаа билээ.


2.2.1.3. FreeBSD/sparc64

FreeBSD/sparc64-г суулгахын тулд түүний дэмждэг төхөөрөмжүүдийг нь хангасан байх ёстой (Хэсэг 2.2.2 хэсэгт харна уу).

Танд FreeBSD/sparc64-д зориулсан диск тусад нь байх хэрэгтэй. Одоогоор диск дээр өөр төрлийн системүүдийг давхар суулгах боломж үгүй.


2.2.2. Дэмждэг төхөөрөмжүүд

Дэмждэг төхөөрөмжүүдийг FreeBSD-н хувилбар бүрийн Hardware Notes буюу төхөөрөмжийн мэдээлэл хэсэгт жагсаасан байдаг. Энэ мэдээлэл нь голдуу HARDWARE.TXT нэрээр суулгацын CDROM юм уу FTP-н хамгийн дээд сан дотор эсвэл sysinstall програмын documentation буюу баримт цэсэнд байрласан байдаг билээ. Энэ нь тухайн төрлийн архитектур бүрт ямар ямар төхөөрөмжүүд танигдаж болохыг FreeBSD-н хувилбар бүрт зориулж жагсаасан байдаг. Төрөл бүрийн хувилбар болон архитектурт зориулсан жагсаалтын бас нэг хуулбарыг FreeBSD-н вэб хуудасны Release Information буюу хувилбарын мэдээлэл хуудаснаас олж болно.


2.3. Суулгацын өмнө

2.3.1. Өөрийнхөө компьютерийг судална

Та FreeBSD-г суулгахын өмнө өөрийнхөө компьютерийн бүрдэл хэсгүүдийг судлах хэрэгтэй. FreeBSD суулгах явцдаа таны компьютерт буй бүрдлүүдийг (хатуу диск, сүлжээний карт, CDROM хөтлөгч гэх мэт) тэдгээрийн загвар болон үйлдвэрлэгчийнх нь дугаартай нь харуулдаг. Мөн FreeBSD нь тэдгээр төхөөрөмжүүдийг IRQ болон IO порт зэргүүдийг автоматаар зөв тохируулахыг оролддог. Компьютерийн бүрдлийг үйлдвэрлэдэгчдийн түмэн төрлөөс хамаарч зөв тохируулах энэ автомат үйлдэл нь заримдаа тийм амжилттай болж чаддаггүй тул магадгүй та FreeBSD-н тодорхойлсон тохируулгыг өөрчлөх хэрэг гарч болзошгүй.

Хэрэв та Windows эсвэл Линукс үйлдлийн систем суулгасан байгаа бол тухайн төхөөрөмжүүд ямар тохируулгаар суугдсан байгааг харах нь зүйтэй. Хэрвээ өргөтгөл картын дугаар болон нэрийг зөв таньсан эсэхээ мэдэхгүй бол уг карт дээр буй үйлдвэрлэсэн бичгийг нь харах хэрэгтэй. Байнгын хэрэглэдэг IRQ дугаарууд нь 3, 5, мөн 7 бөгөөд ихэнх хэрэглэгддэг IO портын хаягууд нь голдуу 0x330 гэх мэт арван зургаат тооллын систем дээр бичсэн дугаарууд байдаг.

FreeBSD-г суулгахаасаа өмнө эдгээр дугааруудыг тэмдэглэж авахыг зөвлөж байна. Та дараах маягийн хүснэгт хөтлөх хэрэгтэй:

Хүснэгт 2-1. Төхөөрөмжийн бүртгэлийн жишээ

Төхөөрөмжийн нэр IRQ IO порт(ууд) Тэмдэглэгээ
Эхний хатуу диск мэдэхгүй мэдэхгүй 40 ГБ, Seagate үйлдвэрлэсэн, эхний мастер IDE
CDROM мэдэхгүй мэдэхгүй Эхний хоёр дахь IDE
Хоёр дахь хатуу диск мэдэхгүй мэдэхгүй 20 ГБ, IBM үйлдвэрлэсэн, хоёр дахь мастер IDE
Эхний IDE хянагч 14 0x1f0  
Сүлжээний карт мэдэхгүй мэдэхгүй Intel 10/100
Модем мэдэхгүй мэдэхгүй 3Com® 56K факс модем, COM1 дээр зоогдсон
...      

2.3.2. Өөрийнхөө өгөгдлийг нөөцөлж авах

Хэрэв таны FreeBSD суулгах гэж байгаа компьютерт чухал мэдээлэл байвал, уг мэдээллээ нөөцөлж хадгалж авах нь зүйтэй бөгөөд уг нөөцөлсөн мэдээллээ зөв хадгалснаа шалгах хэрэгтэй. FreeBSD-н суулгах явц нь диск уруу бичиж эхлэхээсээ өмнө танаас лавлаж асуудаг бөгөөд хэрэв нэг бичигдээд эхэлбэл буцаах арга байхгүй.


2.3.3. FreeBSD-г хаана суулгахаа шийдэх

Хэрэв та FreeBSD-д бүх дискээ хэрэглүүлнэ гэж бодож байвал энэ хэсэгт анхаарлаа хандуулалгүй цааш нь унших хэрэгтэй.

Харин, хэрэв та FreeBSD-г өөр үйлдлийн системтэй хамт хэрэглэнэ гэж бодож байвал диск дээр өгөгдөл хэрхэн байрладаг мөн хэрхэн ажилладаг талаар үндсэн мэдлэгтэй байх хэрэгтэй.


2.3.3.1. FreeBSD/i386 дээрх дискний өгөгдөл байрлуулалт

Компьютерийн диск нь хэд хэдэн хэсэгт хэсэгчилж болдог. Эдгээр хуваагдсан хэсгүүдийг нь partitions буюу хуваалтууд гэж нэрлэдэг. FreeBSD нь дотроо бас хуваалтуудтай болохоор энэ нэрлэлт нь ойлгомжгүй болж болох юм. Тийм болохоор эдгээр дискний хэсэгчлэлүүдийг дискний зүсмэлүүд буюу ердөө л зүсмэлүүд гэж FreeBSD үздэг. Жишээ нь PC-ийн дискний хуваалтууд дээр ажилладаг FreeBSD-ийн fdisk хэрэгсэл хуваалтуудын оронд зүсмэлүүдийг хэрэглэдэг. Анхнаасаа компьютерийн нэг дискийг зөвхөн дөрөв хувааж болохоор зохиосон байна. Эдгээр хуваалтуудыг primary partitions буюу анхдагч хуваалтууд гэж нэрлэдэг. Энэ хязгаарлалтыг тойрон гарч дөрвөн хуваалтаас илүүг зөвшөөрөхийн тулд шинэ хуваалтын арга үүссэн бөгөөд түүнийг extended partition буюу өргөтгөсөн хуваалт гэж нэрлэжээ. Диск зөвхөн ганцхан өргөтгөсөн хуваалт агуулж болно. Өргөтгөсөн хуваалт дотор хичнээн бол хичнээн logical partitions буюу логик хуваалтууд агуулж болдог байна.

Хуваалт болгон partition ID буюу хуваалтын ID дугаар агуулж байдаг бөгөөд энэ дугаар нь тухайн хуваалтын төрлийг илэрхийлж байдаг. FreeBSD төрлийн хуваалтууд нь 165 гэсэн ID дугаартай байдаг.

Үйлдлийн систем болгон дискний хуваалтуудыг таних өөр өөрийн арга хэрэглэдэг. Жишээлбэл MS-DOS буюу түүнтэй ижил төрлийн Windows системүүд нь дискний хуваалтыг танихын тулд үсэгчлэн дугаарласан диск аргыг хэрэглэдэг бөгөөд C: үсгээр эхлэж тэмдэглэдэг.

FreeBSD нь primary partition буюу дискний анхдагч хуваалт дээр суугдах ёстой. FreeBSD таны үүсгэсэн файлуудыг, бас өөрийнхөө файлуудыг энэ хуваалт дээр хадгалдаг. Хэрэв танд олон диск байвал мөн та тэдгээр дээр эсвэл тэдний зарим дээр FreeBSD төрлийн хуваалт үүсгэж болно. FreeBSD суулгах үедээ дискний нэг хуваалтыг бэлэн байлгах хэрэгтэй. Энэ хуваалт нь таны урьдчилан бэлдсэн хоосон хуваалт юм уу эсвэл онц шаардлагагүй өгөгдөл хадгалсан хуваалт байсан ч болно.

Хэрэв та өөрийн бүх диск дэх бүх хуваалтыг хэрэглэж байсан бол тэдгээрийн нэгийг нь FreeBSD-д зориулж ямар нэгэн үйлдлийн системд байдаг хэрэгслийг ашиглан хоосон болгох хэрэгтэй (жишээ нь, MS-DOS or Windows дээр байдаг fdisk програм).

Хэрэв танд илүүчилж болохоор хуваалт байвал тэр хэсгийг бас хэрэглэж болно. Гэхдээ та өмнө нь байж байсан хуваалтын хэмжээг ихэсгэж юм уу багасгаж хэрэглэж хэрэгтэй болно.

FreeBSD суугдаж чадах хамгийн бага хэмжээ бол 100 MB билээ. Гэхдээ энэ хэмжээ бол өөрийнхөө файлуудыг хадгалахад бараг хүрэлцэхээргүй хамгийн бага хэмжээ юм. Арай боломжийн бага хэмжээ бол график орчныг оруулалгүйгээр 250 MB хэмжээ юм. Хэрэв график орчинг оруулбал 350 MB болно. Хэрэв та гуравдагч програм зохиогчдын програмыг суулгаж хэрэглэнэ гэж бодож байвал мэдээж түүнээс илүү хэмжээ хэрэгтэй.

Та PartitionMagic® гэдэг үнэтэй програмыг, эсвэл GParted зэрэг үнэгүй програмыг FreeBSD-д зориулж дискэндээ зай гаргахад хэрэглэж болох юм. PartitionMagic ба GParted нар NTFS төрлийн хуваалт дээр ажиллаж чаддаг. GParted нь SystemRescueCD зэрэг хэд хэдэн Live CD тархацуудад байдаг.

Microsoft Vista хуваалтуудын хэмжээг дахин өөрчлөхөд асуудалтай байгаа талаар мэдээлэл бий. Ийм үйлдэл хийхийг оролдох үедээ Vista-ийн суулгалтын CDROM-той байхыг зөвлөж байна. Мөн иймэрхүү дисктэй ажиллах ажлуудыг хийж гүйцэтгэхээсээ өмнө нөөцлөлтийг хийх нь маш чухал юм.

Сануулга: Эдгээр хэрэгслийг буруу ашиглавал дискэн дээр байгаа мэдээлэл тань устах болно. Тэдгээрийг хэрэглэхээсээ өмнө өөрийнхөө өгөгдлийг нөөцөлж хадгалж авах хэрэгтэй.

Жишээ 2-1. Байгаа дискний хуваалтыг өөрчлөлгүйгээр хэрэглэх нь

Жишээлбэл, Windows систем суулгасан 4 ГБ диск танд байгаа гэж бодъё. Мөн та тэр дискийг 2 ГБ хэмжээгээр C: ба D: гэж хоёр хуваасан байгаа. Танд C: дээр 1 ГБ, D: дээр 0.5 ГБ өгөгдөл хадгалсан байгаа гэж үзье.

Энэ бол үсэгчлэн тэмдэглэсэн хоёр хуваалт танд байна гэсэн үг. Та D: дээр байгаа бүх өгөгдлийг C: руу хуулж чөлөөлөөд түүн дээр FreeBSD суулгаж болно.

Жишээ 2-2. Байгаа хуваалтын хэмжээг сунгаж өөрчлөх

Танд Windows суулгасан 4 ГБ диск байна гэж үзье. Windows суулгах үедээ та зөвхөн C: гэж нэрлэсэн 4 ГБ хэмжээтэй ганцхан бүхэл хуваалт үүсгэжээ. Та одоогоор уг хэмжээний 1.5 ГБ-ийг ашигласан гэж бодоцгооё. Тэгээд та уг дискний 2 ГБ хэмжээ дээр FreeBSD суулгахыг хүссэн гэж авч үзье.

FreeBSD-г суулгахын тулд доор дурдсанаас аль нэгийг хийх болно:

  1. Windows дээр байсан өгөгдлөө нөөцөлж хадгалж аваад Windows-г дахин суулгаж гэхдээ түүндээ 2 ГБ хэмжээ үүсгэж хэрэглэх.

  2. PartitionMagic мэтийн програм ашиглаж Windows-н дискний хэмжээг дээрх хэмжээнд тохируулж өөрчлөх.


2.3.4. Сүлжээний нарийвчилсан тохируулгаа мэдэх

Хэрэв та FreeBSD-н суулгацыг интернэт холболттой хийнэ гэж бодож байвал (жишээ нь, суулгацыг FTP эсвэл NFS серверээс татан суулгаж байвал), та сүлжээнийхээ тохируулгыг мэдэж байх хэрэгтэй. Ийм мэдээллийг суулгах үед танаас лавлаж асуугаад, тохируулж интернэтэд холбогддог.


2.3.4.1. Дотоод сүлжээ эсвэл Кабель/DSL Модемоор холбогдох

Хэрэв та дотоод сүлжээнд холбогдсон байгаа юм уу эсвэл кабел, DSL-ээр холбогдохоор бол дараах тохируулах мэдээллийг мэдсэн байх хэрэгтэй:

  1. IP хаяг

  2. Анхны gateway буюу гарцын IP хаяг

  3. Hostname буюу серверийн нэр

  4. DNS сервер IP хаяг

  5. Subnet Mask буюу дэд сүлжээний баг (тусгаарлан ангилах дугаар)

Хэрэв та эдгээр мэдээллийг мэдэхгүй байгаа бол уг сүлжээ хариуцагч юм уу интернэт уруу холбогдох байгууллага уруу хандах хэрэгтэй. Гэтэл тэд танд, эдгээр мэдээлэл нь DHCP ашиглаж автоматаар тохируулагдана гэж хэлж магадгүй. Хэрэв тийм бол та эдгээр мэдээллийг заавал мэдсэн байх албагүй бөгөөд энэ хэсгийг зүгээр санаад авахад илүүдэхгүй.


2.3.4.2. Модем хэрэглэж холбогдох

Хэрэв та интернэтээр хангагч байгууллага уруу ердийн модем ашиглан утсаар холбогддог бол, та мөн FreeBSD-г интернэтээр суулгаж болох бөгөөд жаахан удах л байх даа.

Дараах зүйлсийг мэдэж байх шаардлагатай:

  1. ISP буюу интернэтийн үйлчилгээ үзүүлэгчийн холбогдох утасны дугаар

  2. Модемийн хэрэглэх COM: портын дугаар

  3. Интернэтийн үйлчилгээ үзүүлэгчид бүртгүүлсэн хэрэглэгчийн нэр болон нууц үг


2.3.5. FreeBSD-н алдааны бүртгэл

FreeBSD төсөл нь гаргаж буй хувилбар болгоноо алдаагүй баттай байлгахыг чармайж байдаг боловч зарим тохиолдолд жижиг алдаанууд гарах тохиолдол үүсдэг. Маш ховор үед ийм алдаа суулгах үед гардаг. Эдгээр алдааг илрүүлж засаад, энэ тухайгаа FreeBSD алдааны бүртгэл хуудсан дээр тэмдэглэж бичдэг. Та суулгаж байх үед ийм хүндрэлтэй тулгарахгүйн тулд энэ хуудас уруу орж шалгах хэрэгтэй.

Хувилбар бүрд гарсан алдаануудыг бүх хувилбартай нь жагсаасан бүртгэлийг FreeBSD-н вэб хуудасны хувилбарын мэдээлэл хэсэгт харж болно.


2.3.6. FreeBSD-н суулгац файлуудыг бэлдэх

FreeBSD-г суулгах явц нь дараах байршилд буй файлаас гүйцэтгэгдэж болно:

Дотоод төхөөрөмжөөс

  • CDROM эсвэл DVD

  • USB санах ойн зөөгч

  • Уг компьютерт буй MS-DOS хэсгээс

  • SCSI эсвэл QIC бичлэгээс

  • Уян дискнээс

Сүлжээ

  • FTP хаягнаас. Хэрэв шаардлагатай бол галт хана эсвэл HTTP проксигоор дамжина

  • NFS сервер

  • Зориулалтын параллел юм уу цуваа холболт

Хэрэв та FreeBSD -н суулгацыг CD эсвэл DVD хэлбэрээр авсан бол танд хэрэгтэй бүх зүйл бэлэн болох бөгөөд энэ хэсгийг алгасаад дараагийн хэсэг уруу шилжиж болно. (Хэсэг 2.3.7).

Хэрэв та FreeBSD-н суулгац файлуудыг бэлдэж аваагүй бол Хэсэг 2.13 хэсэг уруу очиж дээрх байршлаас хэрхэн бэлдэж авах талаар тайлбарласныг уншина уу. Тэр хэсгийг уншиж дуусаад буцаж эндээс Хэсэг 2.3.7 хэсэг уруу орох хэрэгтэй.


2.3.7. Эхлэн ачаалах төхөөрөмжийг бэлдэх

FreeBSD суулгац нь таны компьютер ачаалах үед эхэлдэг-- энэ нь өөр үйлдлийн системээс эхлүүлдэг програм биш. Таны компьютер ердийн үед хатуу дискэн дээр суугдсан үйлдлийн системээр эхлэж ачаалагддаг. Гэхдээ үүнийг бас “ачаалагдаж болдог” уян дискнээс эхлүүлж болохоор тохируулж болдог. Орчин үеийн ихэнх компьютерууд CDROM дотор буй CDROM диск эсвэл USB дискнээс эхлэн ачаалагдаж чаддаг.

Зөвлөгөө: Хэрэв та FreeBSD-г CDROM эсвэл DVD дээр (худалдаж авсан юм уу эсвэл өөрөө бэлдэж авсан бол) бэлдэж авсан бөгөөд таны компьютер CDROM эсвэл DVD-ээс эхлэн ачаалагдаж болдог (ихэнх BIOS дээр “Boot Order буюу ачаалах дараалал” гэсэн эсвэл үүнтэй төсөөтэй сонголтоор тохируулагддаг) бол энэ хэсгийг уншилгүй алгасаж болно. FreeBSD-н CDROM болон DVD дээр байгаа файлууд нь нэмэлт зүйлс шаардалгүй шууд суугдах боломжтой.

Ачаалагдаж болдог санах ойн зөөгч үүсгэхийн тулд дараах алхмуудыг хийнэ:

  1. Санах ойн зөөгчид зориулсан дүрс файлыг олж авах нь

    FreeBSD 8.X болон түүнээс өмнөх хувилбарын хувьд санах ойн зөөгчид зориулсан дүрс файлыг ISO-IMAGES/ сан дахь ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/ISO-IMAGES/version/FreeBSD-version-RELEASE-arch-memstick.img хаягаас татан авч болно. arch болон version үгсийг та өөрийн суулгахыг хүссэн архитектур болон хувилбарын дугаараар солиорой. Жишээ нь FreeBSD/i386 8.3-RELEASE хувилбарт зориулсан санах ойн зөөгчид зориулсан дүрс файлыг ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.3/FreeBSD-8.3-RELEASE-i386-memstick.img хаягаас авч болно.

    Зөвлөгөө: FreeBSD 9.0-RELEASE болон түүнээс хойшхи хувилбаруудын хувьд өөр сан ашиглагддаг. FreeBSD 9.0-RELEASE болон түүнээс хойшхи хувилбаруудын хувьд татаж авч суулгах талаар дэлгэрэнгүйг Бүлэг 3 хэсгээс үзнэ үү.

    Санах ойн зөөгчид зориулсан дүрс нь .img өргөтгөлтэй байна. ISO-IMAGES/ сан нь төрөл бүрийн дүрсээс тогтох бөгөөд таны хэрэглэх шаардлагатай нь таны суулгаж байгаа FreeBSD-ийн хувилбараас хамаарах бөгөөд зарим тохиолдолд тоног төхөөрөмжөөс бас хамаарна.

    Чухал: Эхлүүлэхээсээ өмнө өөрийн USB зөөгч дээр байгаа өгөгдлийг нөөцлөөрэй, учир нь энэ алхам өгөгдлийг устгах болно.

  2. Дүрс файлыг санах ойн зөөгч рүү бичих нь

    FreeBSD ашиглан дүрсийг бичих

    Сануулга: Доорх жишээ дүрсийг хуулах төхөөрөмжийг /dev/da0 гэж үзэх болно. Зөв төхөөрөмж эсэхийг сайн нягтлаарай, эс тэгвээс өөрийн өгөгдлийг устгаж мэднэ шүү.

    1. Дүрсийг dd(1) ашиглан бичих нь

      .img нь санах ойн зөөгчид хуулдаг ердийн файл шиг биш юм. Энэ нь дискний бүрэн агуулга бүхий дүрс юм. Энэ нь та нэг дискнээс нөгөө диск рүү зүгээр л файлууд хуулдаг шиг хуулж болохгүй гэсэн үг юм. Түүний оронд та дүрсийг диск рүү шууд бичихийн тулд dd(1) тушаалыг ашиглах ёстой юм:

      # dd if=FreeBSD-8.3-RELEASE-i386-memstick.img of=/dev/da0 bs=64k
      

      Хэрэв Operation not permitted гэсэн алдаа гарах юм бол төхөөрөмж ашиглагдаагүй, холбогдоогүй эсвэл зарим нэг зориулалтын програмын тусламжтай автоматаар холбогдоогүй эсэхийг шалгаарай. Дараа нь дахин оролдоорой.

    Windows® ашиглан дүрсийг бичих

    Сануулга: Гаралтын төхөөрөмж зөв эсэхийг нягтлаарай, эс тэгвээс та өөрийн өгөгдлийг дарж бичин устгаж мэднэ шүү.

    1. Image Writer for Windows програмыг олж авах нь

      Image Writer for Windows нь санах ойн зөөгч рүү дүрс файлыг зөв бичиж чаддаг чөлөөтэй түгээгддэг програм юм. https://launchpad.net/win32-image-writer/ хаягаас татаж аваад хавтас руу задлаарай.

    2. Image Writer ашиглан дүрсийг бичих нь

      Програмыг эхлүүлэхийн тулд Win32DiskImager дүрсэн дээр хулганаа хоёр товшоорой. Device дотор харагдаж байгаа хөтөч санах ойн зөөгч байгаа хөтөч эсэхийг шалгаарай. Хавтсан дээр дарж санах ойн зөөгч рүү хуулах дүрсийг сонгоно. Save дарж дүрс файлын нэрийг зөвшөөрнө. Бүгд зөв болохыг шалгаад санах ойн зөөгч дээрх аливаа хавтас өөр цонхон дээр нээгдээгүй эсэхийг шалгаарай. Төгсгөлд нь дүрс файлыг зөөгч рүү бичихийн тулд Write товчийг дараарай.

Ачаалагдаж болдог уян диск бэлдэхийн тулд дараах алхмыг гүйцэтгэнэ:

  1. Ачаалагддаг уян дискний Image буюу дүрс файлыг бэлдэх

    Чухал: FreeBSD 8.X-с эхлээд уян диск дээрх дүрс байхгүй байгааг санаарай. FreeBSD-г USB санан ойн зөөгч эсвэл CDROM эсвэл DVD ашиглаад хэрхэн суулгах талаар дээр дурдсан заавруудаас үзээрэй.

    Ачаалагддаг дискнүүд нь таны суулгац файлыг хадгалсан төхөөрөмжний floppies/ сан дотор байрладаг бөгөөд мөн ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/version-RELEASE/floppies/. хаягнаас бас хуулагдаж болно. arch болон <version> -ны оронд хүссэн архитектур ба хувилбараа орлуулах хэрэгтэй. Жишээ нь FreeBSD/i386 8.3-RELEASE хувилбарын ачаалагддаг уян дискийг ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/8.3-RELEASE/floppies/ хаягаас татаж авна.

    Уян дискний images буюу дүрс файл нь .flp гэсэн өргөтгөлтэй байдаг. floppies/ сан нь янз бүрийн дүрс файл агуулж байдаг бөгөөд суулгах төхөөрөмж болон FreeBSD-нхээ хувилбарт тохируулан сонголт хийдэг. Ихэнх тохиолдолд танд дөрвөн ширхэг уян диск хэрэг болно. Тэдгээр нь boot.flp, kern1.flp, kern2.flp болон kern3.flp юм. Уг санд буй README.TXT файлаас уг уян дисктэй холбоотой сүүлийн үеийн мэдээллийг шалгаарай.

    Чухал: Эдгээр дүрс файлыг татаж авах FTP програм нь binary mode буюу хоёртын файлын хэлбэр горимоор татаж авах ёстой. Зарим вэб хөтөч програмууд нь текст (эсвэл ASCII) горим хэрэглэдэг бөгөөд ийм үед таны уян диск анхлан ачаалагдаж чадахгүй.

  2. Уян диск бэлдэх

    Татаж авсан дүрс файл болгонд нэг уян диск бэлдэх ёстой. Уг дискнүүд нь ямар нэгэн алдаагүй байх шаардлагатай. Шалгах хамгийн амар арга бол шууд форматлах буюу цэвэрлэх хэрэгтэй. Урьдчилан цэвэрлэсэн дискэнд итгэх хэрэггүй. Windows -н цэвэрлэдэг хэрэгсэл нь дискэн дээр байгаа эвдэрсэн хэсгийг мэдээлдэггүй бөгөөд тэдгээрийг зүгээр “bad буюу муу” гэж тэмдэглээд өнгөрдөг. Шинэ диск хэрэглэн суулгах үйлдэл хийхийг танд зөвлөж байна.

    Чухал: Хэрэв таны FreeBSD-г суулгах явц гацах, эвдрэх, ямар нэг гаж нөлөө үзүүлбэл та хамгийн түрүүнд уян дискээ хардах хэрэгтэй. Шинэ дискэнд дүрс файлаа бичээд дахин оролдоорой.

  3. Дүрс файлыг уян диск уруу бичих

    .flp файлууд нь диск уруу зүгээр хуулдаг энгийн файл биш юм. Тэд бол дискний бүхэл бүтцийг агуулсан дүрс файл. Тийм болохоор ийм файлыг диск уруу шууд хуулж болохгүй. Харин, дүрс файлыг диск уруу буулгах тусгай хэрэгсэл ашигладаг.

    Хэрэв та MS-DOS / Windows үйлдлийн систем дээр ажиллаж байгаа бол fdimage хэрэгсэл хэрэглэх хэрэгтэй.

    Хэрэв уян дискнүүд CDROM дээр байгаа бөгөөд таны CDROM E: гэж танигдсан бол та дараах тушаалыг өгөх хэрэгтэй:

    E:\> tools\fdimage floppies\boot.flp A:
    

    Энэ тушаалыг уян дискээ сэлгэж .flp файл болгонд гүйцэтгээд дараа нь дэс дараалан тэмдэглэх хэрэгтэй. .flp файлын байрлалаас хамааран тушаалаа тохируулж өгөх хэрэгтэй. Хэрэв танд CDROM байхгүй бол fdimage нь FreeBSD-н FTP багажнууд сангаас хуулагдах боломжтой.

    Хэрэв та уян дискийг UNIX системээс бэлдэж байгаа бол( өөр FreeBSD системээс) та dd(1) тушаалыг ашиглан дүрс файлыг уян диск дээр буулгаж болно. FreeBSD дээр:

    # dd if=boot.flp of=/dev/fd0
    

    FreeBSD дээр /dev/fd0 гэхээр эхний уян дискний хөтлөгч уруу ханддаг ( A: төхөөрөмж). /dev/fd1 гэвэл B: төхөөрөмж гэх мэтчилэн үргэлжилдэг. Бусад UNIX төрлийн систем дээр уян дискний төхөөрөмж нь өөр өөр нэртэй байж болох бөгөөд шаардлагатай бол тухайн системийн бичиг баримтаас лавлах хэрэгтэй.

Та одоо FreeBSD-н суулгацыг эхлүүлэхэд бэлэн боллоо.


2.4. Суулгацыг эхлүүлэх

Чухал: Дараах мэдэгдлийг харах хүртэл суулгац програм нь таны диск(нүүд)эд ямар нэгэн өөрчлөлт хийдэггүй:

Last Chance: Are you SURE you want continue the installation?

If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!

We can take no responsibility for lost disk contents!

Үүнийг орчуулбал:

      Сүүлийн боломж: Та суулгацыг үргэлжлүүлэхдээ ИТГЭЛТЭЙ байна уу?

      Хэрэв та хэрэгтэй мэдээллээ хадгалсан дискнээс уг суулгацыг
      эхлүүлж байгаа бол, эхлүүлэхээсээ өмнө ӨӨРИЙНХӨӨ ӨГӨГДЛИЙГ НАЙДВАРТАЙ ХАДГАЛЖ
      АВАХЫГ БИД ЗӨВЛӨЖ БАЙНА!

      Дискэнд буй өгөгдөлд учирсан эвдрэлд бид хариуцлага хүлээхгүй!
   

Суулгац програм нь энэ анхааруулга хүртэл дискэнд өөрчлөлт хийлгүйгээр цуцалж гарах боломжтой. Хэрэв та ямар нэгэн зүйл буруу тохируулсан юм уу өөрчлөх ёстой гэж бодож байвал, энэ мөчид та компьютераа унтраахад ямар ч эвдрэл үүсэхгүй.


2.4.1. Эхлэн ачаалалт

2.4.1.1. i386™ системд эхлэн ачаалах

  1. Компьютер унтарсан үеэс эхлэх хэрэгтэй.

  2. Компьютерийг асаана. Эхлэх үед дэлгэц дээр системийн BIOS-н үндсэн тохируулга уруу ордог гарын товчлолыг харуулдаг. Энэ нь голдуу F2, F10, Del, эсвэл Alt+S гэсэн товчлолуудын нэг нь байдаг. Дэлгэцэнд юу гэж заасан байна, уг товлолыг дарж BIOS-н тохируулга уруу орох хэрэгтэй. Зарим тохиолдолд, эхлэх үед график зураг харуулдаг бөгөөд голдуу Esc товч дарснаар уг зургийг болиулж хүссэн текстээ дэлгэцэнд харах боломжтой.

  3. Систем аль төхөөрөмжөөс эхлэж ачаалах вэ гэсэн тохируулгыг олох хэрэгтэй. Энэ нь голдуу “Boot Order буюу эхлэх дараалал” гэсэн хэсэгт байдаг бөгөөд ачаалж болох Floppy, CDROM, First Hard Disk гэсэн ачаалж болох төхөөрөмжийн жагсаалтыг агуулсан байдаг.

    Хэрэв та CDROM-с ачаална гэж бодсон бол уг жагсаалтнаас CDROM сонгох хэрэгтэй. Хэрэв та USB диск эсвэл уян дискнээс эхэлж ачаална гэж бодож байвал түүнийг сонгох хэрэгтэй. Аль нь зөв эсэхээ мэдэхгүй эргэлзэж байгаа бол уг компьютертай цуг ирдэг гарын авлагаас хараарай.

    Тохирсон өөрчлөлтөө хийж хадгалаад гарна. Компьютер ингэсний дараа шинээр дахин ачаалагдаж эхэлнэ.

  4. Хэрэв та Хэсэг 2.3.7 дээр заасан шиг “ачаалагдах” USB зөөгч бэлдсэн бол, USB зөөгчөө компьютераа асаахаасаа өмнө залгаарай.

    Хэрэв та CDROM -с эхэлж ачаалж байгаа бол компьютераа асаангуутаа CDROM уруу дискээ хийж эхлүүлэх хэрэгтэй.

    Тэмдэглэл: FreeBSD 7.X хувилбаруудад суулгалтын ачаалагдах боломжтой уян дискнүүд байдаг бөгөөд Хэсэг 2.3.7 хэсэгт тайлбарласан шиг бэлдэж болно. Тэдгээрийн нэг нь ачаалагдах эхний диск boot.flp байна. Энэ дискийг өөрийн уян дискний хөтчид хийгээд компьютераа ачаална.

    Хэрэв таны компьютер асаад, өмнө суусан байсан үйлдлийн системнээс ердийнхөөрөө эхлэж байвал шалтгаан нь доор дурдсанаас аль нэг нь байж болно:

    1. Ачаалах явцаас өмнө нь амжиж дискээ оруулаагүй байх. Дискээ оруулаад компьютераа дахин шинээр ачаал.

    2. Өмнө хийсэн BIOS -ийн өөрчлөлт зөв хийгдээгүй байх. Уг өөрчлөх үйлдлийг дахин хийж зөв тохируулгыг хийх.

    3. Магадгүй таны бэлдсэн төхөөрөмжөөс эхлэж ачаалах үйлдлийг таны BIOS дэмжээгүй байж болно.

  5. FreeBSD ачаалагдаж эхлэнэ. Хэрэв та CDROM -ноос эхлүүлсэн бол дараах зүйлтэй адилхан мэдэгдэл харах болно (хувилбарын хэсгийг оруулаагүй болно):

    Booting from CD-Rom...
    645MB medium detected
    CD Loader 1.2
    
    Building the boot loader arguments
    Looking up /BOOT/LOADER... Found
    Relocating the loader and the BTX
    Starting the BTX loader
    
    BTX loader 1.00 BTX version is 1.02
    Consoles: internal video/keyboard
    BIOS CD is cd0
    BIOS drive C: is disk0
    BIOS drive D: is disk1
    BIOS 636kB/261056kB available memory
    
    FreeBSD/i386 bootstrap loader, Revision 1.1
    
    Loading /boot/defaults/loader.conf
    /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
    \
    

    Хэрэв та уян дискнээс эхлүүлж байгаа бол дараах мэдэгдэлтэй ижил бичиглэлийг харна (хувилбарын хэсгийг оруулаагүй болно):

    Booting from Floppy...
    Uncompressing ... done
    
    BTX loader 1.00  BTX version is 1.01 
    Console: internal video/keyboard 
    BIOS drive A: is disk0 
    BIOS drive C: is disk1 
    BIOS 639kB/261120kB available memory 
    
    FreeBSD/i386 bootstrap loader, Revision 1.1 
    
    Loading /boot/defaults/loader.conf
    /kernel text=0x277391 data=0x3268c+0x332a8 |
    
    Insert disk labelled "Kernel floppy 1" and press any key...
    

    Уг зааврын дагуу boot.flp дискийг гаргаад kern1.flp дискийг оруулаад Enter товчийг дараарай. Эхний дискнээс эхэлж ачаалаад дараа нь шаардсан дискнүүдийг нь дараалан оруулах хэрэгтэй.

  6. CDROM, USB зөөгч эсвэл уян диск алинаас нь ч эхлүүлсэн бай гэсэн FreeBSD-ийн ачаалагч эхлүүлэгч цэсэнд тулж ирдэг:

    Зураг 2-1. FreeBSD-ийн ачаалагч эхлүүлэгч цэс

    Арван секунд хүлээх, эсвэл шууд Enter товч дарж болно.


2.4.1.2. Sparc64® систем дээр эхлүүлэх

Ихэнх Sparc64® системүүд нь дискнээс автоматаар эхлэхээр тохируулагдсан байдаг. FreeBSD суулгахын тулд та сүлжээгээр юм уу эсвэл CDROM-оос эхлүүлэх шаардлагатай. Энэ нь PROM (OpenFirmware) руу орохыг танаас шаарддаг.

Ингэхийн тулд системийг дахин ачаалж эхлүүлэх үеийн мэдэгдэл гарч ирэхийг хүлээх хэрэгтэй. Энэ нь тухайн загвараас шалтгаалах боловч доор дурдсантай төстэй харагдах ёстой:

Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.

Хэрэв таны систем дискнээс энэ үед ачаалж эхэлбэл та PROM хүлээх мөрөнд орохын тулд L1+A эсвэл Stop+A товчлуурын хослолыг дарах юм уу эсвэл цуваа консолоос (жишээ нь tip(1) эсвэл cu(1) дээр ~#-г ашиглан) BREAK-г илгээх хэрэгтэй. Энэ нь иймэрхүү харагдах болно:

ok         (1)
ok {0}     (2)
(1)
Энэ нь зөвхөн нэг CPU-тай системүүд дээр хэрэглэгддэг хүлээх мөр юм.
(2)
Энэ нь SMP системүүд дээр хэрэглэгддэг хүлээх мөр юм. тоо нь идэвхтэй байгаа CPU-ийн тоог илэрхийлдэг.

Энэ хүрэхэд өөрийн хөтөчдөө CDROM-оо хийгээд PROM хүлээх мөрөөс boot cdrom тушаалыг бичих хэрэгтэй.


2.4.2. Төхөөрөмжийн шалгаж бүртгэсэн хэсгийг харах

Сүүлд нь урсаж өнгөрдөг хэдэн зуун мөр текст нь дэлгэцийн түр хадгалагч уруу хадгалагддаг бөгөөд сүүлд дахин харж болдог.

Түр хадгалагдсан мөрийг дахин харахын тулд Scroll Lock товч дараарай. Энэ нь дэлгэцэнд урсаж өнгөрсөн текстүүдийг дээш нь эргүүлж харах боломж өгдөг. Та дээш заасан сум товчоор юм уу эсвэл PageUp мөн PageDown товчнуудаар дээш доош гүйлгэн харж болно. Scroll Lock товчийг дахин дарж гулгуулах үйлдлээ зогсоодог.

Та уг товчийг дарж дээш гулгуулан харах хэрэгтэй. Энэ нь цөм хэрхэн төхөөрөмжүүдийг таньсан тухай харуулдаг. Та Зураг 2-2 дээр харуулсантай ижил бичиглэл харах бөгөөд харин төхөөрөмжүүдийн нэрс нь таны компьютерийнхаас өөр байж магадгүй.

Зураг 2-2. Төхөөрөмж таньсан бүртгэл бичлэг

avail memory = 253050880 (247120K bytes) 
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4

md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard   
npx0: INT 16 interface   
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5'' drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0

FreeBSD-дээр таны хүссэн төхөөрөмжийг зөв таньсан эсэхийг уг бичлэг дээр тулгаж харах хэрэгтэй. Хэрэв төхөөрөмж олдоогүй бол уг бичлэгт харуулагдахгүй. Өөрчлөн тохируулсан цөм нь дууны карт зэрэг GENERIC цөмд байхгүй төхөөрөмжүүдийн дэмжлэгийг нэмэх боломжийг танд олгодог.

Төхөөрөмжийг таних үйлдлийн дараагаар та Зураг 2-3-г харах болно. Сумтай товчлуур ашиглан улс, бүс, эсвэл бүлэг сонгох хэрэгтэй. Дараа нь Enter дарахад энэ нь таны улсыг хялбараар тохируулах болно.

Зураг 2-3. Улс сонгох цэс

Хэрэв та улсаараа United States-г сонгосон бол стандарт Америк гарын байрлал ашиглагдана, хэрэв өөр улс сонгосон бол дараах цэс гарч ирнэ. Сумнуудыг ашиглан зөв гарын байрлалыг сонгож Enter-г дарна.

Зураг 2-4. Гарын цэсийг сонгох

Улсыг сонгосны дараа sysinstall-н үндсэн цэс дэлгэц дээр харагдах болно.


2.5. Sysinstall-н танилцуулга

sysinstall бол FreeBSD төслөөс гаргасан суулгац програм юм. Энэ нь консол дээр тулгуурлаж ажилладаг бөгөөд зохих цэсийг нь ашиглаж суулгах явцыг хянаж тохируулдаг.

sysinstall-н цэс нь сумтай товч, Enter буюу мөр нугалагч, Tab, Space буюу зай авагч болон бусад товчнуудаар залагддаг. Эдгээр товчны тухай дэлгэрэнгүй мэдээлэл sysinstall-н хэрэглэх зааварт бичээстэй буй.

Эдгээр мэдээллийг харахын тулд Usage буюу хэрэглээ хэсэгт очоод [Select] хэсгийг сонгож Зураг 2-5-д харуулсан шиг байдалд болгоод Enter товч дарах хэрэгтэй.

Цэстэй хэрхэн ажиллах тухай заавар харуулагдана. Хэрэглэх зааврыг уншиж дуусаад Enter товч дарж буцаад үндсэн цэсэнд очно.

Зураг 2-5. Sysinstall-н үндсэн цэсэнд Usage буюу хэрэглээг сонгох нь


2.5.1. Documentation буюу бичиг баримт цэсийг сонгох

Үндсэн цэснээс сумтай товч ашиглан Doc цэсийг сонгоод Enter дарна.

Зураг 2-6. Documentation буюу бичиг баримтын цэс сонгох

Энэ нь бичиг баримтыг харуулах болно.

Зураг 2-7. Sysinstall-н Documentation буюу бичиг баримтын цэс

Хамт ирсэн бичиг баримтыг нь унших хэрэгтэй.

Бичиг баримтыг үзэхийн тулд сумтай товч хэрэглэж сонгоод Enter товч дарна. Уншиж дуусаад Enter товч дарвал Documentation буюу бичиг баримтын цэс уруу буцна.

Суулгацын үндсэн цэсэнд буцаж очихын тулд Exit буюу гарах гэсэн цэсийг сонгоод Enter товч дараарай.


2.5.2. Keymap буюу гарын товчлуур хуваарилалт цэсийг сонгох

Гарын товчлуурын хуваарилалтыг өөрчлөхийг хүсвэл сумтай товчоор Keymap цэсийг сонгоод Enter товч дарна. Энэ нь зөвхөн стандарт буюу US америк гарын хуваарилалт хэрэглэдэггүй тохиолдолд л танд хэрэгтэй.

Зураг 2-8. Sysinstall-н үндсэн цэс

Өөр өөр гарын хуваарилалтыг та сумтай товчоор сонгоод Space товч дарж сонгох бөгөөд дахин Space дарж сонголтоо цуцлана. Сонгож дуусаад [ OK ] цэсийг сумтай товч ашиглан сонгоод Enter товч дараарай.

Энэ харуулсан дэлгэцэнд зөвхөн зарим хэсгийг нь харуулсан болно. Tab товч хэрэглэж [ Cancel ] цэсийг сонговол анхдагч гарын хуваарилалтыг сонгоод үндсэн цэс уруу буцдаг.

Зураг 2-9. Sysinstall-н Keymap буюу гарын товчлуур хуваарилалт цэс


2.5.3. Суулгацын Options буюу тохируулгууд нүүр

Options цэсийг сонгоод Enter дарна.

Зураг 2-10. Sysinstall-н үндсэн цэс

Зураг 2-11. Sysinstall Options хэсэг

Анхдагч утга нь ихэнх хэрэглэгчдэд өөрчлөлтгүйгээр хэрэглэгдэхэд хангалттай. Хувилбарын нэр нь суулгаж байгаа төрлөөсөө хамаарч өөр өөр байна.

Сонгогдсон цэсийн тайлбар нь дэлгэцийн доод хэсэгт цэнхэр дэвсгэртэй бичигддэг. Тэмдэглэж хэлэхэд, Use Defaults цэсийг сонговол бүх утгыг анхдагч утгад нь тохируулдаг.

F1 товч дарж сонголтын төрөл бүрийн мэдээлэл агуулсан туслах мэдээллийг харж болно.

Q товч дарвал үндсэн цэсэнд буцаж очно.


2.5.4. Үндсэн суулгацыг эхлүүлэх

UNIX эсвэл FreeBSD үйлдлийн системийг сурч байгаа хүнд бол Standard цэсийг сонгож үндсэн суулгацыг эхлүүлэх хэрэгтэй. Сумтай товч хэрэглэн Standard цэсийг сонгоод Enter товч дарвал үндсэн суулгац эхэлнэ.

Зураг 2-12. Үндсэн суулгацыг эхлүүлэх нь


2.6. Дискний зайг зохицуулах

Таны эхний үйлдэл бол FreeBSD-д зориулж дискний зай бэлдэж түүндээ нэр өгнө. Ингэснээр sysinstall уг дискийг таньж бэлддэг. Үүнийг хийхийн тулд FreeBSD диск дээр байгаа мэдээллийг хэрхэн уншиж хэрэглэдэг талаар мэдэх хэрэгтэй.


2.6.1. BIOS-н диск дугаарлалт

Өөрийнхөө систем дээр FreeBSD -г суулгаж тохируулахын тулд зарим зүйлсийг анхаарч мэдэх хэрэгтэй. Ялангуяа та олон диск хэрэглэдэг бол энэ нь тун чухал.

Компьютер дээр BIOS-оос хамаарч ажилладаг MS-DOS эсвэл Microsoft Windows зэрэг үйлдлийн системүүдэд, BIOS дискнүүдийг дугаарладаг бөгөөд уг үйлдлийн системүүд нь уг дугаарласан өөрчлөлтийг нь дагаж ажилладаг. Энэ нь “primary master буюу анхны дискнээс” өөр дискнээс үйлдлийн систем эхэлж ажиллах боломж өгдөг. Энэ арга нь Ghost® эсвэл XCOPY зэрэг програм ашиглан нэг дискний ерөнхий зургийг хуулж түүнтэй адилхан хоёр дахь диск уруу хуулан системдээ найдвартай хадгалалт хийдэг хүмүүст тун хэрэгтэй байдаг. Тэгээд, хэрэв эхний диск эвдрэх, эсвэл вирустаж гэмтэх зэрэг хүндрэл гарвал, BIOS дээр дискнүүдийн дарааллыг өөрчилж хуулбарласан өгөгдөлтэй дискнээс үйлдлийн системээ эхлүүлэн ажиллаж болдог. Энэ нь бараг дискнүүдийн кабелийг хайрцгийг нь нээлгүйгээр сольж байгаатай ижил юм.

SCSI диск хянагчтай системүүд нь голдуу BIOS өргөтгөлтэй байдаг бөгөөд найм хүртэлх SCSI дискнүүдийг иймэрхүү зарчмаар дараалуулж чаддаг.

Иймэрхүү арганд дассан хүнд FreeBSD арай өөрөөр үйлчилдэг бөгөөд энэ нь их цочирдуулдаг. FreeBSD BIOS-г ашигладаггүй бөгөөд “BIOS-н логик дискний дугаарлалтыг мэддэггүй”. Энэ нь ялангуяа яг адилхан дискэн дээр дискний зургийг хуулбарласан үед бодсоноос өөр үйлчлэл үзүүлэхэд хүргэдэг.

FreeBSD-г хэрэглэх үедээ BIOS-г үргэлж өөрөөр нь диск дугаарлалт хийлгэж, тэр чигээр нь үлдээх хэрэгтэй. Хэрэв та дискний дугаарлалтыг өөрчлөхөөр бол, компьютерийнхаа хайрцгийг онгойлгож дискний сэлгүүр болон залгууруудыг тохируулж залгах хэрэгтэй.


2.6.2. FDisk ашиглан дискний зүсмэл үүсгэх

Тэмдэглэл: Энэ хэсэгт хийсэн өөрчлөлт тань диск уруу бичигдэхгүй. Хэрэв та ямар нэгэн алдаа хийж гэж бодоод дахин шинээр эхлэхийг хүсвэл sysinstall-н гарах цэсийг ашиглах, эсвэл U товч дарж Undo буюу буцаж үйлдэж болно. Хэрэв та бүр эргэлзэж юу хийхээ мэдэхгүй болоод ирвэл компьютераа шууд унтрааж болно.

Стандарт суулгацыг сонгосны дараа sysinstall танд дараах мэдэгдлийг харуулна:

                                 Message
 In the next menu, you will need to set up a DOS-style ("fdisk")
 partitioning scheme for your hard disk. If you simply wish to devote
 all disk space to FreeBSD (overwriting anything else that might be on
 the disk(s) selected) then use the (A)ll command to select the default
 partitioning scheme followed by a (Q)uit. If you wish to allocate only
 free space to FreeBSD, move to a partition marked "unused" and use the
 (C)reate command. 
                                [  OK  ] 

                      [ Press enter or space ]

Энэ хэсгийг орчуулбал:

        Мэдэгдэл
        Дараагийн хэсэгт та өөрийнхөө дискэнд DOS-маягийн ("fdisk")
        диск хуваалт хийх хэрэгтэй. Хэрэв та дискнийхээ бүх хэмжээг
        FreeBSD-д зориулна гэж бодож байвал (дискэн дээр байгаа бүх өгөгдлийг
        дарж бичнэ) (A)ll тушаалыг сонгоод дараа нь (Q)uit цэсийг сонгож
        гараарай. Хэрэв та зөвхөн сул чөлөөтэй байгаа хэсгийг FreeBSD-д
        зориулна гэж бодож байгаа бол "unused" буюу хэрэглэгдээгүй гэсэн хэсгийг 
        сонгоод (C)reate буюу үүсгэ гэсэн тушаалыг сонгоорой.
        [  OK  ]

        [ enter товч эсвэл зай авагч товч дарна уу]
     

Энд голдуу Enter товч дардаг. Ингэсний дараа цөмд эхлэх үед таньж туршсан хатуу дискнүүдийн жагсаалтыг танд харуулах болно. Зураг 2-13 дээр IDE дисктэй системийн жишээ харуулав. Тэдгээр нь ad0 болон ad2 гэсэн нэртэй буй.

Зураг 2-13. FDisk-н хэрэглэх дискийг сонгох

Та магадгүй яагаад ad1 дискийг энд харуулсангүй вэ? гэж гайхаж мадагүй.

Танд хоёр ширхэг IDE хатуу диск байна гэж үзье. Нэг нь нэг IDE залгуур дээр мастер диск болж залгагдсан бөгөөд нөгөөх нь хоёр дахь IDE залгуур дээр суугдсан байг. Хэрэв FreeBSD нь тэдгээрийг ad0 ба ad1 гэж дугаарласан бол бүх юм зүгээр л ажиллах байсан.

Гэвч, хэрэв та гурав дахь дискийг эхний IDE залгуур дээрх мастер дисктэй боол болгож залгавал уг диск ad1 гэж дугаарлагдах бөгөөд өмнө нь ad1 гэж дугаарлагдсан диск ad2 гэж нэрлэгдэнэ. Дискэнд өгсөн нэрийг ашиглан (жишээ нь ad1s1a) файл системийг хайхад хэрэглэдэг учраас гэнэт таны дискнүүд өөр харагдаж эхлэх бөгөөд та FreeBSD-н тохируулгыг дахин хийх шаардлага гарна.

Ийм хүндрэлийг арилгахын тулд цөм нь IDE дээр залгагдсан дискнүүдийг таньсан дарааллаар нь биш харин залгагдсан байрлалаас нь хамааран дугаарладаг. Ийм учраас хэрэв IDE-н хоёр дахь залгуур дээр залгагдсан мастер диск нь үргэлж ad2 гэж нэрлэгдэх бөгөөд ad0 эсвэл ad1 дискнүүд бүр байхгүй байсан ч энэ нэрээрээ л байх болно.

Энэ нь FreeBSD-н цөмийн анхны тохируулга бөгөөд, ийм шалтгааны улмаас ad0 болон ad2 гэж харуулж байна. Тэгэхээр энэ зурган дээр байгаа машины IDE 2 залгуур дээр хоёр мастер диск залгагдсан бөгөөд ямар ч боол диск байхгүй байна гэж харуулж байна.

Та аль диск дээр нь FreeBSD-г суулгахаа сонгоод [ OK ] дээр дарах хэрэгтэй. FDisk эхлэх бөгөөд дэлгэц дээр Зураг 2-14-тэй төстэй зураг харуулагдах болно.

FDisk нь дэлгэц дээр гурван хэсэгт хуваагдаж харуулагддаг.

Эхний хэсэгт нь дээд хоёр мөр хамаарагддаг бөгөөд сонгогдсон дискний нарийвчилсан мэдээллүүдийг харуулдаг. Энэ нь FreeBSD-н өгсөн нэр, дискний зохион байгуулалт мөн дискний нийт хэмжээ зэргийг харуулдаг.

Хоёр дахь хэсэгт дискэн дээр байгаа зүсмэлүүдийг харуулдаг ба хаанаас эхлээд хаана дууссан, ямар хэмжээгээр зүсэгдсэн бөгөөд FreeBSD хэрхэн нэр өгсөн, бас уг зүсмэлийг тодорхойлсон тодорхойлолт болон дэд төрлийг нь харуулдаг. Энэ жишээ дээр, компьютер дээрх дискний хэрэглэгдээгүй хоёр зүсмэлийг харуулсан байна. Уг зурган дээр бас нэг том FAT зүсмэл байгааг харуулсан байгаа бөгөөд магадгүй энэ нь MS-DOS / Windows системийн C: диск байж болзошгүй. Мөн уг зурган дээр бас нэг өргөтгөсөн зүсмэл байгааг харуулсан байгаа ба, бас энэ нь MS-DOS / Windows систем дээр нэг өргөтгөсөн диск байж магадгүй.

Гурав дахь хэсэг нь FDisk дээр хэрэглэж болох тушаалуудын жагсаалт байна.

Зураг 2-14. Засварлаж эхлэхээс өмнөх fdisk-н диск хуваалтын жишээ

Одоо таны хийх алхам дискээ хэрхэн зүсэж хуваахаас их хамаарна.

Хэрэв та дискээ бүхлээр нь FreeBSD-д зориулна гэж бодож байвал (дискэн дээр байгаа бүх өгөгдлийг дарж суугдах бөгөөд sysinstall танаас суулгацын явцад лавлаж асуух болно) Use Entire Disk буюу дискийг бүхлээр нь хэрэглэ гэсэн заалтад буй A товч дарах хэрэгтэй. Байсан бүх зүсмэлүүд арилах бөгөөд жижигхэн хэсэг нь unused буюу хэрэглэгдээгүй гэж хуваагдаад (компьютер диск шалгахад зориулагддаг хэсэг) үлдсэн том хэсэг нь FreeBSD-д зориулж хуваагддаг. Ингэж сонгосны дараа сумтай товч хэрэглэн шинээр үүссэн FreeBSD-н зүсмэлийг сонгоод S товч дарж уг зүсмэлээс эхлэн ачаалагддаг болгох хэрэгтэй. Таны дэлгэц Зураг 2-15-тэй төсөөтэй зураг харуулах ёстой. Тэмдэглэж хэлэхэд, Flags баганад буй A үсэг нь уг зүсмэлийг active буюу идэвхтэй гэдгийг илэрхийлж байгаа бөгөөд энэ зүсмэлээс эхлэж ачаалагдах болно гэдгийг харуулж байгаа юм.

Хэрэв та өмнө нь хэрэглэгдэж байсан зүсмэлүүдээс нэгийг нь FreeBSD-д зориулна гэж бодсон бол уг зүсмэлийг сонгоод D товч дарж устгах хэрэгтэй. Дараа нь та C товч дарвал үүсгэх зүсмэлийн хэмжээг танаас асуудаг. Хүссэн хэмжээгээ оруулаад Enter товч дарах хэрэгтэй. Уг лавлаж асуусан цонх дээр буй анхны тоо бол уг зүсмэл дээр хэрэглэж болох хамгийн их хэмжээг зааж байдаг тул уг зүсмэлийг бүхлээр нь хэрэглэнэ гэж бодвол шууд уг тоог өөрчлөлгүй хэрэглэх хэрэгтэй.

Хэрэв та урьдчилан FreeBSD -д зориулан дискээ суллачихсан байвал (магадгүй PartitionMagic гэх мэтийн програм ашиглан дискээ бэлтгэсэн бол) дараа нь C товч дарж шинэ зүсмэл үүсгээрэй. Дахин сануулахад, зүсмэл үүсгэх үед хуваах зүсмэлийн хэмжээг танаас асуух болно.

Зураг 2-15. Fdisk дискийг бүхлээр нь хэрэглэж буй жишээ

Хувааж дуусаад Q товч дарж гарна. Таны өөрчилсөн өөрчлөлтүүд sysinstall дээр хадгалагдах бөгөөд диск уруу одоохондоо бичигдээгүй байгаа.


2.6.3. Boot Manager буюу эхлэн ачаалалт зохицуулагчийг суулгах

Танд одоо эхлэн ачаалалт зохицуулагчийг суулгах эсэхээ сонгох боломж гардаг. Хэрэв танд дараах нөхцлүүд биелж байвал голдуу FreeBSD boot manager-ийг сонгох нь элбэг:

  • Танд олон дискнүүд байгаа бөгөөд FreeBSD-г эхнийх дээр нь суулгаагүй бол.

  • Та FreeBSD-г өөр үйлдлийн системтэй хамт нэг диск дээр суулгаад компьютер эхлэх үед FreeBSD-г эхлүүлэх үү эсвэл нөгөө үйлдлийн системийг эхлүүлэх үү гэж сонголт хиймээр байгаа бол.

Хэрэв FreeBSD нь уг машин дээр байгаа цорын ганц үйлдлийн систем байхаар бол Standard -г сонгоход хангалттай. Хэрэв та FreeBSD-г эхлүүлж чадах өөр ямар нэгэн програм суулгасан бол None -г сонгоорой.

Сонголтоо хийгээд Enter товчийг дар.

Зураг 2-16. Sysinstall-н эхлэн ачаалалт зохицуулагчийн цэс

F1 товч дарвал тусламжийн цэс харуулагдах бөгөөд өөр үйлдлийн системтэй хамтарч хэрэглэх үед ямар хүндрэл үүсэж болох талаар тайлбарлаж өгдөг.


2.6.4. Бусад диск дээр зүсмэл үүсгэх

Хэрэв танд нэгээс илүү олон дискнүүд байгаа бол эхлэн ачаалалтын зохицуулагчийг сонгосны дараа диск сонгох цэсэнд буцаж очдог. Хэрэв та FreeBSD-г олон диск хэрэглэж суулгахыг хүсвэл, FDisk ашиглан цааш нь зүсэж хуваах хэрэгтэй.

Чухал: Хэрэв та FreeBSD-г эхний дискнээс өөр диск дээр суулгаж байгаа бол FreeBSD-н эхлэн ачаалалтыг зохицуулагчийг хоёулан дээр нь суулгах хэрэгтэй.

Зураг 2-17. Диск сонгох цэснээс гарах

Tab товч хэрэглэн дискнүүд болон [ OK ], эсвэл [ Cancel ] зэрэг тушаалууд уруу сэлгэж болно.

Tab товч хэрэглэн [ OK ], дээр сонгоод Enter товч дарж суулгацыг цааш нь үргэлжлүүлнэ.


2.6.5. Disklabel буюу дискэнд нэр өгч хуваалт үүсгэх

Та одоо үүсгэсэн зүсмэл дотроо хуваалт үүсгэх ёстой. Хуваалт болгон a үсгээр эхлээд h хүртэл нэр авдаг бөгөөд b, c болон d гэсэн нэрнүүд нь тусгай зөвшлийн дагуу өөр зориулалтаар хэрэглэгддэг тул та үүнийг хүлээн зөвшөөрөх хэрэгтэй.

Хэрэв олон диск дээр хуваалт үүсгэж байгаа бол зарим програмууд нь зорилгоосоо хамаараад онцгой хуваалтын загвар хэрэглэдэг. Гэхдээ та одоогоор FreeBSD-г анх удаагаа суулгаж байгаа диск дээр хэрхэн хуваалт үүсгэх тухай нэг их бодох шаардлага байхгүй. Хамгийн чухал нь FreeBSD-г суулгаад хэрхэн хэрэглэдэг талаар сурах явдал юм. Та үйлдлийн системд нэлээн гаршиж сайжирсан үедээ FreeBSD-г дахин шинээр хэдийд ч суулгаж болно.

Энд үзүүлж буй хуваалтын загвар нь дөрвөн хуваалттай байна. Нэг нь swap хэмжээнд, бусад гурав нь файлын системд зориулагдсан байна.

Хүснэгт 2-2. Эхний дискний хуваалт

Хуваалт Файл систем Хэмжээ Тодорхойлолт
a / 1 GB Энэ бол root буюу эх файл систем юм. Бусад бүх файл системүүд ямар нэгэн аргаар энд танигдаж хэрэглэгддэг. 1 GB хэмжээ бол тухайн зорилгодоо таарсан хэмжээ. Та энд тийм их өгөгдөл хадгалахгүй бөгөөд ердийн FreeBSD-н суулгац нь энд 128 MB-г хэрэглэдэг. / дээр үлдсэн зай нь дараа нь хэрэглэгдэх зорилгоор юм уу эсвэл түр зуурын өгөгдөл зэрэгт зориулагддаг.
b N/A 2-3 x RAM

Системийн swap зай нь b хуваагдал дээр байрладаг. swap-д зориулж хэмжээгээ тохируулах нь бас чухал. Хамгийн сайн хэрэглэгддэг арга бол, байгаа санах ойныхоо (RAM) хэмжээнээс хоёр юм уу гурав дахин их хэмжээтэй байхад болно. Хэрэв танд 32 MB хэмжээтэй RAM санах ой байгаа бол ядаж 64 MB хэмжээтэй swap бэлдэх хэрэгтэй.

Хэрэв та нэгээс их дисктэй бол диск болгонд зориулж swap зай үүсгэж болно. Ингэвэл, FreeBSD нь диск болгонд буй swap зайг хэрэглэснээр илүү үр дүнтэй ажилладаг. Энэ тохиолдолд хэрэглэх нийт swap-нхаа хэмжээг (жишээ нь, 128 MB) байгаа дискнийхээ тоонд хувааж (жишээ нь хоёр дисктэй гэж үзье) гарсан хэмжээг дискэн дээр swap-д зориулж бэлдэх хэрэгтэй бөгөөд жишээний дагуу бол 64 MB диск болгонд ногдож байна.

e /var 512 MB-аас 4096 MB хүртэл /var санд байнга өөрчлөгдөж байдаг файлууд байрладаг; бүртгэл файл, мөн бусад удирдах болон хянах файлууд энэ төрлийн файлд ордог. Эдгээр файлын ихэнх нь FreeBSD дээр ажилладаг програмуудаар өдрийн турш уншигдаж бас бичигдэж байдаг. Иймэрхүү файлуудыг нэг дор байрлуулснаар FreeBSD нь өөр файл систем уруу хандаж цаг заралгүй идэвхитэй ажиллаж чаддаг.
f /usr Дискний үлдсэн хэсэг (хамгийн багадаа 8 GB) Бараг бусад бүх файлууд нь /usr санд болон түүн дотор буй дэд сангуудад байрладаг.

Сануулга: Дээр дурдсан утганууд нь жишээ болон өгөгдсөн бөгөөд зөвхөн туршлагатай хэрэглэгчид эдгээрийг ашиглах хэрэгтэй. Хэрэглэгчид нь FreeBSD-ийн хуваалт засварлагчийн Auto Defaults гэж хэлэгддэг автомат хуваалтын хэлбэрийг ашиглах нь зүйтэй юм.

Хэрэв та FreeBSD-г олон дискнүүд дээр дамнан суулгаж байгаа бол бусад дискнүүд дээр үүсгэсэн зүсмэл дотроо хуваалт үүсгэх хэрэгтэй. Хамгийн амархан арга нь диск болгонд хоёр хуваагдал үүсгээд нэгийг нь swap зай болгоод нөгөөх нь ямар нэгэн файл систем болгох арга байдаг.

Хүснэгт 2-3. Бусад дискэн дээрх дискний хуваалт

Хуваалт Файл систем Хэмжээ Тодорхойлолт
b N/A Тодорхойлолтоос уншина уу Өмнө дурьдсанчлан, swap хэмжээг диск болгон дээр үүсгэж болдог. Хэдийгээр a хуваалт сул байсан ч гэсэн зарчмын дагуу swap зай нь b хуваалт дээр байрладаг.
e /diskn Дискний үлдсэн хэмжээ Дискний үлдсэн хэмжээ нь нэг бүхэл хуваалт болдог. Энэ нь e хуваалт дээр биш харин a хуваалт дээр байрлаж болох байсан ч зарчмын дагуу a хуваагдал дээр root буюу эх файл систем (/) суугддаг. Та энэ зарчмыг дагахгүй байж болох боловч sysinstall харин дагадаг: Энэ зарчмыг дагаснаар суулгацыг цэвэрхэн болгодог. Та энэ файл системийг хаана ч холбож болох бөгөөд энэ жишээн дээр бол уг файл системийг /diskn гэсэн сан дотор холбосон байна. n үсэг нь дискний дугааруудыг илэрхийлж байна. Гэхдээ та хүсвэл өөр газар холбож болно.

Хуваагдлынхаа загвараа ингэж хийж дуусаад sysinstall-г ашиглаж үүсгэх хэрэгтэй. Үүсгэх үед дараах мэдэгдлийг танд харуулдаг:

                                 Message
 Now, you need to create BSD partitions inside of the fdisk
 partition(s) just created. If you have a reasonable amount of disk
 space (1GB or more) and don't have any special requirements, simply
 use the (A)uto command to allocate space automatically. If you have
 more specific needs or just don't care for the layout chosen by
 (A)uto, press F1 for more information on manual layout.  

                                [  OK  ]
                          [ Press enter or space ]

Үүний хөрвүүлбэл:

                                 Мэдэгдэл
 Та одоо, fdisk ашиглан бий болгосон хуваалтаар  BSD хуваалт үүсгэх хэрэгтэй. 
 Хэрэв танд тодорхой хэмжээний дискний зай (200MB эсвэл түүнээс дээш) байгаа
 бөгөөд ямар нэгэн онцгой шаардлага тавигдаагүй бол (A)uto тушаалыг ашиглан
 дискний зайг автоматаар тохируулж болно. Хэрэв танд онцгой шаардлага бий юм уу
 эсвэл (A)uto тушаалаар үүсгэх байрлуулалт тийм чухал биш бол
 F1 товч дарж гарын авлага дээрх нэмэлт мэдээллийг харж болно

                                [  OK  ]
                          [ enter товч эсвэл зай авагч товч дарна уу]

Enter товч дарж FreeBSD-н диск хуваалтыг үүсгэж бичдэг Disklabel нэртэй програм харуулагдана.

Зураг 2-18 дээр Disklabel -г анх эхлүүлэх үеийг харуулсан. Дэлгэц гурван хэсэгт хуваагдсан байгаа.

Эхний хэдэн мөрөнд, таны ажиллаж байгаа дискний нэрийг харуулсан бөгөөд мөн хуваагдал агуулсан зүсмэлийг (энд Disklabel зүсмэл гэж нэрлэлгүй харин Partition name буюу хуваалтын нэр гэж нэрлэсэн байна) харуулсан байна. Энэ хэсэгт мөн зүсмэлд буй сул хэсгийн хэмжээг харуулдаг бөгөөд уг зураг дээр бол уг хэмжээ нь одоогоор ямар ч хуваалтад хэрэглэгдээгүй байна.

Дэлгэцийн дунд хэсэг үүсгэгдсэн хуваалтуудыг харуулдаг бөгөөд үүнд, хуваалтын агуулж байгаа файл системийн нэр, түүний хэмжээ, мөн файл системд хамаатай нэмэлт сонголтуудыг харуулдаг.

Дэлгэцийн доод гурав дахь хэсэгт Disklabel дээр хэрэглэж болох гарын товчлууруудыг харуулдаг юм.

Зураг 2-18. Sysinstall-н Disklabel буюу дискэнд нэр өгөн засварлагч

Disklabel нь мөн автоматаар хуваалтуудыг үүсгээд анхдагч хэмжээг нь үүсгэж чаддаг. Анхдагч хэмжээ нь хуваалтын хэмжээг тогтоох дотоод алгоритмийн тусламжтайгаар дискийн хэмжээн дээр тулгуурлан тооцоологддог. Үүнийг туршихын тулд A товчийг дарж үзээрэй. Тэгвэл танд Зураг 2-19-тай төстэй зураг харуулагдана. Таны хэрэглэж байгаа дискнээс хамаараад анхны зааж өгсөн хэмжээ нь өөр байж болох юм. Хэрэв та анхны хэмжээг нь хүлээн зөвшөөрч л байвал энэ тийм чухал биш.

Тэмдэглэл: Анхдагч хуваалтад /tmp санг / хуваалтаас тусад нь өөр хуваалтад үүсгэдэг бөгөөд ингэснээр / хуваалтыг түр зуурын файлуудаар түргэн дүүргэхээс сэргийлж өгдөг.

Зураг 2-19. Sysinstall-н Disklabel хэрэгслийн автомат тохируулалт

Хэрэв та энэ автомат анхдагч хуваалтыг хүсэлгүй, өөрийнхөөрөө хуваахыг хүсвэл, сумтай товч хэрэглэж сонгоод D товч дарж устгаарай. Уг товчийг дахин дахин дарж бүх санал болгосон хуваалтыг устгана.

Эхний хуваалтыг үүсгэхийн тулд (a үсэг нь / -- root буюу эх файлын систем болдог), дэлгэцийн дээд хэсэгт буй зүсмэлийг сонгож байгаад C товч дарах хэрэгтэй. Лавлаж асуух цонх гарч ирэх бөгөөд уг цонхонд шинэ үүсгэх хуваалтын хэмжээг (Зураг 2-20 дээр харуулсан шиг) шаарддаг. Та хэрэв хүсвэл, уг талбарт хуваалтын хэмжээг дискний блок хэмжээг, эсвэл тоо оруулаад ард нь M үсэг тавьж мегабайтаар, G үсэг тавьж гигабайтаар, эсвэл C үсэг тавьж цилиндрийн тоогоор илэрхийлж өгч болдог.

Зураг 2-20. Root буюу эх хуваалт дээрх сул зай

Анхны харуулж байгаа хэмжээ нь зүсмэл дээр үлдсэн хэмжээг зааж харуулдаг. Хэрэв та өмнө харуулсан хуваалтын хэмжээг харж байгаа бол Backspace товч дарж устгаад Зураг 2-21 дээр харуулсан шиг 512M гэж оруулаад дараа нь [ OK ] дээр дарах хэрэгтэй.

Зураг 2-21. Root partition буюу эх хуваалтын хэмжээ

Хуваалтад зориулсан хэмжээг зааж өгсний дараа танаас уг хуваалт дээр файл систем байрлуулах уу эсвэл swap зай байрлуулах уу гэж асуудаг. Уг асуух цонхыг Зураг 2-22 дээр харуулав. Эхний хуваалт заавал файл систем байх ёстой учир энэ удаад FS гэсэн сонголтыг сонгоод Enter дээр дарах хэрэгтэй.

Зураг 2-22. Root Partition буюу эх хуваалтын төрлийг сонгох

Сүүлд нь, та файл систем үүсгэж байгаа болохоор хаана таниулж холбохыг Disklabel дээр зааж өгөх хэрэгтэй. Уг заалтыг оруулдаг цонхыг Зураг 2-23 дээр харуулав. root буюу эх файл системийн холбох цэг бол / болохоор та / гэж бичээд Enter дараарай.

Зураг 2-23. Root-г холбох цэг

Дэлгэцэн дээр үүсгэсэн хуваалтуудыг шинэчилж харуулах болно. Та өмнө хийсэн үйлдлээ бусад хуваалт дээр хийх хэрэгтэй. Хэрэв та swap хуваалт үүсгэх болонгуут swap хуваалтыг холбох шаардлага байдаггүй учир танаас файл системийн холбох цэг гэж асуухгүй. Сүүлийн хуваалт /usr-г үүсгэх үед санал болгосон хэмжээг өөрчлөлгүй тэр чигээр нь авч хэрэглэснээр зүсмэлийн үлдсэн бүх хэмжээг ашиглаж дуусах нь тэр билээ.

Таны FreeBSD DiskLabel дээрх сүүлчийн харуулалт нь Зураг 2-24 зурагтай төстэй байх болов уу. Гэхдээ таны сонгосон хэмжээнээс мэдээж өөр байж болно. Q товч дарж уг хэсгийг дуусгана.

Зураг 2-24. Sysinstall Disklabel засварлагч


2.7. Юу суулгахаа сонгох

2.7.1. Суулгах түгээлтийн төрлөө сонгох

Ямар түгээлтийн төрөл суулгах нь системийг ямар зорилгоор хэрэглэх болон дискэнд байгаа сул зайнаас маш их хамаарна. Суулгацад зориулж урьдчилан бэлдсэн суулгах хэмжээ нь суулгаж болох хамгийн бага хэмжээнээс эхлүүлээд бүгдийг суулгах хүртэл боломж өгнө. UNIX ба/эсвэл FreeBSD системийг шинээр сурч байгаа хүмүүст эдгээр сонголтоос нэгийг нь сонгох хэрэгтэй байх. Урьдчилан бэлдсэн түгээлтийн төрлийг өөрчилж суулгах нь дадлагажсан туршлагатай хэрэглэгчдэд илүүтэй зориулагдсан байдаг.

F1 товчийг түгээлтийн төрөл бүр дээр дарж юу агуулсан болохыг нь харж болно. Тусламж файлыг харсны дараа Enter товч дээр дарвал Select Distributions буюу түгээлтийн төрөл сонгох цэсэнд буцаж очдог.

Хэрэв та график горимд ажиллана гэж бодож байвал X серверийн тохиргоо болон анхдагч график горимын орчны сонголтыг FreeBSD-г суулгасны дараа хийх ёстой. Х серверийг суулгаж тохируулахтай холбоотой нэмэлт мэдээллийг Бүлэг 6 хэсгээс уншаарай.

Хэрэв та цаашдаа өөртөө тохируулсан цөм эмхэтгэж бэлдэнэ гэж бодож байгаа бол source code буюу эх бичлэг агуулсан сонголтыг сонгох хэрэгтэй. Яагаад өөрчилж тохируулсан цөм хэрэгтэй тухай нэмэлт мэдээллийг Бүлэг 9 хэсгээс харна уу.

Мэдээж, элдэв ид шидтэй, уян хатан систем бол юм болгоныг л агуулдаг. Хэрэв хангалттай дискний хэмжээ танд байгаа бол Зураг 2-25 зурагт харуулсны дагуу All гэдгийг сонгоод Enter товч дарах хэрэгтэй. Хэрэв танд дискний сул зай тийм чухал бол өөртөө тохирсон түгээлтийн төрлийг нь сонгоорой. Суулгацын дараа бусад түгээлтийн төрлөөс нэмж болох учраас та төгс сонголт байхгүй байна гэж бүү цухалдаарай.

Зураг 2-25. Суулгах түгээлтийн төрлөөс сонгох


2.7.2. Портын цуглуулгыг суулгах

Хүссэн түгээлтийн төрлөө сонгосны дараа FreeBSD-н портын цуглуулгыг суулгах боломж гардаг. Портын цуглуулга гэдэг нь програм суулгах амарчилсан арга юм. Портын цуглуулга нь шаардлагатай програмын эх бичлэгийг агуулдаггүй, харин гуравдагч хөгжүүлэгчдийн бүтээсэн програмыг татаж аваад хөрвүүлж суулгах автоматжуулсан үйлдлүүд байдаг. Бүлэг 5 дээр портын цуглуулгыг хэрэглэх талаар дурьдсан буй.

Порт суулгах програм нь таны дискний зай хангалттай эсэхийг шалгадаггүй. Тийм болохоор дискэнд тань хангалттай зай байгаа тохиолдолд энэ сонголтыг хийх хэрэгтэй. FreeBSD 9.0 хувилбарын байдлаар бол портын цуглуулга нь ойролцоогоор 500 MB хэмжээг дискэн дээр эзэлдэг. FreeBSD-н хувилбар шинэчлэх тутамд энэ хэмжээ ихсэнэ гэж тооцох хэрэгтэй.

                         User Confirmation Requested
 Would you like to install the FreeBSD ports collection? 

 This will give you ready access to over 23,000 ported software packages,
 at a cost of around 500 MB of disk space when "clean" and possibly much
 more than that if a lot of the distribution tarballs are loaded
 (unless you have the extra CDs from a FreeBSD CD/DVD distribution
 available and can mount it on /cdrom, in which case this is far less
 of a problem). 

 The Ports Collection is a very valuable resource and well worth having
 on your /usr partition, so it is advisable to say Yes to this option. 

 For more information on the Ports Collection & the latest ports,
 visit: 
     http://www.FreeBSD.org/ports  

                              [ Yes ]     No

Портын цуглуулга суулгана гэвэл [ Yes ] гэдгийг сонгоно, хэрэв суулгахгүй гэвэл [ No ] гэдгийг сонгоод Enter товч дээр дарж цааш нь үргэлжлүүлнэ. Choose Distributions буюу суулгах түгээлтийн төрөл сонгох цэс дахин гарч ирэх болно.

Зураг 2-26. Сонгосон суулгах түгээлтийн төрлөө лавлах

Хэрэв сонгосон түгээлтийн төрөлдөө та сэтгэл хангалуун байгаа бол сумтай товч ашиглан Exit цэсийг сонгоод дараа нь [ OK ] сонголт идэвхитэй байх үед Enter дээр дарж цааш нь үргэлжлүүлнэ.


2.8. Суулгацын төхөөрөмжөө сонгох

Хэрэв CDROM эсвэл DVD-нээс суулгахаар бол сумтай товчийг ашиглан Install from a FreeBSD CD/DVD буюу FreeBSD-г CD/DVD-нээс суулга гэдгийг сонгоно. Дараа нь [ OK ] товчийг сонгосны дараа Enter товч дарж суулгацыг үргэлжлүүлнэ.

Суулгацын бусад төрлийг сонгохоор бол тухайн тохирсон сонголтыг сонгож харгалзах зааврыг нь дагах хэрэгтэй.

F1 товч дарж суулгацын төхөөрөмжийн тухай тусламжийг үзэж болно. Enter товч дарж тусламжаас гаран суулгацын төхөөрөмж сонгох цэс рүү буцна.

Зураг 2-27. Суулгацын төхөөрөмж сонгох

FTP суулгацын горим: Таны сонгож болох гурван төрлийн FTP суулгацын горим бол: active FTP буюу идэвхитэй FTP, passive FTP буюу идэвхгүй FTP, эсвэл HTTP proxy буюу HTTP прокси.

FTP Active (идэвхитэй): Install from an FTP server (FTP серверээс суулгах)

Энэ сонголт нь бүх FTP дамжуулалтыг “Active буюу идэвхитэй” горим ашиглаж гүйцэтгэдэг. Энэ холболт нь галт ханаар дамжиж ажиллахгүй бөгөөд харин идэвхгүй горимыг дэмждэг хуучин FTP серверүүдтэй ихэвчлэн ажилладаг. Хэрэв таны холболт идэвхгүй горимд (анхдагч горим) гацаж байвал идэвхитэй болгоод үзэх хэрэгтэй!

FTP Passive (идэвхгүй): Install from an FTP server through a firewall (галт ханаар дамжиж FTP серверээс суулгах)

Энэ сонголт нь sysinstall-г бүх FTP үйлдлийг “Passive буюу идэвхгүй” горимд ажиллана гэж тохируулдаг. Энэ нь дурын TCP порт дээр ирж байгаа холболтыг зөвшөөрдөггүй галт ханаар дамжиж ажиллах боломж өгдөг.

FTP via a HTTP proxy (HTTP проксигоор дамжиж): Install from an FTP server through a http proxy (HTTP проксигоор дамжин FTP серверээс суулгах)

Энэ сонголт нь sysinstall-г HTTP протокол ашиглан (вэб хөтлөгч шиг) прокситой холбогдож бүх FTP үйлдлийг гүйцэтгэхээр тохируулж өгдөг. Прокси нь ирсэн хүсэлтийг хөрвүүлээд цааш нь FTP сервер уруу дамжуулдаг. Ингэснээр хэрэглэгчид бүх FTP холболтыг хориод HTTP холболтыг зөвшөөрсөн галт ханын дундуур дамжих боломж олгодог. Энэ тохиолдолд та FTP серверийг зааж өгөхөөс гадна мөн проксигийн нэрийг зааж өгдөг.

Прокси FTP серверийн тохируулгад жинхэнэ холбогдох серверийнхээ нэрийг хэрэглэгчийн нэрийн хэсэг мэт “@” тэмдгийн араас оруулж өгөх хэрэгтэй. Ингэснээр прокси серверийг жинхэнэ сервер мэт “хуурч” ажиллуулдаг. Жишээ нь та ftp.FreeBSD.org гэсэн серверээс суулгах хэрэгтэй бөгөөд 1234 порт дээр буй foo.example.com гэсэн FTP проксигоор дамжих ёстой байсан гэж авч үзье.

Энэ тохиолдолд та сонгох цэс рүү очоод, FTP хэрэглэгчийн нэрийг ftp@ftp.FreeBSD.org гэж оруулаад нууц үгэнд нь захианыхаа хаягийг бичих хэрэгтэй. Суулгацын төхөөрөмжөө FTP (эсвэл прокси нь дэмждэг бол идэвхгүй FTP) гэж сонгоод URL хаягийг ftp://foo.example.com:1234/pub/FreeBSD гэж оруулна.

ftp.FreeBSD.org-д буй /pub/FreeBSD хаяг нь foo.example.com гэсэн нэрээр дамжигдах бөгөөд та суулгацыг энэ машинаас (уг машин таны файлуудыг ftp.FreeBSD.org хаягнаас танд зуучилж өгнө) татаж авч өгдөг.


2.9. Суулгацыг баталж гүйцээх

Хэрэв хүсвэл, одоо суулгацыг гүйцэтгэж болно. Энэ нь мөн хатуу дискэнд өөрчлөлт оруулахаас сэргийлж цуцалж болох сүүлийн боломж юм.

                       User Confirmation Requested
 Last Chance! Are you SURE you want to continue the installation? 

 If you're running this on a disk with data you wish to save then WE
 STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! 

 We can take no responsibility for lost disk contents!  

                             [ Yes ]    No

[ Yes ] товчийг сонгоод Enter товч дарж суулгацыг гүйцэтгэнэ.

Сонгосон түгээлт, суулгацын төхөөрөмж, компьютерийн хурд зэргээс хамаараад суулгах хугацаа нь янз бүр. Суулгацын үед явцын төлөв байдлыг илэрхийлсэн хэд хэдэн бичиглэл харуулагддаг.

Дараах бичиглэл харуулагдсан үед суулгац гүйцсэн байдаг:

                               Message 

Congratulations! You now have FreeBSD installed on your system. 

We will now move on to the final configuration questions. 
For any option you do not wish to configure, simply select No. 

If you wish to re-enter this utility after the system is up, you may
do so by typing: /usr/sbin/sysinstall.

                                 [ OK ] 

                      [  Press enter or space  ]

Enter товч дээр дарж суулгацын дараах тохируулгыг хийх шатанд ордог.

[ No ] товчийг сонгоод Enter товч дарвал суулгац цуцлагдах бөгөөд системд ямар ч өөрчлөлт хийгдэхгүй. Тэгээд дараах мэдээллийг харуулдаг:

                                Message
Installation complete with some errors.  You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature. 
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed. 

                                 [ OK ]

Юу ч суулгаагүй тохиолдолд энэ мэдээлэл харуулагддаг. Enter товч дарж суулгацаас гарч болох Суулгацын үндсэн цэсэнд буцаж очдог.


2.10. Суулгацын дараах тохиргоо

Амжилттай суулгацын дараа маш олон тохируулгын хэсэг эхэлдэг. Уг тохируулгыг, шинээр FreeBSD-г ачаалахын өмнө хийж болох бөгөөд эсвэл суулгацын дараа sysinstall-г ажиллуулан Configure-г сонгож тохиргоог дахин хийж болдог.


2.10.1. Сүлжээний тохиргоо

Хэрэв та өмнө нь FTP суулгац хийхдээ РРР тохируулга хийчихсэн бол, энэ дэлгэц танд харуулагдахгүй бөгөөд хэрэв дахин тохируулах шаардлагатай бол өмнө бичсэний дагуу үйлдэх боломж буй.

Дотоод сүлжээний тухай нарийвчилсан мэдээлэл мөн FreeBSD-г сүлжээний gateway/router буюу хаалга/дамжуулагч (гарц/чиглүүлэгч) хэрхэн болгох талаар Нэмэлт сүлжээ хэсгээс харна уу.

                      User Confirmation Requested 
   Would you like to configure any Ethernet or PPP network devices?

                             [ Yes ]   No

Сүлжээний төхөөрөмжийг тохируулахыг хүсвэл [ Yes ] гэж сонгоод Enter товч дээр дарах хэрэгтэй. Үгүй бол [ No ] гэдгийг сонгоод цааш нь үргэлжлүүлээрэй.

Зураг 2-28. Сүлжээний төхөөрөмж сонгох нь

Тохируулах төхөөрөмжөө сумтай товч хэрэглэж сонгоод Enter товч дээр дарна.

                      User Confirmation Requested 
       Do you want to try IPv6 configuration of the interface?

                              Yes   [ No ]

Энэ жишээ болгож авсан хувийн локал сүлжээнд одоо сонгосон байгаа интернэт төрлийн протокол нь (IPv4) бүрэн хангалттай болохоор [ No ] гэж сонгогдоод Enter товч дарагдсан байна.

Хэрэв та өмнө нь байсан IPv6 сүлжээгээр RA сервер уруу холбогдсон байгаа бол [ Yes ] гэж сонгоод Enter дарах хэрэгтэй. Ингэсний дараа хэсэг хугацааны турш RA серверийг хайдаг.

                             User Confirmation Requested 
        Do you want to try DHCP configuration of the interface?

                              Yes   [ No ]

Хэрэв DHCP (Dynamic Host Configuration Protocol буюу Динамикаар компьютерийг тохируулах протокол) шаардлагагүй бол [ No ] гэж сонгоод Enter дээр дарах хэрэгтэй.

[ Yes ] гэж сонгосноор dhclient хэрэгслийг ажиллуулдаг бөгөөд хэрэв энэ нь амжилттай болвол сүлжээний тохиргоо автоматаар хийгдсэн байдаг. Нэмэлт мэдээлэл авахыг хүсвэл Хэсэг 30.5 хэсгээс харна уу.

Дараах сүлжээг тохируулах цонхонд, уг системийг дотоод сүлжээний gateway буюу хаалга болгон тохируулж байгааг харуулж байна.

Зураг 2-29. ed0-д сүлжээний тохиргоог хийх нь

Tab товч хэрэглэн тохиргооны талбаруудад сэлгэж шаардлагатай тохируулгыг нь оруулаарай:

Host буюу уг компьютерийн нэр

Уг компьютерийн бүрэн нэр. Жишээ нь энэ тохиолдолд k6-2.example.com.

Domain буюу домэйн

Таны компьютерийн ашиглаж буй домэйн нэр. Энэ тохиолдолд example.com болж байна.

IPv4 Gateway буюу хаалга

Дотоод биш компьютер уруу өгөгдөл цааш дамжуулан илгээгч компьютерийн IP хаяг. Хэрэв таны тохируулж байгаа машин тань сүлжээндээ ийм дамжуулагчийн үүрэг гүйцэтгэгч биш, харин тийм дамжуулагчийг ашигладаг бол, энэ талбарт бөглөөрэй. Хэрэв таны машин интернэт уруу оруулдаг gateway буюу хаалганы үүрэг гүйцэтгэдэг бол, энэ талбарыг хоосон орхих ёстой . IPv4 Gateway буюу хаалга нь анхдагч хаалга юм уу эсвэл анхдагч route буюу зам заагч гэж нэрлэгддэг.

Name server буюу Нэрийн сервер

Дотоод DNS серверийн IP хаяг. Хэрэв дотоод хувийн сүлжээнд DNS сервер гэж байхгүй бол интернэтээр хангагч байгууллагын DNS серверийн хаягийг оруулж өгдөг. (энэ жишээнд 208.163.10.2).

IPv4 хаяг

Энэ сүлжээний төхөөрөмжид өгөгдсөн IP хаяг нь 192.168.0.1 гэж тохируулагдаж байна

Netmask буюу сүлжээний ангилагч

Энэ дотоод сүлжээний хаягийн хувьд ашиглагдах хаягийн блок нь 255.255.255.0 бүхий сүлжээний ангилагчтай байх бөгөөд ингэснээр хаяглалт нь 192.168.0.0 - 192.168.255.255 хүртэл байх болно.

Extra options to ifconfig буюу ifconfig-н нэмэлт тохиргоонууд

ifconfig дээр нэмэгдэх сүлжээний төхөөрөмжтэй холбоотой нэмэлт тохиргоонууд энд бичигдэнэ. Энэ жишээн дээр нэмэх зүйл байхгүй байна.

Хэрэв дууссан бол Tab товч ашиглан [ OK ] цэсийг сонгоод Enter товч дарна.

                      User Confirmation Requested 
        Would you like to bring the ed0 interface right now?

                             [ Yes ]   No

[ Yes ] гэж сонгоод Enter товч дарснаар уг машины сүлжээний холболтыг идэвхжүүлдэг. Нэгэнт машиныг дараа нь дахин ачаалах хэрэг гардаг болохоор энэ холболт нь нэг их ашиглагдаад байдаггүй билээ.


2.10.2. Gateway буюу сүлжээний хаалганы тохиргоо

                       User Confirmation Requested 
       Do you want this machine to function as a network gateway?

                              [ Yes ]    No

Хэрэв уг машин нь, дотоод сүлжээнд хаалгачийн үүрэг гүйцэтгэж машинуудын хооронд багц мэдээллүүдийг дамжуулах үүрэгтэй бол [ Yes ] гэдгийг сонгоод Enter дээр дараарай. Хэрэв зөвхөн сүлжээнд холбогдох машин бол [ No ] гэж сонгоод Enter дээр дарж үргэлжлүүлнэ.


2.10.3. Интернэт үйлчилгээнүүдийг тохируулах

                      User Confirmation Requested
Do you want to configure inetd and the network services that it provides?

                               Yes   [ No ]

Хэрэв [ No ] гэж сонговол, telnetd гэх мэт төрөл бүрийн үйлчилгээнүүдийг хорьдог. Ингэсэн үед алсаас холбогдох хэрэглэгч нь telnet мэтийн програм хэрэглэж уг машин уруу холбогдож чадахгүй болно гэсэн үг. Харин дотоод хэрэглэгчид бол гадаад машин уруу telnet-г ашиглан холбогдож чадсаар байх болно.

Эдгээр үйлчилгээнүүдийг суулгацын дараа /etc/inetd.conf файлыг дуртай завсарлагчаараа нээж засварласнаар идэвхжүүлж болдог. Энэ тухай дэлгэрэнгүй мэдээллийг Хэсэг 30.2.1 хэсгээс харна уу.

Хэрэв та суулгаж байх явцад эдгээр үйлчилгээнүүдийг тохируулахыг хүсвэл [ Yes ] гэж сонгоно. Нэмэлт лавлаж асуусан цонх харуулагдах болно:

                      User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd.  Enabling
these services may increase risk of security problems by increasing
the exposure of your system.

With this in mind, do you wish to enable inetd?

                             [ Yes ]   No

[ Yes ] дээр дарж үргэлжлүүлээрэй.

                      User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available.  The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled.  Note that services for
IPv6 must be separately enabled from IPv4 services.

Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.

                             [ Yes ]   No

[ Yes ] гэж сонгосноор тохируулгын файлыг засварлагч файл дээр нээдэг бөгөөд мөрний урд нь буй # тэмдгийг авсанаар тухайн үйлчилгээг идэвхжүүлдэг.

Зураг 2-30. inetd.conf файлыг засварлах нь

Хүссэн үйлчилгээгээ нэмсний дараа Esc товч дарвал, хийсэн өөрчлөлтөө хадгалаад гарах сонголттой цэс харуулагддаг.


2.10.4. SSH нэвтрэлтийг идэвхжүүлэх нь

                      User Confirmation Requested
                   Would you like to enable SSH login?
                          Yes        [  No  ]

[ Yes ]-г сонгосноор OpenSSH-ийн демон програм болох sshd(8)-г идэвхжүүлэх болно. Энэ нь таны машин руу алсаас аюулгүйгээр хандах боломжийг олгоно. OpenSSH-ийн талаар дэлгэрэнгүй мэдээллийг Хэсэг 15.10-с үзнэ үү.


2.10.5. Anonymous буюу нэр нь үл мэдэгч FTP үйлчилгээ

                      User Confirmation Requested
 Do you want to have anonymous FTP access to this machine? 

                              Yes    [ No ]

2.10.5.1. Anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийг хориглох

Анхдагч сонгогдсон байгаа [ No ] гэдэг дээр Enter дарвал нэр нь үл мэдэгдэгчээр FTP үйлчилгээг хориглодог бөгөөд харин FTP хандах эрхтэй ба нууц үгтэй хэрэглэгчид хандаж болдог.


2.10.5.2. Anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийг зөвшөөрөх

Энэ тохиолдолд хүн болгон таны машин уруу нэр нь үл мэдэгдэгч болж FTP холболт хэрэглэн хандаж болдог. Нууцлал болон аюулгүй байдлынхаа талаар сайн бодсоны дараа энэ үйлчилгээг хэрэглэх эсэхээ шийдэх хэрэгтэй. Нууцлал болон аюулгүй байдлын талаар Бүлэг 15 хуудсанд бичсэн буй.

anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийг зөвшөөрөхийн тулд, сумтай товч ашиглан [ Yes ] гэж сонгоод Enter дараарай. Нэмэлт батлалт хүлээх дэлгэц харуулагдах болно:

                       User Confirmation Requested
 Anonymous FTP permits un-authenticated users to connect to the system
 FTP server, if FTP service is enabled.  Anonymous users are
 restricted to a specific subset of the file system, and the default
 configuration provides a drop-box incoming directory to which uploads
 are permitted.  You must separately enable both inetd(8), and enable
 ftpd(8) in inetd.conf(5) for FTP services to be available.  If you
 did not do so earlier, you will have the opportunity to enable inetd(8)
 again later.

 If you want the server to be read-only you should leave the upload
 directory option empty and add the -r command-line option to ftpd(8)
 in inetd.conf(5)

 Do you wish to continue configuring anonymous FTP?

                          [ Yes ]         No

Энэ мэдэгдэл нь хэрэв та нэр нь үл мэдэгдэгч FTP холболтуудыг зөвшөөрөхийг хүсэж байгаа бол FTP үйлчилгээг /etc/inetd.conf файлд бас идэвхжүүлэх ёстойг мэдээлж байна, Хэсэг 2.10.3-г үзнэ үү. Үргэлжлүүлэхийн тулд [ Yes ]-г сонгож Enter-г дарна; доор үзүүлсэн дэлгэц гарах болно:

Зураг 2-31. Anonymous нэр нь үл мэдэгдэгч FTP үйлчилгээний анхдагч тохиргоо

Мэдээллийн талбаруудыг сонгохын тулд Tab ашиглаж тохирох мэдээллийг оруулах хэрэгтэй:

UID

Нэр нь үл мэдэгдэх FTP хэрэглэгчид өгөхийг хүссэн хэрэглэгчийн ID. Хуулагдсан бүх файлуудыг энэ ID эзэмших болно.

Group

Нэр нь үл мэдэгдэх FTP хэрэглэгчийг аль бүлэгт байхыг заана.

Comment

/etc/passwd файл дахь энэ хэрэглэгчийн тайлбарласан мөр.

FTP Root Directory

Нэр нь үл мэдэгдэх FTP-д зориулсан файлууд хаана байхыг заана.

Upload Subdirectory

Нэр нь үл мэдэгдэх FTP хэрэглэгчдийн хуулсан файлууд байх сан.

FTP-н root буюу эх сан нь анхдагч тохиргоогоор /var санд байрлагддаг. Хэрэв тэнд хангалттай зай байхгүй бол /usr санг ашиглаж FTP эх сангаа /usr/ftp гэж тохируулж болох юм.

Хэрэв та оруулсан утгуудыг зөв болсон гэж бодож байгаа бол Enter дээр дарж үргэлжлүүлээрэй.

                          User Confirmation Requested 
         Create a welcome message file for anonymous FTP users?

                              [ Yes ]    No

Хэрэв та [ Yes ] гэж сонгоод Enter дээр дарвал, танаас текст оруулуулах зорилгоор засварлагч програм автоматаар ажилладаг.

Зураг 2-32. FTP мэндчилгээний бичлэгийг засварлах нь

Энэ бол ee гэгч засварлагч юм. Зааврын дагуу мэндчилгээний захиаг өөрчилж болох бөгөөд, эсвэл дараа нь өөрийн дуртай засварлагчаар нээж уг бичлэгийг өөрчилж бас болно. Тэмдэглэж хэлэхэд, уг файлын нэр болон байрлал нь програмын доод хэсэгт харуулагдаж байгааг анзаарна уу.

Esc дээр дарвал, цэстэй жижиг цонх үүсэх бөгөөд түүн дотор a) leave editor буюу засварлагчаас гарах цэс анхдагчаар сонгогдсон байдаг. Enter дарж гараад үргэлжлүүлж болно. Эсвэл Enter дахин дарж оруулсан өөрчлөлтүүдээ хадгалдаг.


2.10.6. Network File System буюу сүлжээний файл системийг тохируулах

Network File System (NFS) нь сүлжээнд буй файлуудыг хувааж хэрэглэх боломж олгодог. Машин нь сервер, хэрэглэгч эсвэл хоёулангаар нь болж тохируулагдаж болдог. Хэсэг 30.3 хэсгээс нэмэлт мэдээллийг харна уу.


2.10.6.1. NFS сервер

                       User Confirmation Requested
 Do you want to configure this machine as an NFS server? 

                              Yes    [ No ]

Хэрэв танд сүлжээний файл системийн сервер шаардлагагүй бол [ No ] гэж сонгоод Enter дараарай.

Хэрэв сервер хэрэгтэй гэвэл [ Yes ] гэж сонгох хэрэгтэй бөгөөд танд жижиг цонхон дээр exports файл үүсгэгдэх ёстой гэсэн сануулга гарч ирдэг.

                               Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
                               [ OK ]

Enter дарж үргэлжлүүлдэг. Текст засварлагч ажиллаж, түүнд exports файлуудыг үүсгэх ба засварлах үйлдлүүдийг гүйцэтгэдэг.

Зураг 2-33. exports файлыг засварлах нь

Заавар ашиглан, одоо байгаа файл системийг нэмэх эсвэл сүүлд дуртай засварлагчаараа нээж засварлаж болох юм. Файлын нэр болон байршлыг дэлгэцийн доод хэсэгт харуулсан байгааг анзаарна уу.

Esc дарахад цэстэй цонх үүсэх бөгөөд a) leave editor буюу засварлагчийг орхи цэс анхлан сонгогдсон байдаг. Enter дарж гараад цааш нь үргэлжлүүлнэ.


2.10.6.2. NFS Client буюу хэрэглэгч

NFS хэрэглэгчид нь NFS сервер уруу холбогддог.

                       User Confirmation Requested
 Do you want to configure this machine as an NFS client? 

                              Yes   [ No ]

Сумтай товч ашиглан [ Yes ] эсвэл [ No ] сонголтыг шийдвэрээсээ шалтгаалан сонгоод Enter дээр дараарай.


2.10.7. Системийн консол тохиргоо

Системийнхээ консолыг өөрчлөх хэд хэдэн тохиргоо байдаг.

                      User Confirmation Requested 
       Would you like to customize your system console settings?

                              [ Yes ]  No

Тохиргооны сонголтуудыг харах юм уу тохируулахын тулд [ Yes ] гэж сонгоод Enter дарна.

Зураг 2-34. Системийн консолын тохируулгын сонголтууд

Дэлгэц амраах тохиргоо байнга хэрэглэгддэг. Сумтай товчоор Saver гэж сонгоод Enter дараарай.

Зураг 2-35. Дэлгэц амраах тохиргоо

Сум товч ашиглаж хүссэн дэлгэц амраах хөтөлбөрөө сонгоод Enter дарна. Системийн консол тохируулах цонх буцаж гарч ирдэг.

Дэлгэц амраах хөтөлбөрийн ажиллах анхдагч хугацаа нь 300 секунд байдаг. Цагийн энэ хугацааг өөрчлөхийнх тулд Saver гэдгийг дахин сонгоно. Түүн дотор байгаа сонголтуудаас Timeout гэдгийг сумтай товч ашиглаж сонгоод Enter дээр дарна. Ингэхэд танд жижиг цонх харуулагддаг:

Зураг 2-36. Дэлгэц амраагчийн ажиллах хугацаа

Утгыг өөрчлөөд [ OK ] гэж сонгон Enter дээр дарж буцаад системийн консолын тохиргооны цэсэнд очдог.

Зураг 2-37. Системийн консолын тохиргооноос гарах

Exit гэдгийг сонгоод Enter дээр дарвал суулгацын дараах тохиргоогоо үргэлжлүүлэх хэсэгт очино.


2.10.8. Цагийн бүсийг тохируулах

Машиныхаа цагийн бүсийг тохируулснаар тухайн бүсийн цагтай холбогдолтой өөрчлөлтүүд автоматаар хийгдэх давуу талтай байдаг.

Жишээн дээр, Америкийн Нэгдсэн Улсын Eastern буюу зүүн хэсгийн цагийн бүсийг тохируулж байна. Таны тохируулга байгаа газраасаа шалтгаалж өөр байх болно.

                      User Confirmation Requested 
          Would you like to set this machine's time zone now?

                            [ Yes ]   No

[ Yes ] гэж сонгоод Enter дарвал цагийн бүсийг тохируулах болно.

                       User Confirmation Requested
 Is this machine's CMOS clock set to UTC? If it is set to local time
 or you don't know, please choose NO here! 

                              Yes   [ No ]

Машиныхаа цагийн тохируулгаасаа хамаарч [ Yes ] эсвэл [ No ] гэдгийг сонгоод Enter дарна ( мэдэхгүй бол [ No ] гэдгийг сонгоорой ) .

Зураг 2-38. Оршин буй бүсээ сонгох

Тохирсон бүсээ сумтай товч хэрэглэж сонгоод Enter дээр дарна.

Зураг 2-39. Оршин буй улсаа сонгох

Тохирох улсаа сонгоод Enter дээр дарна.

Зураг 2-40. Цагийн бүсээ сонгох

Сумтай товч хэрэглэж тохирсон цагийн бүсээ сонгоод Enter дээр дарна.

                            Confirmation 
            Does the abbreviation 'EDT' look reasonable?

                            [ Yes ]   No

Цагийн бүсийн товчлол нэрийг лавлаж асуух хэсэг гарч ирдэг. Хэрэв уг товчлол нь танд тохирч байвал Enter дарж суулгацын дараах тохиргоог цааш нь үргэлжлүүлээрэй.


2.10.9. Линукс тохиромж

Тэмдэглэл: Энэ хэсэг нь зөвхөн FreeBSD 7.X-ийн суулгалттай хамааралтай бөгөөд хэрэв та FreeBSD 8.X-г суулгах бол энэ дэлгэц гарч ирэхгүй.

                      User Confirmation Requested 
          Would you like to enable Linux binary compatibility?

                            [ Yes ]   No

[ Yes ] гэж сонгоод Enter дээр дарвал Линуксийн програмууд FreeBSD дээр ажиллах боломжтой болдог. Суулгац нь Линукстай тохиромжтой ажиллуулах нэмэлт багцыг нэмдэг.

Хэрэв та FTP-р суулгаж байгаа бол машин интернэт уруу холбогдох хэрэгтэй болно. Заримдаа алсад буй ftp байрлалд Линуксийн тохиромжийн файлууд байхгүй байдаг. Гэвч үүнийг сүүлд суулгах боломжтой.


2.10.10. Хулганы тохиргоо

Энэ тохиргоо нь таныг 3 товчтой хулганаар, програм болон консолд текст тасдаж сануулах болон буулгах боломж өгдөг. Хэрэв 2 товчит хулгана хэрэглэж байгаа бол moused(8) гарын авлагаас лавлаж хэрхэн гурван товчтой хулгана болгон ажиллуулж болдгийг харж болно. Энэ жишээн дээр USB биш төрлийн хулганы тохируулгыг харуулж байна (PS/2 эсвэл COM портоор холбогддог хулгана):

                      User Confirmation Requested 
         Does this system have a PS/2, serial, or bus mouse?

                            [ Yes ]    No

[ Yes ] гэж PS/2, цувааа эсвэл bus буюу шугаман төрлийн хулганыг сонгох юм уу эсвэл [ No ] гэж USB төрлийн хулганыг сонгоод Enter товч дээр дараарай.

Зураг 2-41. Хулганы холбогдох төрлийг сонгох нь

Сумтай товч ашиглан Type гэж сонгоод Enter дарна.

Зураг 2-42. Хулганы холбогдох төрлийг тохируулах

Энэ жишээнд хэрэглэгдэж байгаа хулгана PS/2 төрлийнх бөгөөд анхдагч Auto буюу автомат гэсэн тохируулга таарч байдаг. Энэ холбогдох төрлийг нь өөрчлөнө гэвэл сумтай товч ашиглан сонгоорой. Дараа нь [ OK ]-г гэрэлтүүлж сонгогдсон эсэхийг магадлаад Enter дээр дарж энэ цэснээс гарах болно.

Зураг 2-43. Хулганы холбогдох портыг нь сонгох

Сумтай товч ашиглан Port цэсийг сонгоод Enter дээр дарна.

Зураг 2-44. Хулганы портыг тохируулах

Энэ системд PS/2 төрлийн хулгана хэрэглэгдэж байгаа болохоор анхдагч тохируулга болох PS/2 сонгогдсон байдаг. Портыг солихын тулд сумтай товч ашиглаж сонгоод Enter дээр дараарай.

Зураг 2-45. Хулганы Daemon буюу далд чөтгөрийг идэвхжүүлэх нь

Эцэст нь сумтай товч ашиглаад Enable буюу идэвхжүүл гэж сонгоод Enter товч дээр дарж хулганыг ажиллуулагч далд чөтгөрийг ажиллуулж эхэлдэг.

Зураг 2-46. Хулганы далд чөтгөрийг шалгах

Хулганаа дэлгэцэн дээр хөдөлгөж шалгаж үзэх хэрэгтэй. Хэрэв зүгээр байх юм бол [ Yes ] гэж сонгоод Enter дарна. Хэрэв үгүй бол хулгана зөв тохируулагдаагүй байна гэсэн үг -- тийм болохоор [ No ] гэж сонгоод өөр тохируулга хийж турших хэрэгтэй.

Exit буюу гарах гэдгийг сумтай товчоор очиж сонгоод Enter дээр дарж суулгацын дараах тохируулга уруу буцаж очиж үргэлжлүүлнэ.


2.10.11. Програмын багц суулгах

Багцууд нь урьдчилан хөрвүүлэгдсэн програмууд бөгөөд програм суулгах хамгийн эвтэйхэн арга юм.

Үзүүлэх журмаар нэг багцыг суулгах явцыг энд харуулав. Хэрэв шаардлагатай бол нэмэлт багцууд мөн давхар суугддаг. Суулгасны дараа sysinstall-г нэмэлт багц суулгахад хэрэглэж болно.

                     User Confirmation Requested
 The FreeBSD package collection is a collection of hundreds of
 ready-to-run applications, from text editors to games to WEB servers
 and more. Would you like to browse the collection now? 

                            [ Yes ]   No

[ Yes ] гэж сонгоод Enter дарвал багц програмуудыг сонгох цонхонд очих болно:

Зураг 2-47. Багцын төрлийг сонгох

Зөвхөн тухайн үед сонгогдсон байгаа суулгацын төрөл дээр байгаа багцууд харуулагдах болно.

Хэрэв All гэж сонговол, байгаа бүх багцыг харж болно. Сумтай товч ашиглан сонгоод Enter дээр дараарай.

Байгаа бүх багцууд сонгогдож болохоор танд харуулагдах болно:

Зураг 2-48. Багц сонгох

Энд харуулснаар bash бүрхүүл сонгогдсон байна. Space товч ашиглаж суулгахыг хүссэн бүх багцаа сонгоорой. Сонгох бүрд дэлгэцийн доод хэсэгт багцны товч тайлбар гардаг.

Tab товчоор сонгогдсон багц болон [ OK ], ба [ Cancel ] сонголтуудын хооронд дамжиж болно.

Суулгахаар хүссэн багцаа сонгож дууссаны дараа Tab товч дарж [ OK ] гэж сонгоод Enter дээр дарж багц сонгох цэс рүү буцаж очдог.

Зүүн ба баруун товчоор бас [ OK ] ба [ Cancel ]-н хооронд сэлгэж болно. Энэ аргаар та бас [ OK ] гэж сонгоод Enter дээр дарж багц сонгох хэсэгт буцаж очиж бас болно.

Зураг 2-49. Багц суулгах

Tab юм уу эсвэл сумтай товч ашиглан [ Install ] гэж сонгоод Enter дарах хэрэгтэй. Таны сонгосон багцуудыг танд харуулж суулгахыг хүсэж байгааг тань лавлаж асуух болно:

Зураг 2-50. Багц суулгалтын лавлалт

[ OK ] гэж сонгоод Enter дарж багц суулгалтыг гүйцэтгэдэг. Суулгах явцын мэдэгдлүүд суулгаж дуустал танд харуулагддаг. Хэрэв ямар нэг алдаа гарвал тэмдэглэж авах хэрэгтэй.

Багц суулгасны дараа сүүлийн тохиргоог хийдэг. Та багц суулгаж дууссан ч гэсэн сүүлийн тохируулгыг хийхийн тулд Install гэдгийг бас дарж болно.


2.10.12. Хэрэглэгч/Бүлэг нэмэх

Суулгацын явцад та хамгийн багадаа нэг хэрэглэгчийн эрх нээх хэрэгтэй бөгөөд, энэ эрхээрээ root эрх хэрэглэлгүйгээр системдээ нэвтэрч болно. root хуваалт нь голдуу тун бага хэмжээтэй байдаг болохоор root эрхээр програм ажиллуулбал түргэн дүүрдэг. Хамгийн хэцүү хүндрэлийг доор мэдүүлж байна:

                     User Confirmation Requested
 Would you like to add any initial user accounts to the system? Adding
 at least one account for yourself at this stage is suggested since
 working as the "root" user is dangerous (it is easy to do things which
 adversely affect the entire system). 

                            [ Yes ]   No

[ Yes ] гэж сонгоод Enter дарж шинэ хэрэглэгч нэмэх болно.

Зураг 2-51. User буюу хэрэглэгч гэж сонгоно

Сумтай товч хэрэглэн User гэж сонгоод Enter дээр дарна.

Зураг 2-52. Хэрэглэгчийн мэдээллийг оруулах

Tab товч хэрэглэн талбаруудад дамжин оруулга хийх бүр доор харуулсан тайлбарууд талбар бүрд харуулагдах болно:

Login ID

Хэрэглэгчийн нэвтрэх шинэ нэр(заавал шаардлагатай).

UID

Уг хэрэглэгчийн ID дугаар (хоосон орхивол автоматаар сонгогдох болно).

Group

Уг хэрэглэгчийн хамрагдах бүлгийн нэр (хоосон орхивол автоматаар сонгогдох болно).

Password

Тухайн хэрэглэгчийн нууц үг (энэ талбарт тун анхааралтай оруулах хэрэгтэй!).

Full name

Хэрэглэгчийн бүтэн нэр (дэлгэрэнгүй мэдээлэл).

Member groups

Энэ хэрэглэгчийн хамрагдаж болох бүлгүүд (өөрөөр хэлбэл хандаж болох бүлгүүд).

Home directory

Хэрэглэгчийн эхлэл сан (хоосон орхивол автоматаар сонгогдох болно ).

Login shell

Хэрэглэгчийн холбогдох бүрхүүл (хоосон орхивол анхдагч бүрхүүл сонгогдох болно. Өөрөөр хэлбэл, /bin/sh).

Жишээн дээр bash-г суулгасан болохоор, /bin/sh гэдгийг /usr/local/bin/bash гэж орлуулж болно. Суугдаагүй бүрхүүл хэрэглэвэл систем уруугаа нэвтэрч чадахгүй болно. BSD ертөнцөд хамгийн өргөн хэрэглэдэг бүрхүүл бол C бүрхүүл бөгөөд /bin/tcsh гэж олддог.

Мөн энэ хэрэглэгч нь wheel бүлэг рүү нэмэгдсэн бөгөөд ингэснээр root эрхүүдтэй супер хэрэглэгч болох боломжтой болно.

Хэрэв та оруулсан мэдээллээ зөв боллоо гэж бодож байгаа бол [ OK ] дээр дарахад хэрэглэгч ба бүлэг нэмэх цонх дахин харуулагддаг:

Зураг 2-53. Хэрэглэгч ба бүлэг зохицуулах хэсгээс гарах

Хэрэгцээтэй бол энэ үед бүлэг нэмж болно. Хэрэв шаардлага гарвал суулгацын дараа sysinstall ашиглан нэмж болно.

Хэрэв та хэрэглэгч нэмж дууссан бол сумтай товч ашиглан Exit гэж сонгоод Enter дээр дарж суулгацаа үргэлжлүүлээрэй.


2.10.13. root нууц үг оруулах

                        Message
 Now you must set the system manager's password.  
 This is the password you'll use to log in as "root". 

                         [ OK ] 

               [ Press enter or space ]

Enter дээр дарж root нууц үг оруулна.

Нууц үгийг хоёр удаа зөв оруулах ёстой. Мартахааргүй нууц үг оруулаарай гэж сануулах нь илүүдэх байх. Таны оруулсан нууц үгийг давтаж харуулах юм уу эсвэл одоор дүрсэлж харуулахгүй болохыг сануулж байна.

New password:
Retype new password :

Нууц үгийг амжилттай оруулсны дараа суулгац цаашаагаа үргэлжлэх болно.


2.10.14. Суулгацаас гарах

Хэрэв та одоо нэмэлт сүлжээний тохиргоо юм уу эсвэл ямар нэгэн өөр тохиргоо хийхийг хүсвэл, та яг одоо юм уу эсвэл суулгасны дараа sysinstall ашиглаж суулгана.

                     User Confirmation Requested
 Visit the general configuration menu for a chance to set any last
 options? 

                              Yes   [ No ]

Сумтай товчоор [ No ] гэж сонгоод Enter дээр дарж үндсэн суулгацын цэс рүү буцах болно.

Зураг 2-54. Суулгацаас гарах

Сумтай товчоор [X Exit Install] гэдгийг сонгон Enter дээр дарна. Танаас гарах гэж буйг тань лавлаж асуух болно:

                     User Confirmation Requested
 Are you sure you wish to exit? The system will reboot.

                            [ Yes ]   No

[ Yes ] гэж сонгоно. Хэрэв та CDROM хөтлөгчөөс ачаалж байгаа бол дараах мэдэгдэл дискийг хөтлөгчөөс авахыг танаас хүсэх болно:

                    Message
 Be sure to remove the media from the drive.

                    [ OK ]
           [ Press enter or space ]

Машин дахин ачаалж эхэлтэл CDROM цоожлогдох бөгөөд тэр үед та (хурдан) сугалж авч болно. [ OK ] дарж дахин ачаална.

Систем одоо шинээр ачаалагдах бөгөөд ямар нэгэн алдаа гарахыг ажиглах хэрэгтэй. Дэлгэрэнгүйг Хэсэг 2.10.16-с үзнэ үү.


2.10.15. Сүлжээний үйлчилгээний нэмэлт тохиргоо

Хувь нэмэр болгон оруулсан Том Рөүдс.

Сүлжээний үйлчилгээнүүдийг тохируулах нь, энэ талын мэдлэггүй шинэ хэрэглэгчдэд нэлээн хатуу боорцог мэт санагддаг. Сүлжээний тохиргоог хийж интернэт хэрэглэнэ гэдэг бол FreeBSD-г оруулаад орчин үеийн үйлдлийн системүүдэд маш чухал үйлдэл бөгөөд ингэж сурах явцдаа FreeBSD-н сүлжээтэй холбоотой нэмэлт боломжуудыг ойлгож авдаг. Суулгацын явцад энэ үйлдлийг хийхээсээ өмнө, хэрэглэгч нь хэрэглэх үйлчилгээнийхээ тухай тодорхой ойлголттой байх ёстой.

Сүлжээний үйлчилгээнүүд нь, сүлжээгээр ямар нэгэн оруулга хүлээж авдаг програмуудыг хэлж байгаа юм. Эдгээр програмуудыг “ эвдэлж сөнөөдөг ” төрлийнх биш байлгах гэж маш их хичээсэн байдаг. Харамсалтай нь програмчид төгс биш байдаг болохоор сүлжээний үйлчилгээнд байгаа ямар нэг цоорхой нүх хорхойг довтлогчид ашиглан муу юманд хэрэглэдэг. Та зөвхөн өөрийнхөө мэддэг болон хэрэгтэй сүлжээний үйлчилгээгээ идэвхжүүлэх нь чухал. Хэрэв танд эргэлзээтэй байгаа бол, уг үйлчилгээг хэрэгцээтэй болох хүртлээ хорьсон байх нь дээр байдаг. Та үүнийг сүүлд sysinstall ашиглаад юм уу эсвэл /etc/rc.conf файлын тусламжтайгаар хэзээд идэвхжүүлж болно.

Networking тохируулгыг сонгоход доор дурдсантай төстэй цэсийг үзүүлэх болно:

Зураг 2-55. Сүлжээний дээд түвшний тохиргоо

Эхний тохиргоо Interfaces буюу сүлжээний төхөөрөмжийн талаар бид өмнө нь Хэсэг 2.10.1 хэсэгт үзсэн болохоор энд алгаслаа.

AMD сонголтыг сонгосноор BSD automatic mount буюу автоматаар таньж холбох хэрэгслийг нэмж өгдөг. Энэ нь голдуу NFS холболт (өмнө тайлбарласан буй) ашиглах үед, алсад буй файл системийг таньж холбоход хэрэглэгддэг. Ямар нэгэн онцгой тохируулга энд шаардлагагүй.

Дараагийн тохируулга, AMD Flags сонголт. Хэрэв энэ сонгогдвол жижиг цэстэй цонх үсэрч гарч ирдэг бөгөөд ямар AMD тохиргоо хийхийг зааж өгдөг. Уг цэсэнд анхдагч тохируулгууд нь заагдчихсан байдаг:

-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map

-a сонголт нь анхдагч таньж холбох байршлыг зааж өгдөг бөгөөд энэ тохиолдолд /.amd_mnt гэсэн байна. -l сонголт анхдагч log буюу бүртгэл файлыг зааж өгдөг боловч хэрэв syslogd хэрэглэгдэж байгаа бол бүх бүртгэж бичих үйлдлүүд системийн log daemon буюу далд ажилладаг бүртгэл бичигч чөтгөр уруу илгээгддэг. /host сан нь алсад буй компьютерийн экспортолсон файлуудыг таньж холбох санг илэрхийлж байхад, /net сан нь IP хаягаас экспортлогдсон файлуудыг таньж холбох санг зааж өгч байна. /etc/amd.map файл нь AMD-н экспортын анхдагч тохируулгуудыг заасан байна.

Anon FTP сонголт нь anonymous буюу нэр үл мэдэгдэгч FTP холболтыг зөвшөөрдөг. Үүнийг сонгосноор, уг машиныг нэр нь үл мэдэгдэгч холболт хүлээж авдаг FTP сервер болгож байна. Энэ сонголтыг дагаад үүсэх нууцлал болон аюулгүй байдлыг бодох хэрэгтэй. Өөр цэс үүсэж аюулгүй байдалтай холбоотой нөхцлүүд болон тохируулгын талаар сануулга өгдөг.

Gateway тохируулга нь өмнө тайлбарласны дагуу машиныг хэрхэн сүлжээний хаалга болгож тохируулах тохиргоонуудыг санал болгодог. Энэ хэсэгт та өмнө нь суулгацын үед санамсаргүй хүсэлгүйгээр тохируулснаа Gateway сонголт ашиглаж буцааж болно.

Inetd сонголтоор өмнө тайлбарласан inetd(8) далд чөтгөрийг тэр чигээр нь хорьж болно.

Mail сонголтоор системийн андагч MTA буюу Mail Transfer Agent буюу захиа дамжуулагч агентийг тохируулдаг. Энэ сонголтыг сонгох үед дараах цэс харуулагддаг:

Зураг 2-56. Анхдагч MTA-г сонгох

Та энэ хэсэгт, суулгах анхдагч MTA-г сонгох гэж байна. MTA бол системийн хэрэглэгчид уруу юм уу эсвэл интернэтэд байгаа хэрэглэгчид уруу захиа илгээгч энгийн сервер билээ.

Sendmail-г сонгосноор, та FreeBSD-н анхдагч бөгөөд алдаршиж тархсан sendmail серверийг суулгах болно. Sendmail local сонголт нь sendmail-г анхдагч MTA болгож суулгах боловч интернэтээс ирж байгаа захиануудыг хүлээж авахгүйгээр тохируулдаг. Бусад сонголтууд болох Postfix болон Exim нар нь Sendmail-тэй ижил үүрэг гүйцэтгэдэг. Тэд хоёулаа захиа илгээдэг бөгөөд зарим хэрэглэгчид sendmail-н оронд MTA болгож хэрэглэж болдог.

MTA-г сонгосны дараа юм уу эсвэл MTA-г сонголгүйгээр цаашлах үед, NFS client тохируулгыг хийх сүлжээний тохируулгын цэс гарч ирдэг.

NFS client сонголт нь системийг NFS сүлжээгээр сервертэй холбоход хэрэглэгддэг. NFS сервер нь NFS протокол ашиглан, файл системийг сүлжээгээр бусад машинд хандах боломж өгдөг. Хэрэв энэ нь дангаараа ажилладаг машин бол, энэ сонголтыг сонгохгүйгээр үлдээж болно. Систем танаас нэмэлт тохируулга хийхийг шаардаж магадгүй; сервер хэрэглэгч хоёрын тохиргооны тухай дэлгэрэнгүй мэдээллийг Хэсэг 30.3 хэсгээс харна уу.

Саяны сонголтын доор нь NFS server-н тохируулга байгаа бөгөөд системийг NFS сервер болгоход хэрэглэгдэнэ. Энэ хэсэгт RPC буюу алсад буй компьютерт програм ажиллуулагч үйлчилгээг эхлүүлэх тохиргоо хийдэг. RPC нь компьютер болон програм хоёрын хоорондох холболтыг зохицуулахад хэрэглэгддэг.

Түүний дараа Ntpdate гэсэн сонголт байгаа ба энэ нь цаг тохируулах үүрэгтэй. Хэрэв үүнийг сонговол, дараах цэс танд харуулагдана:

Зураг 2-57. Ntpdate тохиргоо

Энэ хэсэгт, өөртөө хамгийн ойрхон буй серверийг сонгох хэрэгтэй. Ойрхон сервер сонгосноор, таны цагийн тохиргоог хол байгаа сервер уруу мэдээлэл авах гэж цаг алдалгүйгээр илүү нарийвчлалтай хийх боломж ихсэнэ.

Дараагийн сонголт бол PCNFSD юм. Энэ сонголт net/pcnfsd багцыг Портын цуглуулгаас суулгадаг. Энэ нь Microsoft-н MS-DOS зэрэг таньж бүртгэн нэвтрэх үйлчилгээ хийж чаддаггүй үйлдлийн системүүдэд NFS таньж нэвтрүүлэх үйлчилгээг санал болгодог тун хэрэгтэй систем юм.

Та одоо жаахан доош нь гулгуулж дараагийн сонголтуудыг харах хэрэгтэй:

Зураг 2-58. Доод түвшний сүлжээний тохируулга

rpcbind(8), rpc.statd(8), болон rpc.lockd(8) хэрэгслүүд бүгдээрээ Remote Procedure Calls (RPC) буюу алс компьютерт процедур ажиллуулагчид хэрэглэгдэнэ. rpcbind хэрэгсэл NFS сервер болон хэрэглэгчийн хоорондох холболтыг зохицуулдаг бөгөөд NFS серверийг зөв ажиллаж байх нөхцөл шаарддаг. rpc.statd далд чөтгөр нь өөр компьютер дээр буй rpc.statd далд чөтгөртэй харилцаж төлөв байдлыг хянаж байдаг. Мэдээлэгдэх ёстой төлөв байдлууд нь /var/db/statd.status файлд хадгалагаж байгаа. Дараагийн сонголт нь rpc.lockd бөгөөд энэ нь сонгогдвол файлуудыг түгжих үйлдлийг хангаж өгдөг. Энэ голдуу rpc.statd-тэй хэрэглэгддэг бөгөөд ямар компьютер ямар файлыг хорихыг хүсэж байна, хэр давтамжтай хүсэж байгаа зэргийн төлвийг хянаж байдаг. Сүүлийн хоёр сонголт нь дибаг хийхэд маш гайхамшигтай байдаг боловч эдгээр нь NFS сервер болон хэрэглэгч зөв ажиллахад шаардлагагүй.

Цааш нь харвал Routed сонголт буй. Энэ нь дамжуулга хийгч далд чөтгөр юм. routed(8) хэрэгсэл нь сүлжээний дамжуулах хүснэгтийг удирдаж multicast дамжуулагчдыг олж хүсэлтийн дагуу сүлжээн дэх физик холболттой машинд өөрийнхөө дамжуулах хүснэгтийг нийлүүлж байдаг. Энэ хэрэгсэл нь голдуу дотоод сүлжээндээ хаалганы үүрэг гүйцэтгэж байгаа машинд хэрэглэгддэг. Үүнийг сонговол цэс гарч ирэн уг хэрэгслийн байрлах анхдагч байршлыг асуудаг. Уг цэсэн дээр анхдагч байршил нь аль хэдийнээ сонгогдсон байдаг болохоор шууд Enter дарж болно. Танд дахин өөр цэс харуулагдах бөгөөд, энэ үед танаас routed далд чөтгөрийг ажиллууллах нэмэлт сонголт оруулахыг асуудаг. Анхдагч сонголт нь -q байдаг бөгөөд үргэлж энэ сонголттойгоо харуулагдах болно.

Дараагийн тохиргооны сонголт бол Rwhod бөгөөд хэрэв энэ сонгогдвол, системийн эхлэн ачаалах үед rwhod(8) далд чөтгөрийг ажиллуулдаг. rwhod хэрэгсэл нь сүлжээгээр байнга системийн мэдээнүүдийг цацах, эсвэл “consumer” горимдоо байгаа бол уг мэдээнүүдийг цуглуулж байдаг. Дэлгэрэнгүй мэдээллийг ruptime(1) юм уу rwho(1)-н гарын авлагаас харж болно.

Жагсаалтын сүүлийн өмнөх сонголт бол sshd(8)далд чөтгөр юм. Энэ нь OpenSSH-д зориулсан, нууцлалын хувиргууртай бүрхүүлийн сервер бөгөөд энгийн хэрэглээнд байдаг telnet болон FTP серверүүдийн оронд хэрэглэхийг санал болгодог. sshd сервер нь нэг компьютераас нөгөө уруу нууцлалын хувиргалттай холболт тогтоож байдаг.

Эцэст нь TCP Extensions сонголт байгаа. Энэ хэрэв сонгогдвол, RFC 1323 болон RFC 1644-д заасан байдаг TCP өргөтгөлийг идэвхжүүлдэг. Ихэнх компьютер дээр энэ нь сүлжээний хурдыг ихэсгэдэг ч гэсэн зарим холболтыг унагаж болзошгүй. Энэ нь зөвхөн дангаараа ажилладаг серверт санал болгогдож байдаг.

Ингээд та сүлжээнийхээ үйлчилгээнүүдийг тохируулж дууслаа. Та хамгийн дээд талын X Exit уруу гүйлгэж дараагийн тохиргоо уруу орон үргэлжлүүлж болох бөгөөд эсвэл X Exit-ийг хоёр удаа сонгон дараа нь [X Exit Install]-г сонгон sysinstall-с гарч болно.


2.10.16. FreeBSD эхлэн ачаалалт

2.10.16.1. FreeBSD/i386 машин дээрх FreeBSD-н эхлэн ачаалалт

Хэрэв бүх зүйл амжилттай болсон бол дэлгэцэн дээр тань мэдэгдлүүд урсаж өнгөрөөд нэвтрэх хэсэгт тулж ирэх болно. Урсаж өнгөрсөн мэдэгдлүүдийг эргэж харахын тулд Scroll-Lock товчийг дараад PgUp болон PgDn товчоор дээш доош нь гулгуулдаг. Scroll-Lock товчийг дахин дарснаар нэвтрэх хэсэгт буцаж ирдэг.

Бүх мэдэгдэл харуулагдахгүй байх нөхцөл үүсвэл (түр хадгалагчийн хэмжээнээс болж) сүүлд нь тушаал өгдөг горим дээр dmesg тушаалаар харж болдог.

Суулгацын үед нэмж оруулсан хэрэглэгчийн нэр болон нууц үгээр нэвтэрч орох хэрэгтэй (энэ тохиолдолд rpratt гэж буй). Шаардлага гараагүй бол root эрхээр орохоос сэргийлэх хэрэгтэй.

Ердийн эхлэн ачаалах үеийн мэдэгдэл (хувилбарын тухай хэсгийг оруулалгүйгээр):

Copyright (c) 1992-2002 The FreeBSD Project. 
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved. 

Timecounter "i8254"  frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x580  Stepping = 0
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> 
  AMD Features=0x80000800<SYSCALL,3DNow!> 
real memory  = 268435456 (262144K bytes) 
config> di sn0 
config> di lnc0 
config> di le0 
config> di ie0 
config> di fe0 
config> di cs0 
config> di bt0  
config> di aic0 
config> di aha0 
config> di adv0 
config> q 
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000. 
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c. 
md0: Malloc disk 
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard 
npx0: INT 16 interface 
pcib0: <Host to PCI bridge> on motherboard 
pci0: <PCI bus> on pcib0 
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 
pci1: <PCI bus> on pcib1 
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 
isa0: <ISA bus> on isab0 
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 
ata0: at 0x1f0 irq 14 on atapci0 
ata1: at 0x170 irq 15 on atapci0 
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0 
usb0: <VIA 83C572 USB controller> on uhci0 
usb0: USB revision 1.0 
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 
uhub0: 2 ports with 2 removable, self powered 
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0 
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0 
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit) 
isa0: too many dependant configs (8) 
isa0: unexpected small tag 14 
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold 
fd0: <1440-KB 3.5" drive> on fdc0 drive 0 
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0 
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 
kbd0 at atkbd0 
psm0: <PS/2 Mouse> irq 12 on atkbdc0 
psm0: model Generic PS/2 mouse, device ID 0 
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0 
sc0: VGA <16 virtual consoles, flags=0x300> 
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 
sio0: type 16550A 
sio1 at port 0x2f8-0x2ff irq 3 on isa0 
sio1: type 16550A 
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode 
ppc0: FIFO with 16/16/15 bytes threshold 
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0: 
plip0: <PLIP network interface> on ppbus0 
lpt0: <Printer> on ppbus0 
lpt0: Interrupt-driven port 
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33 
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33 
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4 
Mounting root from ufs:/dev/ad0s1a 
swapon: adding /dev/ad0s1b as swap device 
Automatic boot in progress... 
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS 
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS 
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS 
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname. 
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
        ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8 
        inet6 ::1 prefixlen 128 
        inet 127.0.0.1 netmask 0xff000000 
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:. 
additional daemons: syslogd. 
Doing additional network setup:. 
Starting final network daemons: creating ssh RSA host key 
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key. 
Your public key has been saved in /etc/ssh/ssh_host_key.pub. 
The key fingerprint is: 
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
 creating ssh DSA host key 
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key. 
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. 
The key fingerprint is: 
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib 
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout 
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:. 
rc.i386 configuring syscons: blank_time screensaver moused. 
Additional ABI support: linux. 
Local package initialization:. 
Additional TCP options:. 

FreeBSD/i386 (k6-2.example.com) (ttyv0)

login: rpratt 
Password:

RSA болон DSA түлхүүрүүдийг үүсгэх явц нь удаан машин дээр хэсэг хугацаа авч магадгүй. Энэ явц нь зөвхөн суулгацын дараах анхны эхлэн ачаалах үед л хийгддэг. Дараагийн ачаалах үед хийгддэггүй болохоор хурдан байх болно.

Хэрэв Х сервер тохируулагдаад анхдагч график орчин сонгогдсон байгаа бол, startx гэсэн тушаалаар тэдгээрийг ажиллуулж болно.


2.10.17. FreeBSD-г унтраах

Үйлдлийн системийг зөв унтраах нь тун чухал. Шууд хүч хэрэглэн унтрааж болохгүй. Эхлээд su гэсэн тушаал оруулаад root нууц үгээ бичиж өгөн супер хэрэглэгч болох хэрэгтэй. Энэ нь зөвхөн тухайн хэрэглэгч wheel бүлэгт хамаарагдсан үед биелнэ. Эсвэл root хэрэглэгч болж нэвтрэх хэрэгтэй. Ингээд shutdown -h now тушаалыг оруулна.

The operating system has halted. 
Please press any key to reboot.

Унтраах тушаал өгсний дараа “Please press any key to reboot буюу дурын товч дарж шинээр ачаална уу” гэсэн мэдэгдэл гарсан үед унтраах нь зөв юм. Хэрэв шууд унтраалгүйгээр ямар нэгэн товч дарвал систем шинээр ачаалагдах болно.

Та мөн Ctrl+Alt+Del товчлуурын хослол хэрэглэн шинээр ачаалж болох боловч, ердийн үед энэ нь тийм ч их хэрэглэгддэг арга биш.


2.11. Хүндрэл тулгарвал

Дараах хэсэгт хүмүүсийн мэдээлсний дагуу тэдэнд тулгарч байсан энгийн хүндрэлийн тухай авч хэлэлцэх болно. Мөн энэ хэсэгт MS-DOS эсвэл Windows үйлдлийн системийг FreeBSD-тэй хамт хэрхэн нэг компьютерт суулгаж ачаалах тухай хүмүүсийн асуусан асуулт болон хариултыг агуулсан буй.


2.11.1. Хэрэв буруу тийшээ эргээд эхэлбэл юу хийх хэрэгтэй вэ

Компьютерийн төрлөөс хамааран бүх юмыг 100% цэвэр гүйцэтгэж болохгүй ч гэсэн хэрэв ямар нэгэн зүйл буруу болбол, та хэд хэдэн арга хэмжээг авч чадна.

Таны FreeBSD-ийн хувилбарт зориулсан Тоног төхөөрөмжийн тэмдэглэл баримтаас таны төхөөрөмжийг дэмжсэн эсэхийг нь шалгах хэрэгтэй.

Хэрэв таны төхөөрөмж дэмжигдсэн мөртлөө хүндрэл гарвал, та өөрсчөн тохируулсан цөм бүтээх шаардлагатай болно. Энэ нь GENERIC цөмд байхгүй төхөөрөмжүүдийн дэмжлэгийг нэмэх боломжийг танд олгох болно. Ачаалагч дискэн дээр буй цөм нь таны төхөөрөмжүүдийг IRQ-үүд, IO хаяг, мөн DMA суваг зэрэг тохиргоог үйлдвэрээс зааж өгсөн анхныхаа утгатайгаа байгаа гэж авч үздэг. Хэрэв таны төхөөрөмжийн тохиргоо өөрчлөгдсөн бол тэдгээр зүйлсийг FreeBSD хаанаас олж болохыг хэлэхийн тулд та цөмийн тохиргоогоо засварлаж дахин бүтээх хэрэгтэй болно.

Мөн залгаж туршигдаагүй төхөөрөмжүүд сүүлд залгагдаад туршигдах үед алдаа үүсгэх тохиолдол гардаг. Ийм үед хүндрэлтэй байгаа төхөөрөмжийн драйвер буюу таниулагч файлуудыг нь хорих хэрэгтэй.

Тэмдэглэл: Ихэнх суулгацын хүндрэлүүд нь төхөөрөмжийн үйлдвэрээс гаргасан сүүлийн үеийн таниулагч файлуудыг нь татаж авч суулгаснаар илаарших нөхцөл бүрддэг бөгөөд ялангуяа motherboard буюу эх хавтан дээр иймэрхүү үзэгдэл их гардаг. Эх хавтангийн үйлдвэрээс гаргасан програмыг ер нь BIOS гэж нэрлэдэг ба бараг бүх үйлдвэрүүд өөрсдийн гэсэн вэб хуудастай бөгөөд уг програмыг хэрхэн сүүлийн үеийн хэлбэрт шинэчлэх тухай мэдээлэл болон файлууд агуулж байдаг.

Ихэнх үйлдвэрлэгчид нь, ямар нэгэн ноцтой хүндрэл гарахаас зайлсхийж хүндтэй нөхцөл үүсээгүй бол BIOS-г шинэчилж хэрэггүй гэж зөвлөдөг. Шинэчлэх явц амжилтгүй болох нөхцөл нь BIOS цахилгаан схемд ноцтой эвдрэл гаргаж болзошгүйг анхаарна уу.


2.11.2. MS-DOS® болон Windows-н файл системийг хэрэглэх нь

FreeBSD нь одоогийн байдлаар Double Space™ програмаар шахсан файл системийг дэмждэггүй. Тийм болохоор, хэрэв ийм төрлийн файл системд хандахаар бол эхлээд уг файл системийн шахалтыг задлаад, дараа нь файл уруу хандах хэрэгтэй. Задлах энэ үйлдэл нь Compression Agent програмыг Start> Programs > доторх System Tools цэснээс гүйцэтгэгдэж болно.

FreeBSD нь MS-DOS файлын системүүдийг (заримдаа FAT файлын системүүд гэгддэг) дэмжиж чаддаг. mount_msdosfs(8) тушаал нь тийм файлын системүүдийг байгаа сангийн шатлалд системийн агуулгад хандах боломжтой болгон холбож өгдөг. mount_msdosfs(8)-ийг ихэвчлэн шууд ажиллуулдаггүй; харин /etc/fstab файл дахь мөрийн тусламжтай системээр дуудагдах юм уу эсвэл mount(8) хэрэгслийг тохирох нэмэлт өгөгдлүүдтэй нь дууддаг.

/etc/fstab файлд байж болох мөр ийм байна:

/dev/ad0sN  /dos  msdosfs rw  0	0

Тэмдэглэл: /dos сан энэ тохиолдолд өмнө нь үүссэн байх ёстой. /etc/fstab-ийн хэлбэршилтийн талаар илүү дэлгэрэнгүйг fstab(5)-с үзнэ үү.

MS-DOS файлын системд зориулсан mount(8) дуудлага иймэрхүү байна:

# mount -t msdosfs /dev/ad0s1 /mnt

Энэ жишээн дээр, MS-DOS файл систем нь эхний дискний эхний хуваалт дээр байрласныг харуулж байна. Мэдээж таны систем дээр янз бүр байх бөгөөд dmesg болон mount тушаалуудын гаралтын мэдээллийг харах хэрэгтэй. Эдгээр тушаалууд нь дискний хуваалтын тухай хангалттай мэдээллийг өгч чаддаг.

Тэмдэглэл: FreeBSD нь дискний зүсмэлүүдийг (MS-DOS зүсмэлүүд) бусад үйлдлийн системүүдээс өөрөөр дугаарлаж болно. Ялангуяа өргөтгөсөн MS-DOS файлын системүүдэд үндсэн MS-DOS хуваалтуудынхаас дээш дугааруудыг ихэвчлэн өгдөг. fdisk(8) хэрэгсэл нь аль зүсмэлүүд FreeBSD-д хамаарч байгаа болон аль нь бусад үйлдлийн системүүдэд хамаатай болохыг тодорхойлоход тусалж чадна.

NTFS хуваалтыг бас таниулан холбохдоо өмнөхтэй ижил аргаар mount_ntfs(8) тушаал хэрэглэж болно.


2.11.3. Алдааг олж засварлахтай холбоотой асуултууд болон хариултууд

2.11.3.1. Миний систем ачаалж тоног төхөөрөмж шалгаж байх үедээ гацах юм уу эсвэл суулгах үед хачин ажиллаад байна, эсвэл уян дискний хөтчийг шалгахгүй байна.
2.11.3.2. FreeBSD-г суулгасны дараа хатуу дискнээс анх удаагаа ачаалах гэхэд цөм дуудагдаж миний тоног төхөөрөмжийг шалгасан боловч иймэрхүү мэдээлэл гаргаад зогсоод байна:
2.11.3.3. FreeBSD-г суулгасны дараа хатуу дискнээс анх удаагаа ачаалах гэхэд ачаалах цэсэн дээр Ачаалагч Менежерийн хүлээх мөр зөвхөн F?-г хэвлээд ачаалалт цааш үргэлжлэхгүй байна.
2.11.3.4. Систем миний ed(4) сүлжээний картыг олсон боловч device timeout гэсэн алдаа гарсаар байх юм.
2.11.3.5. sysinstall-ийг X11 терминал дээр ашигласан тохиолдолд цайвар саарал дээр шар фонтыг уншихад хэцүү байдаг. Энэ програмын хувьд илүү өндөр нягтралтай үзүүлэх боломж бий юу?

2.11.3.1. Миний систем ачаалж тоног төхөөрөмж шалгаж байх үедээ гацах юм уу эсвэл суулгах үед хачин ажиллаад байна, эсвэл уян дискний хөтчийг шалгахгүй байна.

FreeBSD нь системийн ACPI үйлчилгээг ачаалах явцад илрүүлсэн бол түүнийг i386, amd64 болон ia64 тавцангууд дээр өргөнөөр ашигладаг. Харамсалтай нь ACPI драйвер болон системийн эх хавтан ба BIOS-д алдаанууд байсаар байгаа билээ. Гуравдагч шатны ачаалагч дуудагч дээр hint.acpi.0.disabled тохиргоог тохируулснаар ACPI-ийн хэрэглээг хааж болдог:

set hint.acpi.0.disabled="1"

Энэ нь систем ачаалах тоолонд өөрчлөгдөх учир /boot/loader.conf файлд hint.acpi.0.disabled="1" мөрийг нэмж өгөх шаардлагатай. Ачаалагч дуудагчийн талаар дэлгэрэнгүй мэдээллийг Хэсэг 13.1 хэсгээс олж болно.

2.11.3.2. FreeBSD-г суулгасны дараа хатуу дискнээс анх удаагаа ачаалах гэхэд цөм дуудагдаж миний тоног төхөөрөмжийг шалгасан боловч иймэрхүү мэдээлэл гаргаад зогсоод байна:

changing root device to ad1s1a panic: cannot mount root

Юу болохоо больчихсон бэ? Би юу хийх вэ?

Ачаалахад тусламж маягаар bios_drive:interface(unit,partition)kernel_name гэж гарсан зүйл юу вэ?

Ачаалах диск системийн эхний диск биш тохиолдолд гардаг асуудал аль эртнийх байдаг. BIOS нь FreeBSD-д өөр дугаарлах аргыг хэрэглэдэг бөгөөд аль дугаар нь алинтай таардгийг зөвөөр тохируулах төвөгтэй байдаг.

Ачаалах диск нь систем дээр эхний диск биш бол FreeBSD-д түүнийг олоход тусламж хэрэгтэй болдог. Энд хоёр нийтлэг тохиолдол байдаг бөгөөд аль ч тохиолдолд та FreeBSD-д root файлын систем хаана байгаа хэлж өгөх шаардлагатай. Та BIOS-ийн дискний дугаар, дискний төрөл болон тэр төрөлд зориулсан FreeBSD-ийн дискний дугаарыг зааж өгөн үүнийг хийж болно.

Эхнийх нь та хоёр IDE дисктэй бөгөөд диск бүр өөр өөрийн IDE шугамнууд дээр мастер болон тохируулагдсан байх ба FreeBSD-г хоёр дахь дискнээс ачаалахыг хүсэж байгаа тохиолдол юм. BIOS нь эдгээрийг диск 0 болон диск 1 гэж хардаг бол FreeBSD нь тэдгээрийг ad0 болон ad2 гэж хардаг.

FreeBSD нь ad төрлийн BIOS диск 1 дээр байгаа бөгөөд FreeBSD-ийн дискний дугаар нь 2 юм. Тэгэхээр та ингэж хэлж өгөх хэрэгтэй-:

1:ad(2,a)kernel

Хэрэв та анхдагч шугаман дээр боол дисктэй бол дээр дурдсан нь шаардлагагүй юм (тэгээд бас маш буруу юм).

Хоёр дахь нь та систем дээрээ нэг буюу түүнээс олон IDE дискнүүдтэй бөгөөд SCSI дискнээс ачаалах тохиолдол юм. Энэ тохиолдолд FreeBSD-ийн дискний дугаар нь BIOS-ийн дискний дугаараас бага байдаг. Хэрэв хоёр IDE дисктэй бөгөөд бас SCSI дисктэй бол SCSI диск нь da төрлийн BIOS диск 2 ба FreeBSD-ийн дискний дугаар 0 байна. Тэгэхээр та:

2:da(0,a)kernel

гэж FreeBSD-д систем дэх эхний SCSI диск болох BIOS диск 2-оос ачаалахыг хүсэж байгаагаа хэлж өгнө. Хэрэв танд зөвхөн нэг IDE диск байсан бол дээрхийн оронд та 1:-ийг харах байсан билээ.

Та ашиглах зөв утгуудыг тодорхойлсныхоо дараа стандарт текст засварлагч ашиглан /boot.config файлд бичиж өгсөн шигээ тушаалыг хийж өгч болно. Өөрөөр зааварлаагүй л бол FreeBSD нь энэ файлын агуулгыг boot: хүлээх мөрний анхдагч хариулт болгон ашиглах болно.

2.11.3.3. FreeBSD-г суулгасны дараа хатуу дискнээс анх удаагаа ачаалах гэхэд ачаалах цэсэн дээр Ачаалагч Менежерийн хүлээх мөр зөвхөн F?-г хэвлээд ачаалалт цааш үргэлжлэхгүй байна.

Таныг FreeBSD-г суулгаж байхад хатуу дискний геометр Хуваалтын засварлагч дээр буруу тохируулагдсан байна. Хуваалтын засварлагч уруу буцаж ороод өөрийн хатуу дискний жинхэнэ геометрийг зааж өгөх хэрэгтэй. Та зөв геометртэйгээр FreeBSD-г эхнээс нь дахин суулгах шаардлагатай.

Хэрэв та өөрийн машины хувьд зөв геометрийг ерөөсөө олж чадахгүй байгаа бол ийм зөвлөгөө өгье: дискний эхэнд жижиг MS-DOS хуваалт суулгаад дараа нь FreeBSD-г суулгах хэрэгтэй. Суулгалтын програм нь MS-DOS хуваалтыг харж түүнээс зөв геометрийг олж авахыг оролддог. Ингэснээр энэ нь ихэвчлэн ажилладаг билээ.

Дараах зааврыг зөвлөхөө больсон бөгөөд энд лавлагааны зориулалтаар оруулав:

Хэрэв та (ирээдүйд) MS-DOS, Линукс эсвэл бусад үйлдлийн системтэй нийцтэй байх эсэх нь хамаагүй цэвэр FreeBSD сервер эсвэл ажлын станц суулгаж байгаа бол FreeBSD нь хамгийн эхний сектороос эхлээд сүүлийн сектор хүртэл бүхэл дискийг ашигладаг стандарт бус тохируулгыг сонгож бүхэл дискийг (хуваалтын засварлагч дээр A) ашиглах сонголт бас танд байдаг. Энэ нь геометрийн бүх л тооцооллыг орхих боловч дискэн дээр FreeBSD-ээс өөр бусад үйлдлийн системийг хэзээ ч ажиллуулахгүй гэж тооцоогүй л бол зарим талаараа хязгаарлагдмал байдаг.

2.11.3.4. Систем миний ed(4) сүлжээний картыг олсон боловч device timeout гэсэн алдаа гарсаар байх юм.

Таны карт /boot/device.hints файл дээр зааснаас өөр IRQ-г ашиглаж байж магадгүй юм. ed(4) драйвер нь анхдагчаар “soft” буюу зөөлөн тохиргоог (MS-DOS дээр EZSETUP-ийг ашиглан оруулсан утгуудыг) ашигладаггүй боловч хэрэв таныг интерфэйсийн хувьд -1-г зааж өгөх юм бол програм хангамжийн тохиргоог ашиглах болно.

Карт дээр байгаа жижиг шилжүүлэгчийг тогтсон буюу хатуу тохиргоо руу (шаардлагатай бол цөмийн тохиргоонуудыг өөрчлөн) тохируулах юм уу эсвэл зөвлөгөөг hint.ed.0.irq="-1" гэж IRQ-г -1 болгож тохируулан зааж өгөх хэрэгтэй. Энэ нь цөмд зөөлөн тохиргоог ашиглахыг хэлж өгөх болно.

Өөр нэг шалтгаан нь таны карт IRQ 2-той хуваалцсан IRQ 9 дээр байж (ялангуяа IRQ 2-г ашигладаг VGA карттай бол) байнга асуудал болж байдаг байж болох юм. Та аль болох IRQ 2 эсвэл 9-ийг ашиглах ёсгүй юм.

2.11.3.5. sysinstall-ийг X11 терминал дээр ашигласан тохиолдолд цайвар саарал дээр шар фонтыг уншихад хэцүү байдаг. Энэ програмын хувьд илүү өндөр нягтралтай үзүүлэх боломж бий юу?

Хэрэв та X11-ийг суулгасан бөгөөд sysinstall-ийн сонгосон анхдагч өнгөнүүд нь xterm(1) эсвэл rxvt(1) ашиглах үед текстийг унших боломжгүй болгоод байвал илүү бараан саарал болгохын тулд өөрийн ~/.Xdefaults файлдаа дараах XTerm*color7: #c0c0c0 мөрийг нэмэх хэрэгтэй.


2.12. Суулгацын нэмэлт гарын авлага

Хамтарч бэлтгэсэн Валентино Вашетто. Шинэчилсэн Марк Фонвил.

Энэ хэсэгт FreeBSD-г хэрхэн онцгой тохиолдолд суулгах талаар өгүүлэх болно.


2.12.1. FreeBSD-г дэлгэц юм уу гар үгүй систем дээр суулгах нь

Энэ төрлийн суулгацыг FreeBSD-г суулгаж байгаа машин нь дэлгэцгүй юм уу тэр байтугай дэлгэцийн залгуургүй байдаг учраас “headless install буюу толгойгүй суулгац” гэж нэрлэдэг. Яаж ингэж болдог юм бол? гэж та гайхаж байвал, serial console буюу цуваа консол хэрэглэснээр ийм суулгац хийж болдог. Цуваа консолоор өөр машиныг дэлгэц болон гар болгож ашиглаж болдог. Үүнийг гүйцэтгэхийн тулд Хэсэг 2.3.7 дээр заасан зааврын дагуу суулгац USB санах ойн зөөгчийг бэлдэх юм уу эсвэл зөв ISO дүрсийг татаж авах хэрэгтэй. Хэсэг 2.13.1 хэсгээс үзнэ үү.

Эдгээр зөөгчийг өөрчилж цуваа консолоос эхлэн ачаалахын тулд дараах алхмуудыг биелүүлэх хэрэгтэй (хэрэв та CDROM ашиглах хүсэлтэй байгаа бол эхний алхмыг алгасаж болно):

  1. Эхлэн ачаалагч USB зөөгчийг цуваа консол уруу холбогдохыг зөвшөөрөх

    Хэрэв та урьд нь USB зөөгчөөс эхлэн ачаалж байсан бол, FreeBSD нь ердийн энгийн суулгацын горимоор эхлэн ачаалах болно. Гэхдээ бид нар суулгацаа цуваа холболт уруу орж эхлүүлэх ёстой билээ. Ингэхийн тулд FreeBSD уруу USB дискийг mount(8) тушаал ашиглаж таниулж холбох хэрэгтэй.

    # mount /dev/da0a /mnt
    

    Тэмдэглэл: Өөрийн нөхцөл байдалд зориулж төхөөрөмжийн цэг болон холбох цэгийг тааруулаарай.

    Одоо та зөөгчийг холбосон болохоор USB зөөгчийг цуваа консолоос эхлэн ачаалахыг зааж өгөх ёстой. Та USB зөөгчийн файлын системийн loader.conf файлыг системийн консолийг цуваа консол гэж зааж байгаа мөрөн дээр нэмж өгөх шаардлагатай:

    # echo 'console="comconsole"' >> /mnt/boot/loader.conf
    

    Ингээд та USB зөөгчөө зөв тохируулчихсан учраас таниулсан дискээ umount(8) тушаалаар буцааж салгах хэрэгтэй:

    # umount /mnt
    

    Одоо USB зөөгчөө салгаад энэ процедурын гурав дахь шат руу шууд очиж болно.

  2. Цуваа консол руу ачаалахаар суулгалтын CD-г идэвхжүүлэх

    Хэрэв та суулгалтын ISO дүрснээс (Хэсэг 2.13.1-с үзнэ үү) өөрийн хийсэн CD-ээс ачаалж байгаа бол FreeBSD ердийн суулгалтын горим руу ачаалах болно. Бид FreeBSD-г цуваа консол руу ачаалахыг хүсэж байгаа. Ингэхийн тулд та CD-R зөөгч рүү шарахаасаа өмнө ISO дүрсийг задлан засаж дахин үүсгэх ёстой.

    Суулгалт ISO дүрсийг жишээ нь FreeBSD-9.0-RELEASE-i386-disc1.iso хадгалсан FreeBSD системээс tar(1) хэрэгслийг ашиглан бүх файлыг задалж авна:

    # mkdir /path/to/headless-iso
    # tar -C /path/to/headless-iso -pxvf FreeBSD-9.0-RELEASE-i386-disc1.iso
    

    Та одоо цуваа консол руу ачаалах суулгалтын зөөгчийг тохируулж өгөх ёстой. Та задлагдсан ISO дүрснээс авсан loader.conf файлдаа системийн консолийг цуваа консол болгон тохируулах мөр нэмж өгөх ёстой:

    # echo 'console="comconsole"' >> /path/to/headless-iso/boot/loader.conf
    

    Дараа нь бид өөрчлөгдсөн модноос шинэ ISO дүрсээ үүсгэж болно. sysutils/cdrtools портын mkisofs(8) хэрэгслийг ашиглана:

    # mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "Headless_install" \
    	    -o Headless-FreeBSD-9.0-RELEASE-i386-disc1.iso /path/to/headless-iso
    

    Одоо та өөрийн ISO дүрсийг зөв тохируулсан болохоор өөрийн дуртай шарагч програмаар CD-R руу шарж болно.

  3. Null-modem кабелиар холбох

    Та одоо хоёр машинаа null-modem кабелиар холбох хэрэгтэй. Уг хоёр машины цуваа холболтын залгууранд нь тус тусад нь залгах хэрэгтэй. Ердийн цуваа залгуур энэ тохиолдолд ажилладаггүй бөгөөд дундаа сэлгэж залгагдсан null-modem залгуур танд хэрэгтэй.

  4. Суулгац эхлүүлэх гэж шинээр ачаалах

    Одоо суулгацаа эхлүүлэх цаг боллоо. USB санах ойн зөөгчөө толгойгүй суулгалт хийж байгаа машиндаа хийгээд машинаа асаана. Хэрэв та бэлтгэсэн CDROM ашиглаж байгаа бол машинаа асаагаад дискээ хийн ачаалах хэрэгтэй.

  5. Толгойгүй машин уруугаа холбогдох

    Та одоо тэр машин уруугаа cu(1) тушаал хэрэглэж холбогдох хэрэгтэй:

    # cu -l /dev/cuau0
    

    FreeBSD 7.X дээр дараах тушаалыг ашиглана:

    # cu -l /dev/cuad0
    

Ингээд л боллоо! Та одоо нөгөө толгойгүй машинаа cu тушаалын хэсгээр удирдах боломжтой боллоо. Энэ нь цөмийг дуудах бөгөөд дараа нь ямар төрлийн терминал хэрэглэхийг асуух болно. Тэр үед нь FreeBSD color console буюу өнгөт консол гэдгийг сонгоод цааш нь суулгацаа үргэлжлүүлээрэй!


2.13. Өөртөө зориулж тусгай суулгацын төхөөрөмж бэлдэх нь

Тэмдэглэл: Дахин нуршихаас сэргийлж таны худалдаж авсан юм уу бэлдэж авсан CDROM эсвэл DVD нарыг “FreeBSD диск” гэж нэрлэв.

Заримдаа танд өөрийн гэсэн өөрчилж тохируулсан FreeBSD суулгацын төхөөрөмжөөс суулгах хэрэг гарч болзошгүй. Энэ нь физик төхөөрөмж болох бичлэгт хальс юм уу эсвэл sysinstall дээр зааж өгсөн FTP хуудас эсвэл MS-DOS хуваалтад буй файлаас суулгаж болзошгүй.

Жишээ нь:

  • Танд маш олон компьютер холбогдсон дотоод сүлжээ байгаа бөгөөд зөвхөн нэг л FreeBSD диск байж болох юм. Та дотоод FTP хуудас үүсгээд тэрэндээ FreeBSD дискээ байрлуулж, уг хуудаснаас бусад компьютерууд холбогдож суулгац хийж болохоор тохируулж болно.

  • Танд FreeBSD диск байгаа боловч таны CD/DVD төхөөрөмж уг дискийг танихгүй харин MS-DOS / Windows дээр таньдаг байг. Та уг компьютерийнхаа DOS хуваалт дээрээ FreeBSD суулгацыг хуулаад дараа нь уг файл уруу FreeBSD-г суулгах үед хандаж болно.

  • Таны суулгахыг хүссэн компьютерт CD/DVD төхөөрөмж болон сүлжээний картын аль нь ч байхгүй бөгөөд та зөвхөн “Laplink-style” цуваа юм уу зэрэгцээ холболтын кабелиар холбогдож гүйцэтгэж болно.

  • Та FreeBSD суулгаж болдог бичлэгт хальс бэлдэж болно.


2.13.1. Суулгацын CDROM үүсгэх

FreeBSD төсөл нь хувилбар гаргах үедээ хамгийн багадаа хоёр ширхэг CDROM дүрсийг (“ISO images буюу дискний дүрс”) дэмжигдсэн архитектур бүрийн хувьд бэлтгэдэг. Хэрэв танд CD бичигч байвал эдгээр буулгац дүрсийг CD дээр буулган бичиж (“шарж”) болдог. Хэрэв танд CD бичигч болон хямд үнэтэй интернэт сайн холболт байвал энэ нь FreeBSD-г суулгах хамгийн амархан арга болно.

  1. Зөв ISO Images буюу буулгац дүрсийг татаж авах

    Хувилбар бүрд зориулсан ISO буулгац дүрсийг ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/version хаягаас юм уу эсвэл хуулбар толин тусгалуудаас татаж авч болно. Машины төрөл болон хувилбарыг arch болон version гэсэн хэсгүүдэд тус тусад нь орлуулж бичих хэрэгтэй.

    Уг сан нь дараах буулгац дүрснүүдийг агуулж байдаг:

    Хүснэгт 2-4. FreeBSD 7.X ба 8.X ISO буулгац дүрсний нэр болон агуулга

    Файлын нэр Агуулга
    FreeBSD-version-RELEASE-arch-bootonly.iso Энэ CD дүрс нь CD-ROM хөтчөөс ачаалж суулгалтыг эхлүүлэх боломжийг олгодог боловч FreeBSD-г уг CD-с суулгах боломжгүй. Та энэ CD-с ачаалсны дараа сүлжээгээр дамжуулж (жишээ нь FTP серверээс) суулгах шаардлагатай.
    FreeBSD-version-RELEASE-arch-dvd1.iso.gz Энэ DVD дүрс нь үндсэн FreeBSD үйлдлийн систем, урьдчилан бүтээсэн багцын цуглуулга болон баримтжуулалтыг суулгахад шаардлагатай бүх зүйлсийг агуулсан байдаг. Энэ нь “livefs” дээр үндэслэсэн аврах горим руу ачаалахыг бас дэмждэг.
    FreeBSD-version-RELEASE-arch-memstick.img Энэ дүрсийг USB санах ойн зөөгч рүү бичээд USB хөтчөөс ачаалж чаддаг машинуудад суулгаж хэрэглэж болно. Энэ нь “livefs” дээр үндэслэсэн аврах горим руу ачаалахыг бас дэмждэг. Баримтжуулалтын багцуудыг агуулдаг боловч бусад багцуудыг агуулдаггүй. Энэ дүрс нь FreeBSD 7.X хувилбаруудын хувьд байдаггүй.
    FreeBSD-version-RELEASE-arch-disc1.iso Энэ CD дүрс нь үндсэн FreeBSD үйлдлийн систем болон баримтжуулалтын багцуудыг агуулдаг. Бусад багцуудыг агуулдаггүй.
    FreeBSD-version-RELEASE-arch-disc2.iso Гуравдагчдын програм багцуудыг ихээр багтаасан CD дүрс. Энэ дүрс нь FreeBSD 8.X хувилбаруудын хувьд байдаггүй.
    FreeBSD-version-RELEASE-arch-disc3.iso Гуравдагчдын програм багцуудыг ихээр багтаасан өөр нэг CD дүрс. Энэ дүрс нь FreeBSD 8.0 болон түүнээс дараагийн хувилбаруудын хувьд байдаггүй.
    FreeBSD-version-RELEASE-arch-docs.iso FreeBSD-ийн баримтжуулалт. Энэ дүрс нь FreeBSD 8.X-н хувьд байдаггүй.
    FreeBSD-version-RELEASE-arch-livefs.iso Энэ CD дүрс нь “livefs” дээр тулгуурласан аврах горим руу ачаалахад зориулагдсан боловч уг CD-ээс суулгахад зориулагдаагүй.

    Тэмдэглэл: FreeBSD 7.3 ба FreeBSD 8.0-с өмнөх FreeBSD 7.X хувилбарууд нь өөр нэр ашигладаг. Тэдгээрийн ISO дүрсний нэрс FreeBSD- гэж эхэлдэггүй.

    Та bootonly ISO юм уу эсвэл disc1 дүрс хоёрын аль нэгийг татаж авах ёстой. disc1 дүрс нь bootonly ISO дискний бүтцийг агуулж байдаг болохоор энэ хоёрыг хоёуланг татаж авч хэрэггүй.

    Хэрэв Интернэт холболт хямд бол bootonly ISO-г ашиглаарай. Үүгээр та FreeBSD-г суулгаад, дараа нь гуравдагч програмуудыг интернэтээр татаж авч суулгаж болно ( Бүлэг 5-с харна уу).

    Та FreeBSD-г суулгах юм уу эсвэл дискэн дээр байгаа гуравдагчдын багц програмыг суулгахыг хүсвэл dvd1 дүрсийг ашиглаарай.

    Бусад дискнүүд нь хэрэв танд хурдтай интернэт холболт байхгүй л бол тийм чухал шаардлагатай биш.

  2. CD-нүүдийг бичих

    Та хуулбар дүрс нарыг дискэн дээр бичих хэрэгтэй. Хэрэв та энэ алхмыг өөр FreeBSD систем дээр гүйцэтгэж байгаа бол Хэсэг 19.6 хэсгээс нэмэлт мэдээллийг үзэх хэрэгтэй ( Хэсэг 19.6.3 болон Хэсэг 19.6.4 хэсгүүдэд зарим нь буй).

    Хэрэв та энэ үйлдлийг өөр үйлдлийн систем дээр гүйцэтгэж байгаа бол, уг систем дээр байгаа CD бичигчээ удирддаг дурын програмыг нь ашиглаж бичих нь зүйтэй. Эдгээр дүрс нь стандарт ISO хэлбэрээр байгаа тул маш олон бичигч нар энэ төрлийг дэмждэг билээ.

Тэмдэглэл: Хэрэв өөрийн гэсэн FreeBSD хувилбар бүтээнэ гэх юм бол Хувилбарыг инженерчлэх мэдээллээс хараарай.


2.13.2. FreeBSD дисктэй дотоод FTP хуудас бэлтгэх нь

FreeBSD дискний зохион байгуулалт нь FTP хуудастайгаа ижил байрлуулагдсан буй. Ингэснээр танд дотоод FTP хуудас байгуулж сүлжээгээр FreeBSD-г суулгахад тун дөхөм болж өгдөг.

  1. FTP хуудас эрхэлж байх ёстой FreeBSD компьютерт CDROM төхөөрөмж байх шаардлагатай бөгөөд /cdrom санд таниулж холбосон байх ёстой.

    # mount /cdrom
    
  2. anonymous FTP эрх /etc/passwd дотор үүсгэх хэрэгтэй. Ингэхийн тулд vipw(8) хэрэгслийг ашиглан /etc/passwd файлыг засварлахдаа дараах мөрийг нэмэх хэрэгтэй:

    ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
    
  3. /etc/inetd.conf дотор FTP service буюу үйлчилгээ зөвшөөрөгдсөн эсэхийг лавлах хэрэгтэй.

Ингээд одоо таны компьютертай сүлжээгээр холбогдож чадах машин болгон суулгац эхлүүлэхийн тулд, суулгах төхөөрөмжөө сонгох цэснээс “Other буюу бусад” гэдгийг сонгоод цааш нь FTP гэж сонгон ftp://машины нэр гэж оруулах хэрэгтэй.

Тэмдэглэл: Хэрэв таны FTP үйлчилгээг ашиглаж байгаа хэрэглэгчийн эхлэн ачаалах төхөөрөмж нь (голдуу уян диск байдаг) FTP дээр буй хувилбартай яг ижил хувилбар биш бол, sysinstall нь таны суулгацыг бүрэн гүйцэтгэж чаддаггүй. Хэрэв хувилбарууд ижил биш байсан ч гэсэн дарж бичихийг та хүсэж байгаа бол Options цэснээс distribution name буюу тархацын нэрийг any гэж бичих хэрэгтэй.

Сануулга: Энэ арга нь галт ханаар хамгаалагдсан дотоод сүлжээнд бол найдвартай ажилладаг. Энэ FTP үйлчилгээгээ интернэтээр дамжуулан өөр машинд (таны дотоод сүлжээнээс гадуурх сүлжээнд буй компьютерт) санал болговол зарим компьютерийн сүлжээ эвдэгч хүмүүсийн анхаарлыг татаж эвгүй үр дүнд хүргэж болзошгүй. Хэрэв та нууцлалын маш сайн дадлагатай биш л бол ингэж гадуурх сүлжээнд ил гаргахаас болгоомжлохыг бид танд зөвлөж байна.


2.13.3. Суулгацын уян дискийг бэлдэх нь

Хэрэв таны компьютер өөр дэмжлэггүйгээс болоод юм уу эсвэл та юмыг хүндрүүлж хийхийг хүссэнээс ч болоод юм уу, суулгацыг уян дискнээс суулгах ёстой бол (энэ аргыг хэрэглэхгүй байхыг санал болгож байна), та эхлээд уян дискнүүдийг суулгацад бэлдэх ёстой.

Хамгийн багадаа л гэхэд base (үндсэн түгээлт) санд буй хоёртын файлуудыг багтаахад шаардлагатай тооны 1.44 MB-н дискнүүдийг бэлдэх ёстой. Хэрэв уян дискээ MS-DOS-с бэлдэж байгаа бол MS-DOSFORMAT командыг ашиглан дискнүүдийг шинэчилж бэлдэх ёстой. Хэрэв та Windows-с бэлдэхээр бол, Explorer дээр дискийг форматлаж болдог ( A: төхөөрөмж дээр хулганы баруун товчийг дараад “Format” цэсийг сонгоорой).

Үйлдвэрээс урьдчилан бэлтгэж цэвэрлэсэн дискэнд итгэж болохгүй шүү. Найдвартай байхын тулд тэдгээрийг дахин цэвэрлэх хэрэгтэй. Сүүлийн үед маш олон хэрэглэгчид зөв цэвэрлэж янзлаагүй дискнээсээ болж маш их алдаа гарлаа гэж мэдээлсэн учраас бид ингэж танд анхааруулж байгаа билээ.

Хэрэв та уян дискээ MS-DOS файл систем дээр биш харин өөр FreeBSD машин дээр бэлтгэж байсан ч гэсэн цэвэрлэх нь зөв санаа гэдгийг дахин сануулмаар байна. Та bsdlabel болон newfs тушаалуудыг ашиглаж UFS файлын систем суулгахыг хүсвэл ( 3.5" 1.44 MB диск дээр) дараах тушаалуудыг өгөх хэрэгтэй:

# fdformat -f 1440 fd0.1440
# bsdlabel -w -r fd0.1440 floppy3
# newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0

Дараа нь дискээ таниулаад жирийн файл систем шиг бичиж болно.

Уян дискнүүдээ цэвэрлэж бэлтгэсний дараа файлуудаа хуулах хэрэгтэй. Тархцын файлууд нь зохицох зорилгоор тааруулж хуваагддаг бөгөөд таван ширхэг 1.44 MB диск дээр багтахаар тохируулагдсан байдаг. Бүх уян диск болгондоо багтах хэмжээгээр нь тулгаж хуулах зарчмаар түгээлтийн бүх файлуудыг багтааж хуулах хэрэгтэй. Тархац бүр уян диск дээр : a:\base\base.aa, a:\base\base.ab гэх мэтчилэн хуулагдах ёстой.

Чухал: Түгээлтийг татаж аван нийлүүлэх үедээ хичнээн нэмэлт хэсгүүдийг хайхаа мэдэхийн тулд суулгалтын програм уншдаг учраас base.inf файл нь base цуглуулгын эхний уян дискэнд орох ёстой.

Суулгацын явцад суулгах төхөөрөмжөө сонгох Media цэс гарах үед Floppy цэсийг сонгоод цаашаагаа суулгацаа үргэлжлүүлээрэй.


2.13.4. MS-DOS хуваалтаас суулгах нь

MS-DOS хуваалтаас суулгацыг бэлтгэхийн тулд, уг хуваалтын эх хэсэг дээр freebsd нэртэй сан үүсгэж дотор нь түгээлтийн файлуудыг хуулах хэрэгтэй. Жишээ нь, c:\freebsd. CDROM юм уу FTP хуудсанд байсан файлуудын сангийн бүтэц нь уг сан доторхтой ижил байх ёстой бөгөөд хуулахын тулд MS-DOSxcopy тушаалыг ашиглан CD-с хуулаарай. Жишээ нь, FreeBSD-н хамгийн бага суулгацыг гүйцэтгэхийн тулд:

C:\> md c:\freebsd
C:\> xcopy e:\bin c:\freebsd\bin\ /s
C:\> xcopy e:\manpages c:\freebsd\manpages\ /s

Энд C: дискийг сул зайтай гэж үзсэн бөгөөд E: диск дээр CDROM-г таниулсан гэж авч үзэв.

Хэрэв танд CDROM төхөөрөмж байхгүй бол тархац файлыг ftp.FreeBSD.org -с татаж авч болно. Тархац бүр өөрсдийн сан дотроо байгаа бөгөөд, жишээ нь, base тархац 9.0/base/ сан дотор буй.

MS-DOS-с суулгахыг хүссэн тархац болгоныг (хэрэв танд хангалттай сул зай байгаа л бол) c:\freebsd сан дотор хуулах хэрэгтэй бөгөөд -- зөвхөн хамгийн багаар суулгах зориулалттай файлууд л BIN сан дотор байх шаардлагатай.


2.13.5. Суулгацын бичлэг тууз бэлтгэх нь

Бичсэн туузнаас суулгах нь FTP юм уу CDROM-с суулгаснаас хамаагүй амархан арга байж болох юм. Суулгац програм нь бичлэг дээр tar хэлбэрээр нэгтгэж бичигдсэн байх ёстой. Суулгахыг хүссэн тархцаа авсны дараа туузан дээр шахаж бичих хэрэгтэй:

# cd /freebsd/distdir
# tar cvf /dev/rwt0 dist1 ... dist2

Суулгацыг гүйцэтгэх явцдаа туузан дээр түр зуур хэрэглэхээр (сонголтоос хамаарч) туузан дээрх файлуудыг бүхлээр нь хуулахад багтаахаар сул зайг үлдээх ёстой. Шуурхай санамсаргүй хандалт хийгдэж болдоггүй учраас туузан дээр их хэмжээний сул зай бэлэн байлгах шаардлага гардаг юм.

Тэмдэглэл: Суулгацыг эхлүүлэх үед уян дискнээс эхлүүлэхээсээ өмнө туузыг төхөөрөмж рүү нь хийсэн байх ёстой. Ингэхгүй бол суулгац олохгүй байх магадлалтай.


2.13.6. Сүлжээгээр суулгахаасаа өмнө

Сүлжээгээр суулгах гурван төрлийн арга бий. Эдгээр нь Ethernet сүлжээ (стандарт Ethernet төхөөрөмж), Цуваа холболт (PPP) эсвэл Зэрэгцээ холболт (PLIP (laplink кабель)) юм.

Сүлжээний картаа ашиглаж интернэт суулгах арга бол мэдээж хамгийн сайн сонголт байх болно! FreeBSD нь ихэнх сүлжээний картуудыг дэмжиж таньдаг бөгөөд Hardware Notes буюу төхөөрөмжийн тухай мэдээлэл хэсэгт дэмждэг картуудыг (мөн тэдгээрт шаардагдах тохируулгатай нь) жагсаасан буй. Хэрэв та аль нэгэн дэмжигдсэн PCMCIA сүлжээний карт хэрэглэж байвал зөөврийн компьютераа асаахаасаа өмнө нь залгаарай. Харамсалтай нь одоогоор PCMCIA төрлийн картуудыг явцын дунд шууд залгаж хараахан чадахгүй байгаа билээ.

Та мөн сүлжээнийхээ IP хаягаа салгаж ангилсан netmask буюу сүлжээний шүүлт хаягтай нь хамт мэдэж байх ёстой. Хэрэв та PPP холболт ашиглаж холбогдож байгаа бол, ISP газраас тань автоматаар хаяглалт хийдэг болохоор тогтмол зааж өгсөн IP хаяг бүү зоож тохируулаарай. Таны сүлжээ тохируулагч тань ямар ямар тохируулга шаардлагатайг танд мэдэгдэх байх. Хэрэв та IP хаяг биш харин ямар нэгэн серверийн нэр оруулж тохируулах ёстой бол, танд бас name server буюу серверүүдийн нэрүүдийг зохицуулагч серверийн нэрийг мөн магадгүй gateway серверийн хаягийг бас оруулах хэрэгтэй болох байх (хэрэв та PPP хэрэглэж байгаа бол энэ нь таны интернэтээр хангагч байгууллагын тань IP хаяг байх ёстой). Хэрэв та HTTP проксигоор дамжин FTP-нээс суулгац хийх ёстой бол, та мөн проксигийн хаягийг оруулж өгөх хэрэгтэй. Хэрэв та эдгээр олон асуултанд хариулж мэдэхгүй байгаа тохиолдолд, сүлжээ тохируулагчаасаа юм уу эсвэл ISP-аасаа суулгацаа эхлүүлэхээсээ өмнө лавлаж асуух нь чухал.

Хэрэв та модем хэрэглэж байгаа бол PPP таны бараг цорын ганц сонголт байх болов уу. Суулгацаа бүр эхлүүлэхээсээ өмнө интернэт хөтлөгч байгууллага уруугаа холбогдох мэдээллээ сайн бэлтгэж авсан байх хэрэгтэй.

Хэрэв та ISP руугаа PAP эсвэл CHAP хэрэглэж холбогддог бол (өөрөөр хэлбэл, ISP уруугаа ямар нэгэн скрипт буюу гүйцэтгэдэг бичлэг хэрэглэлгүйгээр Windows-с холбогдож байвал), ppp-н тушаал оруулах мөрөнд dial гэж оруулахад болно. Өөр тохиолдолд, PPP хэрэглэж утасдах горим нь тун энгийн терминал үйлчилгээгээр хангагдсан байдаг болохоор, та ISP руугаа модемондоо тохирсон “AT тушаал” хэрэглэж холбогдох хэрэгтэй. Хэрэглэгчийн ppp бүртгэлийн гарын авлага эсвэл FAQ буюу байнга асуудаг асуулт хариулт хэсгээс нэмэлт мэдээллийг харж болно. Хэрэв танд хүндрэл тулгарвал, set log local ... тушаал ашиглаж ерөнхий явцын бүртгэл бичлэгийг дэлгэцэн дээрээ зэрэг хянаж болно.

Хэрэв та өөр FreeBSD машин уруу шууд залгаж холбогдох боломжтой бол “laplink” зэрэгцээ кабелиар гүйцэтгэж болох юм. Зэрэгцээ холболтоор өгөгдөл нь цуваа холболтыг бодвол арай хурдан дамжигдах (50 кбайт/сек хүртэл) бөгөөд, ингэснээр илүү түргэн суулгацаа гүйцэтгэж болох юм.


2.13.6.1. NFS-р суулгахаасаа өмнө

NFS суулгац бол харьцангуй хурдан шулуухан байдаг. NFS сервер дээрээ FreeBSD тархалтынхаа хуулбарыг хуулаад дараа нь суулгац гүйцэтгэх төхөөрөмжийг сонгох цэсэн дээр NFS гэж зааж өгөхөд болно.

Хэрэв сервер зөвхөн “заагдсан порт” ашиглах ёстой бол (Sun төрлийн компьютерт энэ нь анхнаасаа заагдсан байдаг шиг), та Options цэсэн дээр NFS Secure сонголтыг сонгож тохируулаад суулгацаа цааш нь үргэлжлүүлээрэй.

Хэрэв таны сүлжээний карт тийм сайн биш бөгөөд хурдан дамжуулалт хийдэггүйг та мэддэг бол NFS Slow гэдгийг бас сонгож тохируулаарай.

NFS суулгацыг ажиллуулахын тулд сервер нь дэд санг таньдаг байх ёстой. Жишээ нь, хэрэв таны FreeBSD 9.0 тархац: ziggy:/usr/archive/stuff/FreeBSD санд байгаа бол, ziggy нь /usr эсвэл /usr/archive/stuff гэх мэтчилэн дамжиж таниулах биш харин шууд /usr/archive/stuff/FreeBSD санг таньж байхаар тохируулагдах ёстой.

FreeBSD-н /etc/exports файл дотор үүнийг тохируулахын тулд -alldirs гэсэн сонголт оруулж өгдөг. Бусад NFS серверүүд өөр зохион байгуулалттай байж болох юм. Хэрэв та “permission denied буюу хандах эрх зөвшөөрөгдөхгүй” гэсэн мэдээлэл серверээс хүлээж авбал, та саяны сонголтыг оруулж өгөөгүй байна гэсэн үг юм.


Бүлэг 3. FreeBSD 9.x болон түүнээс хойшхи хувилбаруудыг суулгах нь

Дахин бүтцийг сайжруулж зарим хэсгийг бичсэн Жим Мок. sysinstall-г тайлбарлаж, дэлгэцийн агшнуудыг оруулж ерөнхийдөө хуулсан Ранди Прат. bsdinstall-д зориулж шинэчилсэн Гавин Аткинсон ба Воррен Блок.

3.1. Ерөнхий агуулга

FreeBSD нь текст дээр суурилсан, суулгахад хялбар програмтай ирдэг. FreeBSD 9.0-RELEASE болон түүнээс хойшхи хувилбарууд bsdinstall гэсэн суурилуулалтын програм ашигладаг бөгөөд FreeBSD 9.0-RELEASE-с өмнөх хувилбарууд sysinstall-г суулгахдаа ашигладаг. Энэ бүлэг нь bsdinstall-г ашиглахыг тайлбарлах болно. sysinstallБүлэг 2-н хэрэглээ бүлэгт бичигдсэн байгаа.

Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:

  • FreeBSD суулгац бүхий зөөвөрлөгч хэрхэн бэлдэх талаар.

  • FreeBSD нь хатуу дискийг хэрхэн хувааж ханддаг талаар.

  • bsdinstall-г хэрхэн эхлүүлэх талаар.

  • bsdinstall-н асуусан асуултууд, тэдгээрийн утга болон хэрхэн хариулах талаар.

Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:

  • Таны суулгах гэж байгаа FreeBSD-н хувилбар дээрх тоног төхөөрөмжийн дэмжлэгийг уншаад таны төхөөрөмж дэмжигдсэн эсэхийг шалгаарай.

Тэмдэглэл: Ерөнхийдөө энэ суулгалтын заавар i386 (“PC нийцэт”) төрлийн архитектурт зориулагдсан. Шаардлагатай тохиолдолд бусад тавцангуудад зориулсан зааврыг үзүүлэх болно. Энд үзүүлсэн зүйл болон суулгагчийн хооронд ялгаа бага байж болох учир яг үгчилсэн заавар гэж ойлголгүйгээр энэ бүлгийг ерөнхий заавар хэлбэрээр ашиглаарай.


3.2. Тоног төхөөрөмжийн шаардлагууд

3.2.1. Минимум тохиргоо

FreeBSD-г суулгах хамгийн бага тохиргоо нь FreeBSD-н хувилбар болон тоног төхөөрөмжийн архитектураас хамаардаг.

Энэ мэдээллийн дүгнэлт дараагийн хэсгүүдэд гарна. FreeBSD суулгах аргаас хамаарч танд дэмжигдсэн CDROM хөтөч болон зарим тохиолдолд сүлжээний адаптер хэрэг болж магадгүй. Эдгээрийг Хэсэг 3.3.5 хэсэгт үзүүлнэ.


3.2.1.1. FreeBSD/i386

FreeBSD/i386 нь 486 буюу түүнээс илүү процессор болон хамгийн багаар бодоход 64 MB RAM шаарддаг. Хамгийн багаар бодоход 1.1 GB хэмжээтэй дискний сул зай минимум суулгацад хэрэгтэй байдаг.

Тэмдэглэл: Хуучин компьютерууд дээр илүү хурдан процессор суулгаснаас илүүтэй RAM болон хатуу дискийн зайг нэмэгдүүлэх нь үр дүнтэй байдаг.


3.2.1.2. FreeBSD/amd64

FreeBSD/amd64 ажиллах хоёр төрлийн процессор байдаг. Эхнийх нь AMD Athlon64, AMD Athlon64-FX, AMD Opteron эсвэл эдгээрээс илүү сайн процессоруудыг оруулсан AMD64 юм.

FreeBSD/amd64-г ашигладаг дараагийн нэг төрлийн процессор бол Intel EM64T архитектурыг ашигладаг процессорууд юм. Эдгээр процессоруудад Intel Core 2 Duo, Quad, Extreme процессорын гэр бүл, Intel Xeon 3000, 5000, болон 7000 серийн процессорууд ба Intel Core i3, i5 ба i7 процессорууд багтдаг.

Хэрэв танд nVidia nForce3 Pro-150 дээр тулгуурласан машин байгаа бол BIOS-ийн тохиргоог ашиглан IO APIC-г хаах хэрэгтэй. Хэрэв үүнийг хийх тохиргооны боломж байхгүй бол ACPI-г хаагаарай. Pro-150 чип нь алдаатай бөгөөд үүнийг давах аргыг бид одоогоор олоогүй байгаа юм.


3.2.1.3. FreeBSD/powerpc Apple® Macintosh®

USB-н дэмжлэгтэй Apple® Macintosh®-ийн сүүлийн үеийн системүүд бас дэмжигдсэн. Олон CPU-тай машинууд дээр SMP дэмжигдсэн.

32 битийн цөм нь зөвхөн эхний 2 GB RAM-г ашигладаг. FireWire® нь Цэнхэр болон Цагаан PowerMac G3 дээр дэмжигдээгүй.


3.2.1.4. FreeBSD/sparc64

FreeBSD/sparc64 дэмжигддэг системүүдийн жагсаалт FreeBSD/sparc64 төслийн хуудаснаа бий.

FreeBSD/sparc64-ийн хувьд тусдаа диск хэрэгтэй. Одоогоор өөр үйлдлийн системтэй дискийг хуваалцан хэрэглэх боломжгүй байгаа.


3.2.2. Дэмжигдсэн тоног төхөөрөмж

FreeBSD-н хувилбар дэмжигддэг тоног төхөөрөмжүүдийн талаар Hardware Notes файлд бий. Ихэвчлэн HARDWARE.TXT гэсэн нэртэй байдаг бөгөөд хувилбар байгаа дискийн root санд байрладаг. Дэмжигдсэн тоног төхөөрөмжийн жагсаалтын хуулбарууд FreeBSD веб сайтын Хувилбарын мэдээлэл хуудсанд бас байгаа.


3.3. Суулгахын өмнөх ажлууд

3.3.1. Өгөгдлөө нөөцөл

FreeBSD суулгах компьютер дээрх чухал өгөгдлөө нөөцөлж авах хэрэгтэй. Цааш үргэлжлүүлэхээсээ өмнө нөөцөө зөв ажиллаж байгаа эсэх дээр тест хийгээрэй. FreeBSD-н суулгалтын програм дискэд өөрчлөлт хийхээс өмнө асууна, гэхдээ нэгэнт процесс эхэлсэн бол буцаах боломжгүй.


3.3.2. FreeBSD-г хаана суулгахаа шийд

Хэрэв FreeBSD нь зөвхөн суулгах ганц систем бөгөөд бүх хатуу дискийг бүхэлд нь ашиглахаар зөвшөөрөгдөх бол үлдсэн хэсгийг алгасаж болно. Гэхдээ хэрэв FreeBSD нь өөр үйлдлийн системтэй хамт ашиглагдах бол дискийн мэдээллийг ойлгох нь суулгалтын явцад хэрэгтэй байдаг.


3.3.2.1. FreeBSD/i386 болон FreeBSD/amd64-д зориулсан дискний мэдээлэл

Хатуу диск нь олон хэсгүүдэд хуваагдаж болно. Эдгээр хэсгүүдийг partitions буюу хуваалтууд гэдэг.

Дискийг хоёр янзын аргаар хувааж болдог. Уламжлалт Master Boot Record (MBR) нь дөрөв хүртэлх primary partitions буюу үндсэн хуваалт бүхий хуваалтын хүснэгтийг агуулдаг. (Түүхэн шалтгаанаас болоод FreeBSD үндсэн хуваалтуудыг slices буюу зүсмэлүүд гэдэг.) Том дискүүдийн хувьд зөвхөн дөрвөн хуваалт нь хязгаарлагдмал байдаг бөгөөд эдгээрийн нэг үндсэн хуваалтыг extended partition буюу өргөтгөсөн хуваалт болгож болдог. Дараа нь энэ өргөтгөсөн хуваалт дотроо logical partitions буюу логик хуваалтуудыг үүсгэж болдог. Энэ нь сонин сонсогдож болох юм, гэхдээ ийм л байдаг.

GUID Partition Table (GPT) нь шинэ бөгөөд дискийг хуваах илүү хялбар арга юм. GPT нь MBR хуваалтын хүснэгтийг бодох юм бол илүү уян хатан юм. Ердийн GPT шийдэл нь дискийн хувьд логик хуваалт гэх мэт хялбар биш аргуудыг ашиглалгүйгээр 128 хүртэлх хуваалтыг ашиглахыг зөвшөөрдөг.

Сануулга: Windows XP гэх мэт хуучин үйлдлийн системүүд нь GPT хуваалтын схемтэй нийцтэй биш юм. Хэрэв FreeBSD нь тийм үйлдлийн системтэй цуг хэрэглэгдэх бол MBR хуваалтыг ашиглах хэрэгтэй.

FreeBSD-н стандарт ачаалал дуудагч нь үндсэн юм уу эсвэл GPT хуваалтыг шаарддаг. (FreeBSD-н эхлүүлэх процессын талаар дэлгэрэнгүйг Бүлэг 13 хэсгээс үзнэ үү). Хэрэв бүх үндсэн эсвэл GPT хуваалтууд ашиглагдаж байгаа бол FreeBSD-д зориулж нэгийг чөлөөлөх хэрэгтэй.

FreeBSD-н минимум суулгалт 1 GB дискний хэмжээ эзэлдэг. Гэхдээ энэ нь хамгийн минимум суулгалт бөгөөд бараг сул зайгүй байдаг. Арай илүү боломжит минимум хэмжээ нь график орчингүй бол 3 GB, график хэрэглэгчийн интерфэйс ашиглагдах бол 5 GB байдаг. Гуравдагч талуудын програмууд илүү хэмжээ шаарддаг.

Төрөл бүрийн хуваалт хийдэг чөлөөт болон арилжааны хэрэгслүүд байдаг. GParted Live нь GParted хуваалт засварлагч бүхий чөлөөт амьд CD юм. GParted нь бас өөр олон Линуксын Амьд CD түгээлтүүдэд байдаг.

Сануулга: Диск хуваах програмууд нь өгөгдлийг эвдэх аюултай. Дискийн хуваалтыг өөрчлөхөөсөө өмнө бүрэн нөөцийг авч зөв эсэхийг нь шалгах хэрэгтэй.

Microsoft Vista хуваалтыг өөрчлөх төвөгтэй байдаг. Тийм үйлдэл хийх бол Vista-ийн суулгалтын CD хэрэгтэй байдаг.

Жишээ 3-1. Байгаа хуваалтыг ашиглах

Windows компьютер нь 20 GB хуваалтаар хуваагдсан 40 GB дисктэй гэж үзье. Windows нь тэдгээрийг C: ба D: гэдэг. C: хуваалт нь 10 GB өгөгдлөөс тогтох бөгөөд D: хуваалт нь 5 GB өгөгдлөөс бүтнэ.

D:C: рүү өгөгдөл шилжүүлснээр хоёр дахь хуваалтыг FreeBSD-д зориулан ашиглах боломжтой болгоно.

Жишээ 3-2. Байгаа хуваалтыг багасгах

Windows компьютер нь ганц 40 GB дисктэй бөгөөд бүх дискийг нэг том хуваалт эзэлж байя. Windows нь энэ 40 GB хуваалтыг нэг C: гэж харуулна. 15 GB ашиглагдаж байгаа. Зорилго бол Windows-г 20 GB хуваалт дээр үлдээгээд FreeBSD-д зориулж 20 GB хуваалт бий болгох явдал юм.

Үүнийг хийх хоёр арга бий.

  1. Windows дээрх өгөгдлөө нөөцөл. Дараа нь Windows-г суулгах явцдаа 20 GB хуваалттай болгоно.

  2. Windows хуваалтыг багасгаж чөлөөтэй болсон зай дээр FreeBSD-д зориулж шинэ хуваалт үүсгэхийн тулд GParted гэх мэт хуваалт өөрчилдөг хэрэгслүүд ашигла.

Өөр төрлийн үйлдлийн системүүд бүхий дискийн хуваалтууд нь тэдгээр үйлдлийн системүүдийн аль нэгийг тухайн үед ашиглах боломжийг олгодог. Нэгэн зэрэг олон үйлдлийн системийг ажиглах боломжийг олгодог өөр нэг аргын талаар Бүлэг 23 хэсэгт бичигдсэн байгаа.


3.3.3. Сүлжээний талаар мэдээлэл цуглуулах

FreeBSD-н зарим суулгалтын аргууд нь файлуудыг татаж авахын тулд сүлжээний холболт ашиглах хэрэгтэй байдаг. Ethernet сүлжээнд (эсвэл кабел аль эсвэл Ethernet интерфэйстэй DSL модем) холбогдохын тулд суулгагч нь сүлжээний талаар зарим мэдээллийг асуух болно.

DHCP нь сүлжээг автоматаар тохируулах боломжийг ихэвчлэн олгодог. Хэрэв DHCP боломжгүй бол энэ сүлжээний мэдээллийг локал сүлжээний администратор юм уу эсвэл үйлчилгээ үзүүлэгчээс авах ёстой:

Сүлжээний мэдээлэл

  1. IP хаяг

  2. Subnet маск

  3. Анхдагч чиглүүлэгчийн IP хаяг

  4. локал сүлжээний домен нэр

  5. DNS серверийн IP хаягууд


3.3.4. FreeBSD-н алдааны мэдээллийг шалгах

FreeBSD төсөл нь FreeBSD хувилбар бүрийнхээ хувьд аль болох алдаа мадаггүй, тогтворгүй байхыг хичээж ажилладаг боловч процессын явцад алдаанууд гардаг. Маш ховор тохиолдолд тэдгээр алдаанууд нь суулгалтын процессд нөлөөлдөг. Эдгээр асуудлуудыг илрүүлж засварладаг бөгөөд энэ талаар FreeBSD-н веб сайтын FreeBSD Errata хаяг дээр тэмдэглэгдсэн байдаг. Суулгалтад нөлөөлж болзошгүй асуудлууд байж болзошгүй учир суулгахаасаа өмнө алдааны хуудсыг шалгах хэрэгтэй.

Бүх хувилбарын талаарх мэдээлэл болон алдааны талаар FreeBSD веб сайтын хувилбарын мэдээлэл хэсгээс олж болно.


3.3.5. Суулгалтын зөөвөрлөгчийг бэлдэх

FreeBSD-н суулгалтыг FreeBSD суулгац бүхий CD, DVD, эсвэл USB санах ойн диск ашиглан компьютераа ачаалах замаар эхлүүлнэ. Суулгалтын програм нь өөр үйлдлийн системээс ажиллуулж болдог програм биш юм.

FreeBSD-н бүх суулгалтын файлуудыг агуулдаг стандарт суулгалтын зөөвөрлөгчөөс гадна bootonly буюу зөвхөн ачаалах хувилбар байдаг. Зөвхөн ачаалахад зориулсан суулгалтын зөөвөрлөгч нь суулгалтын файлуудгүй байдаг боловч суулгах явцдаа тэдгээрийг сүлжээгээр татаж авдаг. Зөвхөн ачаалахад зориулсан суулгалтын CD нь бага хэмжээтэй байдаг бөгөөд суулгах явцдаа зөвхөн хэрэгцээтэй файлуудыг татаж аван сүлжээний зурвасын ашиглалтыг багасгадаг.

FreeBSD вэб сайтад FreeBSD-н суулгалтын зөөвөрлөгчийн хуулбарууд байдаг.

Зөвлөгөө: Хэрэв танд CD, DVD, эсвэл USB санах ойн диск дээр FreeBSD-н хуулбар байгаа бол энэ хэсгийг алгасч болно.

FreeBSD-н CD ба DVD дүрс нь ачаалагдах боломжтой ISO файлууд юм. Суулгахад зөвхөн нэг CD эсвэл DVD хэрэгтэй байдаг. Одоо ажиллаж байгаа үйлдлийн систем дээрээ байгаа CD бичих програм ашиглан ISO дүрсийг ачаалагдах CD эсвэл DVD дээр шарна.

Ачаалагдах боломжтой санах ойн диск үүсгэхийн тулд дараах алхмуудыг хийнэ:

  1. Санах ойн дискний дүрсийг олж авах

    FreeBSD 9.0-RELEASE ба түүнээс хойшхи хувилбаруудын хувьд Санах ойн дискний дүрсийг ISO-IMAGES/ сан дахь ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/arch/ISO-IMAGES/version/FreeBSD-version-RELEASE-arch-memstick.img хаягаас татаж авч болно. arch ба version гэдгүүдийг та өөрийн суулгахыг хүссэн архитектур болон хувилбарын дугаараар солиорой. Жишээ нь FreeBSD/i386 9.0-RELEASE-д зориулсан санах ойн дискний дүрс ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-i386-memstick.img хаяг дээр бий.

    Зөвлөгөө: FreeBSD 8.X болон өмнөх хувилбаруудын хувьд өөр сан ашиглагддаг. FreeBSD 8.X болон өмнөх хувилбаруудыг татаж авч суулгах талаар Бүлэг 2 хэсгээс харна уу.

    Санах ойн дискний дүрс .img өргөтгөлтэй байдаг. ISO-IMAGES/ сан олон төрлийн дүрснүүдээс тогтох бөгөөд танд хэрэгтэй байгаа нь суулгах FreeBSD-н хувилбар болон зарим тохиолдолд тоног төхөөрөмжөөс хамаардаг.

    Чухал: Үргэлжлүүлэхээсээ өмнө USB диск дээрх өгөгдлөө нөөцөлж аваарай, эс тэгвээс энэ алхам устгах болно.

  2. Санах ойн диск рүү дүрс файлыг бичих

    FreeBSD ашиглан дүрсийг бичих

    Сануулга: Доорх жишээ дүрс бичигдэх төхөөрөмжийг /dev/da0 гэж харуулж байна. Зөв төхөөрөмж сонгосон эсэх дээрээ болгоомжтой байгаарай, эс тэгвээс та өгөгдлөө устгаж болох юм.

    1. dd(1) ашиглан дүрсийг бичих

      .img файл нь ердийн файл биш юм. Энэ нь санах ойн дискний бүрэн гүйцэд тогтцын дүрс юм. Үүнийг ердийн файл бичдэг шигээр бичиж болохгүй, харин dd(1) ашиглан бичих ёстой юм:

      # dd if=FreeBSD-9.0-RELEASE-i386-memstick.img of=/dev/da0 bs=64k
      

    Windows ашиглан дүрсийг бичих

    Сануулга: Гаралт дээрээ зөв хөтчийн үсгийг өгсөн эсэхээ нягтлаарай, эс тэгвээс та байгаа өгөгдлөө дарж устгаж болзошгүй.

    1. Image Writer for Windows-г олж авах

      Image Writer for Windows нь санах ойн диск рүү дүрс зөв бичдэг чөлөөтэй програм хангамж юм. Үүнийг https://launchpad.net/win32-image-writer/ хаягаас татаж аваад сан руу задална.

    2. Image Writer ашиглан дүрсийг бичих

      Програмыг эхлүүлэхийн тулд Win32DiskImager дээр хоёр дарна. Device доор харагдах хөтчийн үсэг санах ойн диск байгаа хөтөч эсэхийг шалгаарай. Сангийн дүрсэн дээр дараад санах ойн диск рүү бичигдэх дүрсийг сонгоно. Дүрс файлын нэрийг [ Save ] дарж сонгоно. Бүх юм зөв эсэхийг болон санах ойн дискний сангуудаас өөр цонхон дээр онгойгоогүй эсэхийг шалгаарай. Бүх юм бэлэн болсны дараа санах ойн диск рүү дүрсийг бичихийн тулд [ Write ]-г дарна.

Тэмдэглэл: Уян дискнээс суулгалт хийх нь дэмжигдэхээ больсон.

Та одоо FreeBSD суулгаж эхлэхэд бэлэн боллоо.


3.4. Суулгалтыг эхлүүлэх нь

Чухал: Анхдагчаар дараах зурвас гарч иртэл суулгалт таны диск дээр ямар ч өөрчлөлт хийхгүй:

Your changes will now be written to disk.  If you
have chosen to overwrite existing data, it will
be PERMANENTLY ERASED. Are you sure you want to
commit your changes?

Энэ анхааруулга гарахаас өмнө хатуу дискнийхээ өгөгдлийг өөрчлөлгүйгээр суулгалтыг ямар ч үед зогсоож болно. Хэрэв та ямар нэг зүйлийг буруу тохируулсан байх гэж эмээж байгаа бол энэ үед хүрэхээсээ өмнө компьютераа зүгээр л унтраачихаж болох бөгөөд ямар ч хохирол гарахгүй юм.


3.4.1. Ачаалах нь

3.4.1.1. i386 ба amd64 дээр ачаалах нь

  1. Хэрэв та Хэсэг 3.3.5-д тайлбарласан шиг “bootable” буюу ачаалагдах USB диск бэлдсэн бол компьютераа асаахаасаа өмнө USB дискээ залгаарай.

    Хэрэв та CDROM-с ачаалж байгаа бол компьютераа асаагаад CDROM-оо эхний боломж гарсан даруй хийгээрэй.

  2. Суулгалтад ашиглах зөөвөрлөгчөөсөө хамаараад машинаа CDROM эсвэл USB-ээс ачаалахаар тохируулаарай. BIOS тохиргоо нь ачаалах төхөөрөмжийг сонгох боломжийг олгодог. Ихэвчлэн F10, F11, F12, юм уу эсвэл Escape дарж эхлэх үедээ ачаалах төхөөрөмжийг сонгох боломжийг ихэнх системүүд олгодог.

  3. Хэрэв таны компьютер асуудалгүй эхэлж одоо байгаа үйлдлийн систем ачаалбал:

    1. Ачаалах процессын үед дискийг эрт хийгээгүй байж болох юм. Тэнд нь үлдээгээд компьютераа дахин ачаалаад үзээрэй.

    2. Өмнө хийсэн BIOS-н өөрчлөлт зөв ажиллаагүй байж болно. Та зөв сонголттой болтлоо тэр алхмыг дахин хийх хэрэгтэй.

    3. Таны BIOS хүссэн зөөвөрлөгчөөс ачаалахыг дэмждэггүй байж болно. Plop Boot Manager ашиглаж хуучин компьютерийг CD эсвэл USB зөөвөрлөгчөөс ачаалж болно.

  4. FreeBSD ачаалж эхэлнэ. Хэрэв та CDROM-с ачаалж байгаа бол та доорхтой адилыг харах болно (хувилбарын мэдээллийг оруулаагүй болно):

    Booting from CD-ROM...
    645MB medium detected
    CD Loader 1.2
    
    Building the boot loader arguments
    Looking up /BOOT/LOADER... Found
    Relocating the loader and the BTX
    Starting the BTX loader
    
    BTX loader 1.00 BTX version is 1.02
    Consoles: internal video/keyboard
    BIOS CD is cd0
    BIOS drive C: is disk0
    BIOS drive D: is disk1
    BIOS 636kB/261056kB available memory
    
    FreeBSD/i386 bootstrap loader, Revision 1.1
    
    Loading /boot/defaults/loader.conf
    /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
    \
    
  5. FreeBSD ачаалагч дуудагч гарч ирнэ:

    Зураг 3-1. FreeBSD ачаалагч дуудагч цэс

    Either wait ten seconds, or press Enter.


3.4.1.2. Macintosh PowerPC® дээр ачаалах

Ихэнх машин дээр ачаалах үед C дарж CD-с ачаална. Үгүй бол Command+Option+O+F, юм уу эсвэл Windows+Alt+O+F товчлууруудыг Apple биш гар дээр дарж хийнэ. 0 > гарч ирэхэд доорхийг бичнэ.

boot cd:,\ppc\loader cd:0

Гар байхгүй Xserves-ийн хувьд Open Firmware рүү ачаалах талаар Apple-н сайтаас хараарай.


3.4.1.3. Sparc64-н хувьд ачаалах нь

Ихэнх Sparc64 системүүд дискнээс автоматаар ачаалахаар тохируулагдсан байдаг. FreeBSD суулгахын тулд сүлжээнээс юм уу эсвэл CDROM-с ачаалах хэрэгтэй бөгөөд та PROM (OpenFirmware) руу орох шаардлагатай.

Ингэхийн тулд системээ дахин эхлүүлээд ачаалах зурвас гарч иртэл хүлээнэ. Загвараас хамаарах бөгөөд доорхтой төстэй байна:

Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.

Энэ үед таны систем дискнээс ачаалахаар завдах бол PROM руу орохын тулд та L1+A эсвэл Stop+A дарах юм уу эсвэл сериал консолоор BREAK илгээх хэрэгтэй. Иймэрхүү харагдах болно:

ok         (1)
ok {0}     (2)
(1)
This is the prompt used on systems with just one CPU.
(2)
This is the prompt used on SMP systems, the digit indicates the number of the active CPU.

Энэ үед хөтөч дотроо CDROM-оо хийгээд PROM дээрээс boot cdrom гэж бичнэ.


3.4.2. Reviewing the Device Probe Results

Дэлгэц дээр гасан мөрүүдийн сүүлийн хэдэн зуун мөр хадгалагддаг бөгөөд дахин харах боломжтой байдаг.

Буфферийг дахин үзэхийн тулд Scroll Lock дарна. Энэ нь дэлгэц дээр буцаж гүйлгэх боломжтой болгодог. Та дараа нь сум дарах юм уу эсвэл PageUp ба PageDown дарж үр дүнг харж болно. Scroll Lock дахин дарж гүйлгэх боломжгүй болгоно.

Цөм төхөөрөмжийг шалгаж байх үеийн текст хүртэл буцаан гүйлгэж одоо үзээрэй. Та Зураг 3-2 дээрх шиг адил төстэй текстийг харах бөгөөд таны компьютер дээр байгаа төхөөрөмжүүдээс хамаарч текст өөр байж болно.

Зураг 3-2. Ердийн төхөөрөмж шалгасан үр дүн

Copyright (c) 1992-2011 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-RELEASE #0 r225473M: Sun Sep 11 16:07:30 BST 2011
    root@psi:/usr/obj/usr/src/sys/GENERIC amd64
CPU: Intel(R) Core(TM)2 Duo CPU     T9400  @ 2.53GHz (2527.05-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x10676  Family = 6  Model = 17  Stepping = 6
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x8e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant, performance statistics
real memory  = 3221225472 (3072 MB)
avail memory = 2926649344 (2791 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <TOSHIB A0064   >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Changing APIC ID to 1
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <TOSHIB A0064> on motherboard
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, b6690000 (3) failed
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <24-bit timer at 3.579545MHz> port 0xd808-0xd80b on acpi0
cpu0: <ACPI CPU> on acpi0
ACPI Warning: Incorrect checksum in table [ASF!] - 0xFE, should be 0x9A (20110527/tbutils-282)
cpu1: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0xcff8-0xcfff mem 0xff400000-0xff7fffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
agp0: <Intel GM45 SVGA controller> on vgapci0
agp0: aperture size is 256M, detected 131068k stolen memory
vgapci1: <VGA-compatible display> mem 0xffc00000-0xffcfffff at device 2.1 on pci0
pci0: <simple comms> at device 3.0 (no driver attached)
em0: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xcf80-0xcf9f mem 0xff9c0000-0xff9dffff,0xff9fe000-0xff9fefff irq 20 at device 25.0 on pci0
em0: Using an MSI interrupt
em0: Ethernet address: 00:1c:7e:6a:ca:b0
uhci0: <Intel 82801I (ICH9) USB controller> port 0xcf60-0xcf7f irq 16 at device 26.0 on pci0
usbus0: <Intel 82801I (ICH9) USB controller> on uhci0
uhci1: <Intel 82801I (ICH9) USB controller> port 0xcf40-0xcf5f irq 21 at device 26.1 on pci0
usbus1: <Intel 82801I (ICH9) USB controller> on uhci1
uhci2: <Intel 82801I (ICH9) USB controller> port 0xcf20-0xcf3f irq 19 at device 26.2 on pci0
usbus2: <Intel 82801I (ICH9) USB controller> on uhci2
ehci0: <Intel 82801I (ICH9) USB 2.0 controller> mem 0xff9ff800-0xff9ffbff irq 19 at device 26.7 on pci0
usbus3: EHCI version 1.0
usbus3: <Intel 82801I (ICH9) USB 2.0 controller> on ehci0
hdac0: <Intel 82801I High Definition Audio Controller> mem 0xff9f8000-0xff9fbfff irq 22 at device 27.0 on pci0
pcib1: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0
pci1: <ACPI PCI bus> on pcib1
iwn0: <Intel(R) WiFi Link 5100> mem 0xff8fe000-0xff8fffff irq 16 at device 0.0 on pci1
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.1 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0
pci4: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci5: <ACPI PCI bus> on pcib4
cbb0: <RF5C476 PCI-CardBus Bridge> at device 11.0 on pci5
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
ahci0: <Intel ICH9M AHCI SATA controller> port 0x8f58-0x8f5f,0x8f54-0x8f57,0x8f48-0x8f4f,0x8f44-0x8f47,0x8f20-0x8f3f mem 0xff9fd800-0xff9fdfff irq 19 at device 31.2 on pci0
ahci0: AHCI v1.20 with 4 3Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich2: <AHCI channel> at channel 4 on ahci0
acpi_lid0: <Control Method Lid Switch> on acpi0
battery0: <ACPI Control Method Battery> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_acad0: <AC Adapter> on acpi0
acpi_toshiba0: <Toshiba HCI Extras> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model GlidePoint, device ID 0
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 450
Event timer "HPET1" frequency 14318180 Hz quality 440
Event timer "HPET2" frequency 14318180 Hz quality 440
Event timer "HPET3" frequency 14318180 Hz quality 440
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ppc0: cannot reserve I/O port range
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
Timecounters tick every 1.000 msec
hdac0: HDA Codec #0: Realtek ALC268
hdac0: HDA Codec #1: Lucent/Agere Systems (Unknown)
pcm0: <HDA Realtek ALC268 PCM #0 Analog> at cad 0 nid 1 on hdac0
pcm1: <HDA Realtek ALC268 PCM #1 Analog> at cad 0 nid 1 on hdac0
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
usbus2: 12Mbps Full Speed USB v1.0
usbus3: 480Mbps High Speed USB v2.0
ugen0.1: <Intel> at usbus0
uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
ugen2.1: <Intel> at usbus2
uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
ugen3.1: <Intel> at usbus3
uhub3: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus3
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub3: 6 ports with 6 removable, self powered
ugen2.2: <vendor 0x0b97> at usbus2
uhub8: <vendor 0x0b97 product 0x7761, class 9/0, rev 1.10/1.10, addr 2> on usbus2
ugen1.2: <Microsoft> at usbus1
ada0 at ahcich0 bus 0 scbus1 target 0 lun 0
ada0: <Hitachi HTS543225L9SA00 FBEOC43C> ATA-8 SATA 1.x device
ada0: 150.000MB/s transfers (SATA 1.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad4
ums0: <Microsoft Microsoft 3-Button Mouse with IntelliEyeTM, class 0/0, rev 1.10/3.00, addr 2> on usbus1
SMP: AP CPU #1 Launched!
cd0 at ahcich1 bus 0 scbus2 target 0 lun 0
cd0: <TEAC DV-W28S-RT 7.0C> Removable CD-ROM SCSI-0 device
cd0: 150.000MB/s transfers (SATA 1.x, ums0: 3 buttons and [XYZ] coordinates ID=0
UDMA2, ATAPI 12bytes, PIO 8192bytes)
cd0: cd present [1 x 2048 byte records]
ugen0.2: <Microsoft> at usbus0
ukbd0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0
kbd2 at ukbd0
uhid0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0
Trying to mount root from cd9660:/dev/iso9660/FREEBSD_INSTALL [ro]...

FreeBSD таны хүсэн хүлээж байсан бүх төхөөрөмжийг олсон эсэхийг төхөөрөмж шалгасан үр дүнгээс сайн шалгаарай. Хэрэв төхөөрөмж олдоогүй бол харагдахгүй байх болно. Цөмийн модулиуд нь GENERIC цөмд байхгүй төхөөрөмжүүдийн дэмжлэгийг хийх боломжийг олгодог.

Төхөөрөмж шалгах алхмын дараа та Зураг 3-3-г харах болно. Суулгалтын зөөвөрлөгчийг гурван янзын аргаар ашиглаж болно: FreeBSD суулгах, "амьд CD" маягаар, эсвэл FreeBSD бүрхүүл ашиглаж болно. Сум дарж сонгох арга дээрээ очоод Enter дарна.

Зураг 3-3. Суулгалтын зөөвөрлөгч сонгох нь

[ Install ]-г сонгосноор суулгагч руу орно.


3.5. bsdinstall-г танилцуулах нь

bsdinstall нь Nathan Whitehorn -ий бичсэн текст дээр тулгуурласан FreeBSD-н суулгалтын програм бөгөөд 2011 онд FreeBSD 9.0-д зориулж танилцуулагдсан.

Тэмдэглэл: Kris Moore pc-sysinstall нь PC-BSD-д байдаг бөгөөд бас FreeBSD суулгахад ашиглаж болно. bsdinstall-той хольж сольж ойлгох тохиолдол байдаг ч хоорондоо хамааралгүй юм.

bsdinstall-н цэсний системийг сум, Enter, Tab, Space болон бусад товчлууруудын тусламжтай хянаж болно.


3.5.1. Keymap цэс сонгох нь

Системийн ямар консол ашиглаж байгаагаас хамаарч bsdinstall нь анхдагч биш гарын байрлал сонгох дэлгэц харуулж болно.

Зураг 3-4. Гарын байрлалын сонголт

Хэрэв [ YES ]-г сонгосон бол дараах гар сонгох дэлгэц гарч ирнэ. Үгүй бол энэ сонголтын дэлгэц гарч ирэхгүй бөгөөд анхдагч гарын байрлал хэрэглэгдэнэ.

Зураг 3-5. Гарын цэсийг сонгох

Системд холбоотой байгаа гартай хамгийн төстэй гарын байрлалыг дээш доош гүйлгэх сумыг ашиглан Enter дарж сонгоно.

Тэмдэглэл: Esc дарснаар анхдагч гарын байрлалыг сонгоно. United States of America ISO-8859-1 нь гарын байрлал тодорхой биш бол бас аюулгүй сонголт юм.


3.5.2. Хостын нэрийг тохируулах нь

Дараа нь bsdinstall шинэ суух системд өгөх хостын нэрийг асууна.

Зураг 3-6. Хостын нэрийг тохируулах

Оруулсан хостын нэр нь machine3.example.com гэх мэт бүрэн хостын нэр байх ёстой.


3.5.3. Бүрэлдэхүүн хэсгүүдийг сонгож суулгах нь

Дараа нь bsdinstall бүрэлдэхүүн хэсгүүдийг суулгах сонголтыг харуулж асууна.

Зураг 3-7. Бүрэлдэхүүн хэсгүүдийг суулгахаар сонгох

Алийг суулгахаа шийдэх нь системийг ямар зорилгоор ашиглах болон дискний хэмжээнээс ихээхэн хамаарна. FreeBSD цөм болон хэрэглэгчийн талбар (хамтдаа үндсэн систем буюу “base system” гэгддэг) үргэлж сууна.

Суулгах төрлөөс хамаарч зарим нэг нь харагдахгүй байж болно.

Сонгох боломжтой бүрэлдэхүүнүүд

  • doc - Голчлон түүхийн сонирхлоос улбаатай нэмэлт баримтууд. FreeBSD-н баримтжуулах төслийн баримт бичгүүдийг дараа нь суулгаж болно.

  • games - fortune, rot13 болон бусад BSD-ийн хэд хэдэн уламжлалт тоглоом.

  • lib32 - 64 битийн FreeBSD дээр 32 битийн програм ажиллуулахад зориулсан нийцтэй сангууд.

  • ports - FreeBSD-н портын цуглуулга.

    Портын цуглуулга нь програм суулгах хялбар бөгөөд тохиромжтой арга юм. Портын цуглуулга нь програмыг бүтээхэд шаардлагатай эх кодыг агуулдаггүй. Харин гуравдагч талуудын програмуудыг татаж бүтээн суулгах процессыг автоматжуулахад хэрэгтэй файлуудын цуглуулга юм. Бүлэг 5 хэсэгт портын цуглуулгыг хэрхэн ашиглах талаар хэлэлцдэг.

    Сануулга: Суулгалтын програм шаардлагатай зай байгаа эсэхийг шалгадаггүй. Энэ сонголтыг зөвхөн шаардлагатай зайтай бол сонгоорой. FreeBSD 9.0 дээр FreeBSD-н портын цуглуулга ойролцоогоор 500 MB хэмжээтэй байдаг. Та илүү сүүлийн үеийн FreeBSD-н хувилбарууд дээр арай илүү хэмжээтэй байна гэж ойлгоход аюулгүй.

  • src - Системийн эх код.

    FreeBSD нь цөм болон хэрэглэгчийн талбарын бүрэн хэмжээний эх кодтой ирдэг. Ихэнх програмын хувьд шаардлагагүй боловч эх хэлбэрээр ирсэн зарим нэг програм (жишээ нь төхөөрөмжийн драйверууд эсвэл цөмийн модулиуд) эсвэл FreeBSD-г хөгжүүлэхэд шаардлагатай байж болох юм.

    Бүрэн хэмжээний эх кодын мод 1 GB дискний хэмжээг шаардах бөгөөд FreeBSD системийг дахин бүтээхэд нэмэлт 5 GB зай шаарддаг.


3.6. Сүлжээнээс суулгах нь

bootonly буюу зөвхөн ачаалах суулгалтын зөөвөрлөгч нь суулгалтын файлуудын хуулбарыг агуулдаггүй. bootonly суулгалтын арга ашиглах үед файлуудыг шаардлагатай үед нь сүлжээгээр татаж авах ёстой байдаг.

Зураг 3-8. Сүлжээнээс суулгах нь

Хэсэг 3.9.2 хэсэгт заагдсаны дагуу сүлжээний холболтын тохиргоо хийгдсэний дараа толин тусгал сайт сонгогддог. Толин тусгал сайтууд нь FreeBSD-н файлуудын хуулбарыг хадгалж байдаг. FreeBSD суулгах компьютер байгаа тэр газартайгаа ойрхон бүсээс толин тусгалын сайтаа сонгох хэрэгтэй. Суулгах компьютертай ойролцоо толин тусгал сайтыг сонгох нь файлыг илүү хурдан татаж авах боломжийг олгох бөгөөд суулгалтын хугацаа богиносох болно.

Зураг 3-9. Толин тусгал сонгох нь

Суулгалтын файлууд локал зөөвөрлөгч дээр байгаа юм шиг суулгалт үргэлжлэх болно.


3.7. Дискний зай авах нь

FreeBSD дээр гурван янзын аргаар дискний зай хуваарилж болно. Guided буюу зааварчилсан хуваалт нь дискийн хуваалтыг автоматаар хийдэг бол Manual хуваалт нь дэвшилтэт хэрэглэгчийн хувьд хуваалтад өөрчлөлт хийх боломжийг олгодог. Төгсгөлд нь gpart(8), fdisk(8), болон bsdlabel(8) гэх мэт тушаалын мөрийн програмуудыг шууд ашиглах боломжийг олгодог бүрхүүлийг эхлүүлэх сонголт бас бий.

Зураг 3-10. Зааварчилсан эсвэл Гар аргаар хуваах горимыг сонгох


3.7.1. Зааварчилсан хуваалт

Олон диск холбоотой бол FreeBSD суулгах дискийг сонгох хэрэгтэй.

Зураг 3-11. Олон дискээс сонгох

Бүх дискийг FreeBSD-д зориулж хуваарилж болно, эсвэл зөвхөн хэсгийг хуваарилж болно. Хэрэв [ Entire Disk ] сонгосон бол бүх дискийг эзэлсэн ерөнхий хуваалтын тогтоц үүснэ. [ Partition ]-г сонгосноор дискний ашиглагдаагүй байгаа хэсэгт хуваалтын тогтцыг үүсгэнэ.

Зураг 3-12. Бүх диск эсвэл хуваалтыг сонгох

Хуваалтын тогтцыг үүсгэсний дараа зөв эсэхийг шалгаарай. Хэрэв алдаа хийсэн бол [ Revert ] гэдгийг сонгосноор хуваалтуудыг урьдын байрлалд аваачна, эсвэл [ Auto ] нь автомат FreeBSD-н хуваалтуудыг үүсгэх болно. Хуваалтуудыг гараар үүсгэх, өөрчлөх, эсвэл устгах боломжтой. Хуваалт зөв бол [ Finish ]-г сонгож суулгалтыг үргэлжлүүлнэ.

Зураг 3-13. Үүсгэсэн хуваалтуудыг шалгах


3.7.2. Гараар хуваах нь

Гараар хуваалт хийхэд шууд хуваалт засварлагч руу оруулдаг.

Зураг 3-14. Хуваалтуудыг гараар хийх нь

Хөтчийг (энэ жишээн дээр ada0) тодруулаад [ Create ]-г сонгоход хуваалтын схемийн төрлийг сонгож болох цэсийг харуулдаг.

Зураг 3-15. Хуваалтуудыг гараах хийх нь

GPT хуваалт нь PC төрлийн компьютеруудын хувьд ихэвчлэн хамгийн зөв сонголт байдаг. GPT-тэй нийцтэй биш байж болох хуучин PC-н үйлдлийн системүүд MBR хуваалтыг шаардаж болох юм. Бусад хуваалтын схемүүдийг ердийн биш эсвэл хуучин компьютерийн системүүдийн хувьд ерөнхийдөө ашигладаг.

Хүснэгт 3-1. Хуваалтын схемүүд

Товчлол Тайлбар
APM Apple Partition Map буюу PowerPC® Macintosh-н хэрэглэдэг Apple-н Хуваалт.
BSD MBR-гүй BSD-н хаягууд, заримдаа "dangerously dedicated mode" гэгддэг. bsdlabel(8)-с үзнэ үү.
GPT GUID Хуваалтын Хүснэгт.
MBR Master Boot Record буюу Мастер Ачаалах Бичлэг
PC98 MBR-н хувилбар, NEC PC-98 компьютерууд ашигладаг.
VTOC8 Volume Table Of Contents, Sun SPARC64 бас UltraSPARC компьютерууд ашигладаг.

Хуваалтын схемийг сонгож үүсгэсний дараа [ Create ]-г сонгосноор шинэ хуваалтууд үүсгэх болно.

Зураг 3-16. Гараар хуваалтуудыг үүсгэх нь

Стандарт FreeBSD-н GPT суулгалт багаар бодоход гурван хуваалт ашигладаг:

Стандарт FreeBSD GPT хуваалтууд

  • freebsd-boot - FreeBSD ачаалах код. Энэ хуваалт диск дээр эхнийх байх ёстой.

  • freebsd-ufs - FreeBSD UFS файлын систем.

  • freebsd-swap - FreeBSD swap зай.

Файлын системийн олон хуваалтыг ашиглаж болох бөгөөд зарим хүмүүс /, /var, /tmp ба /usr файлын системүүдийн хувьд тусдаа хуваалт бүхий уламжлалт тогтцыг илүүд үзэж болох юм. Жишээг Жишээ 3-3 хаягаас үзнэ үү.

GPT хуваалтын төрлүүдийн талаарх бүтэн жагсаалтыг gpart(8) хуудаснаас үзнэ үү.

Хэмжээг ердийн товчлолоор оруулж өгч болно: Килобайтын хувьд K, Мегабайтын хувьд M эсвэл гигабайтын хувьд G гэнэ.

Зөвлөгөө: Секторын зөв тэгш байдал ажиллагааг сайжруулах бөгөөд олон 4K байт хэмжээнд тэгш хуваагдахаар хуваалтын хэмжээг өгөх нь 512-байт эсвэл 4K байт сектор бүхий хөтчүүд дээр тэгш байдлыг хангахад тусална. Ерөнхийдөө олон 1M эсвэл 1G-д тэгш хуваагдахаар байх хуваалтын хэмжээг ашиглах нь хуваалт бүр тэгш тооны 4K-с эхлэх боломжийг бий болгодог. Гэхдээ нэг бодох юм нь freebsd-boot хуваалт нь ачаалах кодын хязгаарлалтаас болоод 512K-с ихгүй байх ёстой байдаг.

Хэрэв энэ хуваалт нь файлын систем агуулах бол холболтын цэг хэрэгтэй болдог. Хэрэв зөвхөн ганц UFS хуваалт үүсэх бол холболтын цэг нь / байна.

хаягийг бас асуудаг. Хаяг нь энэ хуваалтыг таних нэр болдог. Хөтчийн нэр эсвэл тоо нь хөтөч өөр хянагч юм уу порт руу холбогдсон бол өөрчлөгдөж болох боловч хуваалтын хаяг өөрчлөгдөхгүй. /etc/fstab гэх мэт файлууд дээрх хөтчийн нэр ба хуваалтын тоонуудын оронд хаягийг ашиглах нь тоног төхөөрөмжийн өөрчлөлттэй холбоотой асуудал үүсгэлгүй системийг найдвартай ажиллагааг илүү болгодог. GPT хаягууд нь диск холбогдсон үед /dev/gpt/ гэж орж ирдэг. Бусад хуваалтын схемүүд өөр хаягийн боломжуудтай бөгөөд тэдгээрийн хаягууд нь /dev/ дотор өөр сангуудад гарч ирдэг.

Зөвлөгөө: Ижил хаягуудтай байхаас сэргийлж файл систем бүрт өөр хаяг ашиглах хэрэгтэй. Компьютерийн нэр, хэрэглээ, эсвэл байрлалаас хэдэн үсгийг хаягт нэмж өгч болно. Жишээ нь лабораторийн компьютерийн хувьд түүний UFS root хуваалтыг "labroot" юм уу эсвэл "rootfs-lab" гэж өгч болох юм.

Жишээ 3-3. Уламжлалт тусдаа файлын системийн хуваалтуудыг үүсгэх

/, /var, /tmp, болон /usr сангууд тусдаа файл систем хэлбэрээр өөр өөрийн хуваалтууд дээр байрлах уламжлалт хуваалтуудын хувьд GPT хуваалтын схем үүсгээд доор үзүүлсэн шиг хуваалтыг үүсгэх хэрэгтэй. Үзүүлсэн хуваалтын хэмжээнүүд нь 20G дискний хувьд ийм байх нь элбэг байдаг. Хэрэв диск дээр илүү зай байгаа бол илүү том swap юм уу эсвэл /var хуваалт байх нь хэрэгтэй байдаг. Энд үзүүлсэн хаягуудын өмнө "жишээ нь" ex тавигдсан байгаа бөгөөд уншигч нар дээр тайлбарласны дагуу өөр бусдаас ялгаатай хаягийн утгыг ашиглах хэрэгтэй.

Хуваалтын төрөл Хэмжээ Холбох цэг Хаяг
freebsd-boot 512K    
freebsd-ufs 2G / exrootfs
freebsd-swap 4G   exswap
freebsd-ufs 2G /var exvarfs
freebsd-ufs 1G /tmp extmpfs
freebsd-ufs анхдагчийг хүлээн авах (дискний үлдсэн хэсэг) /usr exusrfs

Хуваалтыг үүсгэсний дараа суулгалтыг [ Finish ] дарж үргэлжлүүлнэ.


3.8. Суулгалтыг гүйцэтгэх нь

Энэ мөч нь суулгалт хатуу диск рүү өөрчлөлт хийхээс өмнө зогсоох хамгийн сүүлийн боломж юм.

Зураг 3-17. Сүүлийн лавлагаа

[ Commit ]-г сонгож Enter дарж үргэлжлүүлнэ. Хэрэв өөрчлөлт хийх хэрэгтэй бол [ Back ] дарж хуваалт засварлагч руу буцна. [ Revert & Exit ] нь хатуу диск рүү ямар ч өөрчлөлт хийлгүйгээр суулгагчаас гаргана.

Сонгосон түгээлтүүд, суулгалт зөөвөрлөгч болон компьютерийн хурдаас хамаарч суулгах хугацаа харилцан адилгүй байдаг Процесс явж байгааг харуулсан хэд хэдэн зурвасууд гарч ирдэг.

Эхлээд суулгагч хуваалтуудыг диск рүү бичиж newfs хийж хуваалтуудыг бэлэн болгоно.

Хэрэв сүлжээгээр суулгаж байгаа бол bsdinstall шаардлагатай түгээлтийн файлуудыг татаж авах болно.

Зураг 3-18. Түгээлтийн файлуудыг татах нь

Дараа нь татаж авсан эсвэл суулгалтын зөөвөрлөгчөөс уншсан файлууд нь эвдрээгүйг магадлахын тулд түгээлтийн файлуудын бүрэн бүтэн байдлыг шалгадаг.

Зураг 3-19. Түгээлтийн файлуудыг шалгах нь

Төгсгөлд нь шалгагдсан түгээлтийн файлуудыг диск рүү задалдаг.

Зураг 3-20. Түгээлтийн файлуудыг задлах нь

Бүх хүссэн түгээлтийн файлуудыг задалсны дараа bsdinstall нь суулгалт дууссаны дараах тохиргооны ажлууд руу ордог. (Хэсэг 3.9-г үзнэ үү).


3.9. Суулгасны дараах үйлдлүүд

Төрөл бүрийн тохиргоо хийсний дараа FreeBSD амжилттай сууна. Шинэ суулгасан FreeBSD систем рүү ачаалахаасаа өмнө төгсгөлийн цэсээс тохиргооны сонголтууд руу орж тохиргоог өөрчилж болно.


3.9.1. root нууц үгийг тохируулах

root нууц үгийг өгөх хэрэгтэй. Нууц үгийг оруулж байхад дэлгэц дээр бичсэн тэмдэгтүүд харагддаггүйг санаарай. Нууц үгийг оруулсны дараа дахин оруулах ёстой. Энэ нь алдаа гарахаас сэргийлдэг.

Зураг 3-21. root нууц үгийг тохируулах

Нууц үгийг оруулсны дараа суулгалт үргэлжлэх болно.


3.9.2. Сүлжээний интерфэйсүүдийг тохируулах нь

Тэмдэглэл: bootonly суулгалтын үеэр тохиргоо хийгдсэн бол сүлжээний тохиргоог алгасах болно.

Компьютер дээр олдсон бүх сүлжээний интерфэйсийн жагсаалтыг харуулна. Тохиргоо хийхээ сонгоорой.

Зураг 3-22. Сүлжээний интерфэйсийг сонгоно


3.9.2.1. Утасгүй сүлжээний интерфэйсийг тохируулах нь

Хэрэв утасгүй сүлжээний интерфэйс сонгосон бол сүлжээнид холбогдохын тулд утасгүй сүлжээний танилт болон аюулгүй байдалтай холбоотой параметрүүдийг оруулж өгөх хэрэгтэй.

Утасгүй сүлжээг Service Set Identifier буюу SSID-р танидаг. SSID нь богино бөгөөд сүлжээ бүрийн хувьд өөр нэр өгдөг.

Ихэнх утасгүй сүлжээнүүд мэдээллийг дурын этгээд харахаас урьдчилан сэргийлэхийн тулд дамжуулсан өгөгдлийг шифрлэж нууцалдаг. WPA2-г ер нь илүүтэй зөвлөдөг. WEP гэх мэт хуучин шифрлэлтийн төрлүүд нь маш бага аюулгүй байдлыг хангадаг.

Утасгүй сүлжээнд холбогдох эхний алхам бол утасгүй сүлжээний холболтын цэгийг хайх явдал байдаг.

Зураг 3-23. Утасгүй сүлжээний холболтын цэгийг хайх

Хайх үед олдсон SSID -ууд болон тэдгээрийн шифрлэлтийн төрлийн талаарх тайлбар харагдах болно. Хэрэв SSID жагсаалтад харагдахгүй бол [ Rescan ]-г сонгож дахиж хайгаарай. Хэрэв хүссэн сүлжээ дахиад гарч ирэхгүй байгаа бол антенны холболтоо шалгах юм уу эсвэл холболтын цэг рүү компьютераа ойртуулж үзээрэй. Өөрчлөлт хийх болгондоо дахиж хайж үзээрэй.

Зураг 3-24. Утасгүй сүлжээг сонгох нь

Сүлжээг сонгосны дараа сонгосон утасгүй сүлжээндээ холбогдохдоо шифрлэлтийн мэдээллээ оруулна. WPA2 ашиглавал зөвхөн нууц үг (Урьдчилсан хуваалцсан түлхүүр буюу Pre-Shared Key, товчоор PSK) хэрэгтэй. Оруулах цонхон дээр бичсэн тэмдэгтүүд аюулгүй байдалтай холбоотойгоор од хэлбэрээр харагдана.

Зураг 3-25. WPA2 тохируулга

Утасгүй сүлжээг сонгож холболтын мэдээллийг оруулсны дараа сүлжээний тохиргоо үргэлжилнэ.


3.9.2.2. IPv4 сүлжээг тохируулах нь

IPv4 сүлжээ ашиглагдах эсэхийг сонгох хэрэгтэй. Энэ сүлжээний хамгийн түгээмэл төрөл юм.

Зураг 3-26. IPv4 сүлжээг сонгох нь

IPv4 тохиргоог хийх хоёр арга байдаг. DHCP нь сүлжээний интерфэйсийг автоматаар тохируулах бөгөөд энэ аргыг илүүд үздэг. Static буюу тогтмол тохиргоо нь сүлжээний мэдээллийг гараас оруулах шаардлагыг бий болгодог.

Тэмдэглэл: Хамаагүй сүлжээний мэдээлэл оруулж болохгүй, учир нь ажиллахгүй. Сүлжээний администратор юм уу эсвэл үйлчилгээ үзүүлэгчээс Хэсэг 3.3.3-д үзүүлсэн мэдээллийг авах хэрэгтэй.


3.9.2.2.1. IPv4 DHCP сүлжээний тохиргоо

Хэрэв DHCP сервер байгаа бол автоматаар сүлжээгээ тохируулахын тулд [ Yes ]-г дарна.

Зураг 3-27. IPv4 DHCP тохиргоог сонгох


3.9.2.2.2. IPv4 статик сүлжээний тохиргоо

Сүлжээний интерфэйсийн статик тохиргоо нь IPv4-н зарим мэдээлэл оруулахыг шаарддаг.

Зураг 3-28. IPv4 статик тохиргоо

  • IP хаяг - Энэ компьютерт гараар зааж өгөх IPv4 хаяг. Энэ хаяг нь давхцах ёсгүй бөгөөд локал сүлжээн дээр өөр төхөөрөмж дээр ашиглагдаагүй байх ёстой.

  • Subnet Mask - Локал сүлжээнд зориулсан сүлжээний маск. Ихэвчлэн 255.255.255.0 байдаг.

  • Default Router - Энэ сүлжээн дэх анхдагч чиглүүлэгчийн IP хаяг. Ихэвчлэн локал сүлжээг Интернэт рүү холбодог чиглүүлэгч юм уу эсвэл өөр сүлжээний төхөөрөмжийн хаяг байдаг. Мөн default gateway буюу анхдагч гарц гэгддэг.


3.9.2.3. IPv6 сүлжээг тохируулах нь

IPv6 нь сүлжээний тохиргооны шинэ арга юм. Хэрэв IPv6 байгаад түүнийг тохируулахыг хүсэж байгаа бол [ Yes ]-г сонгоно.

Зураг 3-29. IPv6 сүлжээг тохируулахаар сонгох

IPv6 нь бас тохируулах хоёр аргатай. SLAAC буюу Төлөвт бус хаягийн автомат тохиргоо нь сүлжээний интерфэйсийг автоматаар зөвөөр тохируулдаг. Статик тохиргоо нь сүлжээний мэдээллийг гараар оруулахыг шаарддаг.


3.9.2.3.1. IPv6 Төлөвт бус хаягийн автомат тохиргоо

SLAAC нь локал чиглүүлэгчээс автомат тохиргооны мэдээлэл асуух боломжийг IPv6 сүлжээний төхөөрөмжид олгодог. RFC4862 хаягаас илүү мэдээллийг үзнэ үү.

Зураг 3-30. IPv6 SLAAC тохиргоог сонгох


3.9.2.3.2. IPv6 статик сүлжээний тохиргоо

Сүлжээний интерфэйсийн статик тохиргоо нь IPv6 тохиргооны мэдээллийг оруулахыг шаарддаг.

Зураг 3-31. IPv6 статик тохиргоо

  • IPv6 Address - Гараар энэ компьютерт өгөх IP хаяг. Энэ хаяг нь давхцах ёсгүй бөгөөд локал сүлжээн дээр өөр төхөөрөмж дээр ашиглагдаагүй байх ёстой.

  • Default Router - Энэ сүлжээн дэх анхдагч чиглүүлэгчийн IPv6 хаяг. Ихэвчлэн локал сүлжээг Интернэт рүү холбодог чиглүүлэгч юм уу эсвэл өөр сүлжээний төхөөрөмжийн хаяг байдаг. Мөн default gateway буюу анхдагч гарц гэгддэг.


3.9.2.4. DNS-г тохируулах нь

Domain Name System ( DNS) танигч нь хостын нэрийг сүлжээний хаяг руу болон сүлжээний хаягаас хөрвүүлдэг. Хэрэв DHCP юм уу эсвэл SLAAC-г сүлжээний интерфэйсийг автоматаар тохируулахад ашиглаж байгаа бол Танигчийн тохиргооны утгууд аль хэдийн байж болох юм. Үгүй бол локал сүлжээний домен нэрийг хайх талбарт оруулна. DNS #1 ба DNS #2 нь локал DNS серверүүдийн IP хаягууд юм. Ядаж нэг DNS сервер хэрэгтэй байдаг.

Зураг 3-32. DNS тохиргоо


3.9.3. Цагийн бүсийг тохируулах нь

Цагийн бүсийг машиндаа зориулж тохируулах нь бүсийн цагийн өөрчлөлтүүдийг автоматаар дагах болон бусад цагийн бүстэй холбоотой функцуудыг зөв хийх боломжийг олгодог.

Энд байгаа жишээ нь АНУ-н Зүүн цагийн бүсэд байгаа машины хувьд юм. Таны сонголт газар зүйн бүсээс хамааран өөр өөр байх болно.

Зураг 3-33. Локал эсвэл UTC цагийг сонгох

Машины цаг хэрхэн тохируулагдсан байгаагаас хамаарч [ Yes ] эсвэл [ No ]-г сонгоод Enter дарна. Систем UTC эсвэл локал цаг алийг ашиглаж байгааг та мэдэхгүй байгаа бол [ No ]-г дарж хамгийн түгээмэл хэрэглэгддэг локал цагийг сонгоорой.

Зураг 3-34. Бүсийг сонгох

Сумнууд ашиглаж зохих бүсийг сонгоод Enter дарна.

Зураг 3-35. Улсыг сонгох

Сум ашиглан зохих улсыг сонгоод Enter дарна.

Зураг 3-36. Цагийн бүсийг сонгох

Сум ашиглан зохих цагийн бүсийг сонгоод Enter дарна.

Зураг 3-37. Цагийн бүсийг зөвшөөрөх

Цагийн бүсийн товчлол зөв эсэхийг шалгаарай. Зөв байвал Enter дарж суулгалтын дараах тохиргоог үргэлжлүүлнэ.


3.9.4. Үйлчилгээ идэвхжүүлэхийг сонгох

Ачаалах үед ажиллах нэмэлт үйлчилгээнүүдийг идэвхжүүлж болно. Эдгээр үйлчилгээнүүд нь бүгд нэмэлтээр байдаг.

Зураг 3-38. Нэмэлт үйлчилгээнүүдийг идэвхжүүлэхийг сонгох

Нэмэлт үйлчилгээнүүд

  • sshd - Аюулгүй алсын холболтод зориулсан аюулгүй бүрхүүл (SSH) демон.

  • moused - Системийн консолийн хүрээнд хулганы хэрэглээг бий болгодог.

  • ntpd - Цагийг автоматаар синхрончлох Сүлжээний Цагийн Протокол (NTP) демон.

  • powerd - Тэжээлийн хяналт болон энерги зүй зохистой хэрэглэхэд зориулсан системийн тэжээлийн хяналт.


3.9.5. Сүйрлийн үеийн мэдээллийг хадгалахыг идэвхжүүлэх

bsdinstall нь систем дээр сүйрлийн үеийн мэдээллийг хадгалахыг идэвхжүүлэх эсэхийг асуудаг. Сүйрлийн үеийн мэдээлэл хадгалахыг идэвхжүүлэх нь систем дээр асуудлыг дибаг хийхэд маш хэрэгтэй байдаг бөгөөд хэрэглэгчдэд аль болох энэ боломжийг идэвхжүүлэхийг зөвлөдөг. [ Yes ] сонгож сүйрлийн үеийн мэдээллийг хадгалахыг идэвхжүүлэх юм уу эсвэл [ No ] дарж сүйрлийн үеийн мэдээллийг хадгалахыг идэвхжүүлэлгүйгээр үргэлжлүүлж болно.

Зураг 3-39. Сүйрлийн үеийн мэдээллийг хадгалахыг идэвхжүүлэх


3.9.6. Хэрэглэгчид нэмэх

Суулгалтын явцад ядаж нэг хэрэглэгч нэмэх нь root хэрэглэгчээр системд оролгүйгээр системийг ашиглах боломжийг олгодог. root хэрэглэгчээр системд орвол хийх үйлдлийн хувьд ямар нэг хязгаарлалт аль эсвэл хамгаалалт байдаггүй. Нормал хэрэглэгчээр нэвтрэн орох нь илүү аюулгүй бөгөөд нууцлаг юм.

[ Yes ] дарж шинэ хэрэглэгч нэмнэ.

Зураг 3-40. Хэрэглэгчийн бүртгэл нэмэх

Нэмэх хэрэглэгчийн мэдээллийг оруулна.

Зураг 3-41. Хэрэглэгчийн мэдээлэл оруулах

Хэрэглэгчийн мэдээлэл

  • Username - Хэрэглэгчийн нэвтрэх нэр. Ихэвчлэн нэрний эхний үсгийг овогтой нь цуг ашигласан байдаг.

  • Full name - Хэрэглэгчийн бүтэн нэр.

  • Uid - Хэрэглэгчийн ID. Систем үүнийг зааж өгөх тул ихэвчлэн хоосон үлдээдэг.

  • Login group - Хэрэглэгчийн бүлэг. Анхдагч утгыг авахаар хоосон үлдээдэг.

  • Invite user into other groups? - Хэрэглэгчийг гишүүнээр нэмж болох нэмэлт бүлгүүд.

  • Login class - Анхдагч утгыг авахаар хоосон үлдээдэг.

  • Shell - Хэрэглэгчид зориулсан интерактив бүрхүүл. Жишээн дээр csh(1) сонгосон байгаа.

  • Home directory - Хэрэглэгчийн гэр сан. Анхдагч утга ихэвчлэн зөв байдаг.

  • Home directory permissions - Хэрэглэгчийн гэрийн сангийн зөвшөөрлүүд. Анхдагч утга ихэвчлэн зөв байдаг.

  • Use password-based authentication? - Ихэвчлэн "yes".

  • Use an empty password? - Ихэвчлэн "no".

  • Use a random password? - Ихэвчлэн "no".

  • Enter password - Хэрэглэгчийн жинхэнэ нууц үг. Бичсэн тэмдэгтүүд дэлгэц дээр гарахгүй.

  • Enter password again - Шалгахын тулд нууц үгийг дахин бичих ёстой.

  • Lock out the account after creation? - Ихэвчлэн "no".

Бүгдийг оруулсны дараа ерөнхий дүгнэсэн мэдээлэл гарч ирэх бөгөөд систем зөв эсэхийг асууна. Хэрэв оруулж байх явцдаа алдаа хийсэн бол no гэж бичин дахин оролдоорой. Хэрэв бүгд зөв бол yes гэж бичин шинэ хэрэглэгч үүсгэнэ.

Зураг 3-42. Хэрэглэгч ба бүлгийн удирдлагаас гарах

Хэрэв өөр хэрэглэгч нэмэх шаардлагатай бол "Add another user?" гэсэн асуултад yes гэж хариулаарай. no гэж бичин хэрэглэгч нэмэхээ зогсоож суулгалтыг үргэлжлүүлнэ.

Хэрэглэгч нэмэх болон хэрэглэгчийн удирдлагын талаар илүү дэлгэрэнгүйг Бүлэг 14 хэсгээс үзнэ үү.


3.9.7. Төгсгөлийн тохиргоо

Бүгдийг суулгаж тохируулсны дараа тохиргоонуудыг өөрчлөх сүүлчийн боломжийг систем олгоно.

Зураг 3-43. Төгсгөлийн тохиргоо

Суулгалтыг гүйцээхээсээ өмнө энэ цэсийг ашиглан ямар нэг өөрчлөлт аль эсвэл нэмэлт тохиргоог хийгээрэй.

Төгсгөлийн тохиргооны сонголтууд

  • Add User - Хэсэг 3.9.6 хэсэгт тайлбарласан байгаа.

  • Root Password - Хэсэг 3.9.1 хэсэгт тайлбарласан байгаа.

  • Hostname - Хэсэг 3.5.2 хэсэгт тайлбарласан байгаа.

  • Network - Хэсэг 3.9.2 хэсэгт тайлбарласан байгаа.

  • Services - Хэсэг 3.9.4 хэсэгт тайлбарласан байгаа.

  • Time Zone - Хэсэг 3.9.3 хэсэгт тайлбарласан байгаа.

  • Handbook - FreeBSD гарын авлага (таны одоо уншиж байгаа энэ заавар) татаж суулгана.

Төгсгөлийн ямар нэг тохиргоо хийж дууссаны дараа Exit-г сонгож суулгалтаас гарна.

Зураг 3-44. Гараар тохируулах

bsdinstall нь шинэ систем рүү ачаалахаас өмнө өөр илүү нэмэлт тохиргоо шаардлагатай эсэхийг асууна. Шинэ системээс [ Yes ]-г сонгон дарж бүрхүүл рүү орох юм уу эсвэл [ No ]-г дарж суулгалтын сүүлийн алхам руу орно.

Зураг 3-45. Суулгалтыг гүйцээх

Хэрэв илүү тохиргоо эсвэл тусгай тохиргоо хэрэгтэй бол [ Live CD ]-г сонгосноор суулгалтын зөөвөрчлөгчийг Live CD горим руу ачаалах болно.

Суулгалт дууссаны дараа [ Reboot ]-г сонгож компьютерийг дахин ачаалж шинэ FreeBSD системийг эхлүүлнэ. FreeBSD суулгалтын CD, DVD эсвэл USB санах ойн дискийг авахаа мартуузай, тэгэхгүй бол компьютер тэр байгаа зөөвөрлөгчөөс дахин ачаалах болно.


3.9.8. FreeBSD ачаалах ба унтраах

3.9.8.1. FreeBSD/i386 ачаалах

FreeBSD ачаалах үед олон мэдээллийн чанартай зурвасууд дэлгэц дээр гардаг. Ихэнх нь дэлгэцээр урсан өнгөрөх бөгөөд энэ нь энгийн явдал юм. Систем ачаалж дууссаны дараа нэвтрэх хэсэг гарч ирдэг. Дэлгэц дээр гүйж өнгөрсөн зурвасуудыг үзэхийн тулд Scroll-Lock дарж scroll-back buffer-г идэвхжүүлнэ. PgUp, PgDn болон сумнуудыг ашиглан зурвасуудыг гүйлгэн харж болно. Scroll-Lock дарж дэлгэцийн түгжсэн горимоос гарч ердийн дэлгэц рүү эргэн орно.

login: цонхон дээр суулгалтын үед нэмсэн хэрэглэгчийн нэрийг оруулна. Жишээн дээр asample гэж буй. Шаардлагагүй тохиолдолд root хэрэглэгчээр орохоос зайлсхийгээрэй.

Дээр дурдсан зурвасуудыг гүйлгэж харах боломж нь хязгаарлагдмал бөгөөд бүх зурвасуудыг үзэх боложмгүй юм. Нэвтэрч орсны дараа тушаалын мөрөөс ихэнхийг нь үзэж болох бөгөөд ингэхийн тулд dmesg | less тушаалуудыг ашиглана. Үзэж дууссаныхаа дараа q дарж тушаалын мөр рүү буцаж орно.

Ачаалах үеийн зурвасууд (хувилбарын мэдээллийг орхисон байгаа):

Copyright (c) 1992-2011 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.

    root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
CPU: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz (3007.77-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x10676  Family = 6  Model = 17  Stepping = 6
  Features=0x783fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2>
  Features2=0x209<SSE3,MON,SSSE3>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
real memory  = 536805376 (511 MB)
avail memory = 491819008 (469 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <VBOX   VBOXAPIC>
ioapic0: Changing APIC ID to 1
ioapic0 <Version 1.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <VBOX VBOXXSDT> on motherboard
acpi0: Power Button (fixed)
acpi0: Sleep Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 1.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
vgapci0: <VGA-compatible display> mem 0xe0000000-0xe0ffffff irq 18 at device 2.0 on pci0
em0: <Intel(R) PRO/1000 Legacy Network Connection 1.0.3> port 0xd010-0xd017 mem 0xf0000000-0xf001ffff irq 19 at device 3.0 on pci0
em0: Ethernet address: 08:00:27:9f:e0:92
pci0: <base peripheral> at device 4.0 (no driver attached)
pcm0: <Intel ICH (82801AA)> port 0xd100-0xd1ff,0xd200-0xd23f irq 21 at device 5.0 on pci0
pcm0: <SigmaTel STAC9700/83/84 AC97 Codec>
ohci0: <OHCI (generic) USB controller> mem 0xf0804000-0xf0804fff irq 22 at device 6.0 on pci0
usbus0: <OHCI (generic) USB controller> on ohci0
pci0: <bridge> at device 7.0 (no driver attached)
acpi_acad0: <AC Adapter> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse Explorer, device ID 4
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0
Event timer "RTC" frequency 32768 Hz quality 0
ppc0: cannot reserve I/O port range
Timecounters tick every 10.000 msec
pcm0: measured ac97 link rate at 485193 Hz
em0: link state changed to UP
usbus0: 12Mbps Full Speed USB v1.0
ugen0.1: <Apple> at usbus0
uhub0: <Apple OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
cd0 at ata1 bus 0 scbus1 target 0 lun 0
cd0: <VBOX CD-ROM 1.0> Removable CD-ROM SCSI-0 device
cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present
ada0 at ata0 bus 0 scbus0 target 0 lun 0
ada0: <VBOX HARDDISK 1.0> ATA-6 device
ada0: 33.300MB/s transfers (UDMA2, PIO 65536bytes)
ada0: 12546MB (25694208 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad0
Timecounter "TSC" frequency 3007772192 Hz quality 800
Root mount waiting for: usbus0
uhub0: 8 ports with 8 removable, self powered
Trying to mount root from ufs:/dev/ada0p2 [rw]...
Setting hostuuid: 1848d7bf-e6a4-4ed4-b782-bd3f1685d551.
Setting hostid: 0xa03479b2.
Entropy harvesting: interrupts ethernet point_to_point kickstart.
Starting file system checks:
/dev/ada0p2: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ada0p2: clean, 2620402 free (714 frags, 327461 blocks, 0.0% fragmentation)
Mounting local file systems:.
vboxguest0 port 0xd020-0xd03f mem 0xf0400000-0xf07fffff,0xf0800000-0xf0803fff irq 20 at device 4.0 on pci0
vboxguest: loaded successfully
Setting hostname: machine3.example.com.
Starting Network: lo0 em0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 08:00:27:9f:e0:92
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
Starting devd.
Starting Network: usbus0.
DHCPREQUEST on em0 to 255.255.255.255 port 67
DHCPACK from 10.0.2.2
bound to 192.168.1.142 -- renewal in 43200 seconds.
add net ::ffff:0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
add net fe80::: gateway ::1
add net ff02::: gateway ::1
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
32-bit compatibility ldconfig path: /usr/lib32
Creating and/or trimming log files.
Starting syslogd.
No core dumps found.
Clearing /tmp (X related).
Updating motd:.
Configuring syscons: blanktime.
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
10:a0:f5:af:93:ae:a3:1a:b2:bb:3c:35:d9:5a:b3:f3 root@machine3.example.com
The key's randomart image is:
+--[RSA1 1024]----+
|    o..          |
|   o . .         |
|  .   o          |
|       o         |
|    o   S        |
|   + + o         |
|o . + *          |
|o+ ..+ .         |
|==o..o+E         |
+-----------------+
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
7e:1c:ce:dc:8a:3a:18:13:5b:34:b5:cf:d9:d1:47:b2 root@machine3.example.com
The key's randomart image is:
+--[ DSA 1024]----+
|       ..     . .|
|      o  .   . + |
|     . ..   . E .|
|    . .  o o . . |
|     +  S = .    |
|    +  . = o     |
|     +  . * .    |
|    . .  o .     |
|      .o. .      |
+-----------------+
Starting sshd.
Starting cron.
Starting background file system checks in 60 seconds.

Thu Oct  6 19:15:31 MDT 2011

FreeBSD/amd64 (machine3.example.com) (ttyv0)

login:

RSA ба DSA түлхүүрүүдийг үүсгэх нь удаан машин дээр хугацаа зарцуулж магадгүй. Энэ нь sshd-г автоматаар эхлүүлэхээр тохируулсан тохиолдолд зөвхөн суулгасны дараа эхний удаа ачаалах явцад хийгддэг. Дараа дараагийн ачаалах явц хурдан байх болно.

FreeBSD нь анхдагчаар график орчин суулгадаггүй боловч суулгах боломжтой олон орчин байдаг. Дэлгэрэнгүй мэдээллийг Бүлэг 6 хэсгээс үзнэ үү.


3.9.9. FreeBSD унтраах

FreeBSD компьютерийг зөв унтраах нь өгөгдөл болон бүр төхөөрөмжийг эвдрэлээс хамгаалахад тусалж болно. Тэжээлийг унтрааж болохгүй. Хэрэв хэрэглэгч wheel бүлгийн гишүүн бол тушаалын мөрөн дээр su гэж бичин root нууц үгийг оруулж супер хэрэглэгч болно. Үгүй бол root хэрэглэгчээр орж shutdown -p now гэж ажиллуулаарай. Систем цэвэрхэн хаагдаж өөрийгөө унтраах болно.

Ctrl+Alt+Del товчлуурын хослол системийг дахин ачаалахад ашиглагдах боловч ердийн ажиллагааны үед үүнийг зөвлөдөггүй.


3.10. Асуудлыг олж засварлах

Дараах хэсэг суулгалттай холбоотой хүмүүсийн тайлагнасан зарим нэг түгээмэл энгийн асуудлуудыг олж шийдвэрлэх талаар тайлбарлана.


3.10.1. Хэрэв ямар нэг юм буруу бол яах вэ

PC архитектурын төрөл бүрийн хязгаарлалтуудаас болоод төхөөрөмжүүдийг олж илрүүлэх нь 100% найдвартай биш байдаг боловч хэрэв тэгж чадахгүй байгаа бол та цөөн хэдэн зүйл хийж болно.

Таны тоног төхөөрөмж дэмжигдсэн эсэхийг шалгахын тулд өөрийн FreeBSD хувилбарын Тоног төхөөрөмжийн тэмдэглэл баримтыг уншаарай.

Хэрэв таны тоног төхөөрөмж дэмжигдсэн боловч та гацах эсвэл бусад асуудлуудтай учраад байгаа бол өөрчлөн тохируулсан цөм бүтээх шаардлагатай болно. Энэ нь танд GENERIC цөмд байхгүй төхөөрөмжүүдийн дэмжлэгийг нэмэх боломжийг олгоно. Ачаалах дискнүүд дээрх цөм нь ихэнх төхөөрөмжүүдийг IRQ, IO хаягууд, DMA сувгуудын хувьд үйлдвэрийн анхдагч тохиргоотой байна гэж тооцон тохиргоо хийгдсэн байдаг. Хэрэв таны тоног төхөөрөмжид дахин тохиргоо хийгдсэн бол FreeBSD тэдгээрийг олохын тулд та цөмийн тохиргоогоо засаж дахин бүтээх хэрэгтэй болно.

Байхгүй төхөөрөмжийг хайж олохгүй байгаа нь дараа нь өөр байгаа төхөөрөмжийг бас олохгүйд хүргэж болох юм. Ийм тохиолдолд асуудал үүсгээд байгаа драйверуудыг хайхыг болиулах хэрэгтэй.

Тэмдэглэл: Төрөл бүрийн тоног төхөөрөмжийн бүрэлдэхүүнүүд ялангуяа эх хавтан дээр үйлдвэрээс сууж ирсэн програмуудыг шинэчилснээр суулгалтын үеийн зарим асуудлуудыг шийдэж болох юм. Эх хавтангийн програмыг ихэвчлэн BIOS гэдэг. Ихэнх эх хавтан болон компьютер үйлдвэрлэгчид шинэчлэлт болон шинэчлэх мэдээлэлд зориулсан вэбтэй байдаг.

Чухал шинэчлэлт зэрэг заавал хийх шинэчлэлт хийхээс бусдаар үйлдвэрлэгчид эх хавтангийн BIOS-г шинэчлэхийг зөвлөдөггүй. Шинэчлэх процесс BIOS-г бүрэн биш болгож компьютерийг ажиллагаагүй байдалд хүргэн буруу ажиллаж болно.


3.10.2. Алдааг олж шийдвэрлэх асуултууд ба хариултууд

3.10.2.1. Миний систем ачаалах явцдаа төхөөрөмж шалгаж байхдаа гацсан эсвэл суулгах явцад сонин байсан.

3.10.2.1. Миний систем ачаалах явцдаа төхөөрөмж шалгаж байхдаа гацсан эсвэл суулгах явцад сонин байсан.

FreeBSD нь системийн тохиргоонд туслахын тулд i386, amd64, ба ia64 тавцангууд дээр системийн ACPI үйлчилгээг хэрэв илэрсэн бол ихээхэн ашигладаг. Харамсалтай нь ACPI драйвер болон системийн эх хавтан дотор, BIOS-н програм дээр зарим нэг алдаа байсаар байдаг. ACPI-г ачаалагч дуудагчийн гурав дахь шатан дээр hint.acpi.0.disabled хувьсагчийг зааж өгөн хааж өгч болно:

set hint.acpi.0.disabled="1"

Систем ачаалах болгонд энэ нь өөрчлөгдөх учир /boot/loader.conf файлд hint.acpi.0.disabled="1"-г нэмж өгөх хэрэгтэй. Ачаалагч дуудагчийн талаар илүү дэлгэрэнгүйг Хэсэг 13.1 хэсгээс үзэж болно.


Бүлэг 4. Юниксийн үндэс

Дахин бичсэн Крис Шамвэй. Орчуулсан Шагдарын Нацагдорж.

4.1. Ерөнхий агуулга

Дараах бүлгүүд нь FreeBSD үйлдлийн системийн үндсэн тушаал мөн гүйцэтгэлүүдийг хамрах болно. Энэ материалын ихэнх хэсэг нь UNIX-төрлийн үйлдлийн системтэй хамаатай. Хэрэв та юникс төрлийн үйлдлийн системтэй танил бол энэ бүлгийг алгасаж болно. Харин та FreeBSD-г шинээр сурагч бол энэ бүлгийг тун анхааралтай унших хэрэгтэй.

Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:

  • FreeBSD-н “виртуал консолыг” хэрхэн хэрэглэх.

  • FreeBSD дээрх файлын тугийг ойлгосноор UNIX-н файлын зөвшөөрөл хэрхэн ажилладгийг мэдэх.

  • Үндсэн FreeBSD файл системийн байрлуулалтыг мэдэх.

  • FreeBSD диск зохион байгуулалт.

  • Файл системийг хэрхэн холбох болон салгах.

  • Процесс, далд чөтгөр дэмон, мөн дохионууд гэж юу болох.

  • Бүрхүүл гэж юу болох, мөн хэрхэн анхны нэвтрэх орчноо өөрчлөх.

  • Үндсэн текст засварлагчийг хэрхэн хэрэглэх.

  • Төхөөрөмж болох төхөөрөмжийн цэг гэж юу болох.

  • FreeBSD-д ямар хоёртын хэлбэр хэрэглэгддэг болох.

  • Нэмэлт мэдээллийг товч гарын авлагаас хэрхэн харах.


4.2. Виртуал консол болон терминал

FreeBSD нь олон аргаар хэрэглэгдэж чадна. Тэдний нэг нь тушаалуудыг текст терминал дээр бичиж хэрэглэх юм. Хэрэв та FreeBSD-г ингэж хэрэглэвэл, UNIX-н маш олон боломж болон хүч таны гарт байна гэсэн үг. Энэ бүлэг танд, “терминал” болон “консол” гэж юу болох, мөн тэд нарыг FreeBSD дээр хэрхэн хэрэглэх талаар танд тодорхойлж өгөх болно.


4.2.1. Консол

Хэрэв та FreeBSD-г эхлэх үедээ автоматаар график горимд эхлүүлэхээр тохируулаагүй бол, систем нь эхлэлтийн гүйцэтгэдэг бичиглэлүүдээ дуусгасны дараа танд нэвтрэх хуудас харуулдаг. Та нэг иймэрхүү хуудас харах байх:

Additional ABI support:.
Local package initialization:.
Additional TCP options:.

Fri Sep 20 13:01:06 EEST 2002

FreeBSD/i386 (pc3.example.org) (ttyv0)

login:

Энд харуулсан текстүүд нь таны систем дээр жаахан өөр байж магадгүй ч, ерөнхийдөө үүнтэй ижил байх ёстой. Сүүлийн хоёр мөр нь бидэнд одоогоор чухал мөрүүд. Сүүлээсээ хоёр дахь мөр нь ингэж уншигдаж байна:

FreeBSD/i386 (pc3.example.org) (ttyv0)

Энэ мөр нь таны дөнгөж сая эхлүүлсэн системийн тухай товч мэдээллийг агуулсан байна. Та x86 архитектуртай тохиромжтой Интел юм уу тохирох систем дээр ажиллаж буй “FreeBSD” консолыг харж байна [1]. Энэ машины нэр нь (UNIX машин болгон өөрийн нэртэй ) pc3.example.org, бөгөөд та энэ системийн консолын -- ttyv0 нэртэй терминалыг харж байна.

Эцэст нь, сүүлийн мөр бол үргэлж:

login:

Энэ хэсэг нь, таны FreeBSD уруу нэвтрэх “хэрэглэгчийн-нэрээ” бичдэг хэсэг. Дараагийн хэсэгт энэ талаар тодорхойлсон байгаа.


4.2.2. FreeBSD уруу нэвтрэх

FreeBSD бол олон хэрэглэгчийн бас олон үйлдлийн систем. Энэ нь, нэг машин уруу олон хүмүүс зэрэг холбогдож нэгэн зэрэг олон үйлдэл хийж болдог системийн ерөнхий тодорхойлолт юм.

Олон хэрэглэгчийн систем нь ямар нэгэн аргаар нэг “хэрэглэгчийг” бусдаас нь ялгаж чаддаг байх ёстой. FreeBSD дээр (мөн бусад UNIX-төрлийн системүүд дээр) энэ нь, хэрэглэгч ямар нэгэн програм ажиллуулахаасаа өмнө систем уруу “нэвтрэх үйлдэл” хийж хэрэгждэг. Хэрэглэгч бүрд гоц нэр ( “хэрэглэгчийн-нэр”) мөн хувийн нууц үг ( “нууц-үг”) харгалзах ёстой. Хэрэглэгчийг програм хэрэглэж эхлэхээс өмнө FreeBSD энэ хоёрыг асуух болно.

Дөнгөж FreeBSD эхлэх үедээ эхлүүлэгч бичлэгүүдийг [2] гүйцэтгэж дуусаад танаас зөв хэрэглэгчийн нэр оруулахыг лавлаж асууна:

login:

Энэ жишээнд зориулаад бүгдээрээ таны хэрэглэгчийн нэрийг john гэж бодоцгооё. Лавлаж асуусан мөрөнд john гэж бичээд Enter товч дарна. Ингээд дараа нь танаас “password” гэж нууц үг асуух болно:

login: john
Password:

john-ны нууц үгийг оруулаад Enter товч дарна. Нууц үгийг танд харуулдаггүй! Энэ талаар та одоохондоо санаагаа зовоох хэрэггүй. Нууцлалын шалтгаанаар ингэж байгаа юм гэж хэлэхэд хангалттай.

Хэрэв та нууц үгээ зөв оруулсан бол ингээд FreeBSD уруу нэвтрэх бөгөөд боломжтой бүх програмуудыг туршиж болохоор боллоо.

Та MOTD эсвэл тухайн өдрийн мэдээллийг тушаал бичигчийн араас харах болно ( тушаал бичигч нь #, $, эсвэл % гэсэн тэмдэгтүүдийн нэг нь байдаг). Энэ нь таныг FreeBSD уруу амжилттай нэвтэрснийг илэрхийлдэг.


4.2.3. Олон консолууд

UNIX тушаалуудыг нэг консол дээр гүйцэтгэх нь ердийнх, гэхдээ FreeBSD олон програмыг нэг дор ажиллуулж чадна. FreeBSD олон програмыг нэг дор нэг цагт ажиллуулж чадаж байхад, нэг консол дээр олон тушаал өгч суух нь цаг алдахын л нэмэр. Ийм үед л “виртуал консолын” тусламж хэрэг болдог.

FreeBSD нь танд олон төрлийн виртуал консол хэрэглүүлэхээр тохируулагдаж чаддаг. Нэг виртуал консолоос нөгөөх уруу нь гарын хэдхэн товчлуур дараад л шилжиж болдог. Консол бүр өөрийн төрөл бүрийн гаралтын сувагтай бөгөөд FreeBSD нь таныг нэг консолоос нөгөө консол уруу сэлгэх үед гарын оруулга болон дэлгэцийн гаралтыг тухайн консолд тохируулж дамжуулж өгдөг.

Гарын тусгай товчлолууд нь FreeBSD дээр консол сэлгэхэд зориулж нөөцлөгдсөн байдаг [3]. Та Alt-F1, Alt-F2, аас Alt-F8 хүртэлх товчлуурыг дарж FreeBSD дээр консолуудын хооронд шилжиж болно.

Таныг нэгээс нөгөөх уруу нь шилжих үед, FreeBSD таны дэлгэцийн гаралтыг хадгалж санаа тавьдаг. Ингэсний үр дүнд гарнаас тушаал оруулж програмуудыг ажиллуулж болдог маш олон “виртуал” дэлгэцүүдтэй мэт үзэгддэг. Нэг виртуал консол дээр таны ажиллуулсан програм нь уг консолоос сэлгээд өөр консол дээр сэлгэсэн ч гэсэн зогсохгүй ажиллаж л байдаг.


4.2.4. /etc/ttys Файл

FreeBSD анхны тохируулгаараа найман виртуал консолтой эхэлдэг. Энэ нь хатуу тогтоосон тохируулга биш бөгөөд хэрэв та хүсвэл олон юм уу цөөн болгож амархан өөрчлөх боломжтой. Виртуал консолын тоо болон тохируулга нь /etc/ttys файлд байдаг.

Та /etc/ttys файлыг хэрэглэж FreeBSD дээрх виртуал консолуудыг тохируулж болно. Энэ файлын тайлбар тавиагүй мөр болгон ( # тэмдгээр эхлээгүй мөрүүд) виртуал консол эсвэл ганц терминалын тохируулгыг агуулж байдаг. Энэ файл FreeBSD-тэй анх цуг ирэхдээ есөн виртуал консолтой гэж тохируулагдаж ирдэг бөгөөд тэдний наймыг нь хэрэглэж болохыг зөвшөөрсөн байдаг. Тэдгээр нь ttyv гэж эхэлсэн байдаг:

# name  getty                           type    status          comments
#
ttyv0   "/usr/libexec/getty Pc"         cons25  on  secure
# Virtual terminals
ttyv1   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv2   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv3   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv4   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv5   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv6   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv7   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

Виртуал консолыг тохируулдаг энэ файлын баганууд мөн нэмэлт сонголтуудын дэлгэрэнгүй тайлбарыг та ttys(5) гарын авлагаас харна уу.


4.2.5. Ганц хэрэглэгчийн горимын консол

“Ганц хэрэглэгчийн горим” гэж юу болох талаар дэлгэрэнгүй мэдээлэл Хэсэг 13.6.2-д буй. FreeBSD дээр ганц хэрэглэгчийн горимд ажиллаж байхад зөвхөн нэг консол байдаг гэдгийг мэдэх хэрэгтэй. Энэ үед ямар ч виртуал консолууд боломжгүй. Ганц хэрэглэгчийн горимын тохируулгыг бас /etc/ttys файл дотор хийж болно. console гэж эхэлсэн мөрүүдийг харна уу:

# name  getty                           type    status          comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none                            unknown off secure

Тэмдэглэл: Дээрх console гэсэн мөрний дээд хэсэгт бичсэн тайлбарт бичсэний дагуу та secure гэдгийг insecure гэж өөрчилж болно. Хэрэв та ингэвэл, FreeBSD ганц хэрэглэгчийн горимд эхэлсэн ч гэсэн танаас root нууц үг асуух болно.

Үүнийг insecure гэж солихдоо та тун болгоомжтой байх хэрэгтэй. Хэрэв та хэзээ нэгэн цагт root нууц үгээ мартаад ганц хэрэглэгчийн горимд орвол жаахан хүндрэлтэй байх болно. Энэ нь гэхдээ шийдэж болохоор хүндрэл боловч FreeBSD-н эхлэх үйлдэл болон хамрагдсан програмуудад нь дасаагүй хүнд бол жаахан хүндрэлтэй байж магадгүй.


4.2.6. Консолын Видео горимуудыг өөрчлөх нь

FreeBSD-ийн консолын анхдагч видео горимыг 1024x768, 1280x1024, эсвэл таны график бичил схем болон дэлгэц дэмжиж чадах дурын хэмжээгээр тохируулж болох юм. Өөр видео горимыг ашиглахын тулд та эхлээд өөрийн цөмөө дахин эмхэтгэж хоёр нэмэлт тохируулгыг оруулах хэрэгтэй:

options VESA
options SC_PIXEL_MODE

Цөм эдгээр хоёр тохируулгатай дахин эмхэтгэгдсэний дараа таны тоног төхөөрөмж ямар видео горимуудыг дэмждэгийг vidcontrol(1) хэрэгсэл ашиглан та тодорхойлж болно. Дэмжигдсэн видео горимуудын жагсаалтыг авахын тулд доор дурдсан тушаалыг бичнэ:

# vidcontrol -i mode

Энэ тушаалын үр дүн нь таны тоног төхөөрөмжийн дэмждэг видео горимуудын жагсаалт байх болно. Та дараа нь root консол дээр шинэ видео горимыг сонгон vidcontrol(1) уруу өгч болно:

# vidcontrol MODE_279

Хэрэв шинэ видео горим боломжийн бол /etc/rc.conf файлд ачаалахад үүнийг үргэлж сонгодог байхаар тохируулж болно:

allscreens_flags="MODE_279"

4.3. Зөвшөөрлүүд

FreeBSD нь BSD UNIX-ээс уламжилж байх үедээ, UNIX-н үндсэн хэдэн бүтэц дээр суурилсан. Эхний бөгөөд хамгийн чухал тунхаглал нь FreeBSD бол олон хэрэглэгчийн үйлдлийн систем юм. Систем нь олон хэрэглэгчийн хоорондоо хамааралгүй олон үйлдлийг ачаалж чаддаг. Хэрэглэгч болгонд шаардагдах компьютерийн төхөөрөмж, санах ой мөн процессорын давтамжийг зөв шударга хуваарилахыг систем хариуцдаг.

Систем олон хэрэглэгчтэй ажиллах болохоор, системийн хийх ёстой зүйл нь хэн тухайн нөөцийг унших, бичих, гүйцэтгэх вэ гэдгийг зохицуулах юм. Эдгээр зөвшөөрлүүд нь гурав гурваараа нийлүүлэгдсэн гурван хэсэг тоо байдаг. Нэг нь файлын эзэмшигчид, нөгөөх нь файлын хамаарагддаг бүлэгт, үлдсэн нь хүн болгонд гэж хуваарилагдана. Энэ тоон дараалал нь дараах маягаар ажилладаг.:

Утга Зөвшөөрөл Жагсаах харуулалт
0 Уншигдахгүй, бичигдэхгүй, гүйцэтгэгдэхгүй ---
1 Уншигдахгүй, бичигдэхгүй, гүйцэтгэгдэнэ --x
2 Уншигдахгүй, бичигдэнэ, гүйцэтгэгдэхгүй -w-
3 Уншигдахгүй, бичигдэнэ, гүйцэтгэгдэнэ -wx
4 Уншигдана, бичигдэхгүй, гүйцэтгэгдэхгүй r--
5 Уншигдана, бичигдэхгүй, гүйцэтгэгдэнэ r-x
6 Уншигдана, бичигдэнэ, гүйцэтгэгдэхгүй rw-
7 Уншигдана, бичигдэнэ, гүйцэтгэгдэнэ rwx

Та ls(1) тушаалыг -l сонголттой хэрэглэж файлын эзэмшигч, бүлэг, мөн хүн болгонд хуваарилсан зөвшөөрлийг харуулсан баганатай дэлгэрэнгүй мэдээллийг харж болно. Жишээлбэл, ls -l тушаалыг нэг сан дотор гүйцэтгэвэл дараах маягаар харагдана:

% ls -l
total 530
-rw-r--r--  1 root  wheel     512 Sep  5 12:31 myfile
-rw-r--r--  1 root  wheel     512 Sep  5 12:31 otherfile
-rw-r--r--  1 root  wheel    7680 Sep  5 12:31 email.txt
...

Энд ls -l тушаалын эхний баганыг авч үзье:

-rw-r--r--

Хамгийн эхний (зүүн талын) тэмдэг нь үүнийг ердийн файл юм уу, эсвэл сан, онцгой тэмдэг төхөөрөмж, сокет, эсвэл ямар нэгэн холбоост файл мөн эсэхийг илэрхийлдэг. Энэ тохиолдолд - нь ердийн файлыг зааж байна. Дараагийн гурван тэмдэгт rw- нь энэ тохиолдолд энэ файлын эзэмшигчид зөвшөөрөл өгч байна. Дараагийн гурван тэмдэгт r-- нь файлын хамаарах бүлэгт эрх өгч байна. Сүүлийн гурван тэмдэгт r-- нь бусад бүх хүмүүст эрх өгч байна. Зураас нь зөвшөөрөл өгөөгүйг илэрхийлдэг. Энэ файлын тохиолдолд, файлыг унших бичих эрхийг эзэмшигчид нь өгөөд, бүлэг нь файлыг унших эрхтэй, бусад хүмүүс энэ файлыг зөвхөн унших эрхтэй гэж заагдсан байна. Дээр тайлбарласан хүснэгтийн дагуу, энэ файлын зөвшөөрөл нь 644 гэж дээрх гурван төрөлд заагдаж байна.

Энэ бол сайн бөгөөд сайхан хэрэг, гэхдээ төхөөрөмж рүү хандах зөвшөөрлийг систем яаж хянах вэ? FreeBSD бараг ихэнх төхөөрөмжийг нээж уншиж өгөгдөл бичдэг файл мэт хандаж уншиж бичдэг. Тэдгээр онцгой төхөөрөмжүүд нь /dev сан дотор байрладаг.

Сангууд ч гэсэн бас файл мэт хандагддаг. Тэд нарт бас уншигдах, бичигдэх, гүйцэтгэгдэх зөвшөөрлүүд байдаг. Сангийн гүйцэтгэгдэх тэмдэг нь файлаас арай өөрөөр хэрэгждэг. Хэрэв сан нь гүйцэтгэгдэнэ гэж тэмдэглэгдсэн бол, энэ сан нь дамжиж өнгөрүүлэгдэж болох буюу “cd” тушаалыг (сан сольдог) хэрэглэж ийшээ орж болно гэсэн үг. Энэ нь мөн сан дотор харагдаж байгаа файлууд уруу хандаж болно гэсэн үг. (бас нэг зүйл, мэдээжээр, файлууд бас өөр дээрээ зөвшөөрөл агуулсан байгаа).

Ерөнхийдөө бол, сан доторх файлуудыг жагсааж харахыг хүсвэл, уг санд уншигдах зөвшөөрөл суугдсан байх ёстой. Хэрэв санд байгаа файлыг устгана гэвэл бичигдэх болон гүйцэтгэгдэх зөвшөөрлүүд уг санд суугдах ёстой.

Мөн нэмээд хэдэн зөвшөөрлийн битүүд байдаг, гэхдээ тэдгээр нь ажилладаг файлын setuid дугаар болон sticky сан зэрэг тусгай зориулалтаар хэрэглэгддэг. Файлын зөвшөөрлийн талаар нэмэлт мэдээлэл авахыг хүсвэл chmod(1) гарын авлага хуудаснаас хараарай.


4.3.1. Тэмдэгт зөвшөөрлүүд

Хамтарч бичсэн Том Рөүдс.

Сан эсвэл файлд тоон утганы оронд заримдаа тэмдгэн зөвшөөрлийг хэрэглэдэг. Тэмдгэн зөвшөөрлийг бичихдээ (хэн) (үйлдэл) (зөвшөөрөл) гэсэн дарааллаар бичих бөгөөд дараах утгуудыг авдаг:

Сонголт Үсэг Илэрхийлэл нь
(хэн) u Хэрэглэгч
(хэн) g Бүлгийн эзэмшигч
(хэн) o Бусад
(хэн) a Бүгд (“ертөнц”)
(үйлдэл) + Зөвшөөрөл нэмэх
(action) - Зөвшөөрлийг устгах
(үйлдэл) = зөвхөн тухайн зөвшөөрлийг суулгах
(зөвшөөрөл) r Унших
(зөвшөөрөл) w Бичих
(зөвшөөрөл) x Гүйцэтгэх
(зөвшөөрөл) t Sticky бит
(зөвшөөрөл) s UID эсвэл GID суулгах

Эдгээр утгууд нь өмнөх жишээ шиг chmod(1) тушаалтай хэрэглэгддэг бөгөөд гэхдээ үсэг хэрэглэнэ. Жишээлбэл, та FILE уруу бусад хэрэглэгчид хандахыг хориглохдоо:

% chmod go= FILE

Файлд нэгээс олон өөрчлөлт хийх шаардлага гарвал таслалаар тусгаарласан мөр бичиж болно. Жишээлбэл, дараах тушаал нь бүлэг болон “дэлхийг” FILE дээр бичих эрхийг нь аваад дараа нь хүн болгонд гүйцэтгэж болно гэсэн эрх өгч байна:

% chmod go-w,a+x FILE

4.3.2. FreeBSD файлын туг

Хамтран бичсэн Том Рөүдс.

Өмнө ярилцсан файлын зөвшөөрлөөс гадна FreeBSD нь “файлын туг” хэрэглээгээр хангагдсан байдаг. Эдгээр туг нь файлд нэмэлт нууцлалын болон хяналтын түвшин тогтоож өгдөг, гэхдээ санд бол үгүй.

Эдгээр файлын тугнууд нь файлд нэмэлт түвшний хяналт тогтоож өгснөөрөө зарим тохиолдолд root хэрэглэгч хүртэл файлыг устгах юм уу өөрчилж чадахгүй болгож тусалдаг.

Файлын тугнууд нь энгийн загвартай chflags(1) багажаар ашиглагддаг. Жишээлбэл, file1 файл дээр устгагдахгүй гэсэн туг хатгахыг системд зөвшөөрүүлэхийн тулд дараах тушаалыг гүйцэтгэнэ:

# chflags sunlink file1

Хэрэв устгагдахгүй тугийг буцааж авна гэвэл өмнөх тушаал дээрээ sunlink-ын өмнө “no” залгаж ажиллуулна:

# chflags nosunlink file1

Энэ файлын тугийг харахын тулд ls(1) тушаалыг -lo сонголттой хамт ажиллуулна:

# ls -lo file1

Тушаалын гаралт нь дараах маягаар харагдах ёстой:

-rw-r--r--  1 trhodes  trhodes  sunlnk 0 Mar  1 05:54 file1

Нэлээн хэдэн тугнууд нь файлд зөвхөн root хэрэглэгчээр нэмэгдэж устгагдана. Бусад тохиолдолд файлын эзэмшигч нь тугийг суулгах боломжтой. Администраторуудыг chflags(1) болон chflags(2) гарын авлагуудыг уншихыг зөвлөж байна.


4.3.3. setuid, setgid, болон sticky буюу наалдамхай зөвшөөрлүүд

Хувь нэмэр болгон оруулсан Том Рөүдс.

Өмнө хэлэлцсэн зөвшөөрлүүдээс гадна бүх администраторуудын мэдэх ёстой өөр гурван тусгай тохиргоо байдаг. Эдгээр нь setuid, setgid болон sticky буюу наалдамхай зөвшөөрлүүд юм.

Эдгээр тохиргоонууд нь ерөнхийдөө энгийн хэрэглэгчдэд зөвшөөрөгддөггүй ажиллагаагаар хангадаг бөгөөд UNIX-ийн зарим нэг үйлдлүүдэд чухал байдаг. Эдгээрийг ойлгохын тулд жинхэнэ хэрэглэгчийн ID болон хүчинтэй хэрэглэгчийн ID-ийн ялгааг дурдах хэрэгтэй.

Жинхэнэ хэрэглэгчийн ID нь процессийг эзэмшдэг юм уу эсвэл процессийг эхлүүлдэг UID юм. Хүчинтэй хэрэглэгчийн UID нь процессийн ажиллаж байгаа тэр хэрэглэгчийн ID юм. Жишээ нь passwd(1) хэрэгсэл нь хэрэглэгч өөрсдийн нууц үгээ сольж байгаа болохоор жинхэнэ хэрэглэгчийн ID-аар ажиллах боловч нууц үгийн санд өөрчлөлт хийхийн тулд root хэрэглэгчийн хүчинтэй ID-аар ажилладаг. Ингэснээр энгийн хэрэглэгчдэд “Permission Denied” буюу зөвшөөрөл хаалттай гэсэн алдааг харуулалгүйгээр өөрсдийн нууц үгсийг солих боломжийг олгодог.

Тэмдэглэл: nosuid mount(8) тохиргоо нь эдгээр хоёртын файлуудыг дуугай амжилтгүй болоход хүргэдэг. Энэ нь хэрэглэгчдэд мэдэгдэлгүйгээр ажиллагаа амжилтгүй болно гэсэн үг юм. mount(8) гарын авлагын дагуу энэ тохиргоо нь nosuid гүйцэтгэл хялбаршуулагчийн хамгаалж болох шиг бүрэн найдвартай бас биш юм.

setuid зөвшөөрлийг зөвшөөрлийн цуглуулгын өмнө дөрвийн тоог (4) доорх жишээн дээрх шигээр тавьж тохируулж болно:

# chmod 4755 suidexample.sh

suidexample.sh файл дээрх зөвшөөрлүүд нь одоо доорх шиг харагдах ёстой:

-rwsr-xr-x   1 trhodes  trhodes    63 Aug 29 06:36 suidexample.sh

Энэ жишээн дээр s нь ажиллуулах битийг сольж файлын эзэмшигчид зориулсан зөвшөөрлүүдийн цуглуулгын хэсэг болж байгаа нь харагдах ёстой. Энэ нь passwd зэрэг дээшлүүлсэн зөвшөөрлүүдийг шаарддаг хэрэгслүүдийг зөвшөөрдөг.

Жинхнээр нь үүнийг харахын тулд хоёр терминал нээ. Нэг дээр нь энгийн хэрэглэгчээр passwd процессийг эхлүүл. Шинэ нууц үг хүлээж байхад нь процессийн хүснэгтийг шалгаад passwd тушаалын хэрэглэгчийн мэдээллийг хар.

Терминал A дээр:

Changing local password for trhodes
Old Password:

Терминал B дээр:

# ps aux | grep passwd
trhodes  5232  0.0  0.2  3420  1608   0  R+    2:10AM   0:00.00 grep passwd
root     5211  0.0  0.2  3620  1724   2  I+    2:09AM   0:00.01 passwd

Дээр харуулснаар passwd нь энгийн хэрэглэгчээр ажиллаж байгаа боловч root хэрэглэгчийн хүчинтэй UID ашиглаж байна.

setgid зөвшөөрөл нь setuid зөвшөөрөлтэй адил үүргийг гүйцэтгэдэг, гэхдээ бүлгийн тохиргоог өөрчилдөг. Програм юм уу эсвэл хэрэгсэл нь энэ тохиргоотойгоор ажиллахдаа процессийг эхлүүлсэн хэрэглэгч биш файлыг эзэмшиж байгаа бүлэг дээр тулгуурласан зөвшөөрлүүдийг олгодог.

Файл дээр setgid зөвшөөрлийг тохируулахдаа дараах жишээн дээрх шиг chmod тушаалыг өмнөө хоёртой (2) өгнө:

# chmod 2755 sgidexample.sh

Шинэ тохиргоог өмнөх шигээ харж болох бөгөөд s нь одоо бүлгийн зөвшөөрлийн тохиргоонд зориулагдсан талбарт байгааг анхаараарай:

-rwxr-sr-x   1 trhodes  trhodes    44 Aug 31 01:49 sgidexample.sh

Тэмдэглэл: Эдгээр жишээнүүд дээр бүрхүүлийн скрипт нь хэдийгээр ажиллах боломжтой файл боловч өөр EUID буюу хүчинтэй хэрэглэгчийн ID-аар ажиллахгүй. Энэ нь яагаад гэвэл бүрхүүлийн скрипт нь setuid(2) системийн дуудлагуудад хандаж чадахгүйтэй холбоотой юм.

Бидний хэлэлцсэн эхний хоёр тусгай зөвшөөрлийн битүүд нь (setuid болон setgid зөвшөөрлийн битүүд) дээшлүүлсэн зөвшөөрлүүдийг зөвшөөрч системийн аюулгүй байдлыг доошлуулж болох юм. Системийн аюулгүй байдлыг чангатгаж чадах гурав дахь тусгай зөвшөөрлийн бит байдаг нь sticky bit буюу наалдамхай бит юм.

sticky bit нь санд тавигдсан үед файл устгалтыг зөвхөн файлыг эзэмшигчид зөвшөөрдөг. Энэ зөвшөөрлийн цуглуулга нь /tmp зэрэг нийтийн сангаас файлыг эзэмшдэггүй хэрэглэгч уг файлыг устгахаас хамгаалахад ашиг тустай байдаг. Энэ зөвшөөрлийг ашиглахын тулд зөвшөөрлийн урд нэгийг (1) тавьж өгнө. Жишээ нь:

# chmod 1777 /tmp

Одоо үр дүнг ls тушаал ашиглан харах боломжтой:

# ls -al / | grep tmp
drwxrwxrwt  10 root  wheel         512 Aug 31 01:49 tmp

sticky bit буюу наалдамхай бит зөвшөөрөл нь цуглуулгын хамгийн сүүлд байгаа t-ээс ялгаатай юм.


4.4. Сангийн бүтэц

FreeBSD ийн сангийн бүтэц нь уг системийг ойлгоход тун чухал үүрэг гүйцэтгэнэ. Хамгийн чухал бөгөөд үндсэн ойлголт бол root буюу хамгийн дээд эх сан “/” юм. Энэ сан нь систем эхлэх үед хамгийн түрүүнд танигдах ёстой бөгөөд олон хэрэглэгчид зориулсан үйлдлийн системийг бэлдэхэд чухал үүрэгтэй. Энэ дээд эх сан нь олон хэрэглэгчийн ажиллагаанд шилжих үед холбогдох бусад файлын системүүдийн холболтын цэгүүдийг бас агуулж байдаг.

Холболтын цэг нь үндсэн файл систем уруу (ихэвчлэн эх root файл систем) нэмэлт файлын системүүдийг холбож нэмдэг цэг юм. Энэ тухай цаашид Хэсэг 4.5-д тайлбарласан байгаа. Үндсэн холбох цэгүүд нь /usr, /var, /tmp, /mnt, мөн /cdrom сангуудыг агуулж байдаг. Эдгээр сангууд нь голдуу /etc/fstab файлд заагдсан байдаг. /etc/fstab файл нь төрөл бүрийн файл системүүдийг системд ойлгуулах гэж бичсэн хүснэгт бичлэг. /etc/fstab файлд байгаа ихэнх файл системүүд компьютер эхэлж ачаалагдах үед автоматаар rc(8) гүйцэтгэгддэг бичлэгээс таниулагддаг. Гэхдээ хэрэв noauto гэсэн сонголтыг агуулсан бол автоматаар таниулагддаггүй. Дэлгэрэнгүй мэдээлэл Хэсэг 4.6.1 хэсэгт буй.

Файл системийн бүтцийн тухай бүрэн мэдээллийг hier(7)-с харж болно. Одоохондоо байнга хэрэглэгддэг сангуудыг товч тайлбарлахад хангалттай.

Сан Тодорхойлолт
/ Файл системийн Root буюу хамгийн дээд эх сан.
/bin/ Ганц болон олон хэрэглэгчийн орчны үндсэн хэрэгслийн сан.
/boot/ Үйлдлийн систем эхлэж ачаалагдах үеийн програмууд болон тохируулга файлууд.
/boot/defaults/ Анхдагч ачаалах үеийн тохируулгын файлууд; дэлгэрэнгүйг loader.conf(5) хуудаснаас харна уу.
/dev/ Төхөөрөмжүүд байдаг сан; intro(4) хуудаснаас харна уу.
/etc/ Системийн тохируулгын файлууд болон гүйцэтгэх бичлэгүүд.
/etc/defaults/ Анхдагч системийн тохируулгын файлууд; дэлгэрэнгүйг rc(8) хуудаснаас хараарай.
/etc/mail/ sendmail(8) мэтийн захиа илгээгчдийн тохируулгын файлууд.
/etc/namedb/ named-н тохируулгын файл; named(8) хуудаснаас дэлгэрэнгүйг харна уу.
/etc/periodic/ cron(8)-г ашиглаж өдрөөр, сараар, эсвэл жилээр гэх мэт давтамжаар ажиллаж чаддаг бичлэгүүд ; дэлгэрэнгүйг periodic(8) хуудаснаас харна уу.
/etc/ppp/ ppp тохируулга файлууд; ppp(8)-с харна уу.
/mnt/ Администратор голдуу түр зуур бусад файл систем эсвэл төхөөрөмжийг таниулахад хэрэглэдэг хоосон сан.
/proc/ Процесийн файл систем; procfs(5) болон mount_procfs(8)-с харна уу.
/rescue/ Эвдэрч гэмтсэн үед сэргээхэд хэрэглэгддэг програмууд rescue(8)-с харна уу.
/root/ root хэрэглэгчийн гэрийн сан.
/sbin/ Ганц болон олон хэрэглэгчийн орчинд хэрэглэж болохоор системийн програм ба администраторын үндсэн хэрэгслүүд.
/tmp/ Түр зуурын файлууд. /tmp сан доторх файлууд нь систем шинээр ачаалагдах үед хадгалагдалгүйгээр устгагдана. Санах ойгоос ажилладаг файл системүүд голцуу /tmp санд таниулагдаж байрлуулагддаг. Энэ үйлдэл нь rc.conf(5)-тай холбоотой tmpmfs-төрлийг ашиглаж автоматжуулагдаж болдог (эсвэл /etc/fstab дотор буй оруулгууд бүгдээрээ; mdmfs(8)-с харна уу).
/usr/ Програм болон хэрэглэгчийн хэрэглэдэг үндсэн хэрэгслүүд.
/usr/bin/ Үндсэн хэрэгслүүд, програмын багажууд, мөн програмууд.
/usr/include/ Стандарт C-ийн include файлууд.
/usr/lib/ Програмын шахаж бэлдсэн багцууд.
/usr/libdata/ Төрөл бүрийн хэрэгслийн өгөгдлийн файлууд.
/usr/libexec/ Системийн далд чөтгөр буюу дэмон болон системийн хэрэгслүүд (бусад програмаас дуудагдаж ажилладаг).
/usr/local/ Дотоод гүйцэтгэгддэг болон програмын сангууд гэх мэт програмууд байдаг. Мөн FreeBSD-н портуудын анхны байрлуулах газар болж өгдөг. /usr/local -ийн доторх нь, hier(7)-аар /usr сангийн дотор байгааг байрлуулсан шиг зохион байгуулагдах хэрэгтэй. Гэхдээ энэнд хамаарахгүй сангууд нь man гэж /usr/local/share сан дотор биш /usr/local дотор байрладаг сан, мөн share/doc/port дотор байдаг портуудын бичиг баримт байдаг сан юм.
/usr/obj/ Архитектураасаа хамаараад /usr/src санг хөрвүүлэх үед бүтээгддэг сан..
/usr/ports/ FreeBSD Портын цуглуулга (сонгомол).
/usr/sbin/ Системийн дэмон болон системийн хэрэгслүүд (хэрэглэгчдээр гүйцэтгэгдэнэ).
/usr/share/ Архитектуртаа хамаатай файлууд.
/usr/src/ BSD болон/эсвэл дотоод эх файлууд.
/usr/X11R6/ X11R6 цогцолборын гүйцэтгэж болдог програмууд, програмын сан зэргүүд (сонгомол).
/var/ Олон зорилгоор хэрэглэгддэг бүртгэл бичлэг, түр зуурын, дараалал зэргийн файлууд. Санах ойд тулгуурлаж ажилладаг зарим файлын системүүд /var дотор танигдаж үүсгэгддэг. Энэ үйлдэл нь rc.conf(5)-тай холбоотой varmfs-төрлийг ашиглаж автоматжуулагдаж болдог (эсвэл /etc/fstab дотор буй оруулгууд бүгдээрээ; mdmfs(8)-с харна уу).
/var/log/ Системийн төрөл бүрийн бүртгэл бичлэгийн файлууд.
/var/mail/ Хэрэглэгчийн ирсэн захиаг хадгалах файлууд.
/var/spool/ Төрөл бүрийн хэвлэгч болон захианы системийн дарааллыг удирдах сангууд.
/var/tmp/ Түр зуурын файлууд. Энэ санд буй файлууд нь голдуу системийг эхлэх үед зориулагдахаар нөөцлөгдсөн байдаг. Гэхдээ, хэрэв /var нь санах ойд тулгуурласан файлын систем бол өмнө хэлсэн зүйл хүчингүй.
/var/yp/ NIS maps.



4.5. Диск зохион байгуулалт

FreeBSD нь файл олохын тулд хэрэглэдэг хамгийн жижиг хэрэгсэл бол файлын нэр юм. Файлын нэрний том болон бага үсэгнүүд нь бас ялгаатай. Энэ нь юу гэсэн үг вэ гэвэл readme.txt болон README.TXT гэсэн хоёр файл нь хоорондоо ялгаатай файл гэсэн үг. FreeBSD нь файлын төрлийг програм, бичиг баримт, эсвэл бусад төрлийн файл байна гэж ялгахын тулд (.txt) гэх мэтийн өргөтгөл хэрэглэдэггүй.

Файлууд сан дотор хадгалагддаг. Сан нь зуу зуун файл агуулж болох бөгөөд эсвэл хоосон байж болно. Сан нь сангаа агуулж бас болох ба ингэж сангийн угсарсан модлог бүтэц үүсгэж болно. Ингэвэл та файлуудаа илүү амархан зохицуулах болно.

Файл ба сангууд нь / тэмдгийн араас шаардлагатай бол сангуудын нэрийг бичиж өгөгдсөн нэрээрээ хандагдана. Хэрэв танд foo нэртэй сан нь bar санг агуулдаг бөгөөд уг сан дотор readme.txt файл байгаа бол, файлын хандах бүтэн нэр буюу зам нь foo/bar/readme.txt гэж бичигдэнэ.

Сан болон файлууд нь файл системд хадгалагддаг. Файл систем болгон хамгийн эхний дээд хэсэгт заавал нэг сан агуулдаг бөгөөд, түүнийг уг файл системийн root сан буюу дээд эх сан гэж нэрлэдэг. Тэгээд энэ эх сан нь цаашаагаа өөр сангуудыг агуулж явдаг.

Энэ хүртэл таны уншсан зүйлүүд нь таны бусад мэддэг үйлдлийн системтэй ижил байж магадгүй. Гэхдээ жаахан ялгаанууд бий. Жишээлбэл MS-DOS үйлдлийн систем нь файл болон санг тусгаарлахдаа \ тэмдэг хэрэглэдэг байхад Mac OS® үйлдлийн систем нь : тэмдгийг хэрэглэдэг.

FreeBSD дискэнд үсэглэж нэр өгдөггүй бөгөөд үсгээр нэр өгөгдсөн файлын замыг хэрэглэдэггүй. Та FreeBSD дээр c:/foo/bar/readme.txt гэж бичиж болохгүй.

Харин түүний оронд нэг файл системийг нэг root файл систем гэж ангилдаг. Уг root буюу эх файл системийн эх сан нь / гэж хандагдана. Бусад өөр файл системүүд энэ root буюу эх файл систем дотор холбогддог. Та FreeBSD систем дээрээ хэдэн ч дисктэй байсан, сан болгонууд нь нэг дискний хэсэг мэт харагддаг.

Жишээлбэл A, B, мөн C гэсэн гурван файл систем танд байна гэж бодъё. Файл систем бүр нь өөртөө хоёр сан агуулсан тус тусын эх сантай гэж үзье. Тэдгээр сангууд нь дараах нэртэй байг. A1, A2 (гэх мэтчилэн B1, B2 мөн C1, C2).

A-г эх сан гэж үзнэ. Хэрэв та ls тушаалаар энэ сангийн дотор байгааг харвал, A1 ба A2 гэсэн хоёр санг та харах болно. Энэ сангийн модлог загвар нь ингэж харагдаж байна:

Хэрэв файл систем өөр файл системд холбогдохоор бол, холбогдож байгаа системийнхээ нэг сан дор холбогдоно. Тэгвэл одоо B файл системийг A1 санд холбоно гэж үзье. Тэгвэл B-ийн эх сан нь A1-ээр орлуулагдаж, B доторх файлууд дараах маягаар харагдана:

Хэрэв B1 эсвэл B2 сан доторх файлууд шаардлага гаран хандагдахаар бол /A1/B1 эсвэл /A1/B2 гэсэн зам хэрэглэгдэж бичигдэнэ. Хэрэв /A1 дотор файлууд байсан бол тэдгээрийг түр зуур нуудаг. B файл систем A системээс салгагдсан үед л тэр файлууд харагдана.

Хэрэв B файл систем A2 дор холбогдсон бол дараах маягаар харагдана:

мөн файл уруу хандах зам нь /A2/B1 болон /A2/B2 гэж тус тусдаа хандагдах болно.

Файл системүүд нэг нэгнийхээ дээр холбогдож болдог. Сүүлийн жишээгээ үргэлжлүүлээд C файл системийг B файл систем доторх B1 сангийн дээд хэсэгт холбож өгвөл дараах зохион байгуулалт үүсэж байна:

Эсвэл C файл систем A файл систем дотор A1 санд холбогдож болно:

Хэрэв та MS-DOS системийг гадарладаг бол энэ нь join тушаалтай төсөөтэй боловч яг адилхан биш.

Угтаа бол энэ нь тийм их анхаарлаа хандуулаад байхаар зүйл биш. Ердийн үед та FreeBSD суулгах үедээ нэг файл систем үүсгээд хаана холбохыг нь шийдэж холбоод, шинэ диск нэмэхгүй л бол түүнийгээ хэзээ ч өөрчлөх шаардлага гардаггүй.

Өөр файл систем үүсгэлгүйгээр нэг бүхэл эх файл систем үүсгэж болдог. Ийм үед зарим сул талууд гарч ирдэг бөгөөд нэг л давуу тал үүснэ.

Олон файл системүүдийн давуу талууд

  • Олон төрлийн файл системүүд нь олон төрлийн холбох нөхцөлтэй. Жишээлбэл, сайн төлөвлөсний дараагаар, эх файл систем нь зөвхөн уншигдахаар холбогдож, ингэснээр санамсаргүй юм уу алдаа ослын шалтгаанаар чухал файлуудыг устгахаас сэргийлж болно. Хэрэглэгчдээр бичигдэж болдог файл систем, жишээ нь /home мэтийн бусад системээс тусгаарлаж nosuid төрлийн гэж холбож болно; энэ сонголт нь файл систем дээр буй гүйцэтгэж болдог файлд suid/guid бит утга тавигдахаас сэргийлж аюулгүй байдлыг хангаж өгдөг.

  • FreeBSD файл систем ямар зорилгоор хэрэглэгдэхээс нь хамаараад файл систем дээр файлын зохион байгуулалтыг автоматаар хийдэг. Тийм болохоор байнга бичигдэж байдаг олон жижигхэн файлуудын байгаа файл систем дээр цөөхөн бичигддэг том файл агуулсан файл системийг бодвол олон бичигдэхэд зориулж арай өөр файлын зохион байгуулалт хийгддэг. Ганц том эх файл системд ийм зохион байгуулалт хийх боломжгүй.

  • FreeBSD-н файл систем нь цахилгаан тэжээлээс огцом салгагдсан үед ч дискний алдаа үүсгэдэггүй найдвартай байдаг. Гэвч маш ноцтой үед цахилгаан тэжээлээс огцом салгагдахад файл системийн бүтэц эвдэрч болзошгүй юм. Өгөгдлүүдээ олон файл системд хувааж байрлуулах нь дараа нь эвдрэлээс буцааж сэргээхэд амар байдаг.

Нэг файл системтэй байх үеийн давуу тал

  • Энэ файл систем нь тогтсон хэмжээтэй байдаг. Хэрэв та FreeBSD-ийг суулгах үедээ тодорхой зааж өгсөн файл систем үүсгээд, сүүлд нь түүнийгээ өргөжүүлэхийг хүсвэл, энэ нь тийм амархан биелэхгүй. Та эхлээд байгаа файл системийнхээ файлуудыг нөөцөлж хадгалаад дараа нь файл системдээ шинэ хэмжээ өгч өргөтгөөд дараа нь нөөцөөсөө файлуудаа буцааж сэргээж хадгалах болно.

    Чухал: FreeBSD-н growfs(8) тушаал нь дээрх хүндрэлийг алга болгож, файлыг нөөцлөх шаардлагагүйгээр шууд файл системийг өргөтгөж болдог болсон.

Дискний хуваалт дотор файл систем оршиж байдаг. FreeBSD нь юниксээс уламжилсан болохоор диск хуваалтын ойлголт нь ердийн хэрэглээтэй ижилхэн биш (жишээлбэл, MS-DOS диск зохион байгуулалт). Дискний хуваагдал бүр a үсэгнээс эхлээд h хүртэл үсгээр тэмдэглэгддэг. Хуваагдал бүр зөвхөн ганцхан файл систем агуулах ёстой. Ийм болохоор файл систем нь агуулж байгаа диск хуваалтынхаа үсгээр илэрхийлэгдэх бөгөөд хэрэв өөр файл системд холбогдвол, холбосон сан нь уг файл системийг илэрхийлнэ.

FreeBSD мөн swap -д зориулж дискэнд зай бэлддэг. Swap хэмжээ нь FreeBSD-н виртуал санах ой юм. Ингэснээр таны компьютер байгаа бодит хэмжээнээсээ илүү санах ой хэрэглэж байгаа мэт ажилладаг. Хэрэв зарим програм FreeBSD дээр ажиллаад санах ойноос хэтрэх хүндрэл гарвал, хэрэглэгдэхгүй байгаа хэсгийг swap зай руу зөөж, шаардлагатай үед буцааж санах ой руу зөөх зарчмаар хэрэглэгддэг.

Зарим дискний хуваалт нь тогтсон журамтай байдаг.

Хуваалт Тогтсон журам
a Ихэнхдээ root файл системийг агуулж байдаг
b Ихэнхдээ swap хэмжээг агуулдаг
c Ихэнх үед агуулж буй зүсмэлийнхээ хэмжээтэй ижил хэмжээтэй байдаг. Энэ нь ямар нэгэн хэрэгслүүдийг (жишээлбэл, дискний эвдэрсэн хэсгийг шалгагч) c хуваалт дээрх зүсмэл дээр бүхэлд нь ажиллаж болох зөвшөөрөл өгдөг. Ердийн үед та үүн дээр файл систем үүсгэх шаардлага байхгүй.
d Урьд нь d хуваалт онцгой үүрэгтэй байсан боловч одоо тийм биш, харин ердийн хуваалт шиг хэрэглэгдэж болно.

FreeBSD дээр файл систем агуулж байгаа хуваалтыг зүсмэл гэж нэрлэдэг. Хуваалтын ерөнхий нэр нь FreeBSD дээр зүсмэл гэж яригдах бөгөөд FreeBSD-ийн UNIX гаралд цаад утга учир нь бий. Зүсмэл нь 1 -ээс эхлээд 4 хүртэлх тоогоор дугаарлагдана.

Зүсмэлийн дугаар нь төхөөрөмжийн нэрний араас s үсгээр эхэлж бичигддэг. Тэгэхээр “da0s1” гэдэг нь, эхний SCSI диск дээрх эхний зүсмэлийг илэрхийлж байна. Диск дээр физик чанараараа зөвхөн дөрвөн ширхэг зүсмэл байрлуулж болно. Харин логик зүсмэлийг та физик зүсмэл дотор дурын хэмжээтэй үүсгэж болно. Ингэж өргөтгөж нэмсэн зүсмэлүүд нь 5 гэсэн дугаараар эхэлж цаашаагаа тоологддог. Тэгэхээр “ad0s5” гэдэг нь эхний IDE диск дээрх эхний өргөтгөсөн зүсмэлийг хэлж байна. Ингэж өргөтгөсөн зүсмэлүүд нь файл систем агуулж, систем дээр ердийн зүсмэл мэт харагдаж ажиллана.

Зүсмэлүүд нь физик диск дээр “аюултай зориулалт”аар буюу өөрөөp хэлбэл хүчээр байрлуулагддаг. Харин бусад дискнүүд нь a -с эхлээд h хүртэл нэрлэсэн хуваалт агуулж болдог. Эдгээр үсэгнүүд нь төхөөрөмжийн ард залгагдаж бичигддэг ба “da0a” гэдэг нь эхний da диск дээр байгаа a хуваалтыг илэрхийлж байна. “ad1s3e” бол хоёр дахь IDE диск дээр байгаа гурав дахь зүсмэлийн тав дахь хуваалтыг илэрхийлж байна.

Эцэст нь хэлэхэд, диск болгон системд танигдах ёстой. Дискний нэр нь дискний төрлийг илэрхийлсэн үсгээр эхлээд тэгээд араас нь хэд дэх диск вэ гэдгийг нь илэрхийлсэн дугаартай байдаг. Зүсмэлээс ялгарах зүйл нь, дискний дугаар 0 -ээс эхэлдэг. Ерөнхий хэрэглээний жишээг Хүснэгт 4-1 хүснэгтээс харна уу.

Хуваалт уруу хандах үед FreeBSD уг хуваалтыг агуулсан зүсмэл болон дискийг тодорхойлохыг шаарддаг. Тэгээд зүсмэл рүү хандах үед зүсмэлийг агуулсан дискний нэрийг шаардах болно. Тэгэхээр та дискний нэр, s, зүсмэлийн дугаар, тэгээд хуваалтын үсэг гэсэн дарааллаар нэрлэх нь байна. Жишээнүүдийг Жишээ 4-1-д харуулав.

Танд ойлгоход тань дөхөм болгож Жишээ 4-2 жишээн дээр дискний зохион байгуулалтын тогтсон загварыг харуулж байна.

FreeBSD суулгахын тулд та эхлээд дискний зүсмэлийг тохируулна, дараа нь зүсмэл дотор FreeBSD-н хэрэглэх хуваалт үүсгээд, дараа нь хуваалт бүрд файл систем (эсвэл swap зайг) үүсгэж эцэст нь хаана холбогдохыг нь (mount) зааж өгдөг.

Хүснэгт 4-1. Диск төхөөрөмжийн нэрнүүд

Нэр Утга
ad ATAPI (IDE) disk
da SCSI direct access disk
acd ATAPI (IDE) CDROM
cd SCSI CDROM
fd Floppy disk

Жишээ 4-1. Диск, Зүсмэл, Хуваалтын нэрлэх жишээ

Нэр Утга
ad0s1a Эхний IDE диск (ad0) дээрх эхний зүсмэлийн (s1) эхний хуваалт (a).
da1s2e Хоёр дахь SCSI диск (da1) дээрх хоёр дахь (s2) зүсмэлийн тав дахь (e) хуваалт.

Жишээ 4-2. Дискний тогтсон загвар

Дараах загвар нь системд буй IDE диск FreeBSD дээр хэрхэн харагдаж байгааг харуулж байна. Дискний хэмжээг 4 ГБ-н хэмжээтэй гэж үзээд хоёр ширхэг 2 ГБ зүсмэл байна (нэг зүсмэл дээр нь MS-DOS хуваалт байгаа). Эхний зүсмэл нь MS-DOSC: диск агуулсан, харин хоёр дахь зүсмэл дээр FreeBSD суугдсан. Энэ жишээн дээр FreeBSD нь гурван өгөгдлийн хуваалт мөн swap хуваалт хэрэглэж байна.

Гурван хуваалт нь тус тусдаа файл систем агуулж байгаа. a хуваалт root файл системд зориулагдаж, e хуваалт /var санд, мөн f хуваалт /usr санд тус тус зориулагдсан.


4.6. Файл системийг холбох болон салгах

Файл систем нь / гэсэн эхээс эхлэн модлог хэлбэрээр маш сайн харагддаг. /dev, /usr, мөн бусад сангууд нь root буюу эх сангаасаа салбарласан салаа мөчир бөгөөд цаашаа уг мөчир нь бас /usr/local гэж салаалах зэргээр өргөжиж салаалж болдог.

Эдгээр сангуудын заримыг нь өөр файл системд байрлуулах маш олон шалтгаан бий. /var сан нь жишээлбэл log/, spool/, гэх зэрэг янз бүрийн түр зуурын файлуудыг агуулдаг бөгөөд түргэн дүүрэх магадлалтай. Эх сан буюу root файл систем түргэн дүүрнэ гэдэг бол тийм ч сайн юм биш. Тийм болохоор /var санг / сангаас тусад нь өөр газар байрлуулах нь тун хэрэгтэй.

Тодорхой хэдэн сангуудыг тусад нь өөр файл систем дээр байрлуулах хүндтэй шалтгаан бол, хэрвээ уг сангууд нь өөр физик диск дээр, тусдаа виртуал диск дээр, Сүлжээний файл систем дээр, эсвэл CDROM дээр байх явдал юм.


4.6.1. fstab файл

/etc/fstab файлд жагсаагдсан файл системүүд нь системийн ачаалах явцад автоматаар холбогддог (гэхдээ хэрэв тэдгээр нь noauto сонголт хэрэглээгүй үед).

/etc/fstab нь дараах маягийн жагсаалтыг агуулж байдаг:

төхөөрөмж       /холбох-цэг файл-системийн-төрөл     сонголтууд      dumpfreq     passno
төхөөрөмж

Төхөөрөмжийн нэр (заавал байх ёстой). Хэсэг 19.2 хуудсанд тайлбарласан байгаа.

mount-point буюу холбох цэг

Файл системийг байрлуулах сангийн нэр (заавал байх ёстой).

файл-системийн-төрөл

mount(8) хуудсанд тайлбарласан байгаа тул алгасав. FreeBSD-н анхдагч файл систем бол ufs.

сонголтууд

Уншиж бичигдэх файл системийг заасан rw эсвэл зөвхөн уншигдах файл системд зориулсан ro сонголт байж болох бөгөөд цаашаагаа мөн нэмэлт сонголтууд агуулж болно. Ердийн сонголт бол noauto бөгөөд ингэснээр систем эхлэх үед уг файл систем холбогддоггүй. Бусад сонголтууд mount(8) гарын авлагад тодорхой бичигдсэн байгаа.

dumpfreq

Энэ сонголт нь dump(8) хэрэгслээр хэрэглэгддэг бөгөөд аль файл системд нөөц хадгалалт хийх вэ гэдгийг тодорхойлж өгдөг. Хэрэв энэ сонголтыг бичээгүй бол хоосон утгыг агуулж байдаг.

passno

Энэ сонголтыг ашиглан ямар дарааллаар файл системүүдийг шалгах вэ гэдгийг зааж өгдөг. Шалгалгүйгээр алгасна гэсэн файл системүүд нь passno талбардаа 0 утгатай байх ёстой. root буюу эх файл системийн (энэ файл систем нь хамгийн түрүүнд шалгагддаг) passno талбарын утга нь 1 байдаг бөгөөд бусад системийн passno нь нэгээс их байх ёстой. Хэрэв нэгээс илүү олон файл системүүд passno талбартаа ижил утгатай бол fsck(8) нь тэдгээр файл системийг хэрэв боломжтой зэрэг шалгахыг оролдох болно.

/etc/fstab файлын бүтэц болон тохируулдаг сонголтуудын тухай дэлгэрэнгүй мэдээллийг fstab(5) гарын авлагаас харна уу.


4.6.2. mount тушаал

mount(8) тушаал нь файл системийг холбоход хэрэглэгддэг цорын ганц тушаал юм.

Таны хамгийн өргөн хэрэглэх хэлбэр бол:

# mount төхөөрөмж-буюу-диск холбох-цэг

mount(8)-н гарын авлагад зааснаар бол маш олон сонголт байдаг бөгөөд өргөн хэрэглэгддэг нь:

Холбох тохируулгууд

-a

/etc/fstab файлд жагсааж бичсэн бүх файл системийг холбоно. Гэхдээ “noauto” гэж тэмдэглэснийг, -t гэж туг хатгасныг, эсвэл өмнө нь холбогдчихсон файл системүүдийг холбохгүй.

-d

Дуудаж ажиллуулж байгаа файл системээсээ бусдад нь дурын үйлдлээ хийнэ. Энэ сонголтыг -v тугтай хамт хэрэглэж mount(8)-г юу хийж байгааг нь харж болдог.

-f

Бохир файл систем (аюултай), эсвэл файл системийн унших-бичигдэх төлвөөс зөвхөн-унших төлөв рүү шилжүүлэн бичих эрхийг хасаж холбох үед хүчээр холбодог.

-r

Файл системийг зөвхөн-унших төлвөөр холбоно. Энэ нь -o сонголтыг ro утгатай хэрэглэсэнтэй ижил.

-t fstype

Өгөгдсөн файл системйиг өгөгдсөн төрлөөр холбоно. Эсвэл -a сонголт өгөгдсөн бол зөвхөн өгөгдсөн төрлөөр холбоно.

“ufs” нь анхдагч файл систем юм.

-u

Файл системд холболтын сонголтыг шинэчилнэ.

-v

Болж байгаа үйл явцыг харуулж мэдэгдэнэ.

-w

Файл системийг унших-бичих төлвөөр холбоно.

-o сонголт нь дараах зүйлүүдийг таслалаар тусгаарлаж хэрэглэж болно:

noexec

Энэ нь файл систем дээр хоёрлосон файл буюу ачаалагдаж ажиллаж болдог файл ажиллахыг үл зөвшөөрнө. Энэ нь мөн аюулгүй байдлын зорилгоор хэрэгтэй.

nosuid

Файл систем дээр setuid эсвэл setgid тугуудыг бүү хэрэглэ. Мөн аюулгүй байдлын шалтгаанаар.


4.6.3. umount тушаал

umount(8) тушаал нь ардаа холбосон цэг, төхөөрөмжийн нэр зэргийг авдаг бөгөөд мөн -a сонголт эсвэл бас -A сонголтуудыг авч болдог.

Бүх хэлбэрүүд нь -f сонголтыг хүчээр салгах үед болон -v сонголтыг явцын мэдээллийг харахад хэрэглэдэг. -f сонголт нь тийм сайн санаа биш гэдгийг анхааруулмаар байна. Хүчээр файл системийг салгах нь файл эсвэл системийн эвдрэлд хүргэж болзошгүй.

-a болон -A сонголтууд нь холбогдсон бүх файл системийг салгахад хэрэглэгддэг. Эсвэл мөн -t сонголтоор өөрчлөгдсөн файл системүүдийг салгахад хэрэглэнэ. Гэхдээ -A сонголт нь root файл системийг салгах гэж оролддоггүй.


4.7. Процесс буюу програмын явц

FreeBSD бол олон үйлдэл зэрэг хийх чадвартай систем. Энэ нь олон програм нэг дор зэрэг ажиллана гэсэн үг. Програмын тухайн үед ажиллаж байгааг нь процесс буюу програмын явц гэдэг. Таны ажиллуулсан тушаал болгон шинэ процесс эхлүүлдэг бөгөөд систем дээр бүхэлдээ тэр чигээрээ процессууд үргэлж ажиллаж системийн ажиллагааг бүрэлдүүлж байдаг.

Програмын явц бүр процесс ID, эсвэл PID гэсэн дугаар агуулж байдаг бөгөөд файлтай бас ижилхэн өөрийн гэсэн эзэмшигч болон бүлэгт харъяалагдаж байдаг. Эзэмшигч ба бүлгийн мэдээлэл нь уг процесс файлд хандах эрхийг нь хэрэглэж файлтай хэрхэн хандах вэ гэдгийг тодорхойлж өгдөг. Ихэнх процесс нь мөн эцэг процесстой байдаг. Эцэг процесс нь тэдгээр процессийг эхлүүлж өгдөг. Жишээлбэл, хэрэв та тушаалуудыг бүрхүүлд бичиж гүйцэтгэвэл, бүрхүүл ч процесс, тушаалууд ч процесс болдог бөгөөд таны бичсэн тушаал болгон процесс болдог. Ийм маягаар ажиллуулаад байвал бүрхүүл нь тэдгээр процессуудын эцэг нь болно. Үүнээс өөр онцгой процесс байдаг ба түүнийг init(8) процесс гэж нэрлэдэг. init бол хамгийн эхний процесс байдаг бөгөөд үүний PID дугаар үргэлж 1 байдаг. FreeBSD эхлэх үед init процесс автоматаар эхэлдэг.

Системд гүйцэтгэгдэж байгаа процессуудыг хардаг хоёр тушаал бол ps(1) ба top(1) хоёр юм. ps тушаал нь одоо ажиллаж байгаа процессуудыг PID дугаартай нь харуулж, мөн хичнээн санах ойн хэмжээ хэрэглэж байгаа, ямар тушаалаар гүйцэтгэгдэж байгаа зэргийг нь харуулдаг. top тушаал нь ажиллаж байгаа бүх процессуудыг харуулдаг бөгөөд хэдэн секунд тутамд шинэчлэгдэж байдаг. Ингэснээр таны компьютер тухайн үед юу хийж байгааг харж болно.

Анхдагч горимондоо, ps тушаал нь зөвхөн таны эзэмшиж байгаа процессуудыг харуулдаг. Жишээлбэл:

% ps
  PID  TT  STAT      TIME COMMAND
  298  p0  Ss     0:01.10 tcsh
 7078  p0  S      2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393  p0  I      0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630  p0  S      2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730  p0  IW     0:00.00 (dns helper) (navigator-linux-)
72210  p0  R+     0:00.00 ps
  390  p1  Is     0:01.14 tcsh
 7059  p2  Is+    1:36.18 /usr/local/bin/mutt -y
 6688  p3  IWs    0:00.00 tcsh
10735  p4  IWs    0:00.00 tcsh
20256  p5  IWs    0:00.00 tcsh
  262  v0  IWs    0:00.00 -tcsh (tcsh)
  270  v0  IW+    0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
  280  v0  IW+    0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
  284  v0  IW     0:00.00 /bin/sh /home/nik/.xinitrc
  285  v0  S      0:38.45 /usr/X11R6/bin/sawfish

Дээрх жишээнд харуулснаар, ps(1) тушаалын гаралт нь хэд хэдэн баганаар харуулагдаж байна. PID бол өмнө ярьсны дагуу процессийн ID дугаар. PID дугаарууд нь 1 гэж эхлээд 99999 хүртэл дугаарлагддаг бөгөөд хэтрээд ирэхээрээ эхнээсээ эхэлж тоологддог (PID нь ашиглагдаж байгаа бол дахин олгогддоггүй). TT багана нь, уг програмын ажиллаж байгаа tty буюу терминалыг нь харуулдаг бөгөөд одоохондоо хэрэгсэх шаардлага байхгүй. STAT нь програмын төлвийг харуулдаг бөгөөд мөн одоохондоо хэрэгсэхгүй байж болно. TIME нь процессор дээр хэр удаан ажиллаж байгааг нь заадаг бөгөөд гэхдээ энэ нь програм эхэлснээс хойш тооцож эхэлсэн цаг биш. Ихэнх програм нь процессор дээр гүйцэтгэх гэж хэсэг хугацаа зарцуулж хүлээдэг. Эцэст нь, COMMAND нь тухайн програмыг ажиллуулсан тушаалыг харуулдаг.

Харуулах мэдээллээ өөрчилж болдог хэд хэдэн нэмэлт сонголт ps(1) тушаалд бий. Байнга хэрэглэгддэг сонголтуудын багц бол auxww юм. a сонголт нь зөвхөн өөрийн эзэмшдэг процесс биш харин ажиллаж байгаа бүх процессийг харуулдаг. u сонголт нь процессийг эзэмшиж байгаа хэрэглэгчийн нэрийг харуулдаг бөгөөд мөн хэрэглэж байгаа санах ойг нь харуулдаг. x сонголт нь далд ажиллаж байгаа буюу дэмон эсэхийг нь харуулдаг. ww сонголт нь процессуудыг ажиллуулсан тушаалын бүтэн нэрийг нь харуулдаг. Бусад үед, хэрэв тушаалын нэр нь дэлгэцэнд багтахгүй урт байх тохиолдолд хасаж харуулдаг.

top(1) тушаалын гаралт нь өмнөх жишээтэй ижилхэн. Жишээ болгож нэг гаралтыг харцгаая:

% top
last pid: 72257;  load averages:  0.13,  0.09,  0.03    up 0+13:38:33  22:39:10
47 processes:  1 running, 46 sleeping
CPU states: 12.6% user,  0.0% nice,  7.8% system,  0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse

  PID USERNAME PRI NICE  SIZE    RES STATE    TIME   WCPU    CPU COMMAND
72257 nik       28   0  1960K  1044K RUN      0:00 14.86%  1.42% top
 7078 nik        2   0 15280K 10960K select   2:54  0.88%  0.88% xemacs-21.1.14
  281 nik        2   0 18636K  7112K select   5:36  0.73%  0.73% XF86_SVGA
  296 nik        2   0  3240K  1644K select   0:12  0.05%  0.05% xterm
48630 nik        2   0 29816K  9148K select   3:18  0.00%  0.00% navigator-linu
  175 root       2   0   924K   252K select   1:41  0.00%  0.00% syslogd
 7059 nik        2   0  7260K  4644K poll     1:38  0.00%  0.00% mutt
...

Тушаалын гаралт хоёр хэсэгт хуваагдсан байна. Толгой хэсэг (эхний таван мөр) нь сүүлд ажиллаж байгаа PID дугаарыг, системийн ачаалалтын дунджууд (энэ нь системийг хэр завгүй байгааг илтгэдэг), системийн асаалттай байгаа хугацаа (унтраалгүй хэр удсан эсэхийг) мөн одоогийн цаг зэргийг харуулдаг. Бусад илэрхийллүүд нь, хичнээн процессууд ажиллаж байгаа (энэ тохиолдолд 47 ), хичнээн санах ойн хэмжээ болон swap хэмжээ хэрэглэгдэж байгаа, мөн хичнээн хугацааг процессорын бусад төлөв байдалд зарцуулсан зэргийг илэрхийлж байна.

Доорх баганууд нь ps(1) тушаалтай ойролцоо мэдэгдлүүдийг харуулж байна. Эхлээд PID дугаар дараа нь хэрэглэгчийн нэр, процессороос хэрэглэсэн хугацаа, ажиллуулсан тушаал гэх мэт. top(1) тушаал нь анхдагч тохируулгаараа, процессийн хэрэглэж байгаа санах ойн хэмжээг харуулдаг. Тэр хэсэг нь хоёр баганад харуулагддаг бөгөөд эхнийх нь нийт хэмжээ дараагийх нь тухайн үеийнх нь хэмжээ юм. Нийт хэмжээ гэдэг нь програм ажиллахад хэд хэрэгтэйг хэлдэг бөгөөд тухайн үеийнх нь хэмжээ нь одоогоор хэдийг хэрэглэж байгааг заадаг. Энэ жишээн дээр Netscape® програм бараг 30 МБ хэмжээг RAM санах ойд шаардлагатай гэсэн боловч одоогоор 9 МБ хэмжээ хэрэглэж байна гэж заасан байна.

top(1) нь энэ харуулалтыг хоёр секунд тутам шинэчилдэг бөгөөд үүнийг s тохируулгаар өөрчилж болно.


4.8. Далд чөтгөр буюу дэмонууд, дохионууд, мөн процессуудыг зогсоох нь

Та хэрэв ямар нэг текст засварлагч дээр ажиллаж байхдаа файл нээх, хаах, хадгалах гэх мэт уг програмыг сайн хянаж чаддаг. Та яагаад тэгж чадаж байна вэ гэвэл, уг програм нь терминал дээр холбогдон ажиллаж танд тийм боломж олгож байгаа билээ. Зарим програм тэгэхэд үргэлж хүн гарнаас оруулалт хийх шаардлагагүй зориулалтаар бүтээгдсэн байдаг бөгөөд хамгийн эхний боломж гарангуут терминалаас салангид ажилладаг. Жишээлбэл вэб серверүүд өдөржин хүмүүсээс ирсэн хүсэлтэд хариулт өгч байдаг бөгөөд ердийн үед танаас оруулга шаарддаггүй. Ийм төрлийн бас нэг програм бол захиа илгээгч програм юм.

Бид ийм програмыг далд чөтгөр буюу дэмон гэж нэрлэдэг. Дэмонууд нь Грекийн домогт байдаг сайн муугийн аль нь ч биш бөгөөд жижигхэн мөртлөө хүмүүст хэрэгтэй юм хийж байдаг сүнсийг хэлдэг. Вэб сервер болон захианы серверүүд үүнтэй ижил хүмүүст тустай юм хийдэг. Тийм болохоор BSD нь спорт шаахайтай, жижигхэн, сэрээ барьсан чөтгөрийг олон жилээр дуртайяа өөрийнхөө билэг тэмдэг болгож байгаа билээ.

Далд ажиллаж байгаа буюу дэмон болж ажиллаж байгаа програмын нэрний ард “d” үсэг залгаж бичдэг зарчим бий. BIND програмын бүтэн нэр нь Berkeley Internet Name Daemon бөгөөд үндсэн далд ажилладаг програмын нэр нь named, мөн Apache вэб серверийн далд ажилладаг програмын нэр нь httpd, хэвлэх дарааллыг далд ажиллаж зохицуулж байдаг програмын нэр нь lpd гэх мэт нэртэй байдаг. Энэ нь ерөнхийдөө ингэж зарчим гаргасан болохоос хатуу тогтоосон дүрэм биш; жишээлбэл захиа илгээгч үндсэн програм Sendmail-н далд ажилладаг програмыг та maild гэж төсөөлж байгаа бол эндүүрэх бөгөөд харин sendmail гэж нэрлэдэг.

Заримдаа та эдгээр дэмон процессуудтай холбогдож харилцах хэрэг гарна. Ингэх нэг арга нь түүн рүү (эсвэл бусад ажиллаж байгаа процесс уруу) дохио гэгддэг зүйл илгээх явдал юм. Маш олон төрлийн илгээж болох дохионууд байдаг -- зарим дохионууд онцгой зориулалттай нийтэд нь хэрэгждэг, зарим нь тухайн програмдаа зориулж өөр өөрөөр хөрвүүлэгддэг бөгөөд програмын заавар дээр ямар дохиог яаж хөрвүүлэн ойлгох вэ гэдгийг заасан байдаг. Та өөрийнхөө эзэмшиж байгаа процесс уруугаа дохио илгээж болно. Хэрэв та бусдын эзэмшдэг процесс уруу kill(1) эсвэл kill(2) гэх зэрэг дохио илгээвэл таны эрх дутаж хэрэгждэггүй. Гэхдээ ийм эрхээр дутагддаггүй хэрэглэгч бол root хэрэглэгч бөгөөд хүн болгоны процесс уруу дохио илгээж чаддаг.

Мөн FreeBSD-ээс програм уруу зарим тохиолдолд дохио илгээдэг. Жишээлбэл, хэрэв муу зохиогдсон нэг програм санах ойг зориулсан хэмжээнээсээ илүү хэрэглээд эхэлбэл FreeBSD уг програм уруу Хэсгийн буруу хэрэглээ дохио илгээдэг (SIGSEGV). Мөн хэрэв ямар нэгэн програм нь alarm(3) гэдэг системийн сануулах програмыг ашигласан бол тухайн хугацаа нь хэтрэх үед Сэрүүлэг дохио уг програмд ирэх (SIGALRM) зэрэг олон дохио бий.

Процесийг зогсоох хоёр дохио байдаг, SIGTERM ба SIGKILL хоёр. SIGTERM нь арай эелдэг аргаар процессийг зогсоодог; процесс нь эхлээд дохиог хүлээж аваад өөрийг нь хаах гэж байгаад мэдээд нээлттэй байгаа бүртгэл бичлэг файлуудаа хаагаад тэгээд хийж байгаа ерөнхий үйлдлээ зогсоодог. Зарим тохиолдолд уг процесс нь таслагдаж болохооргүй үйлдэл хийж байх үедээ SIGTERM дохиог хэрэгсэхгүй байдал үүсдэг.

SIGKILL дохиог ямар ч процесс хэрэгсэхгүй байж чаддаггүй. Өөрөөр хэлбэл энэ нь “Чиний юу хийж байх нь надад хамаагүй, одоо шууд зогсоо” гэсэн дохио юм. Хэрэв та SIGKILL дохиог процесс уруу илгээвэл FreeBSD уг процессийг зогсоодог [4].

Таны хэрэглэж болохоор бусад дохионууд нь SIGHUP, SIGUSR1, мөн SIGUSR2. Эдгээр дохио нь ерөнхий зориулалтаар хэрэглэгддэг бөгөөд эдгээр дохиог хүлээж авсан програмууд тус тусдаа өөр өөр хариу үйлдэл хийдэг.

Жишээлбэл, та вэб серверийнхээ тохируулгын файлд өөрчлөлт хийгээд уг серверийг тохируулгын файлаа дахин шинээр уншуулахыг хүссэн гэж бодъё. Та httpd дэмоноо зогсоогоод дахин шинээр эхлүүлж болох боловч ажиллаж байгаа вэб серверийг зогсоож болохгүй нөхцөл байж болно. Ихэнх дэмонууд нь SIGHUP дохиог хүлээж авбал өөрийнхөө тохируулгынхаа файлыг уншина гэж тохируулагдсан байдаг. Тэгэхээр httpd дэмоноо зогсоогоод шинээр ачаалж байхын оронд SIGHUP дохиог илгээхэд хангалттай. Учир нь энэ дохионд тэгж хариулна гэсэн тогтоосон арга зам байхгүй тул дэмон болгон өөр өөр үйлчлэл үзүүлдгийг ойлгож тухайн дэмоны заавар бичгийг нь судлах хэрэгтэй.

дохио илгээхдээ kill(1) тушаалыг ашигладаг.

Процесс уруу дохио илгээх

Энэ жишээ нь inetd(8) уруу хэрхэн дохио илгээхийг харуулах болно. inetd -н тохируулгын файл /etc/inetd.conf гэж байрласан бөгөөд inetd-ийг тохируулгын файлаа дахин уншуулахын тулд SIGHUP дохиог илгээх болно.

  1. Илгээх процессийн процесс ID дугаарыг мэдэх хэрэгтэй. Ингэхийн тулд ps(1) ба grep(1) тушаалуудыг ашиглана. grep(1) тушаал нь өмнөх тушаалынхаа гаралтаас хайлт хийхэд хэрэглэгддэг бөгөөд хайх мөрөө зааж өгдөг. Энэ тушаал нь энгийн хэрэглэгчээс гүйцэтгэгдэж болох бөгөөд харин inetd(8) програм нь root хэрэглэгчээр гүйцэтгэгдсэн тул ps(1) тушаалыг ax сонголттой цуг гүйцэтгэх ёстой.

    % ps -ax | grep inetd
      198  ??  IWs    0:00.00 inetd -wW
    

    За тэгэхээр, inetd(8)-ийн PID дугаар нь 198 гэж энэ тохиолдолд хэлж байна. Зарим тохиолдолд grep inetd гэсэн тушаал нь өөрөө энэ гаралтад байж байдаг. Учир нь, ps(1) програм нь уг тушаалыг ажиллуулж байгаа процессийг олсон үед тэгж гаргаж харуулдаг.

  2. kill(1) тушаалыг хэрэглэж дохио илгээнэ. inetd(8) нь root хэрэглэгчээр гүйцэтгэгдэж байгаа болохоор, та эхлээд su(1) тушаалыг ашиглан root хэрэглэгч болох хэрэгтэй.

    % su
    Password:
    # /bin/kill -s HUP 198
    

    Ихэнх UNIX системийн тушаалуудын адил, kill(1) тушаал нь хэрэв амжилттай хэрэгжвэл ямар нэгэн төлвийн мэдээлэл харуулдаггүй. Хэрэв та өөрийнхөө эзэмшдэггүй процесс уруу дохио илгээвэл “kill: PID: Operation not permitted” буюу энэ үйлдлийг хийх эрх байхгүй байна гэсэн мэдэгдэл гарч ирнэ. Хэрэв та PID дугаараа буруу бичих, эсвэл буруу процесс уруу дохио илгээвэл, азгүй тохиолдолд уг дохио нь тухайн процесс уруу илгээгдэх бөгөөд, уг процесс нь азаар байхгүй байгаа тохиолдолд “kill: PID: No such process” буюу тийм процесс алга байна гэсэн мэдэгдэл гарч ирнэ.

    Яагаад /bin/kill тушаалыг хэрэглэх хэрэгтэй вэ?: Ихэнх shells буюу бүрхүүлүүд kill тушаалыг өөртөө агуулсан байдаг бөгөөд /bin/kill тушаалыг бичихийн оронд шууд бүрхүүлд буй тушаалыг нь гүйцэтгэх нь шулуухан байдаг. Энэ нь амарчилсан ашигтай арга боловч бүрхүүл болгон өөрсдийн илгээх дохионы өөр өөр нэртэй байдгийг мэдэх хэрэгтэй. Тийм болохоор бүрхүүл болгоны дохионы бичлэгийг судлахын оронд шууд /bin/kill ... тушаалыг хэрэглэх нь зөв арга юм.

Бусад дохио илгээх үйлдлүүд нь үүнтэй тун ижил бөгөөд TERM эсвэл KILL дохионуудын оронд шаардлагатай дохиогоо бичих хэрэгтэй.

Чухал: Санаанд орсон тоотой дохио болгоныг устгана гэдэг бол буруу санаа юм. init(8) процесс ялангуяа 1 гэсэн процесс ID байх нь онцгой тохиолдол. Тийм болохоор /bin/kill -s KILL 1 гэвэл системийг шууд унтраана. kill(1) тушаалыг гүйцэтгэхээсээ өмнө Return товч дарахынхаа өмнө үргэлж ямар процесс уруу ямар дохио илгээж байгаагаа давхар шалгах хэрэгтэй.


4.9. Shell буюу бүрхүүл

FreeBSD дээр маш олон ажил тушаал бичиж оруулдаг shell буюу бүрхүүл хэмээх орчинд хийгддэг. Бүрхүүлийн гол үүрэг нь гарнаас оруулсан тушаалыг гүйцэтгэх юм. Өдөр болгон гүйцэтгэхэд шаардагддаг файл зохицуулах, тушаал оруулагч мөрийг засварлах, тушаалын багц, орчны хувьсагч зэрэг туслах тушаалуудыг олон бүрхүүлүүд агуулж байдаг. FreeBSD нь sh буюу Bourne Shell, мөн tcsh буюу сайжруулсан C-shell зэрэг багц бүрхүүлүүдтэй хамт ирдэг. zsh болон bash зэрэг маш олон бүрхүүлүүд FreeBSD-ийн портын цуглуулганд ирдэг.

Та ямар бүрхүүл хэрэглэдэг вэ? Энэ бол тухайн хүний дур сонирхолтой хамаатай. Хэрэв та C програмын хэл дээр програм бичдэг бол C-тэй адилхан бичигддэг tcsh төрлийн бүрхүүлд дуртай болж болох юм. Хэрэв та Linux системээс ирсэн юм уу эсвэл UNIX-ийн тушаалуудтай дөнгөж танилцаж байгаа шинэ хүн бол bash бүрхүүлээр эхлэх нь амар байж болох юм. Хамгийн гол нь бүрхүүл болгон өөрийн гэсэн онцгой шинж чанартай болохоор өөрийнхөө хүсэл зорилгод тааруулж бүрхүүлээ сонгож дадах нь чухал.

Бүрхүүлийн хамгийн энгийн чадвар бол файлын нэрийн автомат гүйцэтгэл юм. Тушаал юм уу файлын эхний хэдхэн үсгийг бичээд гарын Tab товчийг дарахад уг үсгээр эхэлсэн файлын нэрийг танд гүйцээж бичиж өгдөг. Энд нэг жишээ авч үзье. Танд foobar болон foo.bar гэсэн хоёр файл байгаа гэж бодъё. Та foo.bar файлыг устгахыг хүсэв. Тэгвэл та компьютерийнхаа гаран дээр ингэж бичих болно: rm fo[Tab].[Tab].

Бүрхүүл танд ингэж харуулна rm foo[BEEP].bar.

[BEEP] гэдэг нь консолоос гаргаж байгаа хонхны дуу бөгөөд ингэж эхэлсэн файлын нэр нэгээс олон байгааг танд мэдэгдэж байгаа юм. foobar болон foo.bar хоёр хоёулаа fo гэж эхэлж байгаа ч гэсэн foo гэж танд дүүргэж өгдөг. Хэрэв та . гэж бичээд Tab дахин дарвал бүрхүүл танд уг хүссэн файлын тань нэрийг гүйцээж өгдөг.

Бүрхүүлийн бас нэг шинж чанар бол орчны хувьсагчийн хэрэглээ юм. Орчны хувьсагч гэдэг нь бүрхүүлийн орчинд хадгалагддаг, нэрэнд утга өгсөн хослол байдаг. Энэ бүрхүүлийн орчин нь уг бүрхүүлээс гүйцэтгэгдэж байгаа бүх програм болон програмын тохируулгад харагдаж байдаг. Байнга хэрэглэгддэг ерөнхий орчны хувьсагчдыг дор жагсааж тайлбарлав:

Хувьсагч Тодорхойлолт
USER Холбогдсон байгаа тухайн хэрэглэгчийн нэр.
PATH Ачаалагдаж болдог хоёртын файлуудыг агуулдаг сангуудыг таслалаар тусгаарлаж бичсэн жагсаалт.
DISPLAY Хэрэв холбогдох боломжтой бол, X11 дэлгэцийн сүлжээгээр холбогдох цэг.
SHELL Хэрэглэж байгаа shell буюу бүрхүүл.
TERM Хэрэглэгчийн терминалын төрлийн нэр. Терминалын шинж чанарыг тодорхойлоход хэрэглэгддэг.
TERMCAP Төрөл бүрийн терминалуудад алгасах ёстой кодуудын өгөгдлийн бааз.
OSTYPE Үйлдлийн системийн төрөл. жишээ нь, FreeBSD.
MACHTYPE Системийн ажиллаж байгаа процессорын архитектур.
EDITOR Хэрэглэгчийн эрхэмлэж хэрэглэгддэг текст засварлагч.
PAGER Хэрэглэгчийн эрхэмлэж хэрэглэдэг пэйжер.
MANPATH Таслалаар тусгаарлаж жагсаасан, гарын авлагын хуудсуудыг агуулсан хайх сангууд.

Бүрхүүл болгонд орчны хувьсагчаа өөр өөр тохируулдаг. Жишээлбэл, C-маягийн бүрхүүл tcsh болон csh дээр, та setenv тушаалыг ашиглаж орчны хувьсагчийг зааж өгдөг. Bourne төрлийн бүрхүүлүүд болох sh болон bash дээр, та export тушаалыг ашиглаж орчны хувьсагчийг зааж өгнө. Жишээ нь, орчны хувьсагч EDITOR-г өөрчлөх юм уу зааж өгөхийн тулд csh юм уу эсвэл tcsh бүрхүүл дээр EDITOR хувьсагчид /usr/local/bin/emacs утгыг өгөхийн тулд:

% setenv EDITOR /usr/local/bin/emacs

Bourne бүрхүүлүүд дээр:

% export EDITOR="/usr/local/bin/emacs"

Ихэнх бүрхүүлийн орчны хувьсагчийн утгыг харахын тулд хувьсагчийн нэрний урд $ тэмдгийг хэрэглэж харна. Жишээ нь, echo $TERM гэсэн тушаал нь $TERM хувьсагчид ямар утга байгааг консол дээр харуулна. Учир нь, бүрхүүл $TERM дотор буй утгыг echo тушаалд дамжуулж өгснөөр консол дээр харуулагддаг.

Бүрхүүл маш олон тэмдэгтийг тусгай зориулалтаар өгөгдлийг илэрхийлэхдээ хэрэглэдэг бөгөөд тэдгээр тэмдэгтийг мета-тэмдэгтүүд гэж нэрлэдэг. Байнга хэрэглэгддэг тэмдэгтийн нэг нь * юм. Энэ тэмдэгт нь файлын нэрэнд байгаа тэмдэгтүүдийг хэд ч байсан хамаагүй орохыг илэрхийлдэг. Тэдгээр мета-тэмдэгтүүд нь файлын нэрийг орлуулахад байнга хэрэглэгддэг. Жишээлбэл, echo * гэсэн тушаал нь ls тушаалтай ижилхэн үүрэг гүйцэтгэх бөгөөд, яагаад гэвэл бүрхүүл нь * тэмдэгтэд тохирох бүх файлуудыг авч echo тушаал руу дамжуулж харуулдаг.

Бүрхүүл дээр мета-тэмдэгтүүдийг хэрэв тухайн онцгой тохиолдлоор нь биш харин зүгээр тэмдэгт хэлбэрээр нь хэрэглэхийг хүсвэл, уг тэмдэгтийн урд ташуу зураасыг (\) бичиж өгдөг. echo $TERM гэсэн тушаал нь ямар терминал заагдсан байгааг харуулна. Харин echo \$TERM тушаал нь ердөө $TERM гэж харуулна.


4.9.1. Өөрийнхөө бүрхүүлийг солих

Бүрхүүлээ буюу shell-ээ солих хамгийн амархан арга бол chsh тушаалыг хэрэглэх юм. chsh тушаал нь таныг EDITOR орчны хувьсагчид заагдсан засварлагч уруу оруулдаг бөгөөд хэрэв энэ хувьсагчид утга заагдаагүй байвал шууд vi засварлагчийг ажиллуулдаг. Тэгээд та “Shell:” мөрөнд буй утгыг өөрчилж бүрхүүлээ өөрчилнө.

Та мөн chsh тушаалыг -s сонголттой хэрэглэж болох бөгөөд ингэсэн үед нэмэлт засварлагч нээлгүйгээр шууд бүрхүүлийг өөрчилдөг. Жишээ нь та өөрийнхөө бүрхүүлийг bash бүрхүүлээр солихыг хүсвэл дараа тушаалыг өгөх болно:

% chsh -s /usr/local/bin/bash

Тэмдэглэл: Таны хэрэглэхийг хүсэж байгаа бүрхүүл тань /etc/shells файл дотор заавал байх ёстой. Хэрэв та портын цуглуулгаас бүрхүүл суулгасан бол энэ нь автоматаар хийгдчихдэг. Харин та гар аргаар ямар нэг бүрхүүл суулгавал энэ файлд өөрөө нэмэх хэрэгтэй.

Жишээ нь та bash бүрхүүлийг гар аргаар суулгаад /usr/local/bin байршилд байрлуулсан бол дараах тушаалыг өгөх хэрэгтэй:

# echo "/usr/local/bin/bash" >> /etc/shells

Тэгээд дараа нь chsh тушаалыг хэрэглэх хэрэгтэй.


4.10. Текст засварлагчид

FreeBSD дээр текст файлуудыг засварлаж маш олон тохиргоонуудыг хийдэг. Тийм болохоор та текст засварлагч дээр гаршиж сурах нь чухал. FreeBSD нь үндсэн хэдэн засварлагчтай хамт ирдэг бөгөөд портын цуглуулга дээрээ бол олон зуун засварлагчтай.

Хамгийн амархан бөгөөд сурахад хялбар засварлагч бол ee бөгөөд easy editor буюу хялбар засварлагч гэдгийг товчилсон нэр юм. ee-г эхлүүлэхийн тулд тушаал бичих мөрөнд ee файлын-нэр гэж бичих бөгөөд файлын-нэр нь засварлагдах файлын нэр. Жишээ нь, /etc/rc.conf файлыг засварлахын тулд ee /etc/rc.conf гэж бичнэ. ee засварлагч дотроо дээд хэсэгт нь програмыг хэрэглэх заавар нь бичээстэй байдаг. ^ гэсэн тэмдэг нь гарын Ctrl товчийг илэрхийлдэг бөгөөд ^e гэдэг нь Ctrl+e гэсэн гарын товчлол юм. ee програмаас гарахын тулд Esc товч дараад leave editor буюу засварлагчаас гарна гэдгийг сонгох хэрэгтэй. Хэрэв файлд өөрчлөлт орсон бол гарахаас өмнө хадгалах эсэхийг лавлаж асуух болно.

Мөн FreeBSD нь vi гэсэн хүчирхэг засварлагчийг системийн үндсэн хэсэгтэй цуг зөөвөрлөдөг бөгөөд бас Emacs болон vim зэрэг зaсварлагчдыг FreeBSD Портын цуглуулгадаа багтаасан байдаг (editors/emacs болон editors/vim). Эдгээр засварлагчид нь ажиллах хүчин чадвараараа илүү боловч сурахад арай илүү төвөгтэй байдаг. Гэвч та текст файлыг засварлахад маш их хөдөлмөр гаргахаар бол vim эсвэл Emacs програмуудыг сурснаар таны цаг болон хөдөлмөрийг цаашид улам илүү хөнгөвчлөх болно.

Файлууд засварладаг эсвэл бичихийг шаарддаг олон програм текст засварлагчийг автоматаар нээдэг. Ашиглагдах анхдагч засварлагчийг өөрчлөхийн тулд EDITOR орчны хувьсагчийг тохируулах хэрэгтэй. Дэлгэрэнгүйг Бүрхүүлүүд хэсгээс үзнэ үү.


4.11. Төхөөрөмж ба төхөөрөмжийн цэгүүд

Төхөөрөмж гэдэг ойлголт нь голдуу системд буй төхөөрөмж болох диск, хэвлэгч, график карт, мөн гар зэрэг ордог. FreeBSD эхэлж ачаалах үедээ, гол чухал таньсан төхөөрөмжүүдээ харуулдаг. Ингэж эхлэхдээ харуулсан бичлэгийг та дахин харахыг хүсвэл /var/run/dmesg.boot файлыг хараарай.

Жишээ нь, acd0 гэдэг нь эхний IDE CDROM төхөөрөмж байхад, kbd0 гэдэг нь гарыг илэрхийлж байдаг.

UNIX үйлдлийн систем нь эдгээр төхөөрөмж уруу хандахдаа төхөөрөмжийн цэг гэж нэрлэгдэх тусгай файл уруу ханддаг. Эдгээр төхөөрөмжийн цэгүүд нь /dev санд байдаг.


4.11.1. Төхөөрөмжийн цэг үүсгэх

Хэрэв системд шинэ төхөөрөмж нэмэгдвэл, эсвэл нэмэлт төхөөрөмжид зориулсан шаардлага гарвал шинэ төхөөрөмжийн цэг үүсгэх ёстой.


4.11.1.1. DEVFS (DEVice File System буюу төхөөрөмжийн файл систем)

Төхөөрөмжийн файл систем буюу DEVFS нь ерөнхий файлын системийн нэрийн талбарын цөм дахь төхөөрөмжийн нэрийн талбарт хандах боломжийг өгдөг. Төхөөрөмжийн цэгийг үүсгэх эсвэл өөрчлөх зэрэг үйлдлийг DEVFS нь бидэнд хийж өгч амар болгож өгдөг.

devfs(5) гарын авлагаас нэмэлт мэдээллийг харна уу.


4.12. Хоёртын хэлбэрүүд

FreeBSD яагаад elf(5) хэлбэр хэрэглэдгийг ойлгохын тулд, та ачаалагдаж ажилладаг файлын төрлөөс UNIX дээр “ноёлдог” гурван хэлбэрийг мэдэх ёстой:

  • a.out(5)

    UNIX-н хамгийн хуучин бөгөөд “сонгодог” ачаалагддаг файлын хэлбэр. Энэ нь эхэн хэсэгтээ өөрийнхөө хэлбэрийг таниулах зориулалттай шидэт дугаар агуулж байдаг (a.out(5) хуудаснаас дэлгэрэнгүй мэдээлэл авна уу). Ачаалагдсан үедээ санах ойд гурван хэсэгт хуваагддаг: .text, .data, мөн .bss бөгөөд дээрээс нь хэрэглэгдэх обьектуудыг агуулсан хүснэгт мөн мөрийн хүснэгтийг агуулж байдаг.

  • COFF

    SVR3 обьект хэлбэр. Толгой хэсэгтээ тодорхой зориулалттай хүснэгт агуулж байдаг. Тийм болохоор зөвхөн .text, .data, болон .bss хэсгүүдээс гадна нэмэлт зүйлс агуулж чадна.

  • elf(5)

    COFF-н дараагийн үе. Энэ нь олон хэсэг агуулахаас гадна 32-бит эсвэл 64-битийн утга агуулах чадвартай. Нэг муу тал бий: ELF нь тухайн системийн архитектурт зөвхөн ганцхан ABI байгаа гэж авч үздэг. SYSV ертөнц (хамгийн багадаа гурван ABI агуулж байдаг: SVR4, Solaris, SCO) байсаар байхад ингэж авч үзэх нь буруу юм.

    FreeBSD нь энэ хүндрэлийг, ABI-н мэдээлэл агуулсан ачаалагддаг ELF файлуудыг зохицуулдаг branding хэрэгслийг ашиглаж сайжруулахыг боддог. Нэмэлт мэдээллийг brandelf(1) хуудаснаас харна уу.

FreeBSD нь хуучны “сонгодог” отгоос салбарлаж гарсан тул a.out(5) хэлбэрийг хэрэглэж байсан бөгөөд энэ хэлбэрээ 3.X салбар гарах хүртэл маш олон BSD хувилбартаа ашиглаж байжээ. Хэдийгээр FreeBSD дээр өмнө нь ELF хоёртын хэлбэрийг хөрвүүлж мөн ажиллуулж (цөм дээр ч гэсэн) болдог байсан ч, FreeBSD нь анхнаасаа ELF хэлбэрийг анхдагч хэлбэрээ болгохыг “татгалзсан” билээ. Яагаад? Учир нь, Линукс систем нь хуваалцдаг кодын сан буюу “Shared-Libraries” -д зориулсан үсэрч ажилладаг хүснэгт, мөн түүнийг хөгжүүлэгчид болон байгууллагад хүндрэлтэй байдаг шалтгаанаар a.out хэлбэрээс зайлсхийж ELF хэлбэр рүү шилжих гэж нүсэр хүнд хөдөлмөр зарсан юм. ELF хэлбэр нь хуваалцдаг кодын сан буюу “Shared-Libraries” хүндрэлийг давах боломж олгосон хэрэгслүүдийг санал болгосон бөгөөд тэгээд ч хөгжлийн явцад “нэг алхам урд нь” явж байгааг бодож мөн нэг хэлбэрээс нөгөө хэлбэрт шилжүүлэх үйл явцад гарах хүнд зардал байсан ч шилжүүлэхээр шийдсэн юм. FreeBSD-н кодын санг хуваалцах зарчим нь Sun-н SunOS™ загвартай ижил бөгөөд хэрэглэхэд тун хялбар.

Тэгэхээр, яагаад ийм олон хэлбэр байдаг юм бэ?

Энэ асуултанд хариулахын тулд хуучны, энгийн ажиллах зарчимтай төхөөрөмж хэрэглэж байсан бүүдгэр өнгөрсөн цаг уруу буцацгаая. Энэ энгийн төхөөрөмж нь энгийн жижигхэн систем дээр л ажиллахыг хүснэ. a.out нь (PDP-11) төрлийн иймэрхүү энгийн систем дээр бүгдийг нь хангаж байлаа. Хүмүүс UNIX системийг ийм энгийн системээс үүсгэсэн болохоор хуучны загвар болох Motorola 68k, VAXen зэрэг системтэй зохицохын тулд a.out хэлбэрийг үлдээсэн юм.

Тэгтэл дараа нь нэг сүрхий инженер хөвүүн, зохиогдсон төхөөрөмжийн зарим ажиллах сул талыг нөхөж процессорыг илүү хурдан ажиллуулах хөнгөхөн програм бичжээ. Энэ програм нь шинэ төрлийн архитектурт (тэр үедээ RISC гэж нэрлэгддэг байсан архитектур) зориулан ажиллахаар бичигдсэн болохоор a.out хэлбэр нь энэ төхөөрөмжид тохиромжгүй болон хангахуйц сайн биш болж ирэв. Тийм болохоор энэ шинэ төхөөрөмжтэй илүү үр дүнтэй ажиллахын тулд илүү олон хэлбэрүүд шинэ загварт зориулж зохиогдож байсан бөгөөд хуучин төрөлд бол энгийн a.out төрлийг санал болгож болох юм. COFF, ECOFF мөн өөр илүү хэд хэдэн хэлбэр нь алдаануудаа нөхөн дэс дараалан үүсгэгдсээр ELF хүртэл хөгжжээ.

Мөн цаашлаад програмын хэмжээ хэдийгээр ихэссэн ч дискний (мөн санах ойн) хэмжээ харьцангуй бага байсан болохоор хуваалцаж болдог кодын сангийн “Shared-Libraries” санаа үүссэн юм. Мөн VM системүүд сайн хөгжиж эхлэв. Хэдийгээр эдгээр сайжруулалт болгон a.out хэлбэрийг хэрэглэж байсан ч, шинэ боломжууд үүсэх тоолонд энэ хэлбэрийг хэрэглэхгүй болж ирэх нь улам ихэссэн билээ. Мөн түүнчлэн, санах ойг хэмнэх үүднээс эхлэн ачаалсны дараа өөр тийшээ үсрэх юм уу эсвэл явцын дунд код нэмэгдэж болох загваруудыг хүмүүс сонирхож эхлэв. Програмын хэлүүд улам сайжирч хүмүүс програмын үндсэн хэсгийг автоматжуулсан код хүсэх болжээ. Энэ бүх боломжуудыг биелүүлэх гэж a.out хэлбэрийг маш их олон янзаар яргалсан бөгөөд хэсэгтээ л энэ нь ажилладаг байв. Нэг мэдэхэд a.out хэлбэр нь ихсэж буй бүх хүндрэлийг зохицуулж чадахааргүй бичлэгийн төвөгтэй болон хэрэглэхэд хэцүү байдалд хүрсэн байна. Хэдийгээр энэ хүндрэлүүдийг ELF хэлбэр нь давдаг боловч шилжих явц нь маш хүндрэлтэй байдаг. Тийм болохоор ELF хэлбэр руу шилжих төвөг нь a.out хэлбэрийг хэрэглэх төвгөөс их байвал ELF хэлбэр нь хүлээгдэхээс өөр аргагүй болжээ.

Гэвч цаг хугацаа өнгөрсөөр, FreeBSD ба түүний уламжилж гарсан системийн хөрвүүлэх хэрэгсэл нь (ялангуяа ассемблер болон дуудагч буюу loader) хоёр замаар зэрэг хөгжсөөр байв. FreeBSD салаа нь кодын хуваалцдаг санг нэмж мөн зарим алдааг нь залруулсан байна. Үүнийг анх бичсэн GNU-н ард түмэн уг кодоо шинэчилж дахин бичээд янз бүрийн хэлбэрүүдийг нэмж болдог болгоод мөн хөрвүүлэгчээс хамааралгүй хөрвүүлэгддэг болгох зэрэг цааш нь хөгжүүлжээ. Хэдийгээр маш олон хүн FreeBSD дээр хөрвүүлэгчээс хамаарахгүй хөрвүүлэхийг хүссэн боловч FreeBSD-н as болон ld-д зориулсан хуучин кодноос болоод азгүйтжээ. GNU-н шинэ хэрэгслүүд нь (binutils) хөрвүүлэгчээс хамааралгүй, ELF, кодын хуваалцдаг сан, C++ өргөтгөл зэргүүдийг хөрвүүлж чаддаг болжээ. Мөн цаашлаад маш олон байгууллагууд ELF хэлбэртэй хоёртын програмуудыг гаргаж эхэлсэн тул тэдгээрийг хэрэглэхийн тулд FreeBSD уг хэлбэрийг дэмжих нь зөв гэж шийдсэн юм.

ELF хэлбэр нь a.out хэлбэрийг бодвол илүү өргөн хүрээтэй бөгөөд үндсэн системийг илүү өргөжүүлдэг. ELF хэрэгслүүд нь маш сайн зохион байгуулагдсан бөгөөд хөрвүүлэгчээс хамаардаггүй болохоор хүмүүсийн хүсэлд яг тохирдог. ELF нь a.out хэлбэрийг бодвол жаахан удаан байж болох боловч үүнийг хэмжиж тодорхойлно гэдэг нь хэцүү билээ. Мөн энэ хоёрыг санах ойд хуудас зохицуулах, эхлэн ажиллах зарчим зэргийг нь харьцуулсан маш олон шинж чанарууд байдаг. Тэдгээр шинж чанарууд нь тийм ч чухал биш бөгөөд энэ нь зөвхөн ялгаа нь билээ. Одоо бол a.out хэлбэр нь GENERIC цөмөөс хасагдсан бөгөөд a.out хэлбэрийг ажиллуулдаг байсан цөм нь хуучны цөмд тооцогдоно.


4.13. Нэмэлт мэдээлэл олж авах нь

4.13.1. Гарын авлага

Ихэнх дэлгэрэнгүй мэдээллүүд нь FreeBSD дээр гарын авлага хэлбэрээр оршиж байдаг. Систем дээр ажиллаж байгаа бараг бүх програмууд нь ажиллах болон авдаг шинж чанараа тодорхойлсон товч заавар буюу гарын авлагатай хамт ирдэг. Тийм гарын авлагыг man тушаалаар харна. man тушаалын хэрэглээ нь тун хялбар:

% man тушаал

тушаал нь судалж уншихыг хүссэн тушаалын нэр байх ёстой. Жишээлбэл ls тушаалын тухай мэдээлэл харахыг хүсвэл:

% man ls

Гарын авлага нь дотроо дараах хэсгүүдэд дугаарлагдаж хуваагддаг:

  1. Хэрэглэгчийн тушаал.

  2. Системийн дуудлага болон алдааны дугаар.

  3. C програмын хэлний санд байрлах функц нь.

  4. Төхөөрөмжийн драйвер.

  5. Файлын хэлбэр.

  6. Тоглоом болон бусад салбар.

  7. Төрөл бүрийн бусад мэдээлэл.

  8. Системээс санаа тавьж үйлдэх тушаал.

  9. Цөм хөгжүүлэгч.

Зарим тохиолдолд гарын авлагын зарим бүлэг нь саяны хуваасан хэсэгт бүрд ижил байдаг. Жишээлбэл chmod тушаалыг хэрэглэгч нэг янзаар хэрэглэж байхад систем бас chmod() тушаалыг өөр зорилгоор хэрэглэдэг. Энэ тохиолдолд та системд аль сэдвээ сонгож байгаагаа ойлгуулахын тулд харгалзах дугаарыг нь өгөх ёстой:

% man 1 chmod

Энэ тохиолдолд chmod тушаалыг хэрэглэгч яаж дуудаж хэрэглэх тухай харуулна. Гарын авлагын тухайн хэсгийг нь харахын тулд голдуу хаалт дотор тухайн хэсгийн дугаарыг нь бичиж ханддаг. Тэгэхээр chmod(1) гэвэл хэрэглэгчид хамаатай хэсэг нь, chmod(2) гэвэл системд хамаатай хэсэг харуулагдана.

Хэрэв та тушаалынхаа нэрийг мэдэж байвал энэ аргаар маш амархан хэрэглэх зааврыг уншиж чадахаар боллоо. Гэтэл та тушаалынхаа нэрийг мэдэхгүй тохиолдолд яах вэ? Энэ үед та man тушаалд тухайн хэрэгтэй тушаалын зааварт хайх түлхүүр үгийг -k сонголт ашиглан зааж өгч болдог. :

% man -k mail

Энэ тохиолдолд, заавартаа “mail” гэдэг үг агуулсан тушаалуудыг жагсааж танд харуулна. Энэ арга нь үндсэндээ apropos тушаалын үүрэгтэй ижил болно.

За тэгэхээр, таны /usr/bin санд маш их олон тушаалууд байгааг та мэддэг мөртлөө ямар үйлдэл хийдгийг нь сайн мэдэхгүй тохиолдолд яах вэ? Хамгийн амархан арга бол:

% cd /usr/bin
% man -f *

эсвэл

% cd /usr/bin
% whatis *

энэ хоёр хоёулаа ижилхэн үйлдэл хийдэг.


4.13.2. GNU Info файлууд

FreeBSD нь Free Software Foundation (FSF) буюу Чөлөөт Програмын Сангаас бүтээсэн маш олон програмуудыг агуулж байдаг. Гарын авлага хуудаснаас гадна эдгээр програмууд нь мөн нэмэлт текст загвартай info файл агуулж байдаг бөгөөд уг төрлийн мэдээлэл нь info тушаалаар харуулагддаг. Хэрэв та emacs-г суулгасан бол emacs-н info горимд бас харж болно.

info(1) тушаалыг хэрэглэхийн тулд ердөө:

% info тушаал

Товч тайлбарыг нь харахын тулд h дарна. Тушаалын түргэн зааврыг харахын тулд ? гэж дараарай.


Бүлэг 5. Програм суулгах: Багцууд болон портууд

Орчуулсан Шагдарын Нацагдорж.

5.1. Ерөнхий агуулга

Маш олон системийн хэрэгслүүд FreeBSD-н үндсэн системтэй нь хамт суугддаг. Гэхдээ зарим хүмүүст ажлаа гүйцээхийн тулд маш олон гуравдагчдын бэлтгэсэн програмыг суулгах шаардлага гардаг билээ. Таны систем дээр гуравдагчийн бүтээсэн програмуудыг суулгах хоёр үндсэн маш сайн аргыг FreeBSD хангаж өгдөг нь: FreeBSD-н портын цуглуулга (эх бичлэгээс нь суулгахад зориулагдсан), ба багцууд (урьдчилан хөрвүүлсэн хоёртын хэлбэрийн файлаас суулгахад зориулагдсан) юм. Энэ хоёр арга нь хоёулаа таны суулгахыг хүссэн програмын хамгийн сүүлийн хувилбарыг сүлжээ юм уу дотоод төхөөрөмжөөс суулгахад хэрэглэгдэнэ.

Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:

  • Гуравдагчдын бүтээсэн програмын багцыг хэрхэн суулгах.

  • Портын цуглуулга ашиглаж гуравдагчдын програмыг эх бичлэгээс нь хэрхэн бүтээх.

  • Өмнө суугдсан багц юм уу эсвэл портуудыг хэрхэн устгах.

  • Портын цуглуулгын хэрэглэдэг анхдагч утгуудыг хэрхэн дарж бичих.

  • Шаардлагатай програмын багцаа хэрхэн хайж олох.

  • Програмаа хэрхэн шинэчилсэн түвшинд авчрах.


5.2. Програм суулгацын ерөнхий ойлголт

Хэрэв та урьд нь UNIX системийг хэрэглэж байсан бол, гуравдагчдын бүтээсэн програмыг суулгах явц дараах маягаар явагддаг билээ:

  1. Програмыг татаж авах. Энэ нь голдуу эх бичлэг хэлбэрээрээ юм уу эсвэл хөрвүүлэгдсэн хоёрт файлын хэлбэрээр байдаг.

  2. Авсан програмаа задлах (ихэнх нь compress(1), gzip(1), эсвэл bzip2(1) нараар шахагдсан байдаг).

  3. Бичиг баримт нь хаана байгааг олоод (голдуу INSTALL юм уу README файлууд байдаг ба, эсвэл doc/ гэсэн дэд санд буй бичиг баримтууд) хэрхэн суулгах зааврыг нь унших.

  4. Хэрэв програм нь эх бичлэг хэлбэрээрээ байгаа бол, түүнийг хөрвүүлэх. Ингэхийн тулд магадгүй Makefile файлыг засварлах, эсвэл configure скриптийг ажиллуулах зэрэг ажлууд байдаг.

  5. Програмыг шалгаад, дараа нь суулгах.

Хэрэв бүх зүйл сайхан бүтсэн үед л ийм явц үйлдэгддэг. Хэрэв та тусад нь FreeBSD-д зориулж порт болгоогүй програмыг суулгахыг хүсвэл, магадгүй та уг програмыг ажиллуулахын тулд тухайн програмын эх кодыг засварлах хэрэг гарна.

Хэрэв та хүсэж байгаа бол, иймэрхүү “уламжлалт” аргаар програмыг FreeBSD дээр суулгаж болно. Гэхдээ FreeBSD дээр таны нөр их хөдөлмөрийг хөнгөлөх хоёр арга байдаг нь: багцууд болон портууд юм. Энэ баримтжуулалтыг бэлтгэж байх үед 23,000 гаран гуравдагчийн бэлтгэсэн програмууд ийм аргаар бэлэн болсон байгаа.

Ямар ч програм байсан, FreeBSD дээрх уг програмын багц гэж ердөө нэг л файлыг та татаж авах ёстой байдаг. Уг багц дотор тухайн програмын урьдчилан хөрвүүлсэн хувилбар, бичиг баримт болон тохируулга хийх скриптүүд зэрэг нь багтсан байгаа. Татаж авагдсан багц файлыг pkg_add(1), pkg_delete(1), pkg_info(1) зэрэг FreeBSD-н багц зохицуулагч програмаар өөрчилж болдог. Шинэ програм суулгах явцыг нэг л тушаалаар гүйцэтгэхийг эрмэлзсэн байдаг билээ.

Програмуудын FreeBSD порт гэдэг нь, тухайн програмуудыг эх бичлэгээс хөрвүүлж автоматаар суулгах зориулалттай бүлэглэгдсэн файлуудыг хэлдэг.

Програмыг эх бичлэгээс нь хөрвүүлж суулгахад хэд хэдэн үйлдэл (татаж авах, задлах, нөхөх, хөрвүүлэх, суулгах) хийдгийг та санаж байгаа байх. Портын агуулж буй файлууд нь яг энэ явцыг танд зориулж автоматжуулахад зориулагдсан мэдээлэл агуулсан байдаг. Та энгийн хэдэн тушаалыг гарнаас оруулахад л, уг програм татагдаж авагдаад, задлагдан, нөхөгдөж, хөрвүүлэгдээд суугдах болно.

Яг үнэн хэрэгтээ, портлох арга нь тухайн програмыг дараа нь pkg_add болон бусад багц зохицуулагч програмуудад хэрэглэгдэж болохоор багц үүсгэж хэрэглэгдэж бас болдог.

Багц болон портлох энэ хоёр арга нь хоёулаа, тухайн програмын dependencies буюу хамаатан програмуудыг мэдэж байдаг. Та нэг програм суулгах шаардлагатай байгаа бөгөөд уг програм нь бас нэг програмын сан файлыг суугдсан байхыг шаарддаг байна хэмээн авч үзье. Уг хоёр програм хоёулаа FreeBSD-н порт ба багц хэлбэрээр танд байгаа гэж бодъё. Хэрэв та pkg_add тушаалыг хэрэглэх юм уу эсвэл портын аргыг хэрэглэж уг програмыг суулганэ гэвэл, энэ хоёр арга нь хоёулаа уг програмыг суулгахад шаардагдах сан файл суугдаагүй байвал суугдаагүй байна гэж мэдээлээд, тэр сан файлыг эхлээд суулгадаг.

Энэ хоёр аргыг харах юм бол хоорондоо тун ижилхэн үйлдэл хийдгийг та ажиглаж магадгүй юм. Тэгээд яагаад FreeBSD гуай энэ хоёр аргатай хоёулантай нь зууралдаад байгаа юм бол гэж гайхаж мададгүй. Багц болон порт хоёр нь таны суулгах нөхцлөөс шалтгаалан өөрсдийн гэсэн хүчирхэг давуу талтай.

Багцын давуу тал

  • Програмын шахсан багц файл нь уг програмын эх бичлэгийг агуулдаггүй болохоор хэмжээний хувьд бага байдаг.

  • Багцууд нэмэлт хөрвүүлэх үйлдэл шаарддаггүй. Mozilla, KDE, эсвэл GNOME зэрэг том програмуудыг удаавтар систем дээр суулгахаар бол, энэ арга нь тун их давуу талтай юм.

  • Багцууд нь FreeBSD дээрх ямар нэгэн хөрвүүлэх явцын тухай мэдээлэл шаарддаггүй.

Портын давуу талууд

  • Багцыг аль болох олон систем дээр тохирогдон суулгах гэж хичээсэн болохоор, ийм багц нь маш өргөн дэлгэр сонголттойгоор хөрвүүлэгдэж бэлтгэгдсэн байдаг. Порт хэрэглэн програм суулгахаар бол, (жишээ нь) Pentium 4 эсвэл Athlon процессордоо зориулж програмын тохируулгыг өөрчилж болдог.

  • Зарим програмууд өөрийнхөө чадах болон чадахгүй зэрэг нөхцлөөсөө хамаараад хөрвүүлэгдэх явцад өөрчлөлт хийгдэх тохиолдлууд байдаг. Жишээ нь, Apache програм нь маш олон төрлийн өөртөө агуулсан тохиргоотой ирдэг. Ийм програмыг та портоос бүтээх үедээ анхдагч тохиргоонуудыг нь өөрчилж өөртөө тохируулж болно.

    Заримдаа, ижил төрлийн програмууд өөрсдийнхөө онцгой тохиргооноос хамаараад хэдэн хэдэн янзаар хөрвүүлэгдэж багцлагдсан байдаг. Жишээ нь, Х11 сервер суусан эсэхээс хамаараад Ghostscript програм нь ghostscript гэсэн нэртэй багцлагдсан байдаг ба бас ghostscript-nox11 гэсэн нэрээр мөн багц хэлбэртэй байдаг. Багцлах аргад иймэрхүү явцуу тохируулгаас хамаарсан арга байдаг боловч, хэрэв хөрвүүлэх үеийн тохиргоо нь ихсэх болбол энэ арга нь тун явуургүй болдог билээ.

  • Зарим програмын лицензэнд, уг програмыг хөрвүүлэгдсэн хэлбэрээр түгээхийг хорьсон байдаг. Тийм програмуудыг эх бичлэг хэлбэрээр нь түгээх ёстой болдог билээ.

  • Зарим хүмүүс хөрвүүлэгдсэн хоёртын файлын түгээлтэнд дургүй байдаг. Ядаж эх бичлэг нь байвал, та (онолын хувьд) эх бичлэгийг уншиж болзошгүй аюулыг илрүүлж болох юм.

  • Хэрэв танд нөхөлт бичлэг (засвар) байгаа бол, та уг нөхөлтийг зөвхөн эх бичлэг дээр л хийж чадна.

  • Зарим хүмүүс эх бичлэгээр наадах дуртай байдаг. Тэд нар эх бичлэгийг уншаад залхуу нь хүрээд ирэхээрээ уг бичлэгийг өөрчилж эвдэх, эсвэл зээлдэж өөрчлөх ( мэдээж лицензийн дагуу ) гэх мэтээр оролддог.

Портын шинэчлэлийн тухай мэдээлэл авч байхыг хүсвэл FreeBSD портын захидлын жагсаалт болон FreeBSD портын алдааны захидлын жагсаалт зэрэг захианы жагсаалтад бүртгүүлэх хэрэгтэй.

Сануулга: Ямар нэгэн програм суулгахаасаа өмнө http://vuxml.freebsd.org/-с програмын нууцлалын тухай мэдээллийг харах нь зүйтэй.

Та мөн ports-mgmt/portaudit-г суулгаж болох бөгөөд энэ нь, програмыг суулгахын өмнө уг програмын хуучралт болон аюулгүй байдалтай хамаатай шаардлагатай шалгалтуудыг хийж өгдөг. Иймэрхүү шалгалтыг зарим багц суулгасны дараа та portaudit -F -a гэсэн тушаал хэрэглэн үйлдэж болно.

Энэ бүлгийн үлдсэн хэсэгт FreeBSD дээр порт юм уу багц ашиглан хэрхэн програм суулгах талаар өгүүлэх болно.


5.3. Програмаа олох нь

Ямар нэгэн програм суулгахаасаа өмнө та ямар програм суулгахыг хүсэж байгаа болон ямар нэртэй гэдгийг нь мэдсэн байх хэрэгтэй.

FreeBSD-н програмын жагсаалт нь цаг тутамд нэмэгдэж байдаг. Аз болж таны хүссэн програмыг олох хэд хэдэн арга бий:

  • FreeBSD-н вэб хуудас нь http://www.FreeBSD.org/ports/ хаяг дээр бүх байгаа програмын шинэчлэгдсэн хувилбаруудыг нь хайж болох хэлбэрээр арчилж байдаг. Портууд нь төрөлжиж хуваагдсан байдаг бөгөөд та хүссэн програмаа хайж олох (хэрэв та нэрийг нь мэдэж байвал) эсвэл тухайн төрөлд байгаа бүх програмуудын нэрсийн жагсаалтыг харж болно.

  • Dan Langille гэгч нь FreshPorts хуудсыг http://www.FreshPorts.org/ хаяг дээр арчлан эрхэлдэг. FreshPorts нь порт дээр гарсан өөрчлөлтүүдийг хянаж байдаг бөгөөд хэрэв таныг хүсвэл таны сонгосон хэд хэдэн портуудыг “ажиглаж” байгаад өөрчлөлт гарангуут танд захиагаар мэдэгддэг.

  • Хэрэв та програмынхаа нэрийг нь мэдэхгүй байгаа бол FreshMeat (http://www.freshmeat.net/) хуудсан дээр хайж үзэх хэрэгтэй. Хэрэв уг хуудсан дээр шинэ програм олдсон бол буцаад FreeBSD хуудсанд очиж уг хуудсыг порт болсон эсэхийг магадлах нь зүйтэй.

  • Хэрэв та портынхоо нэрийг яг мэддэг боловч ямар төрөлд багтдагийг нь мэдэх хэрэгтэй бол whereis(1) тушаалыг ашиглаарай. Ердөө л whereis файлын_нэр гэж бичих бөгөөд файлын_нэр нь суулгахыг хүссэн програмын нэр билээ. Хэрэв уг програм нь олдвол, танд хаана байгааг нь дараах маягаар харуулна:

    # whereis lsof
    lsof: /usr/ports/sysutils/lsof
    

    Энэ нь бидэнд lsof (системийн нэгэн хэрэгсэл) програмыг /usr/ports/sysutils/lsof санд буй гэж мэдэгдэж байна.

  • Мөн портын модонд тухайн порт хаана байгааг олохын тулд ердийн echo(1) тушаалыг ашиглаж болно. Жишээ нь:

    # echo /usr/ports/*/*lsof*
    /usr/ports/sysutils/lsof
    

    Энэ нь /usr/ports/distfiles сан уруу татаж авагдсан таарсан файлуудыг харуулах болно гэдгийг анхаараарай.

  • Хүссэн портоо олох бас нэг арга бол портын цуглуулга дотор нь байдаг өөрийнх нь хайгчийг нь ашиглах билээ. Уг хайгчийг нь хэрэглэхийн тулд та /usr/ports сан дотор байх шаардлагатай. Уг сан дотроос make search name=програмын-нэр гэж бичих бөгөөд програмын-нэр нь таны олохыг хүссэн програмын нэр байх ёстой. Жишээлбэл lsof програмыг олохын тулд:

    # cd /usr/ports
    # make search name=lsof
    Port:   lsof-4.56.4
    Path:   /usr/ports/sysutils/lsof
    Info:   Lists information about open files (similar to fstat(1))
    Maint:  obrien@FreeBSD.org
    Index:  sysutils
    B-deps: 
    R-deps:
    

    Уг хайлтын үр дүнд та “Path:” гэсэн мөрөнд анхаарлаа хандуулах хэрэгтэй бөгөөд энэ нь хаана байгааг илэрхийлж байдаг. Бусад харуулж байгаа мэдээллүүд нь програм суулгахад хэрэглэгддэггүй болохоор энд дэлгэн ярихгүй.

    Бүр нарийвчилан хайхыг хүсвэл make search key=хайх-мөр гэх бөгөөд хайх-мөр нь тухайн програмтай холбоотой мөр байдаг. Энэ нь портын нэр, тайлбар, тодорхойлолт болон хамааралтай програм зэргүүдэд хайлт хийдэг болохоор тухайн програмынхаа талаар дэлгэрэнгүй мэдээлэл байхгүй хүнд хайхад тун тохиромжтой.

    Дээрх хоёр тохиолдолд хайх мөр тань жижиг болон том бичсэнээс хамаардаггүй. “LSOF” гэж хайх нь “lsof” гэж хайсантай ижилхэн үр дүнд хүргэнэ.


5.4. Багцалсан системийг хэрэглэх нь

Хамтран бичсэн Chern Lee.

FreeBSD дээр багцуудыг удирдах хэд хэдэн төрлийн хэрэгслүүд байдаг:

  • Ажиллаж байгаа систем дээр боломжтой байгаа болон суулгагдсан багцуудыг харах, устгах, суулгахын тулд sysinstall-ийг ажиллуулж болно. Дэлгэрэнгүй мэдээллийг Хэсэг 2.10.11-с үзнэ үү.

  • Багцын удирдлагын тушаалын мөрийн хэрэгслүүдийг энэ хэсгийн үлдсэн хэсэгт хэлэлцэх болно.


5.4.1. Багц суулгах

Та pkg_add(1) хэрэгслийг ашиглан өөртөө хадгалагдсан юм уу эсвэл сүлжээнд буй серверээс FreeBSD-н програмын багц суулгаж болдог.

Жишээ 5-1. Багц татаж аваад суулгах явц

# ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230-     This machine is in Vienna, VA, USA, hosted by Verio.
230-         Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp> get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375       00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp> exit
# pkg_add lsof-4.56.4.tgz

Хэрэв танд багц суулгах дотоод эх үүсвэр ( FreeBSD CD-ROM гэх мэт) байхгүй бол pkg_add(1) хэрэгслийг -r сонголттой хамт хэрэглэх нь зүйтэй. Энэ нь тухайн програмыг төрөл болон хувилбар зэрэг мэдээллийг нь автоматаар таньж мэдээд FTP хуудаснаас татан авч суулгадаг.

# pkg_add -r lsof

Дээрх жишээн дээр уг хэрэгсэл нь хэрэглэгчийн оролцоогүйгээр татаж аваад суулгаж буйг харуулж байна. Хэрэв та татаж авах алс хаягийг нь адилхан толин тусгал болох өөр нэг FreeBSD багцын хаягаар солихыг хүсвэл PACKAGESITE орчны хувьсагчийн утгад анхных нь утгыг нь дарж өөр хаяг өгөх хэрэгтэй. pkg_add(1) нь fetch(3)-г ашиглаж файл татаж авдаг бөгөөд янз бүрийн орчны хувьсагчийн утга хэрэглэдэг. Тэд нар нь FTP_PASSIVE_MODE, FTP_PROXY, мөн FTP_PASSWORD гэх мэт хувьсагчид байдаг. Хэрэв та галт хананы цаана байгаа юм уу эсвэл FTP/HTTP прокси хэрэглэж байгаа бол уг хувьсагчдыг өөрчлөх ёстой. Хувьсагчдын бүрэн жагсаалтыг fetch(3) хуудаснаас харна уу. Дээрх жишээн дээр lsof нь lsof-4.56.4 оронд хэрэглэгдэв. Хэрэв та алсаас автоматаар татаж авах үйлдэл хийж байгаа бол багцны хувилбарын дугаарыг оруулалгүй бичих хэрэгтэй. pkg_add(1) нь тухайн програмын сүүлийн хувилбарыг автоматаар таньж суулгадаг.

Тэмдэглэл: Хэрэв та FreeBSD-CURRENT эсвэл FreeBSD-STABLE хувилбарыг хэрэглэж байгаа бол pkg_add(1) нь програмын хамгийн сүүлийн хувилбарыг татаж авч суулгадаг. Хэрэв та -RELEASE хувилбар хэрэглэж байгаа бол таны хэрэглэж байгаа тухайн хувилбарт тохирсон хувилбарыг нь татаж авч суулгадаг. Гэхдээ иймэрхүү үйлдлийг нь өөрчлөхийг хүсвэл PACKAGESITE-г өөрчлөөрэй. Жишээлбэл та FreeBSD 8.1-RELEASE систем дээр pkg_add(1) хэрэгслийг ажиллуулбал анхдагч хаяг нь ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/ байх болно. Хэрэв та pkg_add(1)-г FreeBSD 8-STABLE багц суулгахаар тохируулахыг хүсвэл PACKAGESITE хувьсагчийг ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/ гэж зааж өгөх хэрэгтэй.

Багц файлууд нь .tgz болон .tbz гэсэн хэлбэртэй байдаг. Та тэдгээрийг ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/ хаягнаас олж болох бөгөөд эсвэл FreeBSD CD-ROM дээр бас буй. FreeBSD-н 4 ширхэг CD тус бүрийн /packages сан дотор багц байрлаж байгаа. Багц байрлуулалт нь /usr/ports-н загвартай ижил модлог байдаг. Төрөл болгон өөрийн гэсэн сантай ба багц болгон бас All буюу бүгд гэсэн сангаас олддог.

Багцны сангийн бүтэц нь портын бүтэцтэй таарч багц портын системийг бүрэлдүүлдэг юм.


5.4.2. Багц зохицуулалт

pkg_info(1) хэрэгсэл нь суугдсан багцтай холбоотой мэдээллүүдийг харуулдаг.

# pkg_info
cvsup-16.1          A general network file distribution system optimized for CV
docbook-1.2         Meta-port for the different versions of the DocBook DTD
...

pkg_version(1) хэрэгсэл нь суугдсан бүх багцны ерөнхий мэдээллийг харуулж байдаг. Энэ нь багцны хувилбарыг портын санд буй програмын хувилбартай жишиж харьцуулдаг.

# pkg_version
cvsup                       =
docbook                     =
...

Хоёр дахь баганад буй тэмдэгт нь порт доторх програмын хувилбартай харьцуулсан харьцуулалт юм.

Тэмдэг Утга
= Суугдсан багцны хувилбар нь портын хувилбартай адилхан байна.
< Суугдсан хувилбар нь портын хувилбараас хуучин байна.
> Суугдсан хувилбар нь портын хувилбараас шинэ байна. (Дотоод порт тань хуучирсан байж болзошгүй)
? Суугдсан багц нь портын жагсаалтад олдсонгүй. (Энэ тохиолдож болох юм. Жишээлбэл суугдсан порт нь устгагдах юм уу нэр нь өөрчлөгдсөн байж болзошгүй.)
* Багц олон хувилбартай байна.
! Суулгагдсан багц жагсаалтад байгаа боловч ямар нэг шалтгааны улмаас pkg_version тушаал нь суулгагдсан багцын хувилбарын дугаарыг жагсаалт дахь харгалзах оруулгатай харьцуулж чадахгүй байна.

5.4.3. Багц устгах

Өмнө суугдсан байгаа багцыг устгахдаа pkg_delete(1) хэрэгслийг ашиглана.

# pkg_delete xchat-1.7.1

pkg_delete(1) нь багцын бүрэн нэр болон дугаарыг шаарддагийг тэмдэглэе; xchat-1.7.1-ийн оронд xchat өгөгдсөн бол дээр дурдсан тушаал ажиллахгүй. Гэхдээ суулгагдсан багцын хувилбарыг олохын тулд pkg_version(1)-ийг ашиглах хялбар байдаг. Ингэхийн оронд та бүгдийг орлуулах тэмдэгт ашиглаж болох юм:

# pkg_delete xchat\*

Энэ тохиолдолд xchat-аар эхэлсэн нэртэй бүх багцуудыг устгах болно.


5.4.4. Бусад мэдүүштэй зүйлс

Бүх багцтай холбоотой мэдээллүүд /var/db/pkg сан дотор хадгалагдаж байдаг. Суугдсан багцны жагсаалт болон холбогдох тодорхойлолтууд нь уг санд буй файл дотроос уншигдах боломжтой.


5.5. Портын цуглуулгыг хэрэглэх нь

Дараах хэсэгт системдээ портын цуглуулгыг ашиглан хэрхэн програм суулгах болон устгах талаар өгүүлэх болно. make хөрвүүлэгчийн байршил болон орчны хувьсагчийн тухай нэмэлт тодорхой мэдээллийг ports(7) хуудаснаас харна уу.


5.5.1. Портын цуглуулгыг суулгах нь

Порт суулгахаасаа өмнө нь /usr/ports сан дотор Makefiles, patches буюу нөхөгч файл, мөн тодорхойлолт файлуудыг агуулсан портын цуглуулгыг суулгах хэрэгтэй.

FreeBSD-г суулгах үед sysinstall програм танаас портын цуглуулгыг суулгах эсэхийг тань асуудаг. Хэрэв та тэр үед үгүй гэж хариулсан бол энэ хэсэгт хэрхэн суулгах талаар тайлбарлана:

CVSup арга

Энэ арга нь CVSup протоколыг ашиглан портын цуглуулгаа суулгаж мөн байнга шинэчилж болох хамгийн түргэн арга юм. Хэрэв та CVSup-н талаар дэлгэрэнгүй мэдэхийг хүсэж байвал CVSup-г хэрэглэх нь хэсгээс хараарай.

Тэмдэглэл: FreeBSD системд орсон CVSup протоколын шийдэл нь csup гэж нэрлэгддэг.

csup-г анх удаагаа ажиллуулахынхаа өмнө /usr/ports санг хоосон байлгах хэрэгтэй. Хэрэв уг сан дотор өөр эх сурвалжаас суулгасан портын цуглуулга байвал, csup нь уг файлуудыг шинэчилж нөхдөггүй билээ.

  1. csup тушаалыг ажиллуулна:

    # csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile
    

    cvsup.FreeBSD.org гэдгийг өөртэйгээ ойрхон орших CVSup серверийн нэрээр солих хэрэгтэй. CVSup толин тусгалууд (Хэсэг A.6.7) хэсгээс толин тусгал хуудаснуудын бүрэн жагсаалтыг хараарай.

    Тэмдэглэл: Зарим нэг нь өөрийнхөө бэлтгэсэн ports-supfile файлыг хэрэглэхийг хүсэж болох юм. Ингэсэн үед тушаал бичих мөрөнд CVSup серверийн нэрийг бичих шаардлага гардаггүй.

    1. Ингэхийг хүссэн үед root эрхээр ороод /usr/share/examples/cvsup/ports-supfile файлыг шинэ сан уруу хуулах хэрэгтэй. Жишээлбэл /root юм уу эсвэл өөрийнхөө эхлэл санд хуулж болно.

    2. ports-supfile файлыг засварлана.

    3. CHANGE_THIS.FreeBSD.org мөрийг өөртэйгөө ойрхон буй CVSup серверийн нэрээр сольно. CVSup Толин тусгалууд (Хэсэг A.6.7) хэсэгт толин тусгалуудын бүрэн жагсаалтыг харж болно.

    4. Одоо csup-г ажиллуулахын тулд дараах алхмыг хийх хэрэгтэй:

      # csup -L 2 /root/ports-supfile
      
  2. Дараа нь csup(1) тушаалыг ажиллуулснаар тухайн үед хөрвүүлж байгаа портуудыг эс оруулаад бүх портын цуглуулгыг татаж аван сүүлд орсон өөрчлөлтүүдийг мөн шинэчилдэг.

Portsnap арга

Portsnap нь портын цуглуулгыг шинэчлэх бас нэг арга билээ. Portsnap-г хэрэглэх нь хэсгээс Portsnap-тай холбоотой бүх мэдээллийг харна уу.

  1. Шахсан хэлбэртэй портын цуглуулгыг /var/db/portsnap сан дотор татаж авах хэрэгтэй. Хэрэв та хүсвэл энэ алхмын дараа интернэтээс салгаатай ажиллаж болдог.

    # portsnap fetch
    
  2. Хэрэв та Portsnap-г анх удаагаа ажиллуулж байгаа бол шахагдсан уг цуглуулгыг /usr/ports сан дотор задална:

    # portsnap extract
    

    Хэрэв та өмнө нь /usr/ports сан дотор цуглуулгыг суулгасан бөгөөд энэ үед зөвхөн шинэчлэхийг хүсэж байгаа бол дараах тушаалыг өгөх хэрэгтэй:

    # portsnap update
    

Sysinstall арга

Энэ арга нь суулгацын төхөөрөмжөөс sysinstall-г ашиглан портын цуглуулгыг суулгах арга юм. Гэхдээ тухайн төхөөрөмж дээр байгаа цуглуулга нь тухайн хувилбарыг гаргасан өдрийн хувилбартай байдгийг анзаарах хэрэгтэй. Хэрэв танд интернэт холболт байдаг бол дээр өгүүлсэн хоёр аргыг урьтал болгох нь зүйтэй.

  1. root эрхээр ороод sysinstall гэсэн тушаал өгөх хэрэгтэй:

    # sysinstall
    
  2. Configure гэдгийг сонгоод Enter товч дарна.

  3. Distributions цэсийг сонгоод Enter дээр дарна.

  4. ports гэж сонгон Space товч дээр дарах хэрэгтэй.

  5. Дээр буй Exit гэдгийг олж сонгон Enter дээр дарна.

  6. CDROM юм уу FTP гэх мэт суулгах төхөөрөмжөө сонгоно.

  7. Дээр буй Exit цэсийг сонгоод Enter дээр дарна.

  8. X дээр дарж sysinstall-с гарах болно.


5.5.2. Порт суулгах нь

Портын цуглуулгын талаар яриа хийхийн өмнө портын “skeleton буюу араг яс”ны талаар ойлголт авах хэрэгтэй. Хамгийн энгийн ойлголтоор бол энэ нь FreeBSD системд програмыг цэвэрхэн хөрвүүлээд суулгахыг зааварласан товч заавар байдаг. Порт болгоны араг яс дараах зүйлсийг агуулж байдаг:

  • Makefile. Makefile нь янз бүрийн заавар бичлэгүүд агуулж байдаг бөгөөд энэ нь програм хэрхэн хөрвүүлэгдэх, бас хаана суугдах зэрэг үйлдлүүдийг тодорхойлсон байгаа.

  • distinfo файл. Энэ файл нь хөрвүүлж бүтээгдэх ёстой файлуудын татаж авалт болон тэдгээрийн алдаагүй татагдсан эсэхийг (sha256(1) ашиглан) шалгах зэрэг мэдээллүүдийг агуулж байдаг.

  • files нэртэй сан. Энэ санд таны FreeBSD систем дээр суугдах програмуудын хөрвүүлэгдэхэд хэрэглэгддэг patches буюу нөхөөс файлуудыг агуулна. Нөхөөс файлууд нь жижигхэн хэмжээний файл бөгөөд тодорхой зарим файлд гарсан өөрчлөлтүүдийг агуулдаг. Нөхөөсүүд текст хэлбэрээр оршдог ба голдуу “10 дугаар мөрийг устга” эсвэл “26 дугаар мөрийг үүгээр соль ...” гэсэн зааврууд байдаг. Нөхөөсүүдийг мөн “diffs буюу ялгааны” төрлийн файл гэж ярьцгаадаг. Ийм ялгааг нь илэрхийлсэн файлыг үүсгэхдээ diff(1) програмыг хэрэглэдэг юм.

    Энэ санд портыг бүтээхэд шаардагдах өөр төрлийн файлууд бас байж болох юм.

  • pkg-descr файл. Энэ файл дотор тухайн програмын тухай нэлээн дэлгэрэнгүй тодорхойлолт агуулагдаж байдаг.

  • pkg-plist файл. Энэ файл дотор порт суугдах явцад хуулагдаж суугдах файлуудын жагсаалт байдаг. Энэ нь мөн портыг устгах үед портын системд мэдэгдэх файлуудын жагсаалт билээ.

Зарим портууд pkg-message гэх мэтийн өөр файлууд агуулж байдаг. Портын систем нь онцгой тохиолдолд уг файлуудтай хандаж тухайн портод харгалзах үйлдлүүдийг хийх болно. Хэрэв та ийм файлуудын тухай дэлгэрэнгүй мэдээлэл мөн портын тухай үндсэн ойлголт авахыг хүсвэл FreeBSD порт бүтээгчийн гарын авлага хуудаснаас харна уу.

Порт дотор програмын эх бичлэгийг хэрхэн хөрвүүлж бүтээх тухай заавар байдаг болохоос уг програмын эх бичлэг нь байдаггүй. Та уг програмын эх бичлэгийг CD-ROM эсвэл интернэтээс уг зохиогчийнх нь гаргасан хэлбэрээр татаж авч болно. Голдуу эх бичлэгүүд нь tar болон gzip шахалтаар шахаж бэлдсэн байдаг боловч заримдаа өөр төрлийн хэрэгсэл ашиглан шахсан тохиолдол тулгарч магадгүй. Ямар ч хэлбэрээр програмын эх бичлэгийг авсан байг, түүнийг “distfile” гэж нэрийддэг. Доор FreeBSD порт суулгах хоёр аргыг танилцуулж байна.

Тэмдэглэл: Порт суулгахын тулд та root эрхэнд сэлгэсэн байх ёстой.

Сануулга: Ямар нэгэн портыг суулгахаасаа өмнө портынхоо цуглуулгыг та шинэчилсэн байх хэрэгтэй бөгөөд http://vuxml.freebsd.org/ хуудсанд тухайн порттой холбоотой аюул нууцлалын тухай сэдэв хөндөгдсөн эсэхийг шалгах хэрэгтэй.

Ямар ч порт суулгахаасаа өмнө аюулгүйн нууцлалын хувьд сул тал буй эсэхийг portaudit-р автоматаар шалгаж болно. Энэ хэрэгслийг портын цуглуулга дотор олох боломжтой (ports-mgmt/portaudit). Шинэ портыг суулгахаасаа өмнө portaudit -F гэж ажиллуулснаар аюулгүйн нууцлалд гарсан сул тал нүхнүүдийн тухай мэдээллийн өгөгдлийн баазаас мэдээллүүдийг авч нөхөлт хийдэг. Аюулгүйн нууцлалын мэдээллийн өгөгдлийн баазын шинэчлэх явц өдөр болгон давтагдаж хийгдэх болно. Нэмэлт дэлгэрэнгүй мэдээллийг portaudit(1) болон periodic(8) хуудаснаас харна уу.

Портын цуглуулга таныг интернэт холболттой гэж авч үздэг. Хэрэв танд интернэт холболт байхгүй бол distfile файлуудыг /usr/ports/distfiles санд хуулах хэрэгтэй.

Эхлэхийн өмнө суулгах гэж буй портын санд орох хэрэгтэй:

# cd /usr/ports/sysutils/lsof

Тэгээд lsof санд орсон хойноо уг сан дотор та тухайн портын араг ясыг харах болно. Дараагийн алхам бол портыг хөрвүүлэх буюу “бүтээх” билээ. Ингэхийн тулд тушаал бичих мөрөнд make гэж бичнэ. Ингэж гүйцэтгэсний дараа дараах маягийн явцын мэдээллийг та харах болно:

# make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===>  Extracting for lsof-4.57
...
[extraction output snipped]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===>  Patching for lsof-4.57
===>  Applying FreeBSD patches for lsof-4.57
===>  Configuring for lsof-4.57
...
[configure output snipped]
...
===>  Building for lsof-4.57
...
[compilation output snipped]
...
#

Хөрвүүлэлт дуусаад та буцаад тушаал бичих мөрөнд ирэнгүүт хийх ёстой дараагийн алхам бол портыг суулгах билээ. Ингэхийн тулд таны хийх ёстой зүйл бол make тушаалыг өөр нэг үгтэй хамт бичих ёстой бөгөөд тэр үг нь install юм:

# make install
===>  Installing for lsof-4.57
...
[installation output snipped]
...
===>   Generating temporary packing list
===>   Compressing manual pages for lsof-4.57
===>   Registering installation for lsof-4.57
===>  SECURITY NOTE: 
      This port has installed the following binaries which execute with
      increased privileges.
#

Ингээд тушаал бичих мөр боломжтой болонгуут суулгасан портоо ажиллуулах боломжтой болдог. Бид нарын жишээ авч суулгасан lsof програм нь нууцлалын давуу эрх шаарддаг болохоор аюулгүйн нууцлалын анхааруулга харуулагддаг. Порт суулгах үед хэрэв анхааруулга харуулагдваас түүнийг тун анхааралтай уншиж ойлгох хэрэгтэй.

Програмыг хөрвүүлж бүтээхэд хэрэглэгдсэн түр файлуудыг хадгалсан дэд сангуудыг устгах нь зүйтэй. Энэ нь дискний зайг хэмнэхээс гадна тухайн портыг шинэчлэх үед алдаа гаргуулахгүй маш сайн зуршил юм.

# make clean
===>  Cleaning for lsof-4.57
#

Тэмдэглэл: Та make, make install мөн make clean гэсэн дамжлагуудыг make install clean гэж товчилж бичиж болно.

Тэмдэглэл: Зарим shells буюу бүрхүүлийн орчнууд нь PATH орчны хувьсагч дотор буй сангууд доторх ачаалагдаж болдог програмуудын тушаалын хайлтыг түргэвчлэх зорилгоор түр хадгалагчид хадгалсан байдаг. Та хэрэв ийм төрлийн бүрхүүлийн орчин ашиглаж байгаа бол порт суулгасны дараа rehash тушаалыг хэрэглэн портын ачаалагдах файлыг бүрхүүлийн таних сан дотор нэмдэг. Энэ тушаал нь tcsh маягийн бүрхүүлд ажилладаг. sh төрлийн бүрхүүлд hash -r гэж ашигладаг. Тухайн бүрхүүлд хамаатай нэмэлт мэдээллийг нь харна уу.

FreeBSD Mall зэрэг зарим гуравдагчдын гаргасан DVD-ROM дээр distfiles файлууд агуулагдсан байдаг. Тэдгээрийг портын цуглуулганд хэрэглэж болно. DVD-ROM-г /cdrom санд таниулж холбоно. Хэрэв та өөр санд холбосон бол уг сангийн нэрийг CD_MOUNTPTS орчны хувьсагчид зааж өгөөрэй. Шаардлагатай distfiles файлууд нь дискнээс автоматаар хэрэглэгддэг.

Тэмдэглэл: Зарим нэг цөөн тооны портуудын лицензийг нь анхаарах хэрэгтэй. Ийм төрлийн портуудын эх бичлэг нь CD-ROM дээр байдаггүй. Тэдгээрийг татаж авах юм уу цааш нь түгээхийн тулд ямар нэгэн гэрээ бөглөх илгээх ёстой болдог. Хэрэв таны суулгах порт CD-ROM дээр байхгүй байгаа бол интернэт рүү орон хэлсний дагуу гүйцэтгэх хэрэгтэй.

Портын систем нь fetch(1) хэрэгслийг ашиглан файлуудыг татаж авдаг. Уг хэрэгсэл нь FTP_PASSIVE_MODE, FTP_PROXY, мөн FTP_PASSWORD гэх мэтчилэн төрөл бүрийн орчны хувьсагчдыг ашиглаж ажилладаг. Хэрэв та галт хана юм уу FTP/HTTP прокси хэрэглэдэг бол эдгээр хувьсагчдад тохирох утгыг нь зааж өгөх хэрэгтэй. fetch(3) хуудаснаас хувьсагчдын бүрэн жагсаалтыг харна уу.

Интернэтэд байнга холбогддоггүй хэрэглэгчдэд зориулж make fetch тушаал байдаг. Уг тушаалыг портын дээд сан (/usr/ports) дотор гүйцэтгэхэд шаардагдах бүх файлуудыг татаж авдаг. Уг тушаалыг мөн /usr/ports/net гэх зэргийн дэд сан дотор гүйцэтгэж болно. Хэрэв тухайн порт өөр сан юм уу портоос хамаардаг бол fetch гүйцэтгэл нь тэдгээр хамаарлыг нь нөхөж татдаггүйг анхаараарай. Харин fetch гэдгийг fetch-recursive гэж орлуулснаар тухайн портын хамааралтай порт болон сангуудыг давхар татаж авдаг.

Тэмдэглэл: Та бүх портуудыг хөрвүүлж бүтээнэ гэвэл make тушаалыг make fetch тушаалыг тайлбарласан шиг дээд санд гүйцэтгэж болдог. Гэвч зарим порт байхгүй тохиолдолд ийм үйлдэл бол аюултай. Мөн зарим портууд хоёр өөр файлыг нэг нэрээр суулгах хүндрэл гаргаж болзошгүй.

Мөш цөөхөн тохиолдолд хэрэглэгчид MASTER_SITES (татаж авах файлуудын байршил) хаягнаас өөр байршил ашиглан эх файлуудыг татаж авах шаардлага гарч болох юм. Ийм үед MASTER_SITES хувьсагчийн утгыг дараах тушаалаар өөрчилдөг:

# cd /usr/ports/directory
# make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch

Энэ жишээн дээр бид MASTER_SITES-н утгыг ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ гэж өөрчиллөө.

Тэмдэглэл: Зарим порт нь өөрийнхөө зарим хэсгийг шаардлагагүй гэж үзэх тохиолдолд, эсвэл аюулгүйн нууцлалын шалтгаанаар ч юм уу өөрчлөлт хийх боломж (эсвэл шаарддаг) өгдөг. www/firefox, security/gpgme, мөн mail/sylpheed-claws зэргүүдийг жишээ болгож болох юм. Иймэрхүү мэдэгдлүүд байвал тухайн үед танд харуулагдах болно.


5.5.2.1. Портын анхдагч санг дарж бичих

Заримдаа портыг хөрвүүлэх болон суулгах өөр санг хэрэглэх нь хэрэгтэй (онц шаардлагатай) байдаг. WRKDIRPREFIX болон PREFIX хувьсагчдын утгыг өөрчилж анхдагч сангийн байршлыг сольдог. Жишээ нь:

# make WRKDIRPREFIX=/usr/home/example/ports install

гэсэн тушаал нь портыг /usr/home/example/ports сан дотор хөрвүүлээд хөрвүүлэгдэж бүтээгдсэн файлуудыг /usr/local санд суулгадаг.

# make PREFIX=/usr/home/example/local install

гэсэн тушаал нь портыг /usr/ports санд хөрвүүлж бэлдээд /usr/home/example/local санд суулгана.

Мэдээж

# make WRKDIRPREFIX=../ports PREFIX=../local install

гэж хоёр хувьсагчийг хослуулан хэрэглэж бас болно (танд зөвхөн ерөнхий ойлголт өгөх зорилгоор урт мөрийг товчилж харуулсан билээ).

Мөн та уг хувьсагчдыг өөрийнхөө орчны хувьсагч болгож зарлаж болно. Тухайн бүрхүүлийнхээ орчны тухай зааврыг эхлээд уншиж танилцах нь зүйтэй.


5.5.2.2. imake-г хэрэглэх

Зарим порт imake-г хэрэглэдэг ( X цонхот системийн хэсэг) бөгөөд PREFIX хувьсагч ашиглалгүй /usr/X11R6 санд суулгадаг. Үүнтэй ижил зарим Perl портууд PREFIX хувьсагч хэрэглэлгүй Perl-н санд суулгадаг. Эдгээр портуудыг PREFIX хувьсагчтай хамтран ажиллуулж энэ хувьсагчийг ойлгож хүндэтгэдэг болгоно гэдэг бол тун хэцүү бөгөөд бараг боломжгүй ажил юм.


5.5.2.3. Портуудыг дахин тохируулах нь

Тухайн портуудыг бүтээж байхад чинь танд бүтээх тохируулгуудаас сонгож болох ncurses дээр тулгуурласан цэс харуулагддаг. Портыг нэгэнт бүтээсний дараа тэдгээр тохируулгуудыг нэмэх, хасах, эсвэл өөрчлөхийн тулд энэ цэсэнд дахин орохыг хүсэх нь хэрэглэгчдийн хувьд тийм ч нийтлэг биш юм. Үүнийг хийх олон аргууд байдаг. Нэг арга нь портыг агуулж байгаа сан уруу ороод урьдын адил тохируулгуудыг сонгосон хэвээр байгаа цэсийг дахин харуулах make config гэж тушаалыг ажиллуулах явдал юм. Өөр нэг арга нь портын хувьд бүх тохиргооны сонголтуудыг харуулах make showconfig тушаалыг ашиглах явдал юм. Бас нэг өөр арга нь бүх сонгогдсон тохируулгуудыг арилгаад танд дахин эхлэх боломж олгох make rmconfig тушаалыг ажиллуулах явдал юм. Эдгээр бүх аргууд болон бусдын талаар ports(7) гарын авлагын хуудсанд илүү дэлгэрэнгүй тайлбарласан байгаа.


5.5.3. Суугдсан портыг устгах нь

Та одоо портыг хэрхэн суулгах талаар мэдсэн юм чинь хэрэв буруу портоо суулгасан бол түүнийг хэрхэн утсгадаг талаар мэдэхийг хүсэж байгаа байх. Өмнөх жишээнд суулгасан портоо бид устгацгаая (анхааралгүй уншсан нэгэнд нь lsof програм гэж сануулъя). Портууд багцтай ижилхэн pkg_delete(1) тушаалаар устгагдаж болно ( Багц сонголт хэсэгт тайлбарласан буй):

# pkg_delete lsof-4.57

5.5.4. Порт шинэчлэх

Хамгийн түрүүнд pkg_version(1) тушаал ашиглан портын цуглуулгаас шинэ хувилбар агуулсан портуудыг жагсаах хэрэгтэй:

# pkg_version -v

5.5.4.1. /usr/ports/UPDATING

Портыг шинэчлэхээсээ өмнө портын цуглуулгаа шинэчлээд /usr/ports/UPDATING файлыг шалгана. Энэ файл дотор портыг шинэчлэхэд шаардагдах үйлдлүүд болох өөрчлөгдсөн төрөл, тохируулгын өөрчлөлт, эсвэл өмнөх хувилбартайгаа зөрчилдөх хэсгүүд гэх мэтийн чухал мэдээллүүд агуулагдаж байдаг.

Хэрэв UPDATING файлд саяны таны уншсан зүйлүүдээс өөр юм агуулагдаж байвал уг файлд буй зааврыг дагах нь зүйтэй.


5.5.4.2. Portupgrade ашиглан порт шинэчлэх нь

portupgrade хэрэгсэл нь портыг амархан шинэчлэхэд зориулагдсан. Үүнийг ports-mgmt/portupgrade портоос суулгаж болно. Бусад портын нэгэн адил порт суулгадаг журмаар make install clean гэсэн тушаалаар суулгадаг:

# cd /usr/ports/ports-mgmt/portupgrade
# make install clean

Суугдсан портын жагсаалтыг pkgdb -F тушаал ашиглан шалгаад үр дүнгийн мэдээлэлд байгаа зөрчлүүдийг нь залруулж засах хэрэгтэй. Шинэчлэл хийхээсээ өмнө ингэж зөрчлүүдийг арилгах нь тун сайн санаа билээ.

Хэрэв та portupgrade -a гэж ажиллуулбал таны системд суугдсан бүх хуучирсан портуудыг portupgrade шинэчилж эхэлдэг. Хэрэв та суугдах шинэчлэл болгонд лавлаж асуух үйлдэл хийлгэхийг хүсвэл -i сонголт нэмээрэй.

# portupgrade -ai

Хэрэв та бүх шинэчлэгдэх порт биш харин зөвхөн тодорхой нэгэн портыг шинэчлэх хүсэлтэй бол portupgrade багцны-нэр гэж бичнэ. -R сонголт нэмснээр тухайн програмд шаардагдах портуудыг portupgrade эхлээд нь шинэчлэдэг.

# portupgrade -R firefox

Портын оронд багц хэрэглэж суулгахыг хүсвэл -P сонголт хэрэглэнэ. Энэ сонголттой үед portupgrade нь PKG_PATH хувьсагчид зааж өгсөн жагсаалтад буй сан дотроос багцуудыг хайх ба хэрэв уг санд байхгүй байгаа бол сүлжээнээс татаж нөхдөг. Хэрэв дотоод сан болон сүлжээнээс багц олдоогүй тохиолдолд portupgrade нь портоор суулгахыг оролдох болно. Порт хэлбэрээр суулгах үйлдлийг зогсоохын тулд -PP сонголтыг нэмж өгдөг.

# portupgrade -PP gnome2

Хэрэв хөрвүүлж суулгалгүйгээр зөвхөн distfiles файлыг татаж авах (хэрэв -P сонголттой бол багц файлыг ) шаардлагатай бол -F сонголтыг ашиглаарай. Дэлгэрэнгүй мэдээллийг portupgrade(1) хэсэгт харна уу.


5.5.4.3. Portmanager ашиглан портыг шинэчлэх нь

Portmanager бол портыг суулгаж шинэчлэхийг амарчилсан өөр нэг хэрэгсэл билээ. Үүнийг ports-mgmt/portmanager портноос суулгаж болно:

# cd /usr/ports/ports-mgmt/portmanager
# make install clean

Бүх суугдсан портууд дараах энгийн тушаалаар шинэчлэгдэж болдог:

# portmanager -u

Та мөн -ui сонголтыг дээрх тушаалд нэмснээр (portmanager -u -ui) Portmanager-н гүйцэтгэх алхам бүрийг лавлах асуух хэлбэрт оруулан хянаж болдог. Portmanager-г ашиглан системд шинэ портыг суулгаж болно. make install clean гэсэн ердийн тушаалаас ялгаатай нь тухайн сонгосон портыг суулгахаасаа өмнө түүнд хамааралтай бүх портуудыг шинэчлэдэг.

# portmanager x11/gnome2

Хэрэв сонгосон портын хамааралтай портод ямар нэгэн хүндрэл гарвал Portmanager-г тэр хүндрэл гарсан портоос эхлэн дахин шинээр хөрвүүлж бэлд гэж зааж өгч болдог. Ингэсэн үед хүндрэл гаргасан портыг эхлэж хөрвүүлээд дараа нь портоо шинэчлэх явцаа цааш нь үргэлжлүүлдэг.

# portmanager graphics/gimp -f

Дэлгэрэнгүй мэдээллийг portmanager(1)-с харна уу.


5.5.4.4. Portmaster ашиглан портыг шинэчлэх нь

Portmaster нь “үндсэн” системд байдаг (бусад портуудаас хамаардаггүй) хэрэгслүүдийг ашиглахаар хийгдсэн бөгөөд аль портыг шинэчлэхээ тогтоохын тулд /var/db/pkg/ сан доторхийг ашигладаг. Тэрээр ports-mgmt/portmaster порт хэлбэрээр байдаг:

# cd /usr/ports/ports-mgmt/portmaster
# make install clean

Portmaster нь портуудыг дөрвөн төрөлд бүлэглэдэг:

  • Root буюу язгуур портууд (хамаарсан портууд байхгүй, бусдаас хамаардаггүй)

  • Trunk буюу гол портууд (хамаарсан портууд байхгүй, бусдууд хамаардаг)

  • Салбар портууд (хамаарсан портуудтай, бусдууд хамаардаг)

  • Навч портууд (хамаарсан портуудтай, бусдаас хамаардаггүй)

Та суулгагдсан бүх портуудыг жагсааж болох бөгөөд -L тохируулга ашиглан шинэчлэлт байгаа эсэхийг хайж болно:

# portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
        ===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
        ===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
        ===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports

===>>> 137 total installed ports
        ===>>> 83 have new versions available

Бүх суулгагдсан портуудыг энэ хялбар тушаал ашиглан шинэчилж болно:

# portmaster -a

Тэмдэглэл: Анхдагчаар Portmaster нь байгаа портыг устгахаасаа өмнө нөөц багц үүсгэдэг. Хэрэв шинэ хувилбар суулгалт амжилттай болсон бол Portmaster нөөц багцыг устгана. -b сонголтыг ашиглаж Portmaster-т нөөцийг автоматаар устгахгүй байхыг тушаана. -i сонголтыг ашигласнаар порт бүрийг шинэчлэхээс өмнө асууж лавлан Portmaster-ийг интерактив горимд эхлүүлнэ.

Хэрэв шинэчлэх процессийн явцад алдаа гарвал та бүх портыг шинэчлэх буюу дахин бүтээхийн тулд -f-г ашиглаж болно:

# portmaster -af

Шинэ порт бүтээж суулгахаасаа өмнө бүх хамааралтай портуудыг шинэчилж Portmaster-ийг системд шинэ порт суулгахдаа та бас ашиглаж болно:

# portmaster shells/bash

Дэлгэрэнгүй мэдээллийг portmaster(8)-с үзнэ үү.


5.5.5. Порт ба дискний хэмжээ

Портын цуглуулга нь дискний хэмжээг байнга идэж байдаг. Портоос програмыг хөрвүүлж суулгасны дараа бэлдэж байсан work санг make clean тушаалаар цэвэрлэхээ үргэлж санах хэрэгтэй. Та портын цуглуулгыг бүхлээр нь дараах тушаалаар цэвэрлэж болно:

# portsclean -C

Маш олон эх файлууд distfiles санд явцын үр дүнд хадгалагдаж байдаг. Та тэдгээрийг гар аргаар устгаж болох ба дараах тушаал хэрэглэн ямар нэгэн порттой холбоогүй болсон бүх distfiles устгаж болно:

# portsclean -D

Эсвэл таны системд одоо суугдсан байгаа порттой хамаагүй бүх distfiles-уудыг дараах тушаалаар устгана:

# portsclean -DD

Тэмдэглэл: portsclean хэрэгсэл нь portupgrade програмын нэг бүрдэл хэсэг.

Суулгасан портоо хэрэглэхгүй болсон үедээ устгахаа мартаж болохгүй. Иймэрхүү автоматжуулалтыг гүйцэтгэдэг эвтэйхэн програм бол ports-mgmt/pkg_cutleaves порт билээ.


5.6. Порт суулгасны дараах үйлдлүүд

Ердийн програмыг суулгасны дараа тухайн програмтай холбоотой бичиг баримтыг унших, ямар нэгэн тохиргооны файл засварлах, эсвэл уг програм компьютер ачаалагдах үед эхлэх (хэрэв энэ нь далд чөтгөр бол) эсэхийг нь шалгах шаардлага гарч болзошгүй.

Суулгасан програм болгоныг тохируулах зарчим өөр өөр. Гэхдээ та шинэ програм суулгачихаад “Одоо яах вэ?” гэсэн асуулттай тулгарах үед дараах зүйлс тусалж магадгүй:

  • pkg_info(1) тушаалыг ашиглан ямар файл хаана яаж суугдсаныг харна. Жишээ нь та саяхан FooPackage version 1.0.0, програмыг суулгасан бол

    # pkg_info -L foopackage-1.0.0 | less
    

    гэсэн тушаал нь уг програмыг суулгах явцад хуулсан бүх файлуудыг харуулдаг. man/ санд хуулсан файл байвал тун анхааралтай харах хэрэгтэй. Энэ нь гарын авлага файлууд байдаг. Мөн etc/ санд хуулсан файлууд нь тохируулгын файлууд байдаг бөгөөд doc/ санд бол дэлгэрэнгүй бичиг баримтуудыг хадгалсан байдаг.

    Хэрэв та програмынхаа хувилбарын талаар сайн мэдэхгүй байгаа бол

    # pkg_info | grep -i foopackage
    

    гэсэн тушаал нь бүх суугдсан програм дотор foopackage гэсэн нэртэй програм байвал харуулдаг. foopackage-н оронд хүссэн програмынхаа нэрийг бичээрэй.

  • Програмын гарын авлага хаана суугдсаныг мэдсэн үедээ man(1)-г ашиглан харах хэрэгтэй. Мөн түүнчлэн ийм аргаар тохируулга болон нэмэлт мэдээллийн файлуудыг нь тухай бүрд нь харах хэрэгтэй.

  • Хэрэв уг програм өөрийн гэсэн вэб хуудастай бол түүнд нь зорчин нэмэлт мэдээлэл авах, байнгын асуулт хариултыг нь үзэх гэх мэтчилэн оролдоорой. Уг програмын вэб хуудасны хаяг нь

    # pkg_info foopackage-1.0.0
    

    тушаалын гаралт дээр WWW: гэсэн хэсэгт байдаг.

  • Эхлэн ачаалагдах үед эхлэх ёстой портууд (Интернэт сервер гэх мэт) голдуу /usr/local/etc/rc.d сан дотор эхлүүлэх файлаа хуулдаг. Та уг файлыг шаардлагатай бол засварлах юм уу өөрчилж болно. Үйлчилгээг эхлүүлэх хэсгээс дэлгэрэнгүй мэдэээллийг харна уу.


5.7. Эвдрэлтэй портыг засах нь

Хэрэв та портыг ажиллуулж чадаагүй тохиолдолд хийж болох хэд хэдэн алхам бий:

  1. Problem Report database хуудсанд уг портын засварлах заавар бий эсэхийг шалгах. Хэрэв байвал уг зааврын дагуу засварлах хэрэгтэй.

  2. Уг портыг арчилж сайжруулдаг хүнээс тусламж авах. make maintainer тушаал ашиглаад юм уу эсвэл Makefile файл дотроос тухайн арчлагчийн захианы хаягийг нь олох хэрэгтэй. Захиандаа портынхоо нэр болон хувилбарыг оруулан (Makefile файлд буй $FreeBSD: мөрийг илгээх хэрэгтэй ) хэрэв боломжтой бол алдаа заасан явцын мэдээллүүдийг явуулах хэрэгтэй.

    Тэмдэглэл: Зарим порт нь хувь хүнээр биш харин захианы жагсаалтаар арчлагдаж байдаг. Энэ жагсаалтад бүгд биш ч гэсэн ихэнх хүмүүс нь маягийн захианы хаягтай байдаг. Ийм хүмүүс рүү захиагаа явуулах хэрэгтэй.

    Голдуу -р арчлагдаж байгаа гэсэн портууд нэг тодорхой хүнээр арчлагдаагүй байдаг. Завсарлалт болон тусламж зэргүүд нь ихэнхдээ захианы жагсаалтад буй хүмүүсээс ирдэг. Туслан дэмжих хүмүүс бидэнд үргэлж хэрэгтэй байгаа!

    Хэрэв та ямар нэгэн хариулт аваагүй бол send-pr(1)-г ашиглан алдааны мэдэгдэл ( FreeBSD-н алдааг мэдээлэх хэсгийг харна уу) хийж болно.

  3. Өөрөө засаад үз! Порт хийгчдийн гарын авлага дотор “портын” ажиллах зарчим болон бүтэц заавар, засах дараалал, тэр байтугай өөрөө порт зохиох талаар дурдсан байгаа!

  4. Ойрхон байгаа FTP хуудаснаас багцыг татаж авах хэрэгтэй. “Үндсэн” багцны цуглуулга ftp.FreeBSD.org хуудасны багцны санд байдаг бөгөөд толин тусгал сайтуудуудыг эхлээд турш! Ингэсэн нь эх бичлэгийг хөрвүүлэхээс түргэн бэлэн болсон багцыг татаж аван цаг хэмнэж байдаг. pkg_add(1) програмыг ашиглан өөртөө хадгалсан багцаа систем дээрээ суулгана.


Бүлэг 6. X Цонхот систем

X.Org-н X11 серверт зориулж шинэчилсэн Кен Том ба Марк Фонвил. Орчуулсан Шагдарын Нацагдорж.

6.1. Ерөнхий агуулга

FreeBSD хэрэглэгчдэд зориулж график горимоор хангахын тулд X11-г ашигладаг. X11 бол Х Цонхот системийн чөлөөтэй түгээгддэг хувилбар бөгөөд Xorg-д (болон энд дурдагдаагүй бусад програм хангамжийн багцуудад) хийгдсэн байдаг. X11-ийн Анхдагч бөгөөд албан ёсны хувилбар нь X.Org сангаас гаргасан Xorg бөгөөд түүний лиценз нь FreeBSD-ийн лицензтэй ижил төсөөтэй билээ. Мөн FreeBSD-д зориулсан худалдаж авч болохоор Х серверүүд байдаг.

X11-н дэмждэг дэлгэцтэй холбоотой төхөөрөмжийн талаар Xorg вэб хуудаснаас хараарай.

Энэ бүлгийг уншиж дууссаны дараа та дараах зүйлсийг мэдэх болно:

  • X Цонхот системийн төрөл бүрийн бүрдлүүд болон тэд хэрхэн хоорондоо хамтарч ажилладаг тухай.

  • X11-г хэрхэн суулгаж тохируулах.

  • Төрөл бүрийн цонхот орчныг хэрэглэх.

  • TrueType® төрлийн үсгийн маягийг X11 дээр хэрхэн хэрэглэх.

  • Өөрийнхөө системийг график горимд хэрхэн нэвтрэлт хийлгэх тухай (XDM).

Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:

  • Гуравдагчдын бүтээсэн програмыг хэрхэн суулгах тухай мэддэг байх хэрэгтэй (Бүлэг 5).


6.2. X-г таньж мэдэх

Microsoft Windows болон Mac OS зэрэг график горимыг урьд нь хэрэглэдэг байсан зарим хүмүүс анх удаагаа X-г хэрэглэх үед нэгэн төрлийн цочролд автаж магадгүй юм.

Х-н төрөл бүрийн бүрдлүүд хоорондоо хэрхэн хамтарч ажилладаг талаар бүрэн мэдэх шаардлагагүй ч гэсэн түүний тухай үндсэн ойлголт авсан үед X-н хүчин чадлыг зөв ашиглаж болох юм.


6.2.1. Яагаад X гэж?

X нь UNIX-д зориулж бүтээсэн цонхот системийн анхдагч нь биш ч хамгийн их түгсэн нь мөн билээ. X-н анхны хөгжүүлэгчид нь Х-г бичихээсээ өмнө өөр цонхот систем дээр ажиллацгааж байсан юм. Тэр системийг нь “W” (“Window” гэсэн үг) гэж нэрлэдэг байжээ. X нь ердөө л Ром үсгийн дараагийн үсэг байв.

X нь заримдаа “X”, “X Window System буюу Х цонхот систем”, “X11” гэх мэтчилэн янз бүрээр нэрлэгддэг. Магадгүй Х11-г “X Цонх” гэж нэрлэсэн хүмүүс их байгааг анзаарч магадгүй юм. Дэлгэрэнгүй мэдээлэл X(7) дээр буй.


6.2.2. X үйлчлүүлэгч/сервер загвар

X нь анхнаасаа сүлжээтэй ажиллана гэж тооцож зохиогдсон бөгөөд “үйлчлүүлэгч-сервер” загвар хэрэглэдэг.

X загварт “X сервер” нь хулгана, гар, дэлгэцтэй ажилладаг. Энэ үед серверийн үүрэг бол дэлгэцийг удирдах, гар ба хулгана болон бусад оролт эсвэл гаралтын төхөөрөмжүүдээс (жишээ нь “tablet” нь оролтын төхөөрөмж маягаар ашиглагдаж видео проектор нь гаралтын төхөөрөмж байж болох юм) мэдээллийг хүлээж аван зохицуулах үйлдлүүдийг хариуцаж ажиллаж байдаг. X програм болгон (XTerm эсвэл Netscape гэх мэт) уг серверийн “үйлчлүүлэгч” нь юм. Үйлчлүүлэгч нь сервер уруу жишээлбэл “энэ байрлалд цонх зурна уу” гэх мэтийн хүсэлт илгээж болдог байхад серверээс үйлчлүүлэгч рүү жишээлбэл “Хэрэглэгч OK товч дээр дарсан шүү” гэх мэтийн мэдэгдэл буцааж илгээж байдаг.

Гэртээ юм уу эсвэл жижигхэн албан байгууллагын орчинд X сервер болон X үйлчлүүлэгч нь нэг компьютер дээр ажиллаж байдаг. Гэхдээ X серверийг багахан чадалтай компьютер дээр ажиллуулаад харин Х програмуудыг арай хүчтэй компьютер (үйлчлүүлэгч) дээр ажиллуулбал хамгийн тохирсон албаны хэрэглээ байж болох билээ. Ийм нөхцөлд Х сервер болон үйлчлүүлэгчийн хоорондох холболт сүлжээгээр хийгдэнэ.

Ийм хэрэглээ нь Х-г өөрөөр хэрэглэнэ гэж бодож байсан зарим хүмүүсийг гайхшруулж магадгүй юм. Тийм хүмүүс “X серверийг” маш хүчтэй мундаг эд байх ёстой ба бага чадалтай нь “X үйлчлүүлэгчийн” үүрэг гүйцэтгэж ширээн дээр байх ёстой гэж бодсон байдаг.

Х сервер нь дэлгэц болон гар залгагдсан компьютер нь бөгөөд Х үйлчлүүлэгч нь дэлгэц дээр цонх дүрсэлдэг програмууд шүү гэдгийг санах нь тун чухал.

Сервер болон үйлчлүүлэгч хоёрыг нэг төрлийн компьютер юм уу эсвэл нэг төрлийн үйлдлийн систем дээр ажиллах ёстой гэсэн ямар ч албадсан заавар байдаггүй. Х серверийг Microsoft Windows эсвэл Apple-н Mac OS дээр ажиллуулж болдог бөгөөд иймэрхүү үйлдлийг гүйцэтгэж байдаг маш олон үнэгүй юм уу худалдааны програмууд байдаг.


6.2.3. Цонх зохицуулагч

X-н загварын зарчим нь UNIX-н “хэрэгсэл болохоос бодлого биш” гэсэн зарчимтай тун ижил байдаг. Энэ нь юу гэсэн үг вэ гэхээр, Х нь үйлдлүүд хэрхэн биелэгдэх ёстой талаар ямар ч бичлэг хийдэггүй. Харин түүний оронд хэрэглэгчдэд зориулсан хэрэгслүүдээр хангагдсан байдаг бөгөөд тэдгээрийг яаж хэрэглэх нь хэрэглэгчийн үүрэг юм.

Энэ зарчмын дагуу Х нь цонхнуудыг хэрхэн харагдах, хулгана хэрхэн хөдлөх, ямар товч хэрэглэж цонхнуудын хооронд дамжих (Microsoft Windows дээрх Alt+Tab товчлуурын хослол шиг), цонх болгоны дээрх гарчгийн самбар яаж харагдах, цонх болгонд хаах товч байх ёстой юу үгүй гэх зэргийн бүртгэл болон заавруудыг агуулж байдаггүй.

Харин түүний оронд иймэрхүү хариуцлагыг X нь “Цонх зохицуулагч” гэж нэрлэгдэх програм руу дамжуулдаг. Х-д зориулсан маш олон тооны цонх зохицуулагчид байдаг нь: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker зэрэг бөгөөд өөр олныг дурдаж болно. Эдгээр цонх зохицуулагч болгон тус тусдаа өөрсдийн өөрийн гэсэн төрөл бүрийн харуулах загвартай байдаг ба зарим нь өөртөө “virtual desktops буюу хийсвэр компьютерийн дэлгэцийг” дэмждэг бөгөөд тэд нарын зарим нь тийм хийсвэр дэлгэцэндээ сэлгэх товчлуурууд агуулж байхад зарим нь “Start буюу Эхлэх” товч юм уу түүнтэй ижил төхөөрөмж агуулж байдаг. Мөн зарим нь “themeable буюу дэлгэцийн дурын өөрчлөлт” хийж харагдах загваруудын бүрдлийг агуулан сэлгэж хэрэглэх зэргээр хэрэглэгдэж байдаг билээ. Эдгээр цонх зохицуулагчид болон мөн бусад зохицуулагчдыг портын цуглуулга доторх x11-wm төрөлд олж болно.

Мөн түүнчлэн KDE болон GNOME дэлгэцийн орчнууд нь өөрсдийн гэсэн цонх зохицуулагчтай байдаг ба тэр нь дэлгэцийн орчиндоо агуулагдчихсан ажиллаж байдаг.

Цонх зохицуулагч бүр өөр өөрсдийн тохируулах аргатай байдаг. Зарим нь тохируулгын файлыг гараараа бичих ёстой гэдэг байхад зарим нь ихэнх тохируулгын үйлдлүүдийг GUI буюу график орчны хэрэгслээр хийдэг; мэдэж байгаагаар, нэг цонх зохицуулагч (Sawfish) Lisp програмын хэллэгээр бичигдсэн тохиргооны файлтай байдаг.

Сонгогдож идэвхжүүлэх бодлого: Цонх зохицуулагчийн бас нэг үүрэг бол “сонгогдож идэвхжих бодлого ” билээ. Цонх болгон ямар нэгэн байдлаар сонгогдсоноо илэрхийлж идэвхжин гарнаас оруулсан мэдээллийг хүлээж авах бөгөөд идэвхтэй болсноо нүдэнд харуулагдахаар дүрсэлж харуулах хэрэгтэй байдаг.

Түгээмэл болсон, сонгогдож идэвхжих бодлогыг “идэвхжүүлэхийн-тулд-дарах” гэж нэрлэдэг. Энэ загварыг Microsoft Windows хэрэглэдэг бөгөөд хулгана дарах үед заагдсан цонх нь идэвхитэй болно.

X ямар нэгэн сонгож идэвхжүүлэх бодлогыг дэмждэггүй. Харин түүний оронд цонх зохицуулагч гуай тухайн үед ямар цонх идэвхжих вэ гэдгийг хянаж байдаг. Цонх зохицуулагч бүр өөр өөрсдийн сонгож идэвхжүүлэх арга хэрэглэдэг. Тэд бараг бүгдээрээ дарж идэвхжүүлэх бодлого баримталж байхад тун цөөхөн нь өөр зарчим баримталсан байдаг.

Хамгийн түгээмэл сонгож идэвхжүүлэх бодлогууд бол:

хулганыг дагаж идэвхжүүл

Хулганы заагч байгаа цонхыг сонгогдсон гэж авч үздэг. Цонхыг хамгийн өмнө нь байлгах шаардлагагүй бөгөөд нэмж товч даралгүй хулганы байрлалыг өөрчилснөөр цонхыг идэвхжүүлж болно.

унтамхай-идэвхжүүлэлт

Энэ бодлого бол хулгана-дагаж-идэвхжүүл бодлогын өргөжүүлсэн арга юм.хулгана-дагаж-идэвхжүүл бодлого дээр хэрэв хулгана эх цонхон дээр (эсвэл арын дэвсгэр) очвол ямар ч цонх идэвхтэй болдоггүй. Харин унтамхай-идэвхжүүлэлт дээр хэрэв хулгана өөрийнхөө цонхноос гараад өөр цонх уруу орсон үед тэр цонх идэвхтэй болдог.

идэвхжүүлэхийн-тулд-дарах

Хулганы товч дарахад л тухайн цонх идэвхжинэ. Уг цонх тэгээд “дэлгэгдэх” бөгөөд бүх цонхны өмнө харуулагддаг. Ингээд дарагдсан бүх товчнуудын өгөгдлүүд энэ цонх уруу илгээгдэж байдаг.

Маш олон цонх зохицуулагчид өөр бодлого дэмжих эсвэл жаахан өөрчилсөн бодлого хэрэглэдэг. Тухайн цонх зохицуулагчийн бичиг баримтаас нь нэмэгдэл мэдээлэл аваарай.


6.2.4. Widgets буюу багажнууд

X-н хэрэгсэл болохоос бодлого биш зарчмыг өргөтгөн програм болгоныг төлөөлсөн багаж дэлгэц дээр харуулагддаг.

“Багажнууд” гэдэг нь дарагдах, эсвэл ямар нэгэн аргаар өөрчлөгдөж байдаг дэлгэц дээрх зүйлс бөгөөд товч, чагталдаг цонх, бөөрөнхий сонгодог товч, тэмдэгт зурагнууд, жагсаалтууд зэрэг юм. Microsoft Windows харин тэдгээрийг “controls буюу хянагчид” гэж нэрлэсэн байдаг.

Microsoft Windows болон Apple-н Mac OS хоёр багажны маш тогтсон загвартай билээ. Програм хөгжүүлэгчид нь өөрсдийн програмуудаа нийтлэг харуулагдах загвараар аль болох хийх зарчмыг баримталж байдаг. X-ийн хувьд бол тодорхой нэг график загвар, аль эсвэл багажнуудын олонлогийг заавал баримтлах нь тийм ч ухаалаг бус санаа юм.

Тийм болохоор Х програмуудыг хоорондоо адилхан харагдах нийтлэг загвартай байдаг гэж бодох хэрэггүй. MIT-с гаргасан Athena эсвэл Motif® ( Microsoft Windows дээрх багажнуудын олонлог түүн дээр хийгдсэн, товойлгосон ирмэгүүд болон гурван саарал сүүдэртэй), OpenLook, болон бусад маш олон, түгээмэл дэлгэрсэн багажны цуглуулгууд байдаг.

Өнөөгийн ихэнх шинэ Х програмууд нь KDE-н хэрэглэдэг Qt, аль эсвэл GNOME-н хэрэглэдэг GTK+ зэрэг орчин үеийн багажнуудын олонлог хэрэглэдэг. Энэ нь UNIX-н харагдах дэлгэцийн маягийн хувьд зарим нэг давхцалд хүргэх бөгөөд ингэснээр мэдээж юмсыг шинэ хэрэглэгчдийн хувьд илүү хялбар болгох юм.


6.3. X11-г суулгах нь

Xorg бол FreeBSD-н анхдагч X11 гүйцэтгэл юм. Xorg нь X.Org сангаас гаргасан Х цонхот системийн Х сервер. Xorg нь XFree86 4.4RC2 болон X11R6.6 хоёрын эх бичлэг дээр үндэслэгдсэн билээ. FreeBSD-н портын цуглуулга дотор байгаа Xorg-н хувилбар нь 7.5.2 гэж буй.

Портын цуглуулгаас Xorg-г суулгахын тулд:

# cd /usr/ports/x11/xorg
# make install clean

Тэмдэглэл: Xorg-г бүхлээр нь хөрвүүлэхийн тулд хамгийн багадаа 4 ГБ хэмжээ сул байлгах хэрэгтэйг анхаараарай.

X11-г багц хэлбэрээр мөн суулгаж болно. Хоёрт хэлбэрийн файлыг нь pkg_add(1) хэрэгслээр Х11-г суулгаж болдог. Алсад байгаа серверээс нөхөж суулгадаг боломжийг pkg_add(1) хэрэглэх үед багцнаас хувилбарынх нь дугаарыг устгах хэрэгтэй. Тэгээд pkg_add(1) нь автоматаар сүүлийн хувилбарыг нь нөхөж суулгадаг.

Xorg-н хамгийн сүүлийн хэлбэрийг нь автоматаар нөхөж суулгахын тулд ердөө л дараах тушаалыг өгнө:

# pkg_add -r xorg

Тэмдэглэл: Дээрх жишээгээр бол X11-г сервер, үйлчлүүлэгч, үсгийн маяг зэрэгтэй нь бүхлээр нь суулгана. Х11-н багц болон портууд нь тусдаа мөн суугдаж болдог.

X11 түгээлтийг хамгийн бага хэлбэрээр суулгахын тулд x11/xorg-minimal-г та суулгаж болно.

Энэ бүлгийн үлдсэн хэсэгт Х11-г суулгаж тохируулан хэрхэн эвтэйхэн компьютерийн дэлгэц бэлдэх талаар өгүүлэх болно.


6.4. X11-н тохируулга

Хамтран бичсэн Кристофер Шамвэй.

6.4.1. Тохируулж эхлэхээс өмнө

Х11-г тохируулахаасаа өмнө суулгасан системийн дараах мэдээллүүд шаардлагатай:

  • Дэлгэцийн тодорхойлолтууд

  • Видео адаптерийн схемийн мэдээлэл

  • Видео адаптерийн санах ойн хэмжээ

Х11-д хэрэгтэй дэлгэцийн тодорхойлолтод зуралтын хэмжээ болон зуралтын давтамж нар орно. Эдгээр тодорхойлолтыг тухайн дэлгэцийг үйлдвэрлэсэн газрын вэб хуудас юм уу эсвэл уг дэлгэцтэй хамт ирсэн бичиг баримт дотроос харж болно. Тэр дотроос мэдэх шаардлагатай хоёр тоо бол хэвтээ болон босоо чиглэлийн зуралтын давтамж юм.

Видео адаптерийн схемийг Х11 мэдсэнээр уг график дүрслэгчтэй ямар драйвер буюу таниулагч програм ашиглан харилцан ажиллах боломжтойг мэдэж авдаг. Ихэнх схемүүд автоматаар танигддаг боловч хэрэв автомат танилт амжилтгүй болох тохиолдолд схемийн мэдээллийг мэдсэн байх нь хэрэгтэй билээ.

График дүрслэгч дээрх санах ойн хэмжээг мэдсэнээр зуралтын нягтшил болон өнгөний баялгийг тодорхойлоход хэрэгтэй. Үүнийг мэдэх нь тун чухал бөгөөд системийнхээ ажиллаж чадах хязгаарыг нь тодорхойлдог юм.


6.4.2. X11-н тохиргоо

Гар болон хулганыг автоматаар танихын тулд Xorg нь HAL-ийг ашигладаг. sysutils/hal болон devel/dbus портууд нь x11/xorg-ийн хамаарал болон суудаг боловч тэдгээрийг /etc/rc.conf файл дахь дараах оруулгуудыг засварлан идэвхжүүлэх ёстой:

hald_enable="YES"
dbus_enable="YES"

Эдгээр үйлчилгээнүүдийг дараа дараачийн Xorg тохиргоог оролдох эсвэл ашиглахаасаа өмнө эхлүүлсэн байх шаардлагатай (гараар эсвэл дахин ачаалах замаар).

Xorg нь ямар нэг тохиргооны алхмуудыг цааш хийлгүйгээр дараах тушаалыг бичин ихэвчлэн ажилладаг:

% startx

Автомат тохиргоо нь зарим нэг тоног төхөөрөмжийн хувьд ажиллахгүй байх юм уу эсвэл зарим нэг зүйлсийг хүссэнээр тэр бүр тохируулж чаддаггүй. Энэ тохиолдлуудад гараар тохиргоог хийх шаардлагатай.

Тэмдэглэл: GNOME, KDE эсвэл Xfce зэрэг ширээний орчнууд нь хэрэглэгчид нягтрал зэрэг дэлгэцийн өгөгдлүүдийг хялбарханаар тохируулах боломж бүхий хэрэгслүүдтэй. Хэрэв анхдагч тохиргоог хүлээн авах боломжгүй бөгөөд та ширээний орчин суулгахаар шийдсэн бол ширээний орчны суулгалтыг үргэлжлүүлж тохирох дэлгэц тохируулах хэрэгслийг ашиглаарай.

X11-г тохируулах нь олон үе шаттай явц билээ. Хамгийн эхний алхам бол анхдагч тохируулгын файлыг бэлдэх билээ. Супер хэрэглэгчийн эрхээр ердөө л дараах тушаалыг өгнө:

# Xorg -configure

Ингэснээр /root сан дотор xorg.conf.new гэсэн нэртэй Х11 ийн тохиргооны үндсэн файл үүсгэгддэг (та su(1) тушаалаар юм уу эсвэл анхнаасаа супер хэрэглэгчийн эрхээр орсон байсан ч супер хэрэглэгчийн $HOME буюу эх сан дотор үүсгэх болно). Х11 гуай тухайн систем дээр байгаа график төхөөрөмжийг таних оролдлого хийж таниулах програмын мэдээллийг уг тохируулга руу бичдэг.

Дараагийн алхам бол уг тохируулга файлыг ашиглаад график төхөөрөмжтэй Xorg ажиллаж чадаж байгааг турших юм. Дараах тушаалыг оруулах хэрэгтэй:

# Xorg -config xorg.conf.new -retro

Хэрэв хар саарал дэвсгэр дээр Х хэлбэртэй хулганы заагч харагдаж байвал амжилттай боллоо гэсэн үг. Туршилтаас гарахын тулд эхлүүлсэн виртуал консол руу Ctrl+Alt+Fn (эхний виртуал консолын хувьд F1) товчлууруудын хослолыг дарж шилжин Ctrl+C дарна.

Тэмдэглэл: Ctrl+Alt+Backspace товчлууруудын хослолыг ашиглан Xorg-с бас гарч болно. Үүнийг идэвхжүүлэхийн тулд дараах тушаалыг дурын X терминал эмулятороос оруулж болно:

% setxkbmap -option terminate:ctrl_alt_bksp

Эсвэл hald-д зориулсан гарын тохиргооны файл x11-input.fdi/usr/local/etc/hal/fdi/policy санд үүсгэн хадгалж болно. Энэ файл нь дараах мөрүүдтэй байх ёстой:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
	  <merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>
    </match>
  </device>
</deviceinfo>

Та hald-гээр энэ файлыг уншуулахын тулд өөрийн машиныг дахин ачаалах хэрэгтэй болно.

Дараах мөрийг xorg.conf.new файлын ServerLayout эсвэл ServerFlags хэсэгт нэмж өгөх ёстой болно:

Option	"DontZap"	"off"

Хэрэв хулгана ажиллахгүй байвал өмнөх туршилтыг дахин хийхээсээ өмнө хулганаа тохируулах шаардлагатай. FreeBSD-г суулгах бүлэгт буй Хэсэг 2.10.10 хэсгээс харна уу. Сүүлийн үеийн Xorg-с эхлээд xorg.conf файл дахь InputDevice хэсгүүдээс автоматаар илрүүлсэн төхөөрөмжүүдийг илүүд үздэг. Хуучин байдалд нь эргүүлж оруулахын тулд дараах мөрийг энэ файлын ServerLayout эсвэл ServerFlags хэсэгт нэмэх хэрэгтэй:

Option "AutoAddDevices" "false"

Оролтын төхөөрөмжүүдийг дараа нь урьдны хувилбаруудад хийсний нэгэн адилаар хэрэгцээтэй бусад тохируулгуудын (жишээ нь гарын байрлалыг сэлгэх) хамтаар тохируулж болдог.

Тэмдэглэл: Өмнө тайлбарласны адил анхдагчаар hald демон таны гарыг автоматаар мэдэх болно. Таны гарын байрлал эсвэл загвар зөв биш байж болох боловч GNOME, KDE эсвэл Xfce зэрэг ширээний орчнууд гарыг тохируулах хэрэгслүүдтэй байдаг. Гэхдээ гарын тохиргоог setxkbmap(1) хэрэгсэл эсвэл hald-ийн тохиргооны дүрмийн тусламжтайгаар шууд тохируулах боломжтой байдаг.

Жишээ нь хэрэв Франц байрлалтай PC 102 товчлууртай гарыг хэн нэгэн ашиглахыг хүсэж байгаа бол hald-д зориулсан x11-input.fdi гэсэн гарын тохиргооны файлыг үүсгэж /usr/local/etc/hal/fdi/policy санд хадгалах хэрэгтэй. Энэ файл нь дараах мөрүүдийг агуулсан байх ёстой:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
	  <merge key="input.x11_options.XkbModel" type="string">pc102</merge>
	  <merge key="input.x11_options.XkbLayout" type="string">fr</merge>
    </match>
  </device>
</deviceinfo>

Хэрэв энэ файл байгаа бол хуулаад гарын тохиргооны мөрүүдийг өөрийн файлдаа нэмэх хэрэгтэй.

hald-ээр энэ файлыг уншуулахын тулд та өөрийн машиныг дахин ачаалах хэрэгтэй.

Адил тохиргоог X терминалаас эсвэл энэ тушаалын мөрөөс скриптээр хийх боломжтой:

% setxkbmap -model pc102 -layout fr

/usr/local/share/X11/xkb/rules/base.lst файл нь төрөл бүрийн боломжит гар, байрлал, сонголтуудыг харуулдаг.

Дараа нь xorg.conf.new файлыг өөрийнхөө хүсэлд тохируулан сайжруулах хэрэгтэй. Уг файлыг emacs(1) эсвэл ee(1) зэрэг засварлагчаар нээнэ. Эхлээд дэлгэцийн зурах давтамжийг оруулж өгөх хэрэгтэй. Ийм зурах давтамж нь хэвтээ болон босоо чиглэлийн зурах давтамж гэж байдаг. Давтамжийн тоон утгуудыг xorg.conf.new файл дотор "Monitor" гэсэн хэсэгт оруулж өгөөрэй:

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync    30-107
        VertRefresh  48-120
EndSection

HorizSync болон VertRefresh гэсэн хэсэг нь хоосон утгатай байж магадгүй. Хэрэв тийм бол тэдгээрт тохирсон утгуудыг нь оруулж өгөх ёстой. HorizSync-д хэвтээ зуралт, VertRefresh-д босоо зуралтын утгыг өгнө. Дээрх жишээн дээр дэлгэцийн тохирох утгуудыг нь оруулж байна.

X нь DPMS (Тэжээл хэмнэх) чадвартай дэлгэцийг дэмждэг. xset(1) програм цаг дуусах нөхцлийг шалгаад дэлгэцийг standby, suspend, эсвэл off буюу нөөц, түр салгах, эсвэл унтраах зэрэг горимд шилжүүлдэг. Хэрэв та дэлгэцэндээ DPMS шинж чанарыг хэрэгжүүлнэ гэж бодож байвал дараах мөрийг monitor хэсэгт нэмэх хэрэгтэй:

        Option       "DPMS"

Та xorg.conf.new файлыг засварлагч дээр нээсэн хэвээр байгаа болохоор дэлгэцийн зуралтын хэмжээ болон өнгөний нягтыг оруулж өгч болно. Эдгээр утгыг "Screen" хэсэгт оруулдаг:

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport  0 0
                Depth     24
                Modes     "1024x768"
        EndSubSection
EndSection

DefaultDepth-д өгсөн утга нь анхдагч хэрэглэх өнгөний нягт юм. Хэрэв анхдагч утгыг нь ачаалах үед дарж өөрчлөж хэрэглэнэ гэвэл Xorg(1)-г ажиллуулах тушаалд -depth гэсэн сонголтыг хүссэн утгатай хамт оруулан хэрэглэж болно. Modes гэсэн түлхүүр үг нь заасан өнгөтэй үеийн дэлгэцийн зурах хэмжээг зааж байдаг. Тухайн график дүрслэгчийн үйлдвэрлэгчээс зааж өгсөн стандарт VESA горимууд л зөвшөөрөгдсөн гэдгийг анхаарна уу. Дээрх жишээн дээр дэлгэцийн анхдагч өнгөний нягт нь нэг цэгийг хорин дөрвөн битээр илэрхийлнэ гэж заасан байгаа бөгөөд ийм нягтшилтай үедээ өргөөшөө 1024, өндрөөшөө 768 цэгээр зурж харуул хэмээн зааж өгөв.

Эцэст нь тохируулгын файлаа хадгалаад өмнө заасны дагуу дахин турших хэрэгтэй.

Тэмдэглэл: Хүндрэл гарсан үед танд хэрэгтэй нэг хэрэгсэл бол Х11-ийн log буюу бүртгэл тэмдэглэлийн файл юм. Энэ файлд Х11-д залгагдсан төхөөрөмжийн тухай мэдээллүүд оршиж байдаг. Xorg-н бүртгэл тэмдэглэлийн нэрний загвар нь /var/log/Xorg.0.log хэлбэртэй байдаг. Энэ файлын жинхэнэ нэр нь Xorg.0.log-оос Xorg.8.log-н хооронд өөрчлөгдөж байдаг.

Хэрэв бүх зүйл сайн болж өнгөрсөн бол тохируулгын файлаа Xorg(1)-д олдох газарт байрлуулах хэрэгтэй. Үүнийг голдуу /etc/X11/xorg.conf эсвэл /usr/local/etc/X11/xorg.conf гэсэн байрлалд хуулдаг.

# cp xorg.conf.new /etc/X11/xorg.conf

X11-г тохируулах явц ингээд гүйцлээ. Xorg-г та одоо startx(1) хэрэгслээр эхлүүлж болно. Х11 сервер нь мөн xdm(1)-р эхлүүлэгдэж болдог.


6.4.3. Нэмэгдэл тохиргоо

6.4.3.1. Intel® i810 Graphics Chipsets-г тохируулах

Intel i810 integrated chipsets төрлийн график дүрслэгчдийг тохируулахын тулд agpgart AGP програмууд X11-д хэрэгтэй байдаг. agp(4)-н драйверийн гарын авлагаас нэмэгдэл мэдээллийг хараарай.

Энэ нь мөн бусад график хавтангуудын төхөөрөмжийг тохируулахад хэрэглэгддэг. Системийнхээ цөмд agp(4) драйверийг оруулж хөрвүүлээгүй бол kldload(8) тушаалаар драйверийг дуудсан үед ажиллахгүй гэдгийг анхаарна уу. Уг драйвер анхнаасаа цөмд оруулж бэлтгэгдсэн байх ёстой юм уу эсвэл ачаалах үед /boot/loader.conf-р цөмд нэмэгдсэн байх ёстой.


6.4.3.2. Өргөн дэлгэцийн горим нэмэх

Энэ хэсэгт таныг тохируулгын жаахан илүү мэдлэгтэй гэж үзэх болно. Мөн энэ хэсэгт дээр өгүүлсэн ердийн тохиргоо хийхийг авч үзэхгүй. Бүртгэл мэдээллийн файлыг ашиглаж тохиргоог ямар нэгэн аргаар дуусгаж болно. Хамгийн багадаа текст засварлагч байхад л уг тохируулгыг хийж болох хангалттай.

16:10 болон 10:9 зэрэг харуулах харьцааг дэмждэг одоогийн өргөн дэлцгэцүүд (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, гэх мэт) жаахан хүндрэлтэй байж болзошгүй. Зарим төрлийн 16:10 харуулах харьцаануудыг дурдвал:

  • 2560x1600

  • 1920x1200

  • 1680x1050

  • 1440x900

  • 1280x800

Зарим тохиолдолд Section "Screen" хэсгийн Mode хэсэгт эдгээр харьцаануудын нэгийг бичсэнээр тохиргоог амархан гүйцээж болдог:

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 24
SubSection "Display"
	Viewport  0 0
	Depth     24
	Modes     "1680x1050"
EndSubSection
EndSection

Xorg нь тухайн өргөн дэлгэцээс I2C/DDC мэдээллийг нь авах ухаантай болохоор уг дэлгэцийн харгалзах зуралтын давтамжийг нь мэдэж чаддаг.

Хэрэв эдгээр ModeLines-ууд нь драйвер дотор байхгүй байвал Xorg танд жаахан тусламж өгч чаддаг. /var/log/Xorg.0.log файлаас ажиллаж болох ModeLine-уудыг харж болно. Дараах шиг мөрийн хэсгүүдийг харах хэрэгтэй:

(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

Энэ мэдээллийг EDID мэдээлэл гэдэг. Үүгээр ModeLine мөрийг үүсгэхийн тулд ердөө л тэдгээрийг зөв дарааллаар нь оруулж бичихэд хангалттай:

ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>

Тэгэхээр дээр жишээний дагуу Section "Monitor" хэсэгт ModeLine мөрийг дараах маягаар оруулна:

Section "Monitor"
Identifier      "Monitor1"
VendorName      "Bigname"
ModelName       "BestModel"
ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option          "DPMS"
EndSection

Ингэж энгийн засварлалт хийж дуусгаад Х-ийг өргөн дэлгэцтэй нь шинээр ажиллуулж болно.


6.5. X11 дээр үсгийн маяг хэрэглэх нь

Хамтран бичилцсэн Мюррэй Стөүкли.

6.5.1. Type1 төрлийн үсгийн маяг

Х11 тэй хамт ирдэг анхдагч үсгийн маягууд нь ширээний програмуудад тийм сайн тохиромжтой байж чаддаггүй. Том үсэгнүүд нь зарим нь арзайж харагдах, зарим Netscape-н жижиг үсэгнүүд тийм аятайхан харагддаггүй гэх мэт онцгүй тохиолдлууд тулгардаг. Гэхдээ Х11 дээр хэрэглэгдэх боломжтой үнэгүй өндөр чанарын Type1 (PostScript®) төрлийн үсгийн маягууд байдаг. Жишээ нь URW үсгийн цуглуулганд (x11-fonts/urwfonts) өндөр чанарын type1 (Times Roman®, Helvetica®, Palatino® гэх мэтчилэн) үсгийн маягууд орсон байдаг. Мөн Freefonts цуглуулганд (x11-fonts/freefonts) маш олон төрлийн үсгийн маяг байдаг бөгөөд ихэнх нь графиктай ажилладаг Gimp зэрэг програмд зориулагдсан болохоор дэлгэцийн харуулах зориулалтанд хэрэглэгддэггүй. Бас Х11 дээр цөөхөн тохиргоо хийгээд TrueType төрлийн үсгийн маяг хэрэглэдэг болгож болдог. X(7) хуудаснаас юм уу эсвэл TrueType үсгийн маягийн хэсгээс нэмэлт мэдээллүүдийг уншина уу.

Дээрх Type1 үсгийг портын цуглуулгаас суулгахын тулд дараах тушаалыг оруулна:

# cd /usr/ports/x11-fonts/urwfonts
# make install clean

Энэ үйлдлийг бусад цуглуулган дээр мөн адил хийнэ. X серверт эдгээр үсгээ таниулахын тулд тохируулгын файлд (/etc/X11/xorg.conf) дараах мөрийг нэмж өгдөг:

FontPath "/usr/local/lib/X11/fonts/URW/"

эсвэл Х ажиллаж байх үед дараах тушаалыг өгч болно:

% xset fp+ /usr/local/lib/X11/fonts/URW
% xset fp rehash

Энэ тушаал нь Х хэсгийг хаагдах хүртэл хүчинтэй бөгөөд ийм байдалд хүргэхгүй гэвэл ачаалах үед уншигддаг эхлэх файлд нэмж өгдөг (startx-н эхлэх үед уншдаг файл нь ~/.xinitrc, харин XDM зэргийн график нэвтрэлт хийдэг програмын эхлэн уншдаг файл нь ~/.xsession байдаг ). Гурав дахь арга бол шинэ /usr/local/etc/fonts/local.conf файл хэрэглэх юм: anti-aliasing хэсгээс уншина уу.


6.5.2. TrueType® үсгийн маяг

Xorg нь өөртөө бас TrueType төрлийн үсгийн маягийг харуулах гүйцэтгэлтэй суусан байдаг. Үүнийг гүйцэтгэх хоёр төрлийн гүйцэтгэл бий. Энэ хэсэгт freetype модулийг харуулсан ба нөгөө үсгийн маяг харуулагчийг бодвол илүү тогтвортой билээ. freetype модулийг идэвхжүүлэхийн тулд дараах мөрийг /etc/X11/xorg.conf файлын "Module" хэсэгт нэмнэ.

Load  "freetype"

Одоо TrueType үсгийн маягт зориулсан сан үүсгээд (жишээлбэл /usr/local/lib/X11/fonts/TrueType) бүх TrueType үсгүүдээ тэр санд хуулна. Macintosh машинаас TrueType төрлийн үсгийн маягийг шууд хуулж болохгүй гэдгийг анхаарах хэрэгтэй. Эдгээр нь Х11 дээр хэрэглэгдэхийн тулд UNIX/MS-DOS/Windows хэлбэрийнх байх ёстой. Тэр санд хуулсныхаа дараа ttmkfdir-г ашиглаж fonts.dir файл үүсгэдэг бөгөөд ингэснээр Х-н үсэг харуулагч нь шинэ файл суугдлаа гэдгийг таньдаг. ttmkfdir нь FreeBSD-н портын цуглуулганд x11-fonts/ttmkfdir гэж буй.

# cd /usr/local/lib/X11/fonts/TrueType
# ttmkfdir -o fonts.dir

Одоо TrueType санг үсгийн маягийн таних замд нэмэх ёстой. Энэ нь дээр Type1 үсгийн маягт дээр өгүүлсэнтэй ижилхэн

% xset fp+ /usr/local/lib/X11/fonts/TrueType
% xset fp rehash

гэж нэмэх юм уу эсвэл xorg.conf файл дотор FontPath гэж нэмнэ.

Ингээд болох нь тэр. Одоо Netscape, Gimp, StarOffice, гэх мэтчилэн бүх X програмууд суугдсан TrueType үсгийн маягуудыг таних ёстой. Маш бага хэмжээтэй (өндөр нарийвчлалтай дэлгэц дээр үзүүлэгдэх вэбийн текстүүд) эсвэл маш том үсэгнүүд (StarOffice дээр) арай илүү харагдана.


6.5.3. Anti-Aliased үсгийн маяг

Шинэчилсэн Жо Маркус Кларк.

X11-ийн /usr/local/lib/X11/fonts/ ба ~/.fonts/ дотор байгаа бүх үсгийн маягууд автоматаар anti-aliasing гэж Xft-нийцтэй програмд хэрэглэгдэх боломжтой болсон. KDE, GNOME, Firefox зэрэг хамгийн сүүлийн үеийн Xft-нийцтэй програмууд байдаг.

Ямар үсгийн маягууд нь anti-aliased болохыг хянах эсвэл anti-aliasing шинж чанаруудыг тохируулахын тулд /usr/local/etc/fonts/local.conf файлыг үүсгэх (хэрэв байвал засварлах) хэрэгтэй. Xft үсгийн маягийн системийн хэд хэдэн шинж чанарууд энэ файлаар тохируулагддаг бөгөөд энэ хэсэгт зөвхөн энгийн хэдийг жишээ татах болно. Дэлгэрэнгүй мэдээллийг fonts-conf(5) хуудаснаас харна уу.

Энэ файл нь XML хэлбэрийн байх ёстой. Том жижиг үсгийн хэмжээнд нь анхааралтай хандах хэрэгтэй. Мөн нээгдсэн таглааг бас зөв хаасан байх ёстой. Энэ файл эхлэхдээ энгийн DOCTYPE тодорхойлолтоор эхэлдэг бөгөөд дараа нь <fontconfig> таглаа араас нь залгаж явдаг:

      <?xml version="1.0"?>
      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
      <fontconfig>
   

Өмнө хэлсэнчлэн /usr/local/lib/X11/fonts/ болон ~/.fonts/ санд байгаа үсгийн маягууд автоматаар Xft-нийцтэй програмд танигддаг. Та үүнээс өөр санд үсгийн маяг байрлуулсан бол /usr/local/etc/fonts/local.conf файлд доор дурдсантай ижил мөр оруулж өгөх хэрэгтэй:

<dir>/үсгийн/маягийн/байгаа/сангийн</зам>

Шинэ үсэг, ялангуяа шинэ сан нэмсний дараа үсгийн маягийн түр хадгалагдсан орон зайг дараах тушаалаар сэргээх ёстой:

# fc-cache -f

Anti-aliasing нь ирмэгийг жаахан уусгаж зөөлрүүлэн харагдуулдаг болохоор жижиг үсгүүдийг уншихад эвтэйхэн болгодог бөгөөд том үсгийн “шаталсан ирмэгийг” зөөллөж гөлийлгөдөг. Иймэрхүү зөөллөсөн шинэ чанар нь ердийн текст дээр хэрэгжихээр нүдэнд ядаргаатай өвтгөх нөлөө үүсгэж магадгүй юм. Тэгэхээр 14-н хэмжээнээс бага үсгийн маяганд anti-aliasing шинж чанарыг хэрэглэхгүй гэж бодвол дараах мөрийг оруулаарай:

        <match target="font">
            <test name="size" compare="less">
                <double>14</double>
            </test>
            <edit name="antialias" mode="assign">
                <bool>false</bool>
            </edit>
        </match>
        <match target="font">
            <test name="pixelsize" compare="less" qual="any">
                <double>14</double>
            </test>
            <edit mode="assign" name="antialias">
                <bool>false</bool>
            </edit>
        </match>

Жигд зай авалттай үсгийн маяганд anti-aliasing шинж чанар зөв хэрэгжихгүй байж магадгүй. Энэ асуудал KDE дээр их тулгардаг. Үүний засах нэг арга бол тийм үсгүүдийн зай авалтыг 100 байх ёстой гэж зааж өгдөг. Дараах мөрийг нэмж үүнийг гүйцэтгэнэ:

       <match target="pattern" name="family">
           <test qual="any" name="family">
               <string>fixed</string>
           </test>
           <edit name="family" mode="assign">
               <string>mono</string>
           </edit>
        </match>
        <match target="pattern" name="family">
            <test qual="any" name="family">
                <string>console</string>
            </test>
            <edit name="family" mode="assign">
                <string>mono</string>
            </edit>
        </match>

(энэ нь бусад ердийн ижил зай авалттай үсгийн маягуудыг "mono" гэсэн нэрээр хандана гэж зааж өгч байна) тэгээд дараа нь:

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>mono</string>
             </test>
             <edit name="spacing" mode="assign">
                 <int>100</int>
             </edit>
         </match>     

Helvetica зэрэг зарим үсгийн маягуудад anti-aliased хэрэглэх үед бага зэрэг хүндрэлүүд гарч болзошгүй. Энэ загвар нь тийм үсгийн маягуудын талыг нь хасах шинж илэрдэг. Хамгийн муугаар бодоход програмууд ажиллах үедээ нурдаг. Үүнээс сэргийлэхийн тулд local.conf файлд дараах мөрийг нэмнэ:

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>Helvetica</string>
             </test>
             <edit name="family" mode="assign">
                 <string>sans-serif</string>
             </edit>
         </match>       

local.conf файлыг засварлаж дуусаад уг файлыг </fontconfig> таглаагаар дууссан эсэхийг шалгаарай. Ингээгүй бол уг файлын өөрчлөлтийг үл хэрэгсэж хэрэгжүүлдэггүй.

Эцэст нь хэрэглэгчид өөрсдийн гэсэн тохируулгаа хувийн сан дотор буй .fonts.conf файл дотор хийж болдог. Ингэхийн тулд хэрэглэгч бүр ~/.fonts.conf файл үүсгэх хэрэгтэй. Энэ файл нь мөн XML хэлбэртэй байх ёстой.

Сүүлчийн үг: LCD дэлгэцтэй үед sub-pixel харуулалт хэрэглэх хүсэлт гарч болзошгүй. Энэ нь үндсэндээ (хэвтээ чиглэлд нь салгасан) улаан, ногоон болон цэнхэр өнгийн бүрдлүүдийг тусад нь салгаж харуулснаар хэвтээ чиглэлийн дүрслэх чадварыг сайжруулдаг. Үр дүн нь мэдээж маш сайн харуулалт үүсдэг. Ингэж зөвшөөрүүлэхийн тулд local.conf файлд дараах мөрийг нэмнэ:

         <match target="font">
             <test qual="all" name="rgba">
                 <const>unknown</const>
             </test>
             <edit name="rgba" mode="assign">
                 <const>rgb</const>
             </edit>
         </match>
      

Тэмдэглэл: Дэлгэцийн төрлөөс хамаарч rgb нь bgr, vrgb эсвэл vbgr гэж өөрчлөгдөж болзошгүй тул янз янзаар нь туршиж аль нь илүү тохирч байгааг олоорой.


6.6. X Display Manager буюу харуулалт зохицуулагч

Хамтран бичилцсэн Сэф Кингсли.

6.6.1. Ерөнхий ойлголт

X Display Manager (XDM) буюу Х харуулалт зохицуулагч гэдэг нь Х цонхот системд сонгогдон хэрэглэгдэж болох бөгөөд нэвтрэх үйлдэлд хэрэглэгддэг. Энэ нь бага хүчин чадалтай “X терминал”, ширээний програмын орчин, мөн том сүлжээнд буй харуулалтын сервер зэрэг төрөл бүрийн нөхцөлд хэрэглэгддэг. Нэгэнт Х цонхот систем нь сүлжээ болон бүртгэлийн бие даасан гүйцэтгэлтэй болохоор Х үйлчлүүлэгч болон серверүүдийн хоорондох холбоог тохируулах маш олон арга бий. XDM нь холбогдож болох серверүүдийг график горимд дүрсэлж харуулдаг бөгөөд нэр болон нууц үг оруулах нөхцөл биелүүлж өгдөг.

Та XDM-г хэрэглэгчид зориулж getty(8) хэрэгслийн биелүүлдэг гүйцэтгэлтэй ( Хэсэг 27.3.2 хэсгээс дэлгэрэнгүйг харна уу) ижил гэж бодох хэрэгтэй. Тэгэхээр энэ нь систем рүү нэвтрэх үйлдлийг гүйцэтгэдэг бөгөөд нэвтрүүлэхдээ тухайн хэрэглэгчийн орчинг ажиллуулж (голдуу Х цонхны зохицуулагч байдаг ) хэрэглэгчийг гарах хүртэл нь хүлээж байдаг. Мөн өөр хэрэглэгч холбогдох үед холбогдох дэлгэцийг харуулан нэвтрэх үйлдэл хийлгэх боломжийг XDM биелүүлж байдаг.


6.6.2. XDM-г хэрэглэх нь

XDM-ийг ашиглаж эхлэхийн тулд x11/xdm портыг суулгана (энэ нь анхдагчаар Xorg-ийн сүүлийн үеийн хувилбаруудтай цуг суудаггүй). Дараа нь XDM далд чөтгөрийг /usr/local/bin/xdm гэсэн байрлалаас олж болно. Энэ нь root эрхтэй хүнээр ямар ч үед эхлүүлэгдэж болдог бөгөөд эхлэнгүүтээ уг машинд буй Х цонхыг зохицуулах үүргийг гүйцэтгэж эхэлдэг. Хэрэв XDM-г машиныг шинээр ачаалагдах болгонд эхлүүлэх хүсэлтэй байгаа бол үүнийг биелүүлэх хамгийн эвтэйхэн зам бол /etc/ttys файлд оруулга хийж өгөх билээ. Энэ файлын зохион байгуулалтын талаар Хэсэг 27.3.2.1 хэсэгт хараарай. /etc/ttys файл дотор XDM-г виртуал терминал дээр далд чөтгөр хэлбэрээр ажиллуулна гэсэн дараах мөр байдаг:

ttyv8   "/usr/local/bin/xdm -nodaemon"  xterm   off secure

Анхдагч тохируулгаараа энэ нь хоригдсон байдаг бөгөөд идэвхжүүлэхийг хүсвэл тав дахь үг болох off гэснийг on болгож өөрчлөөд init(8)Хэсэг 27.3.2.2 дээр заасны дагуу шинээр ачаалах хэрэгтэй. Эхний талбар нь уг програмын зохицуулах терминалын нэр бөгөөд ttyv8 гэсэн буй. Энэ нь XDM есдүгээр виртуал терминал дээр ажиллаж эхэлнэ гэсэн үг юм.


6.6.3. XDM-г тохируулах нь

XDM-г тохируулах файл /usr/local/lib/X11/xdm санд байдаг. Энэ сан дотор XDM-н харагдцыг өөрчилж тохируулах хэд хэдэн файл бий. Голдуу дараах төрлийн файлууд байдаг:

Файл Тодорхойлолт
Xaccess Хэрэглэгчийн эрхийн дүрэм.
Xresources X-н resource буюу эх сурвалж анхдагч утгууд.
Xservers Дотоод юм уу алсад буй холбогдож болох дэлгэц зохицуулагчдын жагсаалт.
Xsession Нэвтрэх үед тухайн орчинд үйлдэгддэг анхдагч скрипт.
Xsetup_* Нэвтрэх үйлдлээс өмнө нь програмуудыг ачаалагч скрипт.
xdm-config Уг машин дээр ажиллаж байгаа бүх харуулагчдыг ерөнхийд нь тохируулагч файл.
xdm-errors Сервер програмаас үүсгэгдсэн алдаанууд.
xdm-pid Одоогийн ажиллаж байгаа XDM-н процесс ID дугаар.

Мөн энэ сан дотор XDM-г ажиллаж байх үед уг график орчныг тохируулдаг скрипт болон програмууд байдаг. Саяны жагсаасан файлуудын зориулалтыг ерөнхийд нь дор дурдав. Уг файлуудыг хэрэглэх дэлгэрэнгүй заавар нь xdm(1) хуудсанд тодорхойлогдсон байгаа.

Анхныхаа тохируулгаар бол энгийн нэгэн нэвтрэх дөрвөлжин цонх дотор уг машины нэр харуулагдсан байдаг ба том үсгээр “Login:” гэж бичээд доод хэсэгт нь “Password:” гэж нууц үг оруулах талбар байдаг. Энэ цонхноос эхлэн XDM-н харагдцыг өөрчилж эхэлж болох юм.


6.6.3.1. Xaccess

XDM-ээр хянагддаг харуулагчтай холбогдох протоколыг X Display Manager Connection Protocol (XDMCP) гэж нэрлэдэг. Энэ файл нь алсад буй компьютераас XDMCP холболт ямар дүрмээр хийгдэхийг заан хянаж байдаг. Энэ нь алсаас холбогдох холболтыг хүлээж авах тохиргоог xdm-config файлд хийх хүртэл хориотой байдаг. Анхдагч тохиргоогоороо бол ямар ч хэрэглэгчийн холболтыг зөвшөөрөхгүй гэж заагдсан байдаг.


6.6.3.2. Xresources

Энэ нь харуулагчдыг сонгох нэвтрэх дэлгэцийн харуулалтыг өөрчилж болох анхдагч утгууд хадгалсан файл юм. Энэ файлаар нэвтрэх програмыг өөрчилж болно. Файлын зохион байгуулалт нь Х11-н бичиг баримтад заасантай ижил загвартай байдаг.


6.6.3.3. Xservers

Энэ нь сонгогдож болох харуулагчдын жагсаалт хадгалсан файл.


6.6.3.4. Xsession

Энэ файл нь XDM-д зориулсан хэрэглээг холбогдсоны дараа гүйцэтгэгдэх скрипт файл юм. Ихэнхдээ хэрэглэгчид өөрсдийнхөө эхлэл санд буй ~/.xsession файл дотор өөрсдийн гэсэн ажиллуулах бичлэгээ бичиж энэ файлын гүйцэтгэлийг дардаг.


6.6.3.5. Xsetup_*

Энэ файл нь нэвтрэх цонх болон харуулагчдыг сонгогдохоос өмнө автоматаар ажилладаг. Харуулагч болгонд зориулсан скрипт нь Xsetup_ нэрэн дээр харуулагчийн дугаар залгагдсан нэртэй байдаг ( жишээ нь дотоод харуулагч Xsetup_0 гэсэн нэртэй байдаг). Энэ файлд голдуу xconsole зэргийн нэг юм уу хоёр програмыг ар талд ажиллуулж байхаар бичсэн байдаг.


6.6.3.6. xdm-config

Энэ файлд харуулагч болгонд хэрэглэгдэх програмын анхдагч утга хэлбэрийн тохируулгууд байдаг.


6.6.3.7. xdm-errors

Энэ файл дотор XDM-н ажиллуулахыг оролдсон серверээс гарсан алдаануудыг бичсэн байдаг. Хэрэв XDM-н эхлүүлсэн дэлгэц ямар нэгэн замаар гацах юм бол юунаас болсон эсэхийг нь мэдэх хамгийн зөв газар бол энэ билээ. Эдгээр алдаанууд мөн хэрэглэгчийн тухайн орчноос хамаарч ~/.xsession-errors файл дотор бас бичигддэг.


6.6.4. Сүлжээний харуулагч серверийг ажиллуулах

Бусад хэрэглэгчдийг харуулагч сервер рүү холбохын тулд та хандах эрхийн дүрмийг засварлаж холболт хүлээж авагчийг зөвшөөрүүлэх хэрэгтэй. Анхдагч утгаараа үүнийг хорьсон байдаг. XDM-г холболт хүлээж авдаг болгохын тулд эхлээд xdm-config файл доторх мөрийг тайлбар мөр болгож хүчингүй болгох хэрэгтэй:

! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort:     0

тэгээд XDM-ийг шинээр эхлүүлэх хэрэгтэй. Ийм файлд “#” тэмдгээр тайлбар мэт болгож хасдаггүй харин “!” тэмдэг хэрэглэх хэрэгтэй гэдгийг санах хэрэгтэй. Xaccess файл доторхоос жишээнүүдийг харах хэрэгтэй бөгөөд xdm(1) гарын авлагаас дэлгэрэнгүй унших нь зүйтэй.


6.6.5. XDM-н орлуулгууд

XDM-г орлох хэд хэдэн програм бий. Тэдний нэг болох kdm-г ( KDE-тэй цуг ирдэг) энэ бүлэгт тайлбарлах болно. Харуулалт зохицуулагч kdm нь маш олон төрлийн харуулах загварыг санал болгодог бөгөөд нэвтрэх үед цонх зохицуулагчдыг давхар сонгож болох боломж өгдөг.


6.7. Дэлгэцийн орчин

Хамтран бичсэн Валентино Вашетто.

Энэ хэсэгт FreeBSD-н Х-д зориулсан төрөл бүрийн дэлгэцийн орчнуудыг тайлбарлах болно. “Дэлгэцийн орчин” гэдэгт энгийн цонх зохицуулагчаас авахуулаад төрөл бүрийн ширээний програмыг агуулсан цогц програмууд болох KDE болон GNOME зэрэг ордог.


6.7.1. GNOME

6.7.1.1. GNOME-н тухай

GNOME гэдэг нь компьютераа тохируулахад тань амарчилж хөнгөвчилсөн дэлгэцийн програмын орчин юм. GNOME дотор самбар (програм эхлүүлэх болон төлөв байдлыг нь харуулах зорилготой), дэлгэцийн орон зай (програмууд байрлахад зориулагдсан ), дэлгэцийн хэрэгслүүд болон програмуудын цуглуулга, мөн програмууд өөр хоорондоо зохицож ажиллахад зориулагдсан хэд хэдэн журам агуулагдаж байдаг. Өөр үйлдлийн систем юм уу эсвэл өөр орчинд ажиллаж сурсан хүмүүст GNOME-н санал болгож байгаа хүчтэй бөгөөд аятайхан график орчин нь дасахад амар санагддаг. FreeBSD дээрх GNOME-н талаар дэлгэрэнгүй мэдээллийг FreeBSD-н GNOME Төслийн вэб хуудаснаас харах хэрэгтэй. Уг вэб хуудсанд GNOME-г хэрхэн суулгаж тохируулан мөн зохицуулах талаар нэлээн өргөн хэмжээний асуулт хариултууд байдаг.


6.7.1.2. GNOME-г суулгах

Энэ програм хангамжийг портын цуглуулга юм уу эсвэл багцаас хялбар аргаар суулгаж болно:

Сүлжээнээс GNOME-г багц хэлбэрээр нь суулгахыг хүсвэл дараах тушаалыг өгөхөд хангалттай:

# pkg_add -r gnome2

GNOME-г порт дотор эх бичлэгээс нь хөрвүүлж суулгахыг хүсвэл дараах тушаалаар суулгана:

# cd /usr/ports/x11/gnome2
# make install clean

Зөв ажиллагааг хангахын тулд GNOME нь /proc файлын системийг холбосон байхыг шаарддаг. Эхлүүлэх явцад procfs(5)-г автоматаар холбохын тулд доорхи

proc           /proc       procfs  rw  0   0

мөрийг /etc/fstab файлд нэмж өгөх хэрэгтэй.

GNOME суугдсаны дараа Х серверт анхдагч цонх зохицуулагчийн оронд GNOME эхлэхийг зааж өгөх хэрэг гардаг.

GNOME-г эхлүүлэх амархан арга бол GNOME-н харуулалтыг зохицуулагч буюу GDM-г хэрэглэх билээ. GDM нь GNOME-той хамт суугддаг боловч анхдагч тохиргоогоороо бол идэвхжээгүй байдаг. Дараах мөрийг /etc/rc.conf файлд нэмж идэвхжүүлж болно:

gdm_enable="YES"

Дахин ачаалсны дараа GNOME автоматаар эхэлдэг.

GNOME-ийн бүх үйлчилгээг ихэвчлэн GDM-тэй цуг эхлүүлэх шаардлага байдаг. Ингэхийн тулд дараах мөрийг /etc/rc.conf файлд нэмнэ:

gnome_enable="YES"

GNOME-г мөн тушаал бичдэг мөрнөөс .xinitrc файлд зөв тохируулга хийснээр ажиллуулж бас болно. Хэрэв .xinitrc файл өмнө нь байж байвал уг файлд байгаа цонх зохицуулагч эхлэх мөрийг арилгаад оронд нь /usr/local/bin/gnome-session гэж оруулах хэрэгтэй. Хэрэв нэг их онц чухал мөр уг тохиргооны файл дотор байхгүй гэж та мэдэж байгаа бол дараах тушаалыг өгч бас болно:

% echo "/usr/local/bin/gnome-session" > ~/.xinitrc

Тэгээд startx гэсэн тушаалыг бичихэд GNOME дэлгэцийн орчин эхлэх болно.

Тэмдэглэл: Хэрэв XDM юм уу ямар нэгэн өөр дэлгэцийн орчин хэрэглэгдэж байсан бол .xsession гэсэн файл үүсгээд уг файл дотор өмнө ярьж байсан оруулгыг оруулах хэрэгтэй. Ингэхийн тулд уг файлыг засварлагчаар нээгээд дотор байгаа мөрийг /usr/local/bin/gnome-session мөрөөр дарж бичихэд болно:

% echo "#!/bin/sh" > ~/.xsession
% echo "/usr/local/bin/gnome-session" >> ~/.xsession
% chmod +x ~/.xsession

Өөр нэг сонголт бол цонх зохицуулагчид өөрчлөлт хийж нэвтрэлт хийгдэх үед дэлгэцийн орчныг сонгож болдгоор тохируулж болдог. KDE-н дэлгэрэнгүй хэсэгт KDE-н дэлгэцийн орчны зохицуулагч kdm дээр хэрхэн үүнийг хийдэг талаар тайлбарласан байгаа.


6.7.2. KDE


6.7.2.1. KDE-н тухай

KDE бол хэрэглэхэд тун амар орчин үеийн дэлгэцийн орчин юм. Хэрэглэгчид хэрэгтэй KDE-н санал болгодог зарим зүйлс бол:

  • Орчин үеийн сайхан дэлгэцийн орчин

  • Сүлжээгээр ажиллуулахад ямар ч хүндрэлгүй

  • KDE дэлгэцийн орчин болон түүний програмуудад зориулж өөртөө агуулсан тусламжийн системтэй

  • KDE-н бүх програмууддаа тохирсон загвар маягтай

  • Стандартчлагдсан цэс болон багажит самбар, гарын товчлолууд, өнгөний хүснэгт гэх мэтчилэн.

  • Internationalization буюу олон хэлийн дэмжлэг: KDE нь 40 гаран гадаад хэл дээр боломжтой

  • Бүх дэлгэцийн орчны тохируулгыг төвлөрүүлсэн цонхот загвартай тохиргоо хийх боломж

  • Маш олон KDE програмууд

KDE нь Konqueror нэртэй UNIX ертөнцөд өрсөлдөөн ихтэй хөтлөгчүүдийн нэг болох вэб хөтлөгчтэй хамт ирдэг. KDE-н талаар дэлгэрэнгүй мэдээллийг KDE вэб хуудаснаас харж болно. KDE-тэй холбоотой эх үүсвэрүүд болон FreeBSD-тэй холбоотой тусгай мэдээллийг FreeBSD-ийн баг дахь KDE вэб хуудаснаас лавлах хэрэгтэй.

FreeBSD дээр KDE-н хоёр хувилбар байдаг. Хувилбар 3 нь удаан хугацааны туршид байгаа бөгөөд маш тогтвортой хувилбар юм. Хувилбар 4 буюу дараа үеийн хувилбар нь портын цуглуулгад бас байдаг. Эдгээр нь бүр цуг зэрэгцэн суулгагдаж болдог.


6.7.2.2. KDE-г суулгах нь

GNOME болон бусад дэлгэцийн орчны програмуудыг суулгадаг шиг энэхүү програм хангамжийг портын цуглуулга юм уу эсвэл багцаас хялбар аргаар суулгаж болно:

Сүлжээгээр KDE3-г багц хэлбэрээр суулгана гэвэл дараах тушаалыг өгөхөд л болно:

# pkg_add -r kde

Сүлжээгээр KDE4-г багц хэлбэрээр суулгана гэвэл дараах тушаалыг өгөхөд л болно:

# pkg_add -r kde4

pkg_add(1) автоматаар уг програмын сүүлийн хувилбарыг нь нөхөж суулгах болно.

KDE3-г эх бичлэгээс нь хөрвүүлж суулгана гэвэл портын цуглуулгыг ашиглаарай:

# cd /usr/ports/x11/kde3
# make install clean

KDE4-г эх бичлэгээс нь хөрвүүлж суулгана гэвэл портын цуглуулгыг ашиглаарай:

# cd /usr/ports/x11/kde4
# make install clean

KDE суугдсаны дараа Х серверт анхдагч цонх зохицуулагчийн оронд KDE-г ажиллуулна гэж зааж өгөх хэрэгтэй. Үүний тулд .xinitrc файлыг дараах аргаар засварлаж мөн болно:

KDE3-н хувьд:

% echo "exec startkde" > ~/.xinitrc

KDE4-н хувьд:

% echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc

Одоо ингээд startx тушаалыг ажиллуулбал KDE дэлгэцийн орчин эхлэх болно.

Хэрэв урьд нь XDM зэрэг өөр дэлгэцийн орчин хэрэглэгдэж байсан бол тохируулга арай өөр байх болно. Тэр үед .xsession файлыг засварлах хэрэгтэй. Энэ бүлгийн сүүл хэсэгт kdm-н талаар зааварласан байгаа.


6.7.3. KDE-н талаар дэлгэрэнгүй

Одоо KDE суугдсан байгаа болохоор ихэнх зүйлсийг та тусламжийн системийг нь ашиглан нээж олох юм уу эсвэл зүгээр л цэснүүд дээр дарж туршиж болох юм. Windows эсвэл Mac® төрлийн хэрэглэгчдэд бол бараг гэртээ байгаа юм шиг л сэтгэгдэл төрөх байх.

KDE-н хамгийн сайн заавар бичиг баримтууд интернэт дээр бий. KDE өөртэйгөө хамт Konqueror хөтлөгч мөн маш олон програм болон өргөжүүлсэн бичиг баримтуудтай ирдэг. Бүлгийн үлдсэн хэсэгт санамсаргүй нээж олсон ч гэсэн сурахад хүндрэлтэй техникийн зарим асуудлуудыг зааварчлах болно.


6.7.3.1. KDE Display Manager буюу KDE-н дэлгэцийн зохицуулагч

Олон хэрэглэгчтэй системийн администратор хэрэглэгчдэд график нэвтрэх горим хэрэглэхийг хүсдэг. Өмнө тайлбарласны дагуу XDM ийм зорилгоор бас хэрэглэгдэж болно. Гэхдээ KDE бас үүнтэй ижил үүрэг гүйцэтгэж чадах kdm нэртэй харагдац сайтай эвтэйхэн нэвтрэх хэсгийг санал болгодог. Мөн хэрэглэгч бүр уг зохицуулагчийн цэснээс ямар дэлгэцийн орчинд холбогдохоо (KDE, GNOME, эсвэл бусад өөр) нэвтрэх үедээ сонгож болдог.

kdm-г идэвхжүүлэхийн тулд KDE-ийн хувилбараас хамааран өөр өөр файлыг засварлах хэрэгтэй болдог.

KDE3-н хувьд /etc/ttys файлд буй ttyv8 гэсэн оруулгатай хэсгийг дараах маягаар өөрчлөх ёстой:

ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure

KDE4-н хувьд /etc/rc.conf файлд дараах мөрүүдийг нэмэх ёстой:

local_startup="${local_startup} /usr/local/kde4/etc/rc.d"
kdm4_enable="YES"

6.7.4. Xfce

6.7.4.1. Xfce-н тухай

Xfce нь GNOME дээр хэрэглэгддэг GTK+ хэрэгсэл дээр үндэслэгдсэн дэлгэцийн орчин бөгөөд хэрэглэхэд маш хөнгөн амархан тохируулгатай билээ. Өнгөц харахад UNIX системүүд дээр байдаг үнэтэй зарагддаг CDE дэлгэцийн орчинтой төсөөтэй. Xfce-н зарим шинж чанарыг дурдвал:

  • Дэлгэцийн орчинд ажиллахад тун амар хялбаршуулсан

  • Хулганы чирж тавих үйлдэл зэрэгт бүрэн тохируулагдсан

  • Цэс болон програм ачаалах үндсэн самбар нь CDE-тэй ижил

  • Цонх зохицуулагч, файл зохицуулагч, дууны оролт гаралтыг зохицуулагч, GNOME-н дэмжлэгтэй програмуудыг ажиллуулах тохиромж зэрэг олон зүйлсийг багтаасан

  • Орчноо өөрчилж болдог (GTK+ дэмжлэгтэй учраас)

  • Түргэн, хөнгөн үр бүтээлтэй болохоор санах ойн хязгаарлалтай удаан машинуудад тун тохиромжтой.

Xfce-н дэлгэрэнгүй мэдээллийг Xfce вэб хуудаснаас хараарай.


6.7.4.2. Xfce-г суулгах нь

Xfce-н багц хувилбар (үүнийг бичиж байх үед) байдаг. Суулгахын тулд ердөө л:

# pkg_add -r xfce4

Мөн портын цуглуулга дотроос эх бичлэгээс нь хөрвүүлж суулгаж болно:

# cd /usr/ports/x11-wm/xfce4
# make install clean

Одоо Х серверт Х орчныг эхлүүлэх үед Xfce-г ажиллуул гэж зааж өгөхийн тулд:

% echo "/usr/local/bin/startxfce4" > ~/.xinitrc

Дараагийн удаа Х эхлэх үед Xfce нь дэлгэцийн орчин болсон байна. Мөн өмнөх орчнуудтай ижил, хэрэв XDM зэрэг өөр орчин урьд нь хэрэглэгдэж байсан бол .xsession файлыг үүсгээд GNOME хэсэгт тайлбарласан шиг гэхдээ /usr/local/bin/startxfce4 гэсэн утгыг оруулах юм уу эсвэл нэвтрэх үед сонгогдохоор болгож тохируулахыг хүсвэл kdm хэсэгт тайлбарласны дагуу хийх хэрэгтэй.

II. Нийтлэг асуудлууд

Үндсэн ойлголтуудыг нэгэнт тайлбарласан болохоор одоо FreeBSD-ийн гарын авлагын энэ хэсэгт FreeBSD-ийн зарим байнга ашиглагддаг боломжуудыг авч үзэх болно. Эдгээр бүлгүүд нь:

  • Түгээмэл хэрэглэгддэг ширээний програмуудыг танд танилцуулах болно: хөтчүүд, бүтээмжийн багажууд, баримт үзэгчид гэх мэт.

  • FreeBSD-н хэд хэдэн мультимедиа багажуудыг танд танилцуулах болно.

  • Тусгайлан тохируулсан FreeBSD цөмийг бүтээх үйл явц болон, системд нэмэлт функцуудыг хэрхэн идэвхжүүлэхийг тайлбарлах болно.

  • Ширээний болон сүлжээнд холбогдсон хэвлэгчийн тохируулгуудын хувьд хэвлэх системийг дэлгэрэнгүй тайлбарлах болно.

  • FreeBSD систем дээр Линукс програмуудыг хэрхэн ажиллуулахыг танд үзүүлэх болно.

Эдгээр бүлгүүдийн заримд таныг зарим нэг ойлголтуудын талаар урьдаар уншихыг зөвлөх бөгөөд энэ нь бүлэг бүрийн эхэнд ерөнхий агуулгад дурдсан байгаа болно.


Бүлэг 7. Ширээний програмууд

Хувь нэмэр болгон оруулсан Кристоф Жунье. Орчуулсан Цагаанхүүгийн Ганболд.

7.1. Ерөнхий агуулга

FreeBSD нь текст боловсруулагч програмууд болон хөтчүүд зэрэг ширээний төрөл бүрийн хэрэглээний програмуудыг ажиллуулж чаддаг. Эдгээр програмуудын ихэнх нь багц хэлбэрээр юм уу эсвэл Портын Цуглуулгаас автоматаар бүтээгдэж болно. Шинэ хэрэглэгчдийн олонхи нь эдгээр хэрэглээний програмуудыг өөрийн компьютер дээр суулгахыг хүсдэг. Энэ бүлэгт зарим нэг түгээмэл хэрэглэгддэг ширээний програмуудыг Портын цуглуулга болон тэдгээрийн багцуудаас хүндрэлгүйгээр суулгах талаар зааварлах болно.

Портуудаас програмуудыг суулгахад тэдгээрийг эхээс эмхэтгэдэг гэдгийг анхаарна уу. Энэ нь таны машины (машинуудын) процесс хийх хүч болон юу эмхэтгэж байгаагаас хамаарч их удаан ажиллаж болох юм. Эхээс бүтээх нь саад болмоор их хугацаа шаардаж байвал та Портын цуглуулгад байгаа ихэнх програмуудыг урьдчилан бүтээсэн багцуудаас суулгаж болно.

FreeBSD нь Линуксийн хоёртын хэлбэртэй нийцтэй ажиллах боломжийг хангадаг учраас Линуксд эхлэн хөгжүүлэгдсэн олон програмуудыг ашиглах боломжтой байдаг. Линуксийн ямар ч хэрэглээний програмыг суулгахаасаа өмнө Бүлэг 11-ийг уншихыг зөвлөж байна. Линуксийн хоёртын хэлбэртэй нийцтэй байдлыг ашиглаж байгаа ихэнх портуудын нэр “linux-” гэж эхэлсэн байгаа. Жишээ нь whereis(1) тушаалын тусламжтайгаар ямар нэг портыг хайж байхдаа үүнийг санаарай. Нийтлэлийн энэ хэсгээс цааш ямар нэг Линуксийн хэрэглээний програмуудыг суулгахын өмнө таныг Линуксийн хоёртын хэлбэртэй нийцтэй байдлыг идэвхжүүлсэн байгаа гэж тооцох болно.

Энэ бүлэгт доорх хэсгүүдийн тухай ярих болно:

  • Хөтчүүд (Firefox, Opera, Konqueror, Chromium зэрэг)

  • Бүтээмж ( KOffice, AbiWord, The GIMP, OpenOffice.org, LibreOffice зэрэг)

  • Бичиг баримт үзүүлэгчид (Acrobat Reader®, gv, Xpdf, GQview зэрэг)

  • Санхүү ( GnuCash, Gnumeric, Abacus зэрэг)

Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:

  • Гуравдагч талуудын нэмэлт програмуудыг хэрхэн суулгах талаар мэдэх (Бүлэг 5).

  • Линуксийн нэмэлт програм хангамжуудыг хэрхэн суулгах талаар мэдэх (Бүлэг 11).

Мультимедиа орчны тохиргооны тухай мэдээллийг Бүлэг 8-с уншина уу. Хэрэв та цахим захидал тохируулж ашиглахыг хүсвэл Бүлэг 29-т хандана уу.


7.2. Хөтчүүд

FreeBSD нь тодорхой хөтөч урьдчилан суулгагдсан байдаггүй. Харин Портын цуглуулгын www сан суулгахад бэлэн олон хөтчүүдийг агуулдаг. Танд бүгдийг эмхэтгэх хугацаа байхгүй бол (энэ нь зарим тохиолдолд маш их хугацаа шаардаж болно) тэдгээрийн олонхи нь багц хэлбэрээр байдаг.

KDE болон GNOME нь HTML хөтчүүдээр хангадаг. Эдгээр бүрэн гүйцэд ширээний програмуудыг хэрхэн суулгаж тохируулах талаар дэлгэрэнгүй мэдээллийг Хэсэг 6.7-с лавлана уу.

Хэрэв та хөнгөн чанарын хөтчүүдийг хайж байгаа бол Портын цуглуулгаас www/dillo2, www/links, эсвэл www/w3m зэргүүдийг судалж үзэх хэрэгтэй.

Энэ хэсэг эдгээр програмуудыг авч үзэх болно:

Програмын нэр Шаардлагатай эх үүсвэрүүд Портоос суулгах Гол хамаарлууд
Firefox дунд зэрэг хүнд Gtk+
Opera бага хөнгөн FreeBSD болон Линуксийн хувилбарууд байдаг. Линуксийн хувилбар нь Линуксийн хоёртын нийцтэй байдал болон linux-openmotif-с хамаардаг.
Konqueror дунд зэрэг хүнд KDE сангууд
Chromium дунд зэрэг дунд зэрэг Gtk+

7.2.1. Firefox

Firefox нь FreeBSD рүү бүрэн порт хийгдсэн орчин үеийн, чөлөөтэй, нээлттэй эхийн тогтвортой хөтөч юм. Энэ нь стандартыг хангасан HTML үзүүлэх хэсэг, tab нээж ажиллах боломж, popup хаалт, өргөтгөлүүд, сайжруулсан аюулгүй байдал зэрэг олон боломжуудтай. Firefox нь Mozilla-ийн код дээр суурилжээ.

Firefox нь Mozilla-ийн код дээр суурилсан дараагийн үеийн хөтөч юм. Mozilla нь хөтөч, захидлын клиент, чалчих клиент зэрэг олон програмуудыг багтаасан бүрэн гүйцэд програмуудын цуглуулга юм. Firefox нь зөвхөн хөтөч бөгөөд энэ нь түүнийг илүү жижиг, хурдан болгодог байна.

Доор дурдсаныг бичин багцыг суулгана:

# pkg_add -r firefox

Энэ нь Firefox-н хамгийн сүүлийн хувилбарыг суулгах бөгөөд та хэрэв Firefox-н Extended Support Release (ESR) хувилбарыг ашиглахыг хүсэж байвал доорхийг ажиллуулаарай:

# pkg_add -r firefox-esr

Эх кодоос эмхэтгэхийг та илүүд үзэж байгаа бол Портын цуглуулгыг бас ашиглаж болох юм:

# cd /usr/ports/www/firefox
# make install clean

Firefox ESR-ийн хувьд өмнөх тушаал дээрх firefox-ийг firefox-esr-аар солиорой.


7.2.2. Firefox болон Java™ залгаас (plugin)

Тэмдэглэл: Энэ хэсэгт болон дараагийн хоёр хэсэгт бид таныг Firefox-г аль хэдийн суулгасан гэж тооцох болно.

OpenJDK 6-г Портын цуглуулгаас дараах тушаалаар суулгана:

# cd /usr/ports/java/openjdk6
# make install clean

Дараа нь java/icedtea-web портыг суулгана:

# cd /usr/ports/java/icedtea-web
# make install clean

Аль алиных нь хувьд анхдагч тохиргоог хадгалахаа мартуузай.

Хөтчөө эхлүүлээд байршил бичих хэсэгт about:plugins гэж бичээд Enter дарна. Суулгагдсан залгаасуудын жагсаалт бүхий хуудас дэлгэцэд гарна. Java залгаас тэр жагсаалтад одоо байх ёстой.

Хэрэв хөтөч залгаасыг олохгүй байгаа бол хэрэглэгч бүр дараах тушаалыг ажиллуулж хөтчийг дахин эхлүүлэх шаардлагатай:

% ln -s /usr/local/lib/IcedTeaPlugin.so \
$HOME/.mozilla/plugins/

7.2.3. Firefox болон Adobe® Flash™ залгаас (plugin)

Adobe® Flash™ залгаас нь FreeBSD-д байдаггүй. Гэхдээ залгаасын Линукс хувилбарыг ажиллуулах програм хангамжийн давхарга (гүйцэтгэл хялбаршуулагч) байдаг. Энэ хялбаршуулагч нь бас Adobe Acrobat® залгаас, RealPlayer® залгаас болон өөр олныг дэмждэг.

Таны ашиглаж байгаа FreeBSD-ийн хувилбараас хамаараад төрөл бүрийн алхмууд шаардлагатай:

  1. FreeBSD 7.X-ийн хувьд

    www/nspluginwrapper порт суулгана. Уг порт нь emulators/linux_base-fc4 портыг шаардах бөгөөд энэ нь том порт юм.

    Дараагийн алхам нь www/linux-flashplugin9 портыг суулгах явдал юм. Энэ нь Flash 9.X-ийг суулгана. Энэ хувилбар нь FreeBSD 7.X дээр зөв ажилладаг.

  2. FreeBSD 8.X болон түүнээс хойшхийн хувьд

    www/nspluginwrapper порт суулгана. Уг порт нь emulators/linux_base-f10 портыг шаардах бөгөөд энэ нь том порт юм.

    Дараагийн алхам нь Flash 11.X-г www/linux-f10-flashplugin11 портоос суулгах явдал юм.

    Энэ хувилбар нь дараах холбоосыг үүсгэхийг шаарддаг:

    # ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \
      /usr/local/lib/browser_plugins/
    

    Хэрэв /usr/local/lib/browser_plugins сан систем дээр байхгүй бол гараар үүсгэж өгөх хэрэгтэй.

Таны ажиллуулж байгаа FreeBSD-ийн хувилбарт таарсан зөв Flash порт суулгагдсаны дараа залгаасыг хэрэглэгч бүрийн хувьд nspluginwrapper тушаал ашиглан суулгах шаардлагатай:

% nspluginwrapper -v -a -i

Хэрэв Flash хүүхэлдэйг тоглуулахыг хүсвэл Linux-ийн процесс файлын систем linprocfs(5)-ийг /compat/linux/proc руу холбосон байх шаардлагатай. Үүнийг дараах тушаалыг ашиглан хийж болно:

# mount -t linprocfs linproc /compat/linux/proc

Үүнийг ачаалах үед автоматжуулан /etc/fstab файлд тохирох мөрийг нэмэн хийж өгч болно:

linproc	/compat/linux/proc	linprocfs	rw	0	0

Тэгээд өөрийн хөтчийг эхлүүлж байрлал оруулдаг мөрөнд about:plugins гэж бичин Enter дарна. Байгаа бүх залгаасуудтай жагсаалт гарч ирэх ёстой.


7.2.4. Firefox болон Swfdec Flash залгаас

Swfdec нь Flash анимацыг задалж амилуулах сан юм. Swfdec-Mozilla нь SWF файлуудыг тоглуулахын тулд Swfdec санг ашигладаг бөгөөд Firefox хөтчид зориулагдсан залгаас юм. Энэ нь хүчтэй хөгжүүлэлтийн доор оршсон хэвээр байгаа болно.

Хэрэв та бүтээж чадахгүй эсвэл хүсэхгүй байгаа бол сүлжээнээс багцыг суулгаж болно:

# pkg_add -r swfdec-plugin

Хэрэв багц байхгүй бол та үүнийг Портын цуглуулгаас бүтээн суулгаж болно:

# cd /usr/ports/www/swfdec-plugin
# make install clean

Дараа нь энэ залгаасыг идэвхжүүлэхийн тулд өөрийн хөтчийг дахин ажиллуулаарай.


7.2.5. Opera

Opera нь өргөн боломжуудтай стандартад нийцсэн хөтөч юм. Энэ нь өөртөө бүтээгдсэн захидал болон мэдээ уншигч, IRC клиент, RSS/Atom уншигч болон өөр олон боломжуудыг агуулдаг. Эдгээрээс гадна Opera нь харьцангуй хөнгөн бөгөөд маш хурдан юм. Энэ нь хоёр хэлбэрээр байдаг нь: “эх” FreeBSD хувилбар болон Линуксийн эмуляц дээр ажилладаг хувилбар юм.

Opera-ийн FreeBSD хувилбараар вэб үзэхийн тулд багцыг суулгана:

# pkg_add -r opera

Зарим нэг FTP сайтуудад бүх багцууд байдаггүй боловч Портын цуглуулгыг ашиглан доор дурдсаныг бичин Opera-г авч болно:

# cd /usr/ports/www/opera
# make install clean

Opera-ийн Линукс хувилбарыг суулгахын тулд дээрх жишээний opera гэсний оронд linux-opera гэж солих хэрэгтэй.

Adobe Flash залгаас нь FreeBSD дээр байдаггүй. Гэхдээ залгаасын Linux хувилбар байдаг. Энэ хувилбарыг суулгахын тулд www/linux-f10-flashplugin11 порт суусан байх шаардлагатай бөгөөд дараа нь www/opera-linuxplugins порт суулгана:

# cd /usr/ports/www/linux-f10-flashplugin11
# make install clean
# cd /usr/ports/www/opera-linuxplugins
# make install clean

Залгаас суусан байгаа эсэхийг шалгахын тулд хөтчөө эхлүүлээд opera:plugins гэж байрлал бичдэг мөрөнд бичээд Enter дарна. Суусан байгаа залгаасуудын жагсаалт гарч ирэх ёстой.

Java залгаасыг суулгахын тулд Firefox-д зориулсан зааврыг дагаарай.


7.2.6. Konqueror

Konqueror нь KDE-ийн нэг хэсэг боловч үүнийг KDE-ийн гадна талд x11/kdebase3-ийг суулган бас ашиглаж болох юм. Konqueror ердийн нэг хөтчөөс илүү бөгөөд файлын менежер болон мультимедиа үзүүлэгч болж чаддаг.

Konqueror нь бас залгаасуудын олонлогтой ирдэг бөгөөд эдгээрийг misc/konq-plugins сангаас суулгах боломжтой байдаг.

Konqueror бас Flash-г дэмждэг бөгөөд Konqueror дээр Flash-ийн дэмжлэгтэй болох талаар “Хэрхэн Хийх” заавар нь http://freebsd.kde.org/howtos/konqueror-flash.php хаягт байдаг.


7.2.7. Chromium

Chromium нь нээлттэй эхийн аюулгүй, хурдан илүү тогтвортой вэб үзэх боломж олгодог вэб хөтчийн төсөл юм. Chromium нь таб хөтчийн боломж, цонх блоклох, өргөтгөлүүд болон илүү олон боломжийг агуулдаг. Chromium нь нээлттэй эхийн төсөл бөгөөд Google Chrome вэб хөтөч түүн дээр тулгуурласан байдаг.

Chromium-г багц хэлбэрээр ингэж суулгаж болно:

# pkg_add -r chromium

Мөн Chromium-г портын цуглуулгаас эх кодыг ашиглан бүтээж болно:

# cd /usr/ports/www/chromium
# make install clean

Тэмдэглэл: Chromium нь /usr/local/bin/chromium биш харин /usr/local/bin/chrome гэж суудаг.


7.2.8. Chromium ба Java залгаас

Тэмдэглэл: Энэ хэсэг Chromium аль хэдийн суусан гэж үздэг.

OpenJDK 6-г портын цуглуулгаас суулгана:

# cd /usr/ports/java/openjdk6
# make install clean

Дараа нь java/icedtea-web-г портын цуглуулгаас суулгана:

# cd /usr/ports/java/icedtea-web
# make install clean

Chromium-г эхлүүлж хаягийн цонхон дээр about:plugins гэж бичнэ. IcedTea-Web нь суулгасан залгаасууд дотор харагдах ёстой.

Хэрэв Chromium нь IcedTea-Web залгаасыг харуулахгүй байгаа бол дараах тушаалыг ажиллуулж вэб хөтчийг дахин эхлүүлнэ:

# mkdir -p /usr/local/share/chromium/plugins
# ln -s /usr/local/lib/IcedTeaPlugin.so \
  /usr/local/share/chromium/plugins/

7.2.9. Chromium ба Adobe Flash залгаас

Тэмдэглэл: Энэ хэсэг Chromium аль хэдийн суусан гэж үздэг.

Chromium ба Adobe Flash-г тохируулах нь Firefox-н заавартай төстэй. Adobe Flash-г FreeBSD дээр суулгах талаар илүү дэлгэрэнгүйг тэр хэсгээс үзээрэй. Chromium нь бусад хөтчийн зарим залгаасуудыг ашиглаж чаддаг болохоор илүү нэмэлт тохиргоо шаардлагагүй.


7.3. Бүтээмж

Бүтээмжтэй холбоотой болоод ирэхээрээ, шинэ хэрэглэгчид ихэвчлэн сайн оффисийн цуглуулга эсвэл нөхөрсөг текст боловсруулагчийг хайдаг. KDE зэрэг зарим ширээний орчнууд нь хэдийгээр оффисийн цуглуулгатай байдаг боловч анхдагч бүтээмжийн багц байдаггүй билээ. FreeBSD нь таны ширээний орчноос хамааралгүйгээр хэрэгтэй бүгдийг хангадаг.

Энэ хэсэг нь эдгээр програмуудыг авч үзэх болно:

Програмын нэр Шаардлагатай эх үүсвэрүүд Портоос суулгах Гол хамаарлууд
KOffice бага хүнд KDE
AbiWord бага хөнгөн Gtk+ эсвэл GNOME
Gimp бага хүнд Gtk+
OpenOffice.org их асар их JDK, Mozilla
LibreOffice хүнддүү асар их Gtk+, эсвэл KDE/ GNOME, эсвэл JDK

7.3.1. KOffice

KDE-ийн хүрээнийхэн KDE-ээс гадна ашиглагдаж болох оффисийн цуглуулгатай өөрийн ширээний орчинг өгдөг. Энэ нь бусад оффисийн цуглуулгад байдаг дөрвөн стандарт бүрэлдэхүүнийг агуулдаг. KWord нь текст боловсруулагч, KSpread нь хүснэгттэй ажилладаг програм, KPresenter нь танилцуулгуудыг удирддаг бөгөөд Kontour нь график баримтуудыг зурахыг зөвшөөрнө.

Хамгийн сүүлчийн KOffice-г суулгахаасаа өмнө та KDE-ийн хамгийн шинэчлэгдсэн хувилбартай эсэхээ шалгаарай.

KDE4-т зориулсан KOffice-ийг багц хэлбэрээр суулгахын тулд дараах тушаалыг ажиллуулна:

# pkg_add -r koffice-kde4

Хэрэв багц байхгүй бол та Портын цуглуулгыг ашиглаж болно. Жишээ нь KDE4-т зориулж KOffice-г суулгахын тулд доор дурдсаныг ажиллуулна:

# cd /usr/ports/editors/koffice-kde4
# make install clean

7.3.2. AbiWord

AbiWord нь Microsoft Word-той төстэй харагдаж, санагддаг, чөлөөтэй, текст боловсруулагч програм юм. Энэ нь бичиг, захидал, тайлан, сануулга гэх зэргүүдийг бичихэд тохиромжтой юм. Энэ нь маш хурднаас гадна олон боломжуудыг агуулдаг бөгөөд хэрэглэгчид маш хялбар байдаг.

AbiWord нь Microsoft-ийн .doc зэрэг арилжааныхыг оруулаад олон файлын хэлбэршилтүүдийг импорт болон экспорт хийж чаддаг.

AbiWord нь багц хэлбэрээр байдаг. Та дараах тушаалыг ажиллуулан үүнийг суулгаж болно:

# pkg_add -r abiword

Хэрэв багц байхгүй бол үүнийг Портын цуглуулгаас эмхэтгэж болно. Портын цуглуулга шинэчлэгдсэн байх ёстой. Үүнийг ингэж хийж болно:

# cd /usr/ports/editors/abiword
# make install clean

7.3.3. GIMP

Зургийг зохиох эсвэл дүрс тодруулах тохиолдолд GIMP нь маш нарийн, зурагтай ажиллах програм юм. Энэ нь энгийн будах програм эсвэл чанартай, фото зураг тодруулах цуглуулга болгон ашиглагдаж болох юм. Энэ нь олон тооны нэмэлт залгаасыг (plug-ins) дэмждэг бөгөөд скрипт хийх интерфэйсийн боломжуудтай байдаг. GIMP нь төрөл бүрийн файлын хэлбэршилтүүдийг уншиж, бичиж чаддаг. Энэ нь сканнер болон зөөврийн цахим төхөөрөмжтэй (tablet) холбогдох боломжийг дэмждэг.

Та энэ тушаалыг ажиллуулан багцыг суулгаж болно:

# pkg_add -r gimp

Хэрэв таны FTP сайт энэ багцгүй байгаа бол та Портын цуглуулгыг ашиглаж болно. Портын цуглуулгын graphics сан бас Gimp Manual програмыг агуулдаг. Энд тэдгээрийг хэрхэн суулгах талаар үзүүлэв:

# cd /usr/ports/graphics/gimp
# make install clean
# cd /usr/ports/graphics/gimp-manual-pdf
# make install clean

Тэмдэглэл: Портын цуглуулгын graphics сан GIMP-ийн хөгжүүлэлтийн хувилбарыг graphics/gimp-devel санд агуулдаг. Gimp Manual-ийн HTML хувилбар нь graphics/gimp-manual-html санд байдаг.


7.3.4. OpenOffice.org

OpenOffice.org нь бүх шаардлагатай програмуудыг бүрэн гүйцэд оффисийн бүтээмжийн цуглуулгадаа агуулсан байдаг: энд текст боловсруулагч, хүснэгттэй ажиллах програм, танилцуулгын менежер, болон зургийн програмыг дурдаж болно. Уг програмын хэрэглэгчийн интерфэйс нь бусад оффисийн цуглуулгуудтай их төстэй бөгөөд төрөл бүрийн файлын хэлбэршилтүүдийг импорт, экспорт хийж чаддаг байна. Энэ нь интерфэйсүүд, алдаа шалгагчид болон тольнуудыг оролцуулаад хэд хэдэн өөр хэлнүүд дээр байдаг.

OpenOffice.org-ийн текст боловсруулагч нь эх XML файлын хэлбэршилтийг зөөвөрлөгдөх боломж ба уян хатан чанарыг сайжруулах зорилгоор ашигладаг. Хүснэгттэй ажиллах програм нь макро хэлний боломжтой бөгөөд гаднах мэдээллийн баазуудтай холбогдох боломжтой байдаг. OpenOffice.org нь аль хэдийн тогтвортой болсон бөгөөд Windows, Solaris™, Линукс, FreeBSD, болон Mac OS X дээр ажилладаг. OpenOffice.org-ийн тухай илүү мэдээллийг OpenOffice.org вэб сайтаас олж болно. FreeBSD-тэй холбоотой мэдээлэл болон багцуудыг шууд татаж авахын тулд FreeBSD OpenOffice.org Хөрвүүлэх Багийн вэб сайтыг ашиглана уу.

OpenOffice.org-ийг суулгахын тулд доор дурдсаныг ажиллуулна:

# pkg_add -r openoffice.org

Тэмдэглэл: FreeBSD-ийн -RELEASE хувилбарыг ажиллуулж байхад энэ нь ажиллах ёстой. Үгүй бол та тохирох багцыг татан авч pkg_add(1) ашиглан суулгахын тулд FreeBSD-ийн OpenOffice.org Хөрвүүлэх Багийн вэб хаягт хандах хэрэгтэй. Одоогийн хувилбар болон хөгжүүлэлтийн хувилбар нь энд татаж авагдахаар байрладаг.

Багц суулгагдсаны дараа OpenOffice.org-ийг ажиллуулахын тулд та ердөө л дараах тушаалыг бичих хэрэгтэй:

% openoffice.org

Тэмдэглэл: Эхний удаа ажиллуулахад танаас зарим нэг асуултууд асуух бөгөөд .openoffice.org сан таны гэрийн санд үүсгэгдэх болно.

Хэрэв OpenOffice.org багцууд байхгүй бол портыг эмхэтгэх сонголт танд бас байдаг. Гэхдээ энэ нь дискний асар их зай болон эмхэтгэх хугацаа ихийг шаардана гэдгийг та санаж байх ёстой шүү.

# cd /usr/ports/editors/openoffice.org-3
# make install clean

Тэмдэглэл: Хэрэв та локалчлагдсан хувилбарыг бүтээхийг хүсэж байгаа бол түрүүчийн тушаалын мөрийг дараах мөрөөр солих хэрэгтэй:

# make LOCALIZED_LANG=your_language install clean

Та your_language мөрийг зөв хэлний ISO кодоор солих хэрэгтэй. Дэмжигдсэн хэлний кодуудын жагсаалт портын санд байх files/Makefile.localized файлд байдаг.

Үүнийг хийсний дараа OpenOffice.org-г дараах тушаалаар ажиллуулж болно:

% openoffice.org

7.3.5. LibreOffice

LibreOffice нь Бичиг баримтын сангаас хөгжүүлсэн чөлөөтэй оффисын програм хангамж бөгөөд бусад гол гол оффисын програм хангамжуудтай нийцтэй, төрөл бүрийн тавцан дээр ажилладаг юм. Энэ нь оффисын бүрэн хэмжээний програм хангамжуудад байдаг бичиг баримт боловсруулагч, хүснэгтийн програм, танилцуулга бэлдэгч, зургийн програм, өгөгдлийн сан удирдах програм, болон математикийн томъёонуудыг үүсгэж засварлах зориулалттай хэрэгсэл зэрэг гол гол програмуудыг агуулсан OpenOffice.org-н нэгэн хувилбар юм. Энэ хэд хэдэн төрлийн хэл дээр байдаг бөгөөд өөр хэл рүү хөрвүүлэх ажил интерфэйс, үг үсгийн алдаа шалгагч болон толь бичгүүдэд хүрсэн байна.

LibreOffice-н бичиг баримттай ажиллах програм нь хөрвөх боломж, уян хатан чанарыг хангахын тулд эх XML файлын форматыг ашигладаг. Хүснэгттэй ажилладаг програм нь макро хэлтэй бөгөөд гадаад өгөгдлийн сангуудтай холбогдож болдог. LibreOffice нь аль хэдийн тогтвортой болсон бөгөөд Windows, Linux, FreeBSD, ба Mac OS X дээр ажилладаг байна. LibreOffice -н талаар дэлгэрэнгүйг LibreOffice-н вэб хуудаснаас олж болно.

LibreOffice-г багц хэлбэрээр суулгахын тулд:

# pkg_add -r libreoffice

Тэмдэглэл: FreeBSD-н -RELEASE хувилбарыг ажиллуулж байгаа үед энэ нь ажиллах ёстой.

Багц суусны дараа LibreOffice-г ажиллуулахын тулд та дараах тушаалыг өгөх ёстой:

% libreoffice

Тэмдэглэл: Эхний удаагийн ажиллах явцад танаас хэдэн асуулт асуух бөгөөд .libreoffice хавтас таны гэрийн санд үүсэх болно.

Хэрэв LibreOffice багцууд байхгүй бол та портыг бүтээх боломж бас бий. Гэхдээ энэ нь маш их дискний хэмжээ болон бүтээхэд нэлээн удаан хугацаа шаардах болно гэдгийг санаарай.

# cd /usr/ports/editors/libreoffice
# make install clean

Тэмдэглэл: Хэрэв танд локалчлагдсан хувилбар хэрэгтэй бол өмнөх тушаалыг дараахаар солиорой:

# make LOCALIZED_LANG=your_language install clean

Та your_language гэдгийг ISO-код бүхий зөв хэлээрээ солих хэрэгтэй. Дэмжигддэг хэлний кодын жагсаалт Makefile-ийн pre-fetch хэсэгт байдаг.

Үүнийг хийсний дараа LibreOffice-г дараах тушаалаар ажиллуулж болно:

% libreoffice

7.4. Бичиг баримт үзүүлэгчид

Баримтын зарим нэгэн шинэ хэлбэршилтүүд UNIX-ийг бий болсон цагаас эхлэн түгээмэл болсон билээ. Тэдгээрийн шаарддаг стандарт үзүүлэгчид үндсэн системд байхгүй байж болох юм. Бид тэдгээр үзүүлэгчдийг хэрхэн суулгахыг энэ хэсэгт үзэх болно.

Энэ хэсэг нь эдгээр програмуудыг авч үзэх болно:

Програмын нэр Шаардлагатай эх үүсвэрүүд Портоос суулгах Гол хамаарлууд
Acrobat Reader бага хөнгөн Линуксийн хоёртын хэлбэртэй нийцтэй байдал
gv бага хөнгөн Xaw3d
Xpdf бага хөнгөн FreeType
GQview бага хөнгөн Gtk+ эсвэл GNOME

7.4.1. Acrobat Reader®

Олон баримтууд нь одоо PDF файл хэлбэрээр тараагддаг бөгөөд энэ нь “Portable Document Format” буюу зөөврийн баримтын хэлбэршилт гэгддэг. Эдгээр файлуудын төрлүүдэд зориулсан, зөвлөдөг үзүүлэгчдийн нэг нь Adobe-оос гаргасан Линуксд зориулсан Acrobat Reader юм. FreeBSD нь Линуксийн хоёртын хэлбэрийн програмуудыг ажиллуулж чаддаг болохоор энэ нь FreeBSD-д бас байдаг юм.

Портын цуглуулгаас Acrobat Reader 8-г суулгахын тулд доор дурдсаныг хийнэ:

# cd /usr/ports/print/acroread8
# make install clean

Лицензийн хязгаарлалтуудаас болоод багц байдаггүй.


7.4.2. gv

gv нь PostScript болон PDF үзүүлэгч юм. Энэ нь эхлээд ghostview дээр суурилсан боловч Xaw3d сангийн тусламжтай илүү сайхан харагдах болсон. Энэ нь хурдан бөгөөд интерфэйс нь цэвэрхэн байдаг. gv нь байрлуулалт, цаасны хэмжээ, масштаб эсвэл antialias зэрэг олон боломжуудтай байдаг. Бараг бүх үйлдлүүд нь гараас эсвэл хулганаас хийгдэж болно.

gv-г багц хэлбэрээр суулгахын тулд доор дурдсаныг хийнэ:

# pkg_add -r gv

Хэрэв та багцыг авч чадахгүй байгаа бол Портын цуглуулгыг ашиглаж болно:

# cd /usr/ports/print/gv
# make install clean

7.4.3. Xpdf

Хэрэв та жижиг FreeBSD PDF үзүүлэгчийг хүсэж байгаа бол Xpdf нь хөнгөн бөгөөд үр ашигтай үзүүлэгч юм. Энэ нь маш цөөн эх үүсвэрүүдийг шаарддаг бөгөөд маш тогтвортой ажилладаг. Стандарт X фонтуудыг ашигладаг бөгөөд Motif юм уу эсвэл бусад дурын X хэрэгслүүдийг шаарддаггүй.

Xpdf багцыг суулгахын тулд энэ тушаалыг ажиллуулна:

# pkg_add -r xpdf

Багц байхгүй юм уу эсвэл та Портын цуглуулга ашиглахыг илүүд үзэж байгаа бол доор дурдсаныг хийнэ:

# cd /usr/ports/graphics/xpdf
# make install clean

Суулгац дууссаны дараа та Xpdf-г ажиллуулж хулганы баруун товчийг ашиглаж цэсийг идэвхжүүлж болно.


7.4.4. GQview

GQview нь зургийн менежер юм. Та файлыг ганц даралтаар үзэх, гадаад засварлагчийг ажиллуулах, зургийг жижгээр урьдчилан үзүүлэх зэрэг олон зүйлсийг хийж болох юм. Энэ нь бас slideshow буюу цомог үзүүлэх горим болон файлын зарим нэг үндсэн үйлдлүүдтэй. Та зургийн цуглуулгуудыг удирдаж давтагдаж байгааг нь хялбархан олж болно. GQview нь бүрэн дэлгэцээр үзүүлэх болон интернационалчлалыг дэмждэг.

Хэрэв та GQview багцыг суулгахыг хүсэж байгаа бол доор дурдсаныг хийнэ:

# pkg_add -r gqview

Багц байхгүй юм уу эсвэл та Портын цуглуулга ашиглахыг илүүд үзэж байгаа бол доор дурдсаныг хийнэ:

# cd /usr/ports/graphics/gqview
# make install clean

7.5. Санхүү

Хэрэв ямар нэгэн шалтгаанаар та өөрийн хувийн санхүүг FreeBSD ширээний компьютер дээрээ удирдахыг хүсэж байгаа бол хүчирхэг, ашиглахад хялбар, суулгахад бэлэн зарим нэг програмууд байдаг. Тэдгээрийн зарим нэг нь Quicken® эсвэл Excel баримтуудад хэрэглэгддэгтэй адил төрөл бүрийн файлын хэлбэршилтүүдтэй нийцтэй байдаг.

Энэ хэсэг нь эдгээр програмуудыг авч үзэх болно:

Програмын нэр Шаардлагатай эх үүсвэрүүд Портоос суулгах Гол хамаарлууд
GnuCash бага хүнд GNOME
Gnumeric бага хүнд GNOME
Abacus бага хөнгөн Tcl/Tk
KMyMoney бага хүнд KDE

7.5.1. GnuCash

GnuCash нь эцсийн хэрэглэгчдэд хэрэглэхэд хялбар, бас хүчирхэг програмуудын боломжийг олгох GNOME-ийн чармайлтын нэг хэсэг юм. GnuCash-ийн тусламжтай та өөрийн орлого болон зарлагууд, банкны данснууд болон хувьцаануудаа хянаж чадах юм. Энэ нь хялбар интерфэйстэйгээс гадна маш мэргэжлийн програм юм.

GnuCash нь ухаалаг регистр, системийн шаталсан бүртгэлүүд, гарын олон хурдасгагчид болон автоматаар гүйцээх аргуудтай байдаг. Энэ нь ганц гүйлгээг хэд хэдэн, илүү дэлгэрэнгүй хэсгүүдэд хувааж чаддаг. GnuCash нь Quicken QIF файлуудыг импорт хийн нийлүүлж чаддаг. Мөн олон улсын огноо болон мөнгөн тэмдэгтийн хэлбэрүүдтэй ажиллаж бас чаддаг байна.

Өөрийн систем дээрээ GnuCash-ийг суулгахын тулд доор дурдсаныг хийнэ:

# pkg_add -r gnucash

Хэрэв багц байхгүй байгаа бол та Портын цуглуулгыг ашиглаж болно:

# cd /usr/ports/finance/gnucash
# make install clean

7.5.2. Gnumeric

Gnumeric нь хүснэгттэй ажилладаг програм бөгөөд GNOME ширээний орчны хэсэг юм. Энэ нь хэрэглэхэд хялбар, олон дарааллын хувьд автоматаар дүүргэх систем бүхий үүрний хэлбэрийн дагуу хэрэглэгчийн оруулж байгаа зүйлийг автоматаар “таах” боломжтой байдаг. Бас Excel, Lotus 1-2-3, эсвэл Quattro Pro зэрэг хэд хэдэн түгээмэл хэлбэршилтүүдээс файлуудыг импорт хийж чаддаг. Gnumeric нь зураг зурах math/guppi програмын тусламжтай зураг зуралтыг дэмждэг. Бас маш олон тооны цуг бүтээгдсэн функцуудтай бөгөөд тоо, мөнгөн тэмдэгт, огноо, цаг зэрэг олон, бүх энгийн үүрний хэлбэрүүдийг зөвшөөрдөг.

Gnumeric-ийг багцаас суулгахын тулд доор дурдсаныг хийнэ:

# pkg_add -r gnumeric

Хэрэв багц байхгүй бол та доор дурдсаныг хийн Портын цуглуулгыг ашиглаж болно:

# cd /usr/ports/math/gnumeric
# make install clean

7.5.3. Abacus

Abacus нь жижиг бөгөөд ашиглахад хялбар хүснэгттэй ажиллах програм юм. Энэ нь статистик, санхүү болон математик зэрэг хэд хэдэн салбарт хэрэгтэй, өөрт нь цуг бүтээгдсэн функцуудтай байдаг. Энэ нь Excel файлын хэлбэршилтийг импорт, экспорт хийж чаддаг. Мөн Abacus нь PostScript гаралтаар гаргаж чаддаг байна.

Abacus-ийг багц хэлбэрээр нь суулгахын тулд доор дурдсаныг ажиллуулна:

# pkg_add -r abacus

Хэрэв багц байхгүй бол та доор дурдсаныг хийн Портын цуглуулгыг ашиглаж болно:

# cd /usr/ports/deskutils/abacus
# make install clean

7.5.4. KMyMoney

KMyMoney нь KDE-д зориулсан хувийн санхүүгийн менежер юм. KMyMoney нь арилжааны зорилгоор хийгдсэн хувийн санхүүгийн менежер програмуудад байдаг бүх л чухал боломжуудыг өөртөө агуулсан байдаг. Бас ашиглахад хялбар, дахин оруулах зөв бүртгэлийн систем зэрэг боломжуудыг нь дурдаж болох юм. KMyMoney нь стандарт Quicken Interchange Format (QIF) бүхий файлуудаас импорт хийж чаддагаас гадна хөрөнгө оруулалтыг хянах, олон төрлийн мөнгөн тэмдэгтүүдтэй ажиллаж чаддаг бөгөөд баялаг тайлангуудыг гаргаж чаддаг. OFX импорт хийх боломжууд нь бас тусдаа залгаасын тусламжтай хийгдэж болдог байна.

KMyMoney-г багц хэлбэрээс суулгахын тулд дараахийг хийнэ:

# pkg_add -r kmymoney2

Хэрэв багц байхгүй бол Портын цуглуулгаас суулгаж болно:

# cd /usr/ports/finance/kmymoney2
# make install clean

7.6. Дүгнэлт

FreeBSD нь ISP-уудын дунд өөрийн ажиллагаа болон найдвартай байдлаараа алдартай байдаг ч гэсэн түүнийг өдөр тутам ширээний компьютер болгон ашиглахад бараг л бэлэн болжээ. Багцууд эсвэл портууд хэлбэрээр хэдэн мянган програмуудтай болохоор өөрийн чинь бүх хэрэгцээг хангасан төгс ширээний компьютерийг та бүтээж болох юм.

Энэ бүлэгт авч үзсэн ширээний бүх програмуудын тоймыг энд дурдав:

Програмын нэр Багцын нэр Портын нэр
Opera opera www/opera
Firefox firefox www/firefox
Chromium chromium www/chromium
KOffice koffice-kde4 editors/koffice-kde4
AbiWord abiword editors/abiword
GIMP gimp graphics/gimp
OpenOffice.org openoffice editors/openoffice.org-3
LibreOffice libreoffice editors/libreoffice
Acrobat Reader acroread print/acroread8
gv gv print/gv
Xpdf xpdf graphics/xpdf
GQview gqview graphics/gqview
GnuCash gnucash finance/gnucash
Gnumeric gnumeric math/gnumeric
Abacus abacus deskutils/abacus
KMyMoney kmymoney2 finance/kmymoney2

Бүлэг 8. Мультимедиа

Засварласан Росс Липперт. Орчуулсан Цагаанхүүгийн Ганболд.

8.1. Ерөнхий агуулга

FreeBSD нь танд өөрийн компьютераас гарах өндөр чанарын гаралтад сэтгэл ханамжтай байх боломжийг олгож төрөл бүрийн дууны картуудыг дэмждэг. Энэ нь аудиог MPEG Аудио Давхарга 3 (MP3), WAV, болон Ogg Vorbis зэрэг бусад олон хэлбэршилтүүдээр бичлэг хийх болон тоглуулах чадвартай байдаг. FreeBSD-ийн портын цуглуулга нь таны бичигдсэн аудиог засварлах, дууны нөлөөллүүдийг нэмэх болон залгагдсан MIDI төхөөрөмжүүд хянахыг зөвшөөрөх програмуудыг бас агуулдаг.

Зарим нэг туршилтын тусламжтайгаар FreeBSD нь видео файлууд болон DVD-үүдийг тоглуулахыг дэмжиж чаддаг. Төрөл бүрийн видео зөөвөрлөгчийг кодчилох, хөрвүүлэх, болон тоглуулах програмуудын тоо дууны програмуудын тоотой харьцуулах юм бол хязгаарлагдмал байдаг. Жишээ нь, үүнийг бичиж байх үед, audio/sox-той адил хэлбэршилтүүдийн хооронд хөрвүүлэхэд хэрэглэгдэх дахин кодчилох сайн програм FreeBSD-ийн портын цуглуулгад байхгүй байгаа билээ. Гэхдээ энэ талбар дахь програм хангамжийн байдал хурдацтай өөрчлөгдөж байна.

Энэ бүлэг нь таны дууны картыг тохируулахад шаардлагатай алхмуудыг тайлбарлах болно. X11-ийн (Бүлэг 6) тохиргоо болон суулгац нь таны видео тоног төхөөрөмжийн асуудлуудыг аль хэдийн зохицуулсан байдаг боловч илүү сайн тоглуулахын тулд зарим нэгэн нарийн тохируулгууд хийх хэрэгтэй байж болох юм.

Энэ бүлгийг уншиж дууссаны дараа та дараах зүйлсийг мэдэх болно:

  • Таны дууны карт чинь танигдсан байхаар өөрийн системээ хэрхэн тохируулах талаар.

  • Таны карт ажиллаж байгааг шалгах аргууд.

  • Өөрийн дууны тохиргооны алдааг хэрхэн олж засварлах талаар.

  • MP3-ууд болон бусад аудиог хэрхэн тоглуулах ба кодчилох талаар.

  • X серверээр видео хэрхэн дэмжигдсэн талаар.

  • Сайн үр дүн өгдөг зарим нэгэн тоглуулагч/кодчилогч портууд.

  • DVD-үүд, .mpg болон .avi файлуудыг хэрхэн тоглуулах талаар.

  • CD болон DVD-ээс файлууд уруу агуулгыг хэрхэн авах талаар.

  • TV карт хэрхэн тохируулах талаар.

  • Дүрс скан хийгчийг хэрхэн тохируулах талаар.

Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:

  • Шинэ цөмийг хэрхэн тохируулж суулгах талаар мэдэх (Бүлэг 9).

Сануулга: mount(8) тушаалаар аудио CD-үүдийг холбохыг оролдох нь хамгийн гайгүйдээ алдаанд, хамгийн муудаа цөмийн сүйрэлд хүргэж болох юм. Эдгээр зөөвөрлөгчид нь ердийн ISO файлын системүүдээс ялгаатай тусгай кодчилолуудтай байдаг.


8.2. Дууны картыг тохируулах

Хувь нэмэр болгон оруулсан Мозес Мур. Өргөжүүлсэн Марк Фонвил.

8.2.1. Системийг тохируулах

Эхлэхээсээ өмнө та өөртөө байгаа картынхаа загвар, ашиглаж байгаа бичил схем болон PCI эсвэл ISA картны алин болохыг мэдэх шаардлагатай. FreeBSD нь төрөл бүрийн PCI эсвэл ISA картуудыг дэмждэг. Тоног төхөөрөмжийн тэмдэглэгээний дэмжигдсэн аудио төхөөрөмжүүдийн жагсаалтыг шалгаж өөрийн картыг дэмжигдсэн эсэхийг үзээрэй. Тоног төхөөрөмжийн тэмдэглэгээ нь таны картыг ямар драйвер дэмждэгийг бас хэлэх болно.

Өөрийн дууны төхөөрөмжийг ашиглахын тулд тохирох төхөөрөмжийн драйверийг та ачаалах хэрэгтэй болно. Үүнийг хоёр аргын аль нэгээр хийж болно. Хамгийн амархан арга бол kldload(8) тушаалаар өөрийн картныхаа цөмийн модулийг тушаалын мөрөөс:

# kldload snd_emu10k1

гэж ачаалах юм уу эсвэл /boot/loader.conf файлд тохирох мөрийг ингэж нэмэн дуудаж болно:

snd_emu10k1_load="YES"

Эдгээр жишээнүүд нь Creative SoundBlaster® Live! дууны картанд зориулагдсан юм. Бусад байгаа дуудагдаж болох дууны модулиуд /boot/defaults/loader.conf-д жагсаагдсан байдаг. Хэрэв та аль драйверийг ашиглахаа мэдэхгүй эргэлзэж байвал snd_driver модулийг дуудаж үзэж болох юм:

# kldload snd_driver

Энэ нь хамгийн түгээмэл драйверуудыг нэг удаа ачаалдаг метадрайвер юм. Энэ нь зөв драйверийг хайхыг хурдасгадаг. Дууны бүх драйверуудыг /boot/loader.conf файлаар ачаалах бас боломжтой байдаг.

snd_driver метадрайверийг дуудсаны дараа та өөрийн дууны картдаа ямар драйвер сонгогдсоныг олохыг хүсвэл /dev/sndstat файлыг cat /dev/sndstat тушаалын тусламжтай шалгаж болох юм.

Хоёр дахь арга нь өөрийн дууны картын дэмжлэгийг өөрийн цөмдөө эмхэтгэх явдал юм. Доорх хэсэг нь энэ аргаар өөрийн тоног төхөөрөмжид зориулан дэмжлэг нэмэхэд шаардлагатай мэдээллийг өгнө. Өөрийн цөмийг дахин эмхэтгэх тухай дэлгэрэнгүй мэдээллийг Бүлэг 9-с үзнэ үү.


8.2.1.1. Дууны дэмжлэгтэй цөмийг тохируулах

Эхлээд хийх ёстой зүйл нь аудио тогтолцооны драйвер sound(4)-г цөм уруу нэмэх явдал юм. Ингэхийн тулд та дараах мөрийг цөмийн тохиргооны файлдаа нэмэх хэрэгтэй болно:

device sound

Дараа нь та өөрийн дууны картдаа зориулж дэмжлэг нэмэх хэрэгтэй. Тийм болохоор картыг ямар драйвер дэмждэгийг мэдэх хэрэгтэй. Өөрийн дууны картын зөв драйверийг тодорхойлохын тулд Тоног төхөөрөмжийн тэмдэглэгээний дэмжигдсэн аудио төхөөрөмжүүдийн жагсаалтыг шалгах хэрэгтэй. Жишээ нь Creative SoundBlaster Live! дууны карт нь snd_emu10k1(4) драйвераар дэмжигдсэн байдаг. Энэ картанд зориулж дэмжлэг нэмэхийн тулд доор дурдсаныг ашиглана:

device snd_emu10k1

Хэрхэн ашиглах талаар драйверийн гарын авлагын хуудаснаас уншихаа мартуузай. Дэмжигдсэн дууны драйверуудын цөмийн тохиргооны зөв бичиглэлийг /usr/src/sys/conf/NOTES файлаас бас олж болно.

PnP биш ISA дууны картууд нь цөмийг картын тохируулгуудын (IRQ, I/O порт, гэх мэт) тухай мэдээлэлтэй нь танаас шаардаж болох юм. Энэ нь бүх PnP биш ISA дууны картуудын хувьд үнэн байдаг. Үүнийг /boot/device.hints файлын тусламжтай хийдэг. Системийг ачаалах үед loader(8) нь энэ файлыг уншиж тохируулгуудыг цөм уруу дамжуулдаг. Жишээ нь хуучин Creative SoundBlaster 16 ISA PnP биш карт snd_sbc(4) драйверийг snd_sb16-тай цуг ашиглах болно. Энэ картны хувьд дараах мөрүүдийг цөмийн тохиргооны файлд нэмэх хэрэгтэй:

device snd_sbc
device snd_sb16

бөгөөд бас доор дурдсаныг /boot/device.hints-д нэмэх хэрэгтэй:

hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"

Энэ тохиолдолд карт нь 0x220 I/O порт болон IRQ 5-ыг ашиглаж байна.

/boot/device.hints файлд ашигласан зөв бичиглэлийн талаар sound(4) драйверийн гарын авлагын хуудас болон ашиглах гэж байгаа драйверийн гарын авлагын хуудсанд өгүүлсэн байдаг.

Дээр үзүүлсэн тохируулгууд нь анхдагчууд юм. Зарим тохиолдолд та IRQ юм уу эсвэл бусад тохируулгуудыг өөрийн картдаа тааруулан өөрчлөх хэрэг гарч болох юм. Энэ картны талаар дэлгэрэнгүй мэдээллийг snd_sbc(4) гарын авлагын хуудаснаас үзнэ үү.


8.2.2. Дууны картыг тест хийх

Өөрчилсөн цөмийг дахин ачаалсны дараа эсвэл шаардлагатай модулийг дуудсаны дараа дууны карт нь иймэрхүүгээр таны системийн мэдэгдлийн буферт (dmesg(8)) гарч ирэх ёстой:

pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Cirrus Logic CS4205 AC97 Codec>

Дууны картын төлөвийг /dev/sndstat файлын тусламжтай шалгаж болно:

# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)

Таны системээс гарах гаралт өөр өөр байж болно. Хэрэв ямар ч pcm төхөөрөмжүүд гарч ирэхгүй байвал буцаад урьд нь юу хийснийгээ дахин шалгах хэрэгтэй. Өөрийн цөмийн тохиргооны файлыг дахин шалгаж зөв төхөөрөмжийн драйвер сонгогдсон эсэхийг шалгаарай. Нийтлэг асуудлууд Хэсэг 8.2.2.1 хэсэгт жагсаагдсан байгаа.

Хэрэв бүгд зүгээр болвол одоо та ажиллагаатай дууны карттай байх ёстой. Хэрэв таны CD-ROM эсвэл DVD-ROM хөтчийн дууны гаралтын холбогч таны дууны карттай зөв холбогдсон бол та хөтөчдөө CD хийж түүнийг cdcontrol(1)-оор тоглуулж болно:

% cdcontrol -f /dev/acd0 play 1

audio/workman зэрэг төрөл бүрийн програмууд нь илүү нөхөрсөг интерфэйсийн боломжтой байдаг. Та MP3 аудио файлууд сонсохын тулд audio/mpg123 зэрэг програмыг суулгахыг хүсэж болох юм.

Картыг хурдан тест хийх өөр нэг арга бол /dev/dsp уруу өгөгдөл иймэрхүү маягаар илгээх явдал юм:

% cat filename > /dev/dsp

Энд байгаа filename нь ямар ч файл байж болно. Энэ тушаалын мөр нь шуугиан үүсгэх ёстой бөгөөд энэ нь уг дууны карт ажиллаж байгааг баталж байгаа юм.

Тэмдэглэл: Төхөөрөмжийн цэгүүд болох /dev/dsp* шаардлагатай тохиолдолд автоматаар үүсдэг. Хэрэв тэдгээр нь ашиглагдаагүй бол байхгүй байх бөгөөд ls(1) тушаалын гаралтад харагдахгүй байна.

Дууны картын холигчийн түвшингүүдийг mixer(8) тушаалаар өөрчилж болно. Илүү дэлгэрэнгүйг mixer(8) гарын авлагын хуудаснаас олж болно.


8.2.2.1. Нийтлэг асуудлууд

Алдаа Шийдэл
sb_dspwr(XX) timed out

I/O порт зөв тохируулагдаагүй.

bad irq XX

IRQ буруу тохируулагдсан. Тохируулагдсан IRQ болон дууны IRQ адил байгаа эсэхийг шалгана.

xxx: gus pcm not attached, out of memory

Төхөөрөмжийн ашиглах хангалттай санах ой байхгүй байна.

xxx: can't open /dev/dsp!

Өөр програм төхөөрөмжийг онгорхой барьж байгаа эсэхийг fstat | grep dsp тушаалаар шалгана. Дурдахад илүүдэхгүй хэргийн эзэд бол esound болон KDE-ийн дууны дэмжлэгүүд юм.

Өөр нэг асуудал бол орчин үеийн график картууд ихэвчлэн HDMI төст зүйлсүүдтэй ажиллахын тулд өөрсдийн дууны драйвертай ирдэг. Энэ дууны төхөөрөмж нь жинхэнэ дууны картаас өмнө танигдах тохиолдол байдаг бөгөөд ингэснээр дууны карт нь анхдагч тоглуулагч төхөөрөмж хэлбэрээр ашиглагдахгүй болдог. Үүнийг шалгахын тулд dmesg ажиллуулж pcm гэж байгаа эсэхийг шалгаарай. Гаралт нэг иймэрхүү байна:

...
hdac0: HDA Driver Revision: 20100226_0142
hdac1: HDA Driver Revision: 20100226_0142
hdac0: HDA Codec #0: NVidia (Unknown)
hdac0: HDA Codec #1: NVidia (Unknown)
hdac0: HDA Codec #2: NVidia (Unknown)
hdac0: HDA Codec #3: NVidia (Unknown)
pcm0: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 0 nid 1 on hdac0
pcm1: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 1 nid 1 on hdac0
pcm2: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 2 nid 1 on hdac0
pcm3: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 3 nid 1 on hdac0
hdac1: HDA Codec #2: Realtek ALC889
pcm4: <HDA Realtek ALC889 PCM #0 Analog> at cad 2 nid 1 on hdac1
pcm5: <HDA Realtek ALC889 PCM #1 Analog> at cad 2 nid 1 on hdac1
pcm6: <HDA Realtek ALC889 PCM #2 Digital> at cad 2 nid 1 on hdac1
pcm7: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1
...

Энд график карт (NVidia) нь дууны картаас (Realtek ALC889) өмнө танигдсан байна. Дууны картыг анхдагч тоглуулагч төхөөрөмж хэлбэрээр ашиглахын тулд hw.snd.default_unit-г тоглуулахад ашиглах хэрэгслээр солих хэрэгтэй, өөрөөр хэлбэл:

# sysctl hw.snd.default_unit=n

Энд n нь ашиглах дууны төхөөрөмжийн тоо бөгөөд жишээн дээр 4 байна. Дараах мөрийг /etc/sysctl.conf файлд нэмж өгөн энэ өөрчлөлтийг байнгын болгож болно:

hw.snd.default_unit=4

8.2.3. Дууны олон эхүүдийг хэрэглэх нь

Хувь нэмэр болгон оруулсан Муниш Чопра.

esound эсвэл artsd нь зарим нэг програмуудтай дууны төхөөрөмжийг хуваалцахыг дэмждэггүй бөгөөд энэ тохиолдолд заримдаа зэрэг тоглуулах чадвартай дууны олон эхүүдтэй байх туйлын сонирхол байдаг.

FreeBSD нь sysctl(8) хэрэгслийн тусламжтай идэвхжүүлж болох Виртуал Дууны Сувгуудын тусламжтай үүнийг хийх боломжийг танд олгодог. Виртуал сувгууд нь цөмд дууг холих замаар өөрийн дууны картын тоглуулалтыг олон болгохыг танд зөвшөөрдөг.

Виртуал сувгуудын тоог тохируулах sysctl-ийн гурван хувьсагч байдаг бөгөөд хэрэв та root хэрэглэгч бол иймэрхүү маягаар үүнийг тохируулж болно:

# sysctl dev.pcm.0.play.vchans=4
# sysctl dev.pcm.0.rec.vchans=4
# sysctl hw.snd.maxautovchans=4

Дээрх жишээ нь дөрвөн виртуал сувгийг хуваарилж байгаа бөгөөд энэ тоо нь өдөр тутмын хэрэглээнд зориулагдсан практик тоо юм. dev.pcm.0.play.vchans=4 болон dev.pcm.0.rec.vchans=4 нь pcm0-ийн тоглуулах болон бичих виртуал сувгуудын тоо бөгөөд төхөөрөмжийг залгасны дараа тохируулах боломжтой болдог. hw.snd.maxautovchans нь kldload(8) ашиглан залгагдах үед шинэ аудио төхөөрөмжид өгөгдөх виртуал сувгуудын тоо юм. pcm төхөөрөмж нь тоног төхөөрөмжийн драйверуудаас тусдаа дуудагдаж болох учраас hw.snd.maxautovchans нь дараа нь залгагдах төхөөрөмжүүдэд өгөгдөх виртуал сувгуудын тоог хадгалдаг. Дэлгэрэнгүй мэдээллийг pcm(4) гарын авлагын хуудаснаас үзнэ үү.

Тэмдэглэл: Төхөөрөмжийг ашиглаж байхад та виртуал сувгуудын тоог өөрчилж чадахгүй. Эхлээд хөгжим тоглуулагчид юм уу эсвэл дууны дэмонууд зэрэг төхөөрөмжийг ашиглаж байгаа програмуудыг хаах хэрэгтэй.

Зөв pcm төхөөрөмж /dev/dsp0-ийг хүсэх програмд мэдэгдэлгүйгээр автоматаар хуваарилагдах болно.


8.2.4. Холигчийн сувгуудын анхдагч утгуудыг тохируулах

Хувь нэмэр болгон оруулсан Жозеф Эл-Рэйэс.

Өөр өөр холигчийн сувгуудын анхдагч утгууд нь pcm(4) драйверийн эх кодонд бичигдэж хийгдсэн байдаг. Холигчийн ажиллуулах явцад санагдсан утгуудыг тохируулах боломжийг олгодог олон төрлийн програмууд болон дэмонууд байдаг боловч энэ нь цэвэр шийдэл биш юм. Холигчийн анхдагч утгуудыг драйверийн түвшинд тохируулж болдог. Үүнийг /boot/device.hints файлд тохирох утгуудыг тодорхойлон хийдэг. Өөрөө хэлбэл:

hint.pcm.0.vol="50"

Энэ нь pcm(4) модуль ачаалагдах үед дууны сувгийн чангыг анхдагч утга 50 гэж тохируулах болно.


8.3. MP3 аудио

Хувь нэмэр болгон оруулсан Шерн Ли.

MP3 (MPEG Давхарга 3 Аудио) нь CD-тэй ойролцоо дууны чанарт хүрдэг бөгөөд энэ боломжийг таны FreeBSD ажлын станц ашиглахгүйгээр үлдэх ямар нэг шалтгаан байх ёсгүй юм.


8.3.1. MP3 тоглуулагчид

Хамгийн алдартай X11 MP3 тоглуулагч бол XMMS (X Multimedia System) юм. Nullsoft-ийн Winamp-тай GUI нь бараг л адилхан болохоор Winamp-ийн арьснуудыг XMMS-д ашиглаж болдог. XMMS нь өөрийн гэсэн залгаасын дэмжлэгтэй бас байдаг.

XMMS нь multimedia/xmms портоос эсвэл багцаас суулгагдаж болдог.

XMMS-ийн интерфэйс нь хялбар бөгөөд тоглуулах жагсаалт, графикийн тэнцүүлэгч болон өөр олон боломжуудтай байдаг. Winamp-ийг мэддэг хүмүүс XMMS-ийг ашиглахад хялбарыг олж мэдэх болно.

audio/mpg123 нь өөр нэг, тушаалын мөрийн MP3 тоглуулагч юм.

mpg123-ийг тушаалын мөрөөс дууны төхөөрөмж болон MP3 файлыг зааж өгөн ажиллуулж болно. Таны дууны төхөөрөмж /dev/dsp1.0 бөгөөд MP3 файл Foobar-GreatestHits.mp3-ийг тоглуулахыг хүсэж байгаа гэж үзвэл дараах тушаалыг ажиллуулна:

# mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!





Playing MPEG stream from Foobar-GreatestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

8.3.2. CD Аудио замуудыг авах нь

CD эсвэл CD замыг MP3 уруу кодчилохоосоо өмнө CD дээрх аудио өгөгдлийг хатуу хөтөч уруугаа авах ёстой. Түүхий CDDA (CD Digital Audio) өгөгдлийг WAV файлууд уруу хуулан үүнийг хийдэг.

sysutils/cdrtools цуглуулгын cdda2wav хэрэгсэл нь CD-үүдээс аудио мэдээлэл болон тэдгээртэй холбоотой мэдээллийг авахад хэрэглэгддэг.

Хөтөчид аудио CD байхад дараах тушаалыг (root-ээр) ажиллуулж бүх CD-г тус тусдаа (зам тус бүрийг) WAV файлуудад авч болно:

# cdda2wav -D 0,1,0 -B

cdda2wav нь ATAPI (IDE) CDROM хөтчүүдийг дэмжих болно. IDE хөтчөөс авахын тулд SCSI нэгжийн дугааруудын оронд төхөөрөмжийн нэрийг заах хэрэгтэй. Жишээ нь 7-р замыг IDE хөтчөөс авахын тулд:

# cdda2wav -D /dev/acd0 -t 7

-D 0,1,0 тохируулга нь cdrecord -scanbus тушаалын гаралттай таарч байгаа SCSI төхөөрөмж 0,1,0-ийг заана.

Замуудыг авахын тулд -t тохируулгыг доор үзүүлсэн шиг ашиглана:

# cdda2wav -D 0,1,0 -t 7

Энэ жишээ нь аудио CDROM-ийн долдугаар замыг авч байна. Хэсэг замуудыг авахын тулд, жишээ нь, нэгээс долоо хүртэлх замыг авахын тулд хүрээг зааж өгнө:

# cdda2wav -D 0,1,0 -t 1+7

dd(1) хэрэгсэл ATAPI хөтчүүд дээрх аудио замуудыг гаргаж авахад бас ашиглагдаж болно. Энэ боломжийн талаар дэлгэрэнгүйг Хэсэг 19.6.5-с уншина уу.


8.3.3. MP3-уудыг кодчилох

Өнөө үед сонгож байгаа mp3 кодчилогч бол Lame юм. Lame нь audio/lame портын модноос олдож болно.

Авсан WAV файлуудыг ашиглан дараах тушаал audio01.wavaudio01.mp3 болгон хөрвүүлнэ:

# lame -h -b 128 \
--tt "Foo Song Title" \
--ta "FooBar Artist" \
--tl "FooBar Album" \
--ty "2001" \
--tc "Ripped and encoded by Foo" \
--tg "Genre" \
audio01.wav audio01.mp3

128 кбит нь ашиглагдаж байгаа стандарт MP3 битийн хурд юм шиг байгаа юм. Олон хүмүүс илүү өндөр чанарын 160 эсвэл 192 гэсэн хурдуудад сэтгэл ханамжтай байдаг. Битийн хурд өндөр болох тусам MP3 илүү их дискний хэмжээг ашиглах боловч чанар өндөр болдог. -h тохируулга нь “илүү өндөр чанартай боловч бага зэрэг удаан” горимыг идэвхжүүлдэг. --t-ээр эхэлсэн тохируулгууд ID3 мэдээллүүдийг заадаг бөгөөд энэ нь MP3 файл дотор оруулах дууны мэдээллийг ихэвчлэн агуулдаг. Нэмэлт кодчилох тохируулгуудыг lame-ийн гарын авлагын хуудаснаас лавлан олж болно.


8.3.4. MP3-уудыг декод хийх

Аудио CD-г MP3-уудаас шарахын тул тэдгээр нь шахагдаагүй WAV хэлбэршилт уруу хөрвүүлэгдэх ёстой. XMMS болон mpg123 нь MP3-ийн гаралтыг шахаагүй файлын хэлбэршилт уруу гаргахыг дэмждэг.

XMMS-ээр диск уруу бичихдээ:

  1. XMMS-ийг ажиллуулна.

  2. Цонхон дээр баруун товчлуурыг дарж XMMS-ийн цэсийг гаргана.

  3. Options-оос Preference-ийг сонгоно.

  4. Гаралтын Залгаасыг (Output Plugin) “Disk Writer Plugin” болгон өөрчилнө.

  5. Configure-г дарна.

  6. Шахагдаагүй файлуудыг бичих санг оруулна (эсвэл browse-ийг сонгоно).

  7. MP3 файлыг XMMS уруу, дууны чангыг 100% болгон EQ тохиргоонуудыг хааж ердийнхөөрөө дуудна.

  8. Play-г дарна -- XMMS нь MP3 тоглуулж байгаа юм шигээр гарах бөгөөд гэхдээ хөгжим сонсогдохгүй. Энэ нь үнэндээ MP3-ийг файл уруу тоглуулж байгаа юм.

  9. MP3-уудыг дахин сонсохын тулд анхдагч Гаралтын Залгаасыг буцааж өмнө нь байсан шигээр тохируулахаа мартуузай.

mpg123-аар stdout уруу бичих:

  1. mpg123 -s audio01.mp3 > audio01.pcm тушаалыг ажиллуулна

XMMS нь файлыг WAV хэлбэршилтээр бичдэг бол mpg123 нь MP3-ийг түүхий PCM аудио өгөгдөл болгон хөрвүүлдэг. Эдгээр хэлбэршилтүүдийг cdrecord-д аудио CD-үүд хийхийн тулд ашиглаж болно. Та түүхий PCM-ийг burncd(8)-д ашиглах ёстой. Хэрэв та WAV файлуудыг ашиглавал зам болгоны эхэнд богино тик гэсэн чимээг мэдрэх бөгөөд энэ чимээ нь WAV файлын толгой юм. Та WAV файлын толгойг SoX хэрэгсэл ашиглан арилгаж болно (үүнийг audio/sox портоос эсвэл багцаас суулгаж болно):

% sox -t wav -r 44100 -s -w -c 2 track.wav track.raw

FreeBSD дээр CD шарагчийг ашиглах тухай илүү дэлгэрэнгүй мэдээллийг Хэсэг 19.6-с уншина уу.


8.4. Видео тоглуулах

Хувь нэмэр болгон оруулсан Росс Липперт.

Видео тоглуулах нь маш шинэ, хурдацтай хөгжиж байгаа хэрэглээний талбар юм. Хүлээцтэй байгаарай. Дууны хувьд хийгдсэн шиг бүгд асуудалгүй ажиллахгүй байж болох юм.

Эхлэхээсээ өмнө өөрийн видео картын загвар болон ашиглаж байгаа бичил схемийг та мэдэх шаардлагатай. Xorg нь төрөл бүрийн видео картуудыг дэмждэг боловч цөөхөн нь сайн тоглуулах ажиллагаатай байдаг. Өөрийн картыг ашиглан X серверийн дэмжсэн өргөтгөлүүдийн жагсаалтыг авахын тулд X11-ийг ажиллаж байхад нь xdpyinfo(1) тушаалыг ашиглах хэрэгтэй.

Ер нь богино хэмжээний MPEG файлтай байх нь зүйтэй бөгөөд төрөл бүрийн тоглуулагч болон тохируулгуудыг шалгахад тест файл маягаар ашиглагдаж болох юм. Зарим нэгэн DVD тоглуулагчид анхдагчаар /dev/dvd-д DVD зөөвөрлөгчийг хайх юм уу эсвэл энэ төхөөрөмжийн нэрийг тэдгээрт бичигдсэн байх ёстой гэж үздэг болохоор та симболын холбоосыг тохирох төхөөрөмжүүд уруу хийж өгөх нь ашигтай байж болох юм:

# ln -sf /dev/acd0 /dev/dvd
# ln -sf /dev/acd0 /dev/rdvd

devfs(5)-ийн хийгдсэн чанараас хамаараад эдгээр шиг гараар хийгдсэн холбоосууд нь системийг дахин ачаалахад үлддэггүй. Өөрийн системийг ачаалахад автоматаар симболын холбоосууд үүсгэхийн тулд дараах мөрүүдийг /etc/devfs.conf файлд нэмнэ:

link acd0 dvd
link acd0 rdvd

Мөн тусгай DVD-ROM функцуудыг ажиллуулахыг шаарддаг DVD шифрлэлтийг буцаах үйлдэл нь DVD төхөөрөмж дээр бичих зөвшөөрлийг шаарддаг.

Хуваалцсан санах ойн X11 интерфэйсийг өргөтгөж сайжруулахын тулд зарим sysctl(8) хувьсагчдын утгуудыг ихэсгэх шаардлагатай байдаг:

kern.ipc.shmmax=67108864
kern.ipc.shmall=32768

8.4.1. Видео боломжуудыг тодорхойлох нь

X11 дээр видеог үзүүлэх хэд хэдэн боломжит аргууд байдаг. Яг юу ажиллах нь голчлон тоног төхөөрөмжөөс хамаарна. Доор тайлбарласан арга бүр тоног төхөөрөмжөөс хамаараад чанарын хувьд янз бүр байна. Хоёрдугаарт X11 дээр видеог амь оруулах нь сүүлийн үед маш их анхаарал татаж байгаа сэдэв бөгөөд Xorg-ийн хувилбар бүрт чухал сайжруулалт хийгдсэн байж болох юм.

Нийтлэг видео интерфэйсүүдийг дурдвал:

  1. X11: хуваалцсан санах ойг ашиглах ердийн X11 гаралт.

  2. XVideo: Дурын X11-ийн дүрслэгдэх боломжтой зүйл дээр видеог дэмждэг X11 интерфэйсийн өргөтгөл.

  3. SDL: Simple Directmedia Layer буюу энгийн Directmedia давхарга.

  4. DGA: Direct Graphics Access буюу шууд графикийн хандалт.

  5. SVGAlib: доод түвшний консолын график давхарга.


8.4.1.1. XVideo

Xorg нь видеог тусгай хурдасгуураар дүрслэгдэхүйц обьектууд дээр шууд үзүүлэхийг зөвшөөрдөг XVideo (бас Xvideo, Xv, xv гэгддэг) гэгддэг өргөтгөлтэй байдаг. Энэ өргөтгөл нь доод түвшний чанар муутай машин дээр ч гэсэн видеог сайн чанартай тоглуулах боломжийг олгодог.

Өргөтгөл ажиллаж байгаа эсэхийг шалгахын тулд xvinfo тушаалыг ашиглана:

% xvinfo

Хэрэв үр дүн иймэрхүү харагдвал XVideo нь таны картны хувьд дэмжигдсэн байна:

X-Video Extension version 2.2
screen #0
  Adaptor #0: "Savage Streams Engine"
    number of ports: 1
    port base: 43
    operations supported: PutImage 
    supported visuals:
      depth 16, visualID 0x22
      depth 16, visualID 0x23
    number of attributes: 5
      "XV_COLORKEY" (range 0 to 16777215)
              client settable attribute
              client gettable attribute (current value is 2110)
      "XV_BRIGHTNESS" (range -128 to 127)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CONTRAST" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_SATURATION" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_HUE" (range -180 to 180)
              client settable attribute
              client gettable attribute (current value is 0)
    maximum XvImage size: 1024 x 1024
    Number of image formats: 7
      id: 0x32595559 (YUY2)
        guid: 59555932-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x32315659 (YV12)
        guid: 59563132-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x36315652 (RV16)
        guid: 52563135-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x3e0, 0x7c00
      id: 0x35315652 (RV15)
        guid: 52563136-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x7e0, 0xf800
      id: 0x31313259 (Y211)
        guid: 59323131-0000-0010-8000-00aa00389b71
        bits per pixel: 6
        number of planes: 3
        type: YUV (packed)
      id: 0x0
        guid: 00000000-0000-0000-0000-000000000000
        bits per pixel: 0
        number of planes: 0
        type: RGB (packed)
        depth: 1
        red, green, blue masks: 0x0, 0x0, 0x0

Жагсаагдсан хэлбэршилтүүд (YUV2, YUV12, гэх мэт) нь XVideo-ийн шийдэл бүрт байдаггүй бөгөөд тэдгээрийн энэ байхгүй явдал нь зарим нэг тоглуулагчдад саад болж болохыг санаарай.

Хэрэв үр дүн иймэрхүү харагдаж байвал:

X-Video Extension version 2.2
screen #0
no adaptors present

XVideo таны картын хувьд дэмжигдээгүй байх магадлалтай.

Хэрэв XVideo нь таны картын хувьд дэмжигдээгүй байвал амилуулж байгаа видео тооцоололтын шаардлагуудыг таны дэлгэц хангах нь улам илүү хэцүү болно гэсэн үг юм. Таны видео карт болон процессороос хамаараад магадгүй та сэтгэл ханахуйц үр дүнд хүрч болох юм. Ажиллагааг сайжруулах аргуудын талаар та Хэсэг 8.4.3 хэсгээс нэмэлт уншлага хийх шаардлагатай болж болох юм.


8.4.1.2. Simple Directmedia Layer буюу Энгийн Directmedia давхарга

Simple Directmedia Layer буюу SDL нь Microsoft Windows, BeOS, болон UNIX-ийн хооронд хөрвүүлэх давхарга байхаар зориулагдсан бөгөөд ингэснээр дуу болон графикийн үр ашигтай хэрэглээг бий болгож тавцан хооронд ажиллах програмуудыг хөгжүүлэх боломжтой болсон юм. SDL давхарга нь тоног төхөөрөмжийг доод түвшинд хийсвэрлэх боломжийг олгодог бөгөөд энэ нь заримдаа X11 интерфэйсээс илүү үр дүнтэй байдаг.

SDL нь devel/sdl12-с олдож болно.


8.4.1.3. Direct Graphics Access буюу Шууд Графикийн Хандалт

Direct Graphics Access буюу Шууд Графикийн Хандалт нь X11 өргөтгөл бөгөөд програмд X серверийг орхин өнгөрч framebuffer-ийг шууд өөрчлөх боломжийг олгодог. Энэ нь энэ хуваалцалд нөлөөлөх доод түвшний санах ойн тааруулалт дээр тулгуурладаг болохоор үүнийг ашиглаж байгаа програмууд root-ээр ажиллах ёстой байдаг.

DGA өргөтгөл нь dga(1)-аар тест хийгдэж хурд, ажиллагааны хувьд шалгагдаж болно. dga ажиллаж байхад товчлуур дарах болгонд дэлгэцийн өнгөнүүдийг өөрчилдөг. Гарахын тулд q-г дарна.


8.4.2. Видеотой холбоотой портууд болон багцууд

Энэ хэсэг нь FreeBSD-ийн портын цуглуулга дахь видео тоглуулахад ашиглаж болох програм хангамжуудыг хэлэлцэх болно. Видео тоглуулах нь програм хангамжийн хөгжүүлэлтийн маш идэвхтэй талбар бөгөөд төрөл бүрийн програмуудын боломжууд нь энд өгсөн тайлбараас зарим талаараа зөрж болох юм.

Эцэст нь FreeBSD дээр ажилладаг олон видео програмууд нь Линуксийн програмууд маягаар хөгжүүлэгдсэн байдгийг мэдэх нь чухал юм. Эдгээр програмуудын олонхи нь бета чанарых хэвээр байгаа билээ. FreeBSD дээр видео багцуудад учирч болох асуудлуудын заримыг дурдвал:

  1. Ямар нэг програмын үүсгэсэн файлыг өөр нэг нь тоглуулж чадахгүй байх.

  2. Өөрийн үүсгэсэн файлыг тоглуулж чадахгүй байх.

  3. Тухайн машин бүр дээр бүтээгдсэн, хоёр өөр машин дээрх нэг програм ижил файлыг өөрөөр тоглуулах.

  4. Дүрсний хэмжээг өөрчлөх зэрэг маш хялбар шүүлт нь алдаатай хэмжээ өөрчлөх дэг журмаас болж маш муу үзэгдлүүдэд хүргэдэг.

  5. Програм байнга core үүсгэдэг.

  6. Баримт порттой цуг суугддаггүй бөгөөд түүнийг нэг бол вэб дээрээс юм уу эсвэл портын work сангаас олж болдог.

Эдгээр програмуудын олонхи нь “Линукс-изм”ийг харуулдаг. Линукс тархацууд дахь зарим стандарт сангуудын хийгдсэн арга эсвэл програм зохиогчдын тооцсон Линуксийн цөмийн зарим боломжуудаас болоод асуудлууд гарч болно гэсэн үг юм. Эдгээр асуудлууд нь заримдаа анзаарагддаггүй бөгөөд порт арчлагчид эдгээрийг тойрон гарсан шийдлүүдийг хийсэн байдаг. Гэхдээ энэ нь доорх асуудлуудад хүргэж болзошгүй юм:

  1. Процессорын шинж чанаруудыг илрүүлэх /proc/cpuinfo-ийн хэрэглээ.

  2. Дуусахдаа програмыг бүрмөсөн төгсгөхийн оронд гацаадаг урсгалуудын (threads) буруу хэрэглээ.

  3. Програмтай цуг ихэвчлэн ашиглагддаг програм хангамж FreeBSD-ийн портын цуглуулгад байхгүй байх.

Одоогоор эдгээр програмуудын хөгжүүлэгчид нь порт хийхэд шаардагдах тойрон гарах арга замуудыг багасгахын тулд порт арчлагчидтай хамтран ажиллаж байгаа билээ.


8.4.2.1. MPlayer

MPlayer нь саяхан хөгжүүлэгдсэн бөгөөд хурдацтай хөгжүүлэгдэж байгаа видео тоглуулагч юм. MPlayer багийн зорилго нь хурд болон Линукс ба бусад Юниксууд дээрх уян хатан чанар юм. Энэ төсөл нь багийг үндэслэгч тэр үед байсан тоглуулагчуудын муу тоглуулах ажиллагаанаас залхсан үед үүссэн байна. Зарим нь дизайныг сайжруулж график интерфэйс хийгдсэн гэж хэлж болох юм. Гэхдээ та тушаалын мөрийн тохируулгууд болон товчлууруудын хяналтад дасаад ирэхэд энэ нь харин маш сайн ажилладаг.


8.4.2.1.1. MPlayer-ийг бүтээх

MPlayer нь multimedia/mplayer санд байрладаг. MPlayer нь бүтээх явцад төрөл бүрийн тоног төхөөрөмжийн шалгалтуудыг гүйцэтгэж нэг системээс нөгөөд хөрвүүлэгдэхгүй хоёртьн файлыг гаргадаг. Тиймээс хоёртын багцыг ашиглалгүйгээр портоос бүтээх нь чухал юм. Мөн Makefile-д тайлбарласнаар бүтээлтийн эхэнд make тушаалд хэд хэдэн тохируулгуудыг зааж өгч болдог:

# cd /usr/ports/multimedia/mplayer
# make
N - O - T - E

Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.html

Ихэнх хэрэглэгчдэд анхдагч портын тохируулгууд хангалттай байх ёстой. Гэхдээ хэрэв танд XvID кодек хэрэгтэй бол тушаалын мөрөнд WITH_XVID тохируулгыг зааж өгөх хэрэгтэй. Анхдагч DVD төхөөрөмжийг бас WITH_DVD_DEVICE тохируулгаар тодорхойлж болох бөгөөд анхдагчаар /dev/acd0 ашиглагдах болно.

Үүнийг бичиж байх үед MPlayer порт нь өөрийн HTML баримт болон хоёр ажиллах файл mplayer, болон mencoder тушаалуудаа бүтээдэг байсан бөгөөд сүүлийн тушаал нь видеог дахин кодчилох хэрэгсэл юм.

MPlayer-ийн HTML баримт нь маш мэдээлэл сайтай байдаг. Хэрэв уншигч энэ бүлэгт дурдсан видео тоног төхөөрөмж болон интерфэйсүүдийн тухай мэдээлэл дутуу байгааг мэдвэл MPlayer-ийн баримт нь харин маш бүрэн гүйцэд нэмэгдэл болох юм. Хэрэв та UNIX дээрх видео дэмжлэгийн талаар мэдээлэл хайж байгаа бол MPlayer-ийн баримтыг цаг зав гарган заавал ч үгүй унших хэрэгтэй.


8.4.2.1.2. MPlayer ашиглах

MPlayer-ийн ямар ч хэрэглэгч өөрийн гэрийн сандаа .mplayer дэд санг үүсгэх ёстой. Энэ шаардлагатай дэд санг үүсгэхийн тулд та дараах тушаалыг бичиж болно:

% cd /usr/ports/multimedia/mplayer
% make install-user

mplayer-ийн тушаалын тохируулгууд гарын авлагын хуудсанд дурдсан байдаг. Бүр илүү дэлгэрэнгүйг HTML баримтаас үзэж болно. Энэ хэсэгт бид цөөн хэдэн нийтлэг хэрэглээг тайлбарлах болно.

testfile.avi зэрэг файлыг тоглуулахын тулд -vo тохируулгаар төрөл бүрийн видео интерфэйсүүдийн аль нэгийг оруулж өгнө:

% mplayer -vo xv testfile.avi
% mplayer -vo sdl testfile.avi
% mplayer -vo x11 testfile.avi
# mplayer -vo dga testfile.avi
# mplayer -vo 'sdl:dga' testfile.avi

Эдгээр бүх тохируулгуудыг бүгдийг туршиж үзэх нь зүйтэй. Эдгээрийн харьцангуй ажиллагаа нь олон хүчин зүйлүүдээс шалтгаалдаг бөгөөд тоног төхөөрөмжөөс ихээхэн хамаарч өөр өөр байна.

DVD-ээс тоглуулахын тулд testfile.avidvd://N -dvd-device DEVICE мөрөөр солих хэрэгтэй. Энд байгаа N нь тоглуулах гарчгийн дугаар бөгөөд DEVICE нь DVD-ROM-д зориулсан төхөөрөмжийн цэг юм. Жишээ нь /dev/dvd-ийн 3-р гарчгийг тоглуулахын тулд доор дурдсаныг ажиллуулна:

# mplayer -vo xv dvd://3 -dvd-device /dev/dvd

Тэмдэглэл: Анхдагч DVD төхөөрөмжийг MPlayer портыг WITH_DVD_DEVICE тохируулгаар бүтээж байх үед тодорхойлж болдог. Анхдагчаар энэ төхөөрөмж нь /dev/acd0 юм. Илүү дэлгэрэнгүй мэдээллийг портын Makefile файлаас олж болно.

Зогсоох, пауз авах, урагшлуулах гэх мэтийг хийхийн тулд товчлууруудын талаар үзэх хэрэгтэй бөгөөд ингэхийн тулд mplayer -h тушаалыг ажиллуулах юм уу эсвэл гарын авлагын хуудсыг унших нь зүйтэй юм.

Тоглуулахад хэрэгтэй чухал нэмэлт тохируулгууд нь: бүрэн дэлгэцийн горимд шилжүүлдэг -fs -zoom болон ажиллагаанд тусалдаг -framedrop тохируулгууд юм.

mplayer-ийн тушаалын мөрийг их урт болгохгүйн тулд .mplayer/config файл үүсгээд анхдагч тохируулгуудыг тэнд тохируулах хэрэгтэй:

vo=xv
fs=yes
zoom=yes

Төгсгөлд нь mplayer нь DVD гарчгийг .vob файл уруу гаргахад хэрэглэгдэж болдог. DVD-ээс хоёр дахь гарчгийг гаргаж авахын тулд үүнийг бичнэ:

# mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd

Гаралтын файл out.vob нь MPEG байх бөгөөд энэ хэсэгт тайлбарлагдсан бусад багцуудаар удирдагдаж болох юм.


8.4.2.1.3. mencoder

mencoder-ийг ашиглахаасаа өмнө HTML баримтаас тохируулгуудтай танилцах нь зүйтэй юм. Гарын авлагын хуудас байдаг боловч HTML баримтгүйгээр энэ нь тийм ч тустай биш юм. Чанар, битийн бага хурдыг сайжруулах болон хэлбэршилтүүдийг өөрчлөх тоолж баршгүй аргууд байдаг бөгөөд эдгээр аргуудын зарим нь сайн, муу ажиллагааны хооронд ялгаа гаргаж болох юм. Танд туслах хэд хэдэн жишээ энд байна. Эхлээд энгийн хуулбар:

% mencoder input.avi -oac copy -ovc copy -o output.avi

Тушаалын мөрийн буруу хослолууд нь mplayer-ээр ч тоглуулах боломжгүй файл гаргахад хүргэж болох юм. Тиймээс хэрэв та файл уруу гаргаж авахыг хүсвэл mplayer-ийн -dumpfile-ийг ашиглаарай.

input.avi-г MPEG4 кодек уруу MPEG3 аудио кодчилолтойгоор хөрвүүлэхийн тулд (audio/lame шаардлагатай):

% mencoder input.avi -oac mp3lame -lameopts br=192 \
	 -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi

Энэ нь mplayer болон xine тоглуулах боломжтой гаралтыг үүсгэнэ.

DVD гарчгийг шууд дахин кодчилохын тулд input.avi файлын оронд dvd://1 -dvd-device /dev/dvd мөрийг тавьж root эрхээр ажиллуулах хэрэгтэй. Эхний удаадаа та өөрийн хийсэн зүйлдээ сэтгэл ханамжгүй байх магадлалтай болохоор гарчгийг файл уруу гаргаж файл дээрээ ажиллахыг зөвлөдөг.


8.4.2.2. xine видео тоглуулагч

xine видео тоглуулагч нь аль ч талаасаа зөвхөн бүгдийг багтаасан видео шийдэл байх зорилготой төсөл биш бөгөөд энэ нь бас дахин ашиглагдах боломжтой үндсэн сан болон залгаасуудаар өргөтгөх боломжтой модульчлагдсан ажиллах файлуудыг үүсгэх зорилготой төсөл юм. Энэ нь багц болон multimedia/xine гэсэн порт хэлбэрээр байдаг.

xine тоглуулагч нь бас л бүрэн гүйцэд боловсроогүй байгаа билээ. Хэдий тийм ч гэсэн сайнаар эхэлж байгаа юм. Практикт xine нь хурдан видео карттай CPU юм уу аль эсвэл XVideo өргөтгөлийн дэмжлэгийг шаарддаг. GUI нь ашиглагдаж болохоор боловч болхи юм.

Үүнийг бичиж байх үед CSS кодчилол хийгдсэн DVD-үүдийг тоглуулах xine-тай цуг ирдэг оролтын модуль байгаагүй. Үүнд зориулан бүтээгдсэн модулиудтай гуравдагч талын бүтээлтүүд байдаг боловч эдгээрийн аль нь ч FreeBSD-ийн портын цуглуулгад байдаггүй.

MPlayer-тэй харьцуулах юм бол xine нь хэрэглэгчийн хувьд илүүг хийдэг боловч нөгөө талаараа хэрэглэгчид зарим нэг илүү нарийн тааруулах хяналтын боломжийг өгдөггүй юм. xine видео тоглуулагч нь XVideo интерфэйсүүд дээр хамгийн сайн ажилладаг.

Анхдагчаар xine тоглуулагч нь график хэрэглэгчийн интерфэйс эхлүүлэх болно. Дараа нь тухайн файлыг онгойлгохдоо цэсүүдийг ашиглаж болно:

% xine

Өөрөөр, GUI-гүйгээр дараах тушаал ашиглан файлыг нэн даруй тоглуулахаар ажиллуулж болно:

% xine -g -p mymovie.avi

8.4.2.3. transcode буюу код хооронд хөрвүүлэгч хэрэгслүүд

transcode програм хангамж нь тоглуулагч биш, харин видео болон аудио файлуудыг дахин кодчилоход зориулагдсан хэрэгслүүдийн цуглуулга юм. stdin/stdout урсгалын интерфэйсүүдийн хамтаар тушаалын мөрийн хэрэгслүүдийг ашиглан transcode-оор видео файлуудыг нийлүүлэх, эвдэрсэн файлуудыг засах боломжтой болдог.

multimedia/transcode портыг бүтээж байх явцад олон тооны тохируулгуудыг зааж өгч болдог бөгөөд бид дараах тушаалын мөрийг transcode-ийг бүтээхэд ашиглахыг зөвлөдөг:

# make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
WITH_MJPEG=yes -DWITH_XVID=yes

Санал болгогдсон тохируулгууд ихэнх хэрэглэгчдийн хувьд хангалттай байх ёстой.

transcode-ийн багтаамжуудыг харуулахын тулд DivX файлыг PAL MPEG-1 файл (PAL VCD) уруу хэрхэн хөрвүүлэхийг харуулах нэг жишээг үзүүлье:

% transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
% mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa

Гарах MPEG файл output_vcd.mpgMPlayer-ээр тоглуулах боломжтой байна. Та файлыг бүр Видео CD хийхийн тулд CD-R зөөвөрлөгч уруу шарж болох бөгөөд энэ тохиолдолд та multimedia/vcdimager болон sysutils/cdrdao програмуудыг суулгаж ашиглах хэрэгтэй болно.

transcode-д зориулсан гарын авлагын хуудас байдаг боловч та илүү мэдээлэл болон жишээнүүдийн талаар transcode wiki-с бас лавлах хэрэгтэй.


8.4.3. Нэмэлт унших зүйлс

FreeBSD-д зориулсан төрөл бүрийн видео програм хангамжийн багцууд хурдацтай хөгжиж байна. Ойрын ирээдүйд энд дурдсан асуудлуудын олонхи нь шийдэгдэх магадлал тун өндөр юм. Тэр болтол FreeBSD-ийн A/V боломжуудыг аль болох ихээр авахыг хүсэж байгаа хүмүүс цугтаа хэд хэдэн FAQ болон заавруудаас уншсан зүйлсээрээ мэдлэгээ хуваалцаж өөр өөр цөөн хэдэн програмууд ашиглах хэрэгтэй юм. Энэхүү хэсэг нь тийм нэмэлт мэдээллүүдийг уншигчдад өгөх зорилгоор бичигдсэн юм.

MPlayer-ийн баримт нь техникийн хувьд маш сайн мэдээлэлтэй юм. UNIX-ийн видеоны талаар өндөр түвшний туршлагатай болохыг хүссэн хэн бүхэн эдгээр баримтуудаас зөвлөгөө авах нь зүйтэй юм. MPlayer-ийн захидлын жагсаалт нь баримтыг уншаагүй хүмүүст тийм ч нөхөрсөг бус байдаг учраас тэдэнд алдааны мэдэгдлүүдийг илгээхээр төлөвлөж байгаа бол түр азнаад RTFM (read the fine manual эсвэл read the fucking manual).

xine HOWTO нь бүх тоглуулагчийн хувьд ерөнхий байдаг ажиллагааны сайжруулалтын тухай бүлгийг агуулдаг.

Төгсгөлд нь уншигчдын туршиж болох зарим ирээдүйтэй програмууд байдаг:


8.5. ТВ картуудыг тохируулах

Анхлан хувь нэмэр болгон оруулсан Жозеф Эл-Рэйэс. Өргөжүүлж тохируулсан Марк Фонвил.

8.5.1. Танилцуулга

ТВ картууд нь өөрийн компьютер дээр цацаж байгаа юм уу эсвэл кабелийн ТВ үзэх боломжийг танд олгодог. Тэдгээрийн ихэнх нь нийлмэл видеог RCA юм уу эсвэл S-видео оролтоор хүлээн авдаг бөгөөд эдгээр картуудын зарим нь ФМ радио тааруулагчтай (tuner) ирдэг.

FreeBSD нь Brooktree Bt848/849/878/879 эсвэл Conexant CN-878/Fusion 878a Видео Барих (capture) бичил схемийг bktr(4) драйвертай цуг ашиглан PCI дээр суурилсан ТВ картуудын дэмжлэгийг хангадаг. Та дэмжигдсэн тааруулагчтай цуг ирсэн хавтанг бас шалгах хэрэгтэй. Дэмжигдсэн тааруулагчдын жагсаалтын талаар bktr(4) гарын авлагын хуудаснаас лавлана уу.


8.5.2. Драйвер нэмэх

Өөрийн картыг ашиглахын тулд bktr(4) драйверийг дуудах хэрэгтэй болох бөгөөд дараах мөрийг /boot/loader.conf файлд ингэж нэмэн үүнийг хийж болно:

bktr_load="YES"

Өөрөөр, ТВ картын дэмжлэгийг өөрийн цөмд статикаар эмхэтгэж болох бөгөөд энэ тохиолдолд өөрийн цөмийн тохиргоондоо дараах мөрүүдийг нэмнэ:

device	 bktr
device	iicbus
device	iicbb
device	smbus

Картын бүрэлдэхүүнүүд I2C шугамаар хоорондоо холбогддог болохоор эдгээр нэмэлт төхөөрөмжийн драйверууд нь шаардлагатай байдаг. Дараа нь шинэ цөмөө бүтээж суулгах хэрэгтэй.

Дэмжлэг таны системд нэмэгдсэний дараа та өөрийн машиныг дахин ачаалах хэрэгтэй. Ачаалах процессийн үеэр таны ТВ карт доор дурдсантай төстэйгөөр гарч ирэн харагдах ёстой:

bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus1: <Philips I2C bus> on iicbb0 master-only
smbus0: <System Management Bus> on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.

Мэдээж эдгээр мэдэгдлүүд нь таны тоног төхөөрөмжөөс хамаарч өөр байж болно. Гэхдээ та тааруулагч зөв олдсон эсэхийг шалгах ёстой; зарим нэг олдсон параметрүүдийг sysctl(8) MIB-үүд болон цөмийн тохиргооны файлын тохируулгуудаар дарж өөрчлөх боломжтой хэвээр байдаг. Жишээ нь хэрэв та тааруулагчийг Philips SECAM тааруулагч уруу болгохыг хүсвэл өөрийн цөмийн тохиргооны файлдаа дараах мөрийг нэмэх хэрэгтэй:

options OVERRIDE_TUNER=6

эсвэл та sysctl(8)-ийг шууд ашиглаж болно:

# sysctl hw.bt848.tuner=6

Байдаг тохируулгуудын талаар дэлгэрэнгүйг bktr(4) гарын авлагын хуудас болон /usr/src/sys/conf/NOTES файлаас үзнэ үү.


8.5.3. Ашигтай програмууд

Өөрийн ТВ картыг ашиглахын тулд та дараах програмуудын аль нэгийг суулгах хэрэгтэй:

  • multimedia/fxtv нь цонхон-дээрх-ТВ болон дүрс/аудио/видео барих (capture) боломжуудыг олгодог.

  • multimedia/xawtv нь бас ТВ програм бөгөөд fxtv-тэй адил боломжуудтай байдаг.

  • misc/alevt нь Видеотекст/Телетекстийг декод хийн үзүүлдэг.

  • audio/xmradio нь зарим нэг ТВ карттай цуг ирдэг ФМ радио тааруулагчийг ашиглах програм юм.

  • audio/wmtune нь радио тааруулагчуудад зориулсан ширээний эвтэйхэн програм юм.

Илүү олон програмууд FreeBSD-ийн портын цуглуулгад байдаг.


8.5.4. Алдааг олж засварлах

Та өөрийн ТВ картандаа ямар нэг асуудал олох юм бол та эхлээд видео барих бичил схем ба тааруулагч нь bktr(4) драйвераар яг дэмжигдсэн эсэх болон та зөв тохиргооны сонголтуудыг дамжуулсан эсэхээ шалгах хэрэгтэй. Өөрийн ТВ картын тухай төрөл бүрийн асуултууд болон илүү дэмжлэгийн талаар та freebsd-multimedia захидлын жагсаалтад хандаж түүний архивыг нь ашиглаж болох юм.


8.6. MythTV

MythTV нь нээлттэй эхийн PVR програм хангамжийн төсөл юм.

Энэ нь Linux-н ертөнцөд олон хамаарлуудтай бөгөөд суулгахад хэцүү төвөгтэй програм гэдгээрээ алдартай. FreeBSD-н портын систем ихэнх процессуудыг хялбаршуулдаг боловч зарим нэг бүрэлдэхүүнүүдийг гараар тохируулах шаардлагатай байдаг. Энэ хэсэг MythTV-г суулгаж тохируулахад туслах зорилготой.


8.6.1. Тоног төхөөрөмж

MythTV нь енкодер болон тюнер зэрэг видео оролтын төхөөрөмжүүд рүү хандахын тулд V4L-г ашиглахаар хийгдсэн. Одоогийн байдлаар MythTV нь multimedia/webcamd-н дэмждэг USB DVB-S/C/T картуудтай илүү сайн ажилладаг. Яагаад гэвэл webcamd нь V4L хэрэглэгчийн талбарын програмтай байдаг. webcamd-н дэмждэг дурын DVB карт MythTV-тэй ажиллах боловч ажилладаг гэж бүртгэгдсэн картуудын жагсаалтыг эндээс олж болно. Дараах multimedia/pvr250 ба multimedia/pvrxxx багцуудад Hauppauge картуудын хувьд бас драйверууд байдаг боловч тэдгээр нь MythTV-н 0.23 хувилбараас дээшхи хувилбаруудтай ажилладаггүй стандарт бус драйверын интерфэйстэй байдаг.

HTPC дээр байгаа бүх DVB драйверуудын жагсаалт бий.


8.6.2. Хамаарлууд

Уян хатан, модулчлагдсан учир MythTV нь хэрэглэгчид өөр өөр машинууд дээр нүүр болон арын програмуудыг ажиллуулах боломжийг олгодог.

Нүүр талын програмын хувьд multimedia/mythtv-frontend болон X сервер шаардлагатай бөгөөд үүнийг x11/xorg-с олж болно. Ер нь бол нүүрэнд ажиллах компьютер бас XvMC болон хэрэв боломжтой бол LIRC-тэй нийцтэй алсын удирдлагыг дэмждэг видео карттай байвал маш сайн.

Ар талын програмын хувьд multimedia/mythtv болон MySQL™ өгөгдлийн сан шаардлагатай бөгөөд нэмэлтээр тюнер ба бичлэг хадгалах хадгалалтын төхөөрөмж байж болох юм. MySQL багц нь multimedia/mythtv-г суулгаж байх явцад хамаарал хэлбэрээр автоматаар суух ёстой.


8.6.3. MythTV-г суулгах

MythTV-г суулгахын тулд дараах алхмуудыг ашиглана. Эхлээд FreeBSD-н портын цуглуулгаас MythTV-г суулгана:

# cd /usr/ports/multimedia/mythtv
# make install

MythTV өгөгдлийн санг суулгана:

# mysql -uroot -p < /usr/local/share/mythtv/database/mc.sql

Арын тохиргоог хийнэ:

# mythtv-setup

Арын програмыг ажиллуулна:

# echo 'mythbackend_enable="YES"' >> /etc/rc.conf
# /usr/local/etc/rc.d/mythbackend start

8.7. Дүрс скан хийгчид

Бичсэн Марк Фонвил.

8.7.1. Танилцуулга

FreeBSD дээр дүрс скан хийгчдэд хандах боломжийг FreeBSD-ийн портын цуглуулгад байдаг SANE (Scanner Access Now Easy буюу Скан хийгчид хандах Хандалт Одоо Амархан гэгдэх) API олгодог. SANE нь FreeBSD-ийн зарим төхөөрөмжийн драйверууд ашиглан скан хийгчийн техник хангамжид ханддаг.

FreeBSD нь SCSI болон USB скан хийгчдийг дэмждэг. Ямар нэг тохиргоо хийхээсээ өмнө таны скан хийгч SANE-ээр дэмжигдсэн эсэхийг шалгаарай. SANE нь скан хийгчийн дэмжлэг болон түүний төлвийн тухай мэдээллээр таныг хангах дэмжигдсэн төхөөрөмжүүдийн жагсаалттай байдаг. FreeBSD 8.X-ээс өмнөх хувилбарууд дээр uscanner(4) гарын авлагын хуудас нь дэмжигдсэн USB скан хийгчдийн жагсаалтыг бас агуулдаг.


8.7.2. Цөмийн тохиргоо

Дээр дурдсанаар SCSI болон USB интерфэйсүүд нь дэмжигдсэн байдаг. Таны скан хийгчийн интерфэйсээс болоод өөр өөр төхөөрөмжийн драйверууд шаардагддаг.


8.7.2.1. USB интерфэйс

GENERIC цөм нь анхдагчаар USB скан хийгчдийг дэмжихэд шаардлагатай төхөөрөмжийн драйверуудыг агуулдаг. Цөмийг өөрөө тохируулан ашиглах бол дараах мөрүүд өөрийн цөмийн тохиргооны файлд байгаа эсэхийг шалгах хэрэгтэй:

device usb
device uhci
device ohci
device ehci

FreeBSD 8.X-ээс өмнөх системүүдэд дараах мөр бас хэрэгтэй:

device uscanner

FreeBSD-ийн эдгээр хувилбарууд дээр uscanner(4) төхөөрөмжийн драйвер нь USB скан хийгчдийг дэмждэг. FreeBSD 8.0-с хойш энэ дэмжлэгийг libusb(3) сан шууд хангадаг.

Зөв цөмөөр дахин ачаалсны дараа өөрийн USB скан хийгчийг залгана. Таны скан хийгчийг таньж байгааг үзүүлэх мөр системийн мэдэгдлийн буферт (dmesg(8)) гарч ирэх ёстой:

ugen0.2: <EPSON> at usbus0

Эсвэл FreeBSD 7.X систем дээр:

uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2

Бидний ажиллуулж байгаа FreeBSD-ийн хувилбараас хамаарч скан хийгч нь /dev/ugen0.2 эсвэл /dev/uscanner0 гэсэн төхөөрөмжийн цэгийг ашиглаглаж байгааг эдгээр мэдэгдлүүд харуулж байна. Энэ жишээний хувьд EPSON Perfection® 1650 USB скан хийгчийг ашигласан.


8.7.2.2. SCSI интерфэйс

Хэрэв таны скан хийгч SCSI интерфэйстэй ирсэн бол ямар SCSI хянагч хавтанг ашиглахаа мэдэх нь чухал юм. Ашиглагдах SCSI бичил схемээс хамаараад та өөрийн цөмийн тохиргооны файлаа тааруулах хэрэгтэй болно. GENERIC цөм нь хамгийн түгээмэл SCSI хянагчуудыг дэмждэг. NOTES файлыг уншиж өөрийн цөмийн тохиргооны файлд зөв мөрийг нэмсэн эсэхээ шалгаарай. SCSI хувиргагч драйвераас гадна та өөрийн цөмийн тохиргооны файлдаа дараах мөрүүдтэй байх хэрэгтэй:

device scbus
device pass

Таны цөм зөв эмхэтгэгдэж суулгагдсаны дараа ачаалах үед та системийн мэдэгдлийн буферт төхөөрөмжийг харж чадаж байх ёстой:

pass2 at aic0 bus 0 target 2 lun 0
pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
pass2: 3.300MB/s transfers

Таны скан хийгч системийг ачаалах үед асаагүй байсан ч гэсэн гараар camcontrol(8) тушаалын тусламжтай SCSI шугамын хайлтыг хийж илрүүлэх боломжтой байдаг:

# camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successful

Дараа нь скан хийгч SCSI төхөөрөмжүүдийн жагсаалтад гарч ирэх болно:

# camcontrol devlist
<IBM DDRS-34560 S97B>              at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B>              at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10>           at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00>     at scbus2 target 0 lun 0 (pass2,cd0)

SCSI төхөөрөмжүүдийн тухай дэлгэрэнгүй мэдээлэл scsi(4) болон camcontrol(8) гарын авлагын хуудаснуудад байдаг.


8.7.3. SANE тохиргоо

SANE систем нь хоёр хэсэгт хуваагддаг: эдгээр нь арын хэсэг (graphics/sane-backends) болон урд хэсэг (graphics/sane-frontends) юм. Арын хэсэг нь скан хийгчид өөрт нь хандах хандалтыг олгодог. SANE-ий дэмжигдсэн төхөөрөмжүүдийн жагсаалт таны дүрс скан хийгчийг ямар арын хэсэг дэмжихийг заадаг. Та өөрийн төхөөрөмжийг ашиглаж чаддаг байхын тулд өөрийн скан хийгчийн хувьд зөв арын хэсгийг тодорхойлох нь зайлшгүй шаардлагатай юм. Урд хэсэг нь график хайлт хийх интерфэйсийн боломжийг олгодог (xscanimage).

Эхний алхам нь graphics/sane-backends порт юм уу эсвэл багцыг суулгах явдал юм. Дараа нь sane-find-scanner тушаал ашиглан SANE системээр скан хийгчийн илрүүлэлтийг шалгана:

# sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3

Гаралт нь скан хийгчийн интерфэйсийн төрөл болон системд скан хийгчийг залгахад хэрэглэгдсэн төхөөрөмжийн цэгийг үзүүлэх болно. Үйлдвэрлэгч болон бүтээгдэхүүний загвар гарч ирэхгүй байж болох бөгөөд энэ нь тийм чухал биш юм.

Тэмдэглэл: Зарим USB скан хийгчид нь танаас firmware дуудаж ачаалахыг шаарддаг бөгөөд энэ нь арын хэсгийн гарын авлагын хуудсанд тайлбарлагдсан байгаа. Та sane-find-scanner(1) болон sane(7) гарын авлагын хуудаснуудыг бас унших хэрэгтэй юм.

Одоо бид скан хийгчийг скан хийх урд хэсгээр танигдах эсэхийг нь шалгах хэрэгтэй. Анхдагчаар SANE арын хэсгүүд нь scanimage(1) гэгддэг тушаалын мөрийн хэрэгсэлтэй ирдэг. Энэ тушаал нь танд төхөөрөмжүүдийг жагсааж тушаалын мөрөөс дүрс эзэмшилтийг хийхийг зөвшөөрдөг. -L тохируулга нь скан хийгчийн төхөөрөмжүүдийг жагсаахад хэрэглэгддэг:

# scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner

Эсвэл жишээ нь Хэсэг 8.7.2.1-д ашиглагдсан USB скан хийгчтэй бол:

# scanimage -L
device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner

Энэ гаралт нь FreeBSD 8.X системийн хувьд бөгөөд 'epson2:libusb:/dev/usb:/dev/ugen0.2' нь бидэнд скан хийгчийн ашиглаж байгаа арын нэр (epson2) ба төхөөрөмжийн цэгийг (/dev/ugen0.2) олгож байна.

Тэмдэглэл: Гаралт байхгүй юм уу эсвэл скан хийгч танигдсангүй гэсэн мэдэгдэл нь scanimage(1) нь скан хийгчийг таньж чадаагүйг харуулна. Хэрэв ингэсэн бол та арын хэсгийн тохиргооны файлыг засварлаж ашиглагдах скан хийгч төхөөрөмжийг тодорхойлох хэрэгтэй. /usr/local/etc/sane.d/ сан бүх арын хэсгийн тохиргооны файлуудыг агуулдаг. Энэ танилтын асуудал зарим нэг USB скан хийгчдийн хувьд тохиолддог.

Жишээ нь Хэсэг 8.7.2.1-д хэрэглэгдсэн USB скан хийгчтэй байхад FreeBSD 8.X дээр скан хийгч нь ямар ч асуудалгүйгээр олдож ажиллаж байгаа боловч FreeBSD-ийн өмнөх (uscanner(4) драйвер хэрэглэгдэж байгаа) хувилбарууд дээр sane-find-scanner тушаалыг ажиллуулахад дараах мэдээллийг бидэнд өгөх болно:

# sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0

Скан хийгч нь зөв олдсон бөгөөд USB интерфэйсийг ашиглан /dev/uscanner0 төхөөрөмжийн цэгт залгагдсан байна. Одоо бид скан хийгч зөв танигдсан эсэхийг шалгаж болно:

# scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).

Скан хийгч нь танигдаагүй болохоор бид /usr/local/etc/sane.d/epson2.conf файлыг засварлах хэрэгтэй болно. Ашиглагдсан скан хийгчийн загвар нь EPSON Perfection 1650 байсан, тэгэхээр бид epson2 арын хэсгийг скан хийгчийг ашиглахыг мэдлээ. Арын хэсгүүдийн тохиргооны файлууд дахь туслах тайлбаруудыг уншихаа мартуузай. Мөрийн өөрчлөлтүүд нь их энгийн: таны скан хийгчийн хувьд буруу интерфэйстэй бүх мөрүүдийг тайлбар болгоно (бидний хувьд, бидний скан хийгч USB интерфэйсийг ашигладаг болохоор scsi гэсэн үгээс эхэлсэн бүх мөрүүдийг тайлбар болгоно), дараа нь файлын төгсгөлд ашиглагдах интерфэйс болон төхөөрөмжийн цэгийг заасан мөрийг нэмнэ. Энэ тохиолдолд бид дараах мөрийг нэмнэ:

usb /dev/uscanner0

Илүү дэлгэрэнгүй мэдээлэл болон хэрэглээний зөв синтаксын талаар арын хэсгийн тохиргооны файлд байгаа тайлбарууд болон арын хэсгийн гарын авлагын хуудаснаас уншихаа мартуузай. Бид одоо скан хийгч танигдсан эсэхийг шалгаж болно:

# scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner

Бидний USB скан хийгч танигдлаа. Үйлдвэрлэгч болон загвар нь скан хийгчийнхтэй таарахгүй байвал энэ нь тийм чухал биш юм. Бодолцож үзэх гол түлхүүр зүйл нь бидэнд зөв арын хэсгийн нэр болон зөв төхөөрөмжийн цэгийг өгдөг `epson:/dev/uscanner0' талбар юм.

scanimage -L тушаал скан хийгчийг харж чаддаг болсны дараа тохиргоо дуусна. Төхөөрөмж нь одоо скан хийхэд бэлэн болсон байна.

scanimage(1) нь дүрс эзэмшилтийг тушаалын мөрөөс хийхийг бидэнд зөвшөөрдөг боловч дүрс скан хийхдээ график хэрэглэгчийн интерфэйс ашиглахыг эрхэмлэх нь зүйтэй юм. SANE нь хялбар боловч үр ашигтай график интерфэйсийг санал болгодог: энэ нь xscanimage (graphics/sane-frontends) юм.

Xsane (graphics/xsane) нь өөр нэг алдартай график скан хийгч урд хэсэг юм. Энэ урд хэсэг нь төрөл бүрийн скан хийгч горим (фото хуулбар хийх, факс, гэх мэт), өнгөний засвар, бөөнөөр скан хийх гэх мэт дэвшилтэт боломжуудыг санал болгодог. Эдгээр програмууд нь GIMP залгаас болж ашиглагдах боломжтой байдаг.


8.7.4. Бусад хэрэглэгчдэд скан хийгчид хандах боломжийг өгөх

Өмнөх бүх үйлдлүүдийг root зөвшөөрлүүдээр хийсэн билээ. Гэхдээ өөр хэрэглэгчдэд скан хийгчид хандах боломжийг өгөх хэрэг танд байж болох юм. Скан хийгчийн ашигладаг төхөөрөмжийн цэгт хандахад унших болон бичих зөвшөөрлүүд хэрэглэгчид хэрэгтэй болно. Жишээ нь бидний USB скан хийгч operator бүлгийн эзэмшдэг /dev/usb/0.2.0 гэсэн төхөөрөмжийн жинхэнэ цэг рүү симболын холбоос хийгдсэн /dev/ugen0.2 төхөөрөмжийн цэгийг ашиглаж байна (/dev сангийн агуулгыг харахад үүнийг батлах болно). Симболын холбоос болон төхөөрөмжийн цэгийг wheel ба operator бүлэг тус тус эзэмшдэг. joe хэрэглэгчийг эдгээр бүлэгт нэмснээр түүнд скан хийгчийг ашиглах боломжийг бүрдүүлэх боловч аюулгүй байдлын шалтгаанаас болоод та хэрэглэгчийг аль ч бүлэгт ялангуяа wheel бүлэгт нэмэхээсээ өмнө дахин бодох хэрэгтэй. USB төхөөрөмжүүдийг ашиглахад зориулж тусгай бүлэг үүсгэж энэ бүлгийн гишүүдийг скан хийгчид хандах боломжтой болгох нь илүү сайн шийдэл болдог.

Тиймээс бид жишээ нь usb бүлгийг ашиглах болно. Эхний алхам нь энэ бүлгийг pw(8) тушаалын тусламжтай үүсгэх явдал юм:

# pw groupadd usb

Дараа нь /dev/ugen0.2 симболын холбоос хийж /dev/usb/0.2.0 төхөөрөмжийн цэгийг usb бүлгийн хувьд зөв, бичих зөвшөөрлүүдийн (0660 эсвэл 0664) тусламжтай хандах боломжтой болгох ёстой. Учир нь эдгээр файлын эзэмшигч нь (root) тэдгээрт зөвхөн бичиж чаддаг. /etc/devfs.rules файлд дараах мөрүүдийг нэмж энэ бүгдийг хийж болно:

[system=5]
add path ugen0.2 mode 0660 group usb
add path usb/0.2.0 mode 0666 group usb

FreeBSD 7.X хэрэглэгчдэд /dev/uscanner0 гэсэн зөв төхөөрөмжийн цэг бүхий дараах мөрнүүд хэрэгтэй байдаг:

[system=5]
add path uscanner0 mode 660 group usb

Дараа нь дараах мөрийг /etc/rc.conf файлд нэмж машиныг дахин ачаална:

devfs_system_ruleset="system"

Эдгээр мөрнүүдийн тухай дэлгэрэнгүй мэдээллийг devfs(8) гарын авлагын хуудаснаас олж болно.

Одоо скан хийгчид хандах хандалтыг зөвшөөрөхийн тулд хэрэглэгчдийг usb бүлэгт нэмэх л үлдлээ:

# pw groupmod usb -m joe

Дэлгэрэнгүйг pw(8) гарын авлагын хуудаснаас үзнэ үү.


Бүлэг 9. FreeBSD цөмийг тохируулах нь

Шинэчилж дахин бүтцийг өөрчилсөн Жим Мок. Анхлан хувь нэмэр болгож оруулсан Жэйк Хэмби. Орчуулсан Цагаанхүүгийн Ганболд.

9.1. Ерөнхий агуулга

Цөм нь FreeBSD үйлдлийн системийн гол зүрх юм. Энэ нь санах ойг удирдах, аюулгүй байдлын хяналтуудыг хийх, сүлжээнд холбогдох, диск уруу хандах зэрэг олон үйлдлүүдийг хариуцан хийдэг. FreeBSD улам илүү динамикаар тохируулагдах болсон боловч зарим тохиолдолд цөмийг дахин тохируулж хөрвүүлэх шаардлага гардаг.

Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:

  • Та магадгүй яагаад өөрт тохируулсан цөм бүтээх хэрэгтэй талаар.

  • Цөмийн тохиргооны файлыг хэрхэн бичих эсвэл байгаа тохиргооны файлыг хэрхэн өөрчлөх талаар.

  • Цөмийн тохиргооны файлыг хэрхэн ашиглаж шинэ цөм үүсгэж бүтээх талаар.

  • Шинэ цөмийг хэрхэн суулгах талаар.

  • Хэрэв юм буруугаар эргэвэл хэрхэн алдааг олох талаар.

Энэхүү бүлгийн жишээнүүд дэх тушаалууд нь амжилттай болохын тулд root эрхээр ажиллах ёстой.


9.2. Яагаад өөрчлөн тохируулсан цөм бүтээх хэрэгтэй вэ?

Уламжлалаар бол FreeBSD нь “monolithic” цөмтэй байсан байна. Энэ нь цөм тоотой хэдэн төхөөрөмжүүдийн жагсаалтыг дэмжсэн нэг том програм байсан гэсэн үг бөгөөд хэрэв та цөмийн ажиллагааг өөрчлөх бол шинэ цөм хөрвүүлж дараа нь компьютераа шинэ цөмөөр ачаалан эхлүүлэх шаардлагатай байсан билээ.

Өнөөдөр FreeBSD нь цөмийн ихэнх ажиллагаагаа шаардлагын дагуу динамикаар ачаалдаг ба цөмөөс буцааж буулгах боломж бүхий модулиудаар тусгаарлагдсан загвар уруу шилжиж байна. Энэ нь цөм шинэ тоног төхөөрөмжид (зөөврийн компьютер дэх PCMCIA картууд зэрэг) дасан зохицож түүнийг хурдан хүртээмжтэй болгох, эсвэл цөм анх хөрвүүлэгдэхдээ цөмд хэрэггүй байсан шинэ ажиллагааг цөмд бий болгох боломжийг бүрдүүлдэг. Үүнийг модульчлагдсан цөм хэмээдэг юм.

Тэгсэн ч гэсэн зарим статик цөмийн тохиргоог заавал хийх шаардлагатай. Зарим тохиолдолд ажиллагаа нь цөмтэй нягт холбоотой учраас динамикаар ачаалахаар хийх боломжгүй байдаг юм. Бас энэ нь энгийнээр бол тэр үйл ажиллагаанд зориулж динамикаар ачаалах модулийг бичих цаг хэнд ч олдоогүй байж болох юм.

Өөрчлөн тохируулсан цөм бүтээх нь BSD дэвшилтэт хэрэглэгчдийн хувьд хамгийн чухал ажиллагаануудын нэг юм. Энэ процесс нь цаг их зарцуулах боловч таны FreeBSD системд олон ашиг өгөх болно.Өргөн хүрээний тоног төхөөрөмжүүдийг дэмжих ёстой GENERIC цөмтэй харьцуулахад өөрчлөн тохируулсан цөм нь зөвхөн таны PC-ний тоног төхөөрөмжүүдийг дэмждэг. Энэ нь дараах хэд хэдэн ашигтай:

  • Хурдан ачаалах хугацаа. Цөм нь таны систем дэх тоног төхөөрөмжүүдийг зөвхөн шалгах учраас системийг ачаалах хугацаа мэдэгдэхүйц багасдаг.

  • Санах ойн ашиглалт багасна. Өөрчлөн тохируулсан цөм нь ашиглагдахгүй байгаа боломжууд болон төхөөрөмжийн драйверуудыг орхигдуулснаар ихэнхдээ GENERIC цөмөөс бага санах ойг ашигладаг. Цөмийн код нь бусад програмуудад санах ойг ашиглах боломжгүй болгож санах ойд үргэлж байрлаж байдаг учир энэ нь маш чухал юм. Ийм учраас өөрчилсөн цөм нь бага хэмжээний RAM-тай систем дээр ялангуяа ашигтай байдаг.

  • Нэмэлт тоног төхөөрөмжийн дэмжлэг. Дууны картууд зэрэг GENERIC цөмд байхгүй төхөөрөмжүүдийн дэмжлэгийг нэмэх боломжийг танд өөрчлөн тохируулсан цөм олгоно.


9.3. Системийн тоног төхөөрөмж хайж олох нь

Бичсэн Том Рөүдс.

Цөмийн тохиргоо уруу орж үзээд алдахаасаа өмнө машиныхаа тоног төхөөрөмжийн бүртгэлийг олж авах нь ухаалаг явдал юм. FreeBSD нь үндсэн үйлдлийн систем биш тохиолдолд байгаа үйлдлийн системийн тохиргоог харан бүртгэлийн жагсаалтыг хялбархан үүсгэж болно. Жишээ нь Microsoft-ийн Device Manager буюу төхөөрөмжийн менежер нь суулгагдсан төхөөрөмжүүдийн талаарх чухал мэдээллийг ихэвчлэн агуулдаг. Device Manager нь control panel буюу хяналтын самбарт байрладаг.

Тэмдэглэл: Microsoft Windows-ийн зарим хувилбаруудад System гэсэн дүрс байдаг бөгөөд энэ нь Device Manager уруу хандах боломжтой дэлгэцийг харуулдаг.

Хэрэв өөр үйлдлийн систем машин дээр байхгүй бол администратор энэ мэдээллийг өөрөө олох хэрэгтэй болно. Нэг арга нь dmesg(8) хэрэгсэл болон man(1) тушаалуудыг ашиглах явдал юм. FreeBSD дээр ихэнх төхөөрөмжийн драйверууд нь дэмжигдсэн тоног төхөөрөмжүүдийн жагсаалтыг харуулсан гарын авлагын хуудастай байдаг бөгөөд ачаалах үед шалгаж байх явцад олдсон тоног төхөөрөмжийг харуулдаг. Жишээ нь дараах мөрүүд нь psm драйвер хулгана олсон гэдгийг харуулж байна:

psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0

Энэ драйвер нь өөрчлөн тохируулах цөмийн тохиргооны файлд орсон байх эсвэл loader.conf(5) ашиглан ачаалагдсан байх хэрэгтэй болно.

Зарим тохиолдолд dmesg-ээс гарч байгаа өгөгдөл нь ачаалалтын шалгалт, илрүүлэлтийн гаралтыг биш зөвхөн системийн мэдэгдлүүдийг үзүүлдэг. Эдгээр тохиолдлуудад /var/run/dmesg.boot файлыг үзэн гаралтыг олж авч болно.

Тоног төхөөрөмжийг олох өөр нэг арга бол илүү дэлгэрэнгүй гаралтыг үзүүлдэг pciconf(8) хэрэгслийг ашиглах явдал юм. Жишээ нь:

ath0@pci0:3:0:0:        class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
    vendor     = 'Atheros Communications Inc.'
    device     = 'AR5212 Atheros AR5212 802.11abg wireless'
    class      = network
    subclass   = ethernet

pciconf -lv ашиглан олж авсан энэ бяцхан мэдээлэл нь ath драйвер утасгүй Ethernet төхөөрөмжийг олсныг харуулж байна. man ath тушаалыг ашиглавал ath(4) гарын авлагын хуудсыг харуулах болно.

Ашигтай мэлээлэл олж авахын тулд man(1) уруу -k тугийг өгөн ашиглаж болно. Дээрхээс ингэж өгч болно:

# man -k Atheros

Тухайн нэг үг агуулсан гарын авлагын хуудсын жагсаалтыг олж авахын тулд:

ath(4)                   - Atheros IEEE 802.11 wireless network driver
ath_hal(4)               - Atheros Hardware Access Layer (HAL)

Тоног төхөөрөмжийн жагсаалтаар зэвсэглэснээр цөмийг өөрчлөн тохируулж бүтээх процесс нь арай хялбар болно.


9.4. Цөмийн драйверууд, дэд системүүд, болон модулиуд

Өөрчлөн тохируулсан цөмийг бүтээхийн өмнө тэгж хийх шалтгаанаа бодож үзэх хэрэгтэй. Хэрэв тусгайлсан тоног төхөөрөмжийн дэмжлэг хэрэгтэй байгаа бол тэр нь модуль хэлбэрээр аль хэдийн байж байж болох юм.

Цөмийн модулиуд нь /boot/kernel санд байх бөгөөд ажиллаж байгаа цөмд kldload(8)-г ашиглан динамикаар дуудаж болдог. Цөмийн бүх драйверуудын ихэнх нь тусгай модуль болон гарын авлагын хуудастай байдаг. Жишээ нь сүүлийн хэсэг ath гэсэн утасгүй Ethernet драйверийн талаар дурдсан байдаг. Энэ төхөөрөмж нь өөрийн гарын авлагадаа дараах мэдээллийг агуулсан байдаг:

Alternatively, to load the driver as a module at boot time, place the
     following line in loader.conf(5):

           if_ath_load="YES"

Зааврын дагуу /boot/loader.conf файлд if_ath_load="YES" мөрийг нэмснээр энэ модулийг ачаалах үед динамикаар дуудах боломжийг идэвхжүүлнэ.

Гэхдээ зарим тохиолдолд холбоотой модуль байдаггүй. Энэ нь зарим нэг дэд системүүд болон маш чухал драйверуудын хувьд бодит бөгөөд жишээ нь fast file system (FFS) буюу түргэн файлын систем нь цөмд заавал байх шаардлагатай тохируулга юм. Мөн сүлжээний дэмжлэгийн (INET) хувьд ийм байна. Харамсалтай нь драйвер шаардлагатай эсэхийг хэлэх цорын ганц зам нь модулийг нь шалгах явдал юм.

Сануулга: Төхөөрөмж эсвэл тохируулгын дэмжлэгийг хялбараар устгаж эвдэрхий цөмтэй үлдэж болох юм. Жишээ нь ata(4) драйверийг цөмийн тохиргооны файлаас устгачих юм бол ATA дискийн хөтөчүүд нь loader.conf-д модулийг нэмэлгүйгээр эхлэн ачаалахгүй байж болох юм. Хэрэв эргэлзэж байгаа бол модулийг шалгаад дараа нь ердөө л дэмжлэгийг цөмд үлдээх хэрэгтэй.


9.5. Өөрчлөн тохируулсан цөмийг бүтээх ба суулгах нь

Тэмдэглэл: Цөмийг бүтээхэд FreeBSD-ийн гүйцэд эх мод байх шаардлагатай.

Эхлээд цөм бүтээх сангаар аялая. Дурдсан бүх сангуудаас гол нь /usr/src/sys сан байх бөгөөд /sys гэсэн замаар бас хандах боломжтой. Энд байгаа хэд хэдэн дэд сангууд цөмийн өөр өөр хэсгүүдийг илэрхийлэх бөгөөд бидний зорилгод хамгийн чухал нь таны өөрчлөн тохируулах цөмийн тохиргоог засварлах arch/conf сангууд болон таны цөм бүтээгдэх шатны талбар compile сан юм. arch нь i386, amd64, ia64, powerpc, sparc64, эсвэл pc98 (Японд их ашиглагддаг PC тоног төхөөрөмжийн өөр нэг хөгжүүлэлтийн салбар) зэргийг төлөөлдөг. Тухайн архитектурын сан доторх код зөвхөн тэр архитектуртай холбоотой; бусад кодын хэсэг нь FreeBSD порт хийгдэх боломж бүхий бүх тавцангуудын хувьд адил машинаас чөлөөт код байна. Сангийн бүтцийн логик зохион байгуулалт нь дэмжлэг хийгдсэн төхөөрөмж, файлын систем болон өөрийн дэд санд байгаа тохируулга бүртэй хамт байгааг харж болно.

Энэ бүлэгт байгаа жишээ таныг i386 архитектур ашиглаж байгаа гэж авч үзнэ. Хэрэв таны систем өөр архитектур бол замуудын нэрсдээ тохирох өөрчлөлтүүдийг хийгээрэй.

Тэмдэглэл: Хэрэв /usr/src/ сан таны систем дээр байхгүй (эсвэл хоосон бол) эх суугаагүй байна. Бүрэн гүйцэд эх модыг суулгах хялбар аргаар хийхийн тулд root эрхээр sysinstall ажиллуулж Configure сонгоод, дараа нь Distributions сонгоод, src сонгоод, төгсгөлд нь All-г сонгох явдал юм. Хэрэв энэ нь байхгүй бол та /usr/src/sys/ рүү заасан симболын холбоос үүсгэж өгөх ёстой:

# ln -s /usr/src/sys /sys

Дараа нь arch/conf сан уруу шилжээд GENERIC тохиргооны файлыг та өөрийн цөмдөө өгөх нэр уруу хуул. Жишээ нь:

# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL

Уламжлалаар бол энэ нэр нь бүгд том үсгээр байдаг, хэрэв та олон өөр өөр төрлийн FreeBSD машинуудын ажиллагааг хянадаг бол машинуудынхаа нэрээр нэрлэх нь зохимжтой юм. Бид энэ жишээнийхээ зорилгоор MYKERNEL гэж нэрлэе.

Зөвлөгөө: Өөрийн цөмийн тохиргооны файлаа шууд /usr/src доор хадгалах нь буруу байж болох юм. Хэрэв та асуудлуудтай тулгарч байгаа бол /usr/src -ийг устгаад л дахиж эхлэх нь зоригтой алхам байж болох юм. Гэхдээ үүнийг хийгээд хэдэн секундын дараа л та өөрийн өөрчлөн тохируулсан цөмийн тохиргооны файлаа устгасан болохоо мэдэх болно. Мөн GENERIC файлыг шууд засварлах хэрэггүй бөгөөд дараагийн удаа өөрийн эх модыг шинэчлэх үйлдлийг хийхэд дарагдан хуулагдаж таны цөмийн өөрчлөлт алдагдаж магадгүй.

Та цөмийн тохиргооны файлаа өөр газар хадгалж дараа нь i386 сан дахь файл уруу тэмдэгт холбоос үүсгэж болно.

Жишээ нь:

# cd /usr/src/sys/i386/conf
# mkdir /root/kernels
# cp GENERIC /root/kernels/MYKERNEL	
# ln -s /root/kernels/MYKERNEL

Одоо MYKERNEL-ийг өөрийн дуртай текст засварлагч дээр засаарай. Хэрэв та дөнгөж эхэлж байгаа бол байгаа цорын ганц засварлагч нь vi байж болох бөгөөд түүнийг энд тайлбарлахад хэтэрхий төвөгтэй боловч номын жагсаалтад байгаа өөр олон номнуудад бичсэн байгаа. Гэхдээ FreeBSD нь ee гэдэг хялбар засварлагчийг санал болгодог бөгөөд хэрэв та эхлэн сурагч бол энэ нь таны сонгох засварлагч байх болно. Өөрийн тохиргоог тусгах эсвэл GENERIC файлаас өөрийн хийсэн өөрчлөлтүүдээс ялгахын тулд дээд хэсэгт байгаа мөрүүдийг чөлөөтэй өөрчлөөрэй.

Хэрэв та SunOS эсвэл өөр BSD үйлдлийн системийн доор цөм бүтээж байсан бол энэ файлын ихэнх хэсэг нь маш танил байх болно. Хэрэв та DOS зэрэг өөр үйлдлийн системээс ирж байгаа бол нөгөө талаасаа GENERIC тохиргооны файл төвөгтэй юм шиг санагдаж болох бөгөөд Тохиргооны файл хэсгийн тайлбаруудыг удаан нухацтай дагаарай.

Тэмдэглэл: Хэрэв та FreeBSD төслийн хамгийн сүүлийн эхээр өөрийн эх модоо сүүлийн үеийн хэлбэрт авчирсан бол шинэчлэх шатуудаа хэрэгжүүлж эхлэхээсээ өмнө /usr/src/UPDATING файлыг үргэлж шалгаж байх нь чухал юм. Энэ файл нь шинэчилсэн эх код доторх тусгай анхаарал шаардлагатай чухал асуудлууд эсвэл хэсгүүдийн талаар тайлбарладаг. /usr/src/UPDATING нь үргэлж таны FreeBSD хувилбартай таардаг бөгөөд энэ гарын авлагаас илүү шинэ мэдээлэлтэй, сүүлийн үеийнх байдаг.

Та цөмд зориулан эх кодоо хөрвүүлэх шаардлагатай.

Цөмийг бүтээх нь

Тэмдэглэл: Цөмийг бүтээхэд FreeBSD-ийн гүйцэд эх мод байх шаардлагатай.

  1. /usr/src сан уруу орно:

    # cd /usr/src
    
  2. Цөмийг хөрвүүлнэ:

    # make buildkernel KERNCONF=MYKERNEL
    
  3. Шинэ цөмийг суулгана:

    # make installkernel KERNCONF=MYKERNEL
    

Зөвлөгөө: Анхдагчаар өөрчлөн тохируулсан цөмийг бүтээхэд бүх цөмийн модулиуд бас бүтээгдэнэ. Хэрэв та цөмийг хурдан шинэчлэхийг эсвэл зөвхөн өөрчлөн тохируулсан модулиудыг бүтээхийг хүсэж байгаа бол цөмийг бүтээж эхлэхээсээ өмнө /etc/make.conf файлыг засварлах хэрэгтэй:

MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs

Энэ хувьсагч нь бүгдийг биш бүтээх модулиудын жагсаалтыг тодорхойлдог.

WITHOUT_MODULES = linux acpi sound ntfs

Энэ хувьсагч нь бүтээх процессод оруулахгүй байх дээд түвшний модулиудын жагсаалтыг тодорхойлдог. Цөмийг бүтээх процессийн явцад танд хэрэг болохуйц бусад хувьсагчуудын тухайд make.conf(5) гарын авлагын хуудсанд хандаж үзнэ үү.

Шинэ цөм /boot/kernel санд /boot/kernel/kernel нэрээр хуулагдах бөгөөд хуучин цөм нь /boot/kernel.old/kernel уруу хуулагдана. Одоо системийг унтраагаад шинэ цөмийг ашиглан дахин ачаал. Хэрэв ямар нэг юм болохгүй болбол энэ бүлгийн төгсгөлд байгаа алдааг олж засварлах заавар танд хэрэгтэй байж болох юм. Таны шинэ цөм ачаалахгүй тохиолдолд хэрхэн сэргээх талаар тайлбарласан хэсгийг заавал уншаарай.

Тэмдэглэл: Ачаалах loader(8) ба тохиргоо зэрэг ачаалах процесстой холбоотой бусад файлууд /boot -д хадгалагдана. Гуравдагч этгээдийн эсвэл өөрчлөн тохируулсан модулиуд /boot/kernel-д байрлах бөгөөд гэхдээ модулиудыг хөрвүүлсэн цөмийн адил сүүлийн үеийн хэлбэрт байлгах нь маш чухал гэдгийг хэрэглэгчид мэдэх шаардлагатай. Хөрвүүлсэн цөмтэй хамт ажиллуулахааргүй модулиуд нь тогтворгүй байдал эсвэл буруу ажиллагаанд хүргэж болзошгүй юм.


9.6. Тохиргооны файл

Шинэчилсэн Жоэл Даль.

Тохиргооны файлын ерөнхий хэлбэр нь маш энгийн билээ. Мөр болгон түлхүүр үг бөгөөд нэг болон хэд хэдэн нэмэлт өгөгдлөөс тогтоно. Амархан болгох үүднээс ихэнх мөрүүд нь зөвхөн нэг нэмэлт өгөгдөлтэй байна. # тэмдэгтийн ард байгаа зүйлс тайлбар бөгөөд хаягдаж тооцогдоно. Дараах хэсэгт түлхүүр үг болгоныг GENERIC -д жагсаасан дарааллаар нь тайлбарлаж байна. Архитектураас хамааралтай тохируулгууд болон төхөөрөмжийн ядраамаар жагсаалтын талаар GENERIC файл байгаа сангийн нэгэн адил санд байрлах NOTES файлаас үзнэ үү. Архитектураас хамааралгүй тохируулгуудын талаар /usr/src/sys/conf/NOTES файлаас үзнэ үү.

Тохиргооны файлуудад ашиглах боломжтой шинэ include тохируулга бий болсон. Энэ нь өөр нэг тохиргооны файлыг тухайн тохиргооны файлд оруулах боломжийг бүрдүүлэх бөгөөд ингэснээр тухайн файлын хувьд харьцангуй бага өөрчлөлтүүдийг арчлах боломжтой болгодог. Жишээ нь хэрэв танд цөөн тооны нэмэлт тохируулга эсвэл драйверуудтай GENERIC цөм шаардлагатай бол энэ нь GENERIC-ийн хувьд цөөн өөрчлөлтийг арчлах боломжийг танд олгоно:

include GENERIC
ident MYKERNEL

options         IPFIREWALL
options         DUMMYNET
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPDIVERT

Энэ загвар нь тохиргооны файлуудыг эхнээс нь бичих уламжлалт аргын хажууд хамаагүй илүү боломжийг олгодог гэдэгтэй ихэнх админинстраторууд санал нэг байдаг: локал тохиргооны файл нь зөвхөн GENERIC цөмөөс ялгаатай локал өөрчлөлтүүдийг харуулах бөгөөд шинэчлэлт хийгдэхэд GENERIC-д нэмэгдсэн шинэ боломжууд нь nooptions эсвэл nodevice тохируулгуудаар тусгайлан заагдаагүй л бол локал цөмд нэмэгддэг. Энэ бүлгийн үлдсэн хэсэг ердийн тохиргооны файлын агуулга ба төрөл бүрийн тохируулгын үүрэг болон ажиллах төхөөрөмжүүдийг тайлбарлах болно.

Тэмдэглэл: Тест хийх зорилгоор ихэнхдээ бүх байгаа тохируулгууд агуулсан файлыг бүтээхдээ дараах тушаалыг root эрхээр ажиллуулна:

# cd /usr/src/sys/i386/conf && make LINT

Дараах жишээ нь шаардлагатай бол тодотгох зорилгоор оруулсан төрөл бүрийн нэмэлт тайлбар бүхий GENERIC цөмийн тохиргооны файл юм. Энэ жишээ нь таны /usr/src/sys/i386/conf/GENERIC дахь хуулбартай их ойрхон таарах ёстой.

machine		i386

Энэ нь машины архитектур юм. Энэ нь amd64, i386, ia64, pc98, powerpc, эсвэл sparc64 -ийн аль нэг байх ёстой.

cpu          I486_CPU
cpu          I586_CPU
cpu          I686_CPU

Дараах тохируулга нь таны системд байгаа CPU-ийн төрлийг заана. Та олон CPU мөртэй байж болох боловч (хэрэв, жишээ нь та I586_CPU эсвэл I686_CPU хоёрын алийг ашиглахаа сайн мэдэхгүй байгаа бол) өөрчлөн тохируулсан цөмийн хувьд зөвхөн байгаа CPU-гээ заах нь зүйтэй юм. Хэрэв та өөрийн CPU-ийн төрлийг сайн мэдэхгүй байгаа бол /var/run/dmesg.boot файлыг шалгаж ачаалах үеийн мэдээллүүдийг үзэж болно.

ident          GENERIC

Энэ нь цөмийг тодорхойлох нэр юм. Хэрэв та түрүүний жишээнүүдэд дурдсан заавруудыг дагасан бол өөрийн цөмийг нэрлэсэн шигээ өөрөөр хэлбэл MYKERNEL хэмээн өөрчлөх хэрэгтэй. ident мөрд оруулсан утга нь таныг цөмийг ачаалах үед хэвлэгдэн гарах учир та өөрийн ердийн цөмөөс шинэ цөмөө тусад нь хадгалахыг хүсвэл шинэ цөмдөө өөр нэр өгөх нь ашигтай байдаг (өөрөөр хэлбэл та туршилтын цөм бүтээхийг хүсвэл).

#To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         # Default places to look for devices.

device.hints(5) нь төхөөрөмжүүдийн драйверуудын тохируулгуудыг хийхэд ашиглагдана. loader(8)-ийн ачаалах үе шалгах анхдагч байрлал нь /boot/device.hints байна. hints тохируулгыг ашиглаад та эдгээр зөвлөгөөнүүдийг статикаар хөрвүүлж болно. Тэгэхэд /boot дотор device.hints файл үүсгэх шаардлагагүй болох юм.

makeoptions     DEBUG=-g          # Build kernel with gdb(1) debug symbols

FreeBSD -г бүтээх ердийн процесс нь дибаг (debug) хийх мэдээллийг агуулдаг бөгөөд цөмийг бүтээх үед -g тохируулгыг gcc(1) уруу өгснөөр дибаг (debug) хийх мэдээлэл идэвхждэг.

options          SCHED_ULE         # ULE scheduler

FreeBSD -ийн анхдагч системийн төлөвлөгч/хуваарилагч. Үүнийг үлдээ.

options          PREEMPTION         # Enable kernel thread preemption

Цөм дэх урсгалуудыг (thread) өөр илүү өндөр давуу эрхтэй урсгалуудаар солих боломжийг бүрдүүлнэ. Энэ нь харилцан ажиллах болон таслах урсгалуудыг (interrupt threads) хүлээлгэлгүйгээр аль болох түргэн ажиллуулахад тусалдаг.

options          INET              # InterNETworking

Сүлжээний дэмжлэг. Сүлжээнд холбогдохгүй ч гэсэн энэ тохиргоог үлдээгээрэй. Ихэнх програмууд эргэн холбогдох (loopback буюу өөрөөр хэлбэл өөрийн PC дотор сүлжээний холболт хийх) сүлжээг шаарддаг учир энэ нь үндсэндээ зайлшгүй шаардлагатай.

options          INET6             # IPv6 communications protocols

Энэ нь IPv6 холбооны протоколуудыг идэвхжүүлдэг.

options          FFS               # Berkeley Fast Filesystem

Энэ нь энгийн хатуу дискний файлын систем. Энэ тохируулгыг хатуу дискнээс ачаалах бол үлдээгээрэй.

options          SOFTUPDATES       # Enable FFS Soft Updates support

Энэ тохируулга нь Зөөлөн Шинэчлэлүүдийг цөм идэвхжүүлдэг бөгөөд диск уруу бичих хандалтыг хурдасгахад тусалдаг. Хэдийгээр энэ боломжийг цөмөөр хангадаг боловч диск дээр идэвхжүүлэх шаардлагатай. Таны системийн дискнүүд дээр Зөөлөн Шинэчлэлүүд идэвхжсэн эсэхийг mount(8) -ийн үр дүнгээр хянаарай. Хэрэв та soft-updates тохируулгыг олж харахгүй байгаа бол tunefs(8) (одоо байгаа системийн хувьд) эсвэл newfs(8) (шинэ файлын системийн хувьд) ашиглан идэвхжүүлэх хэрэгтэй.

options          UFS_ACL           # Support for access control lists

Энэ тохируулга нь хандалтыг хянах жагсаалтын дэмжлэгийг цөмд идэвхжүүлдэг. Энэ нь өргөтгөсөн шинж чанарууд ба UFS2-ийг ашиглахад тулгуурлаж байгаа бөгөөд энэ боломжийн талаар Хэсэг 15.11 дээр дэлгэрэнгүй тайлбарласан байдаг. ACL-үүд эхэндээ идэвхжүүлсэн байдаг бөгөөд хэрэв урьд нь файлын систем дээр ашиглагдаж байсан бол хандалтыг хянах жагсаалтыг устгаж файлуудыг хамгаалсан аргыг урьдчилан тааж болшгүй байдалт хүргэдэг учир энэ тохируулгыг хааж болохгүй.

options          UFS_DIRHASH       # Improve performance on big directories

Энэ тохируулга нь нэмэгдэл санах ойг зарлагадаж том сангуудад хийх дискний үйлдлүүдийг хурдасгах ажиллагааг оруулдаг. Та том сервер эсвэл харилцан ажиллах ажлын станцад зориулж энэ тохируулгыг ерөнхийдөө хадгалах хэрэгтэй бөгөөд хэрэв та FreeBSD-г санах ой чухал жижиг систем ба дискний хандалтын хурдны ач холбогдол багатай галт хана мэтийн систем дээр ашиглаж байгаа бол устгаарай.

options          MD_ROOT           # MD is a potential root device

Энэ тохируулга нь санах ой дээр тулгуурласан, root төхөөрөмж болж ашиглагдах виртуал дискний дэмжлэгийг идэвхжүүлдэг.

options          NFSCLIENT         # Network Filesystem Client
options          NFSSERVER         # Network Filesystem Server
options          NFS_ROOT          # NFS usable as /, requires NFSCLIENT

Сүлжээний файлын систем. Хэрэв та TCP/IP-аар UNIX файлын серверээс хуваалтыг холболт хийх төлөвлөгөөгүй бол эдгээрийг тайлбар болгон хааж болно.

options          MSDOSFS           # MSDOS Filesystem

MS-DOS файлын систем. Хэрэв та DOS хэлбэржүүлсэн хатуу дискний хуваалтыг ачаалах үед холболт хийх төлөвлөгөөгүй бол үүнийг айлгүйгээр тайлбар болгон хааж болно. Энэ нь дээр тайлбарласны дагуу эхний удаа DOS хуваалтыг холболт хийхэд автоматаар ачаалагдах болно. Мөн маш сайн emulators/mtools програм хангамж нь холболт болон салгалт хийлгүйгээр DOS уян дискнүүдэд хандах боломжийг бүрдүүлдэг (энэ нь MSDOSFS-ийг огт шаарддаггүй).

options          CD9660            # ISO 9660 Filesystem

CDROM-уудад зориулсан ISO 9660 файлын систем. Хэрэв та CDROM хөтлөгч байхгүй эсвэл CD-ээс өгөгдлийг хааяа холболт хийдэг бол (таныг анх өгөгдлийн CD-г холболт хийх үед динамикаар ачаалагддаг учраас) тайлбар болгож хааж болно. Дууны CD-үүд энэ файлын системийг хэрэглэдэггүй.

options          PROCFS            # Process filesystem (requires PSEUDOFS)

Процессийн файлын систем. Энэ нь ps(1) шиг програмууд процессуудын ажиллаж байгаа талаар дэлгэрэнгүй мэдээлэл танд өгөх боломжийг бүрдүүлдэг /proc дээр холболт хийгдсэн “хуурамч” файлын систем юм. Ихэнх дибаг хийх ба монитор хийх хэрэгслүүд PROCFS -гүйгээр ажиллахаар хийгдсэн байдаг: суулгалтууд нь энэ файлын системийг анхдагчаар холболт хийхгүй, тиймээс PROCFS-ийг ашиглах нь ихэнх тохиолдолд шаардлагагүй байдаг.

options          PSEUDOFS          # Pseudo-filesystem framework

Цөмүүд PROCFS ашиглаж байгаа бол бас PSEUDOFS дэмжлэгийг оруулах шаардлагатай.

options          GEOM_PART_GPT          # GUID Partition Tables.

Энэ тохируулга нь нэг диск дээр их олон тооны хуваалт байх боломжийг авчирна.

options          COMPAT_43         # Compatible with BSD 4.3 [KEEP THIS!]

4.3BSD-тэй нийцтэй байх. Үүнийг энэ чигээр орхи; хэрэв үүнийг тайлбар болгож хаавал зарим програмууд сонин ажиллаж эхэлнэ.

options          COMPAT_FREEBSD4   # Compatible with FreeBSD4

Энэ тохируулга нь FreeBSD-ийн хуучин хувилбарууд дээр хөрвүүлэгдсэн, хуучин системийн дуудлагуудын интерфэйсүүдийг ашигладаг програмуудыг дэмжихэд шаардлагатай. Энэ тохируулгыг хуучин програмууд ашиглаж болзошгүй бүх i386 системүүд дээр ашиглахыг зөвлөж байна; ia64 ба Sparc64 зэрэг 5.X дээр зөвхөн дэмжлэг хийгдсэн тавцангууд энэ тохируулгыг шаарддаггүй.

options          COMPAT_FREEBSD5   # Compatible with FreeBSD5

Энэ тохируулга нь FreeBSD 5.X системийн дуудлагын интерфэйсүүдийг ашигладаг, FreeBSD 5.X хувилбарууд дээр эмхэтгэгдсэн програмуудыг дэмжихэд шаардлагатай.

options          COMPAT_FREEBSD6   # Compatible with FreeBSD6

Энэ тохируулга нь FreeBSD 6.X системийн дуудлагын интерфэйсүүдийг ашигладаг, FreeBSD 6.X хувилбарууд дээр эмхэтгэгдсэн програмуудыг дэмжихэд шаардлагатай.

options          COMPAT_FREEBSD7   # Compatible with FreeBSD7

Энэ тохируулга нь FreeBSD 8 болон түүнээс хойшхи хувилбарууд дээр FreeBSD 7.X системийн дуудлагын интерфэйсүүдийг ашигладаг, FreeBSD 7.X хувилбарууд дээр эмхэтгэгдсэн програмуудыг дэмжихэд шаардлагатай.

options          SCSI_DELAY=5000  # Delay (in ms) before probing SCSI

Энэ нь цөмийг SCSI төхөөрөмжүүдийг шалгаж эхлэхээс өмнө 5 секунд түр зогсооно. Хэрэв та зөвхөн IDE хатуу дисктэй бол үүнийг орхиж болно, эсрэг тохиолдолд ачаалалтыг хурдасгахын тулд энэ тоог багасгаж болно. Мэдээж та үүнийг хийгээд FreeBSD таны SCSI төхөөрөмжүүдийг танихгүй бол та дахин үүнийг ихэсгэж болно.

options          KTRACE            # ktrace(1) support

Энэ нь дибаг хийхэд ашигтай, цөмийн процессийг дагах боломжийг идэвхжүүлдэг.

options          SYSVSHM           # SYSV-style shared memory

Энэ тохируулга нь System V хуваалцсан санах ойн боломж бүрдүүлдэг. Энэ боломжийн өргөн хэрэглээнүүдийн нэг нь X дэх XSHM өргөтгөл бөгөөд үүнийг график их шаарддаг олон програмууд автоматаар илүү хурд авахын тулд ашигладаг. Хэрэв та X ашигладаг бол үүнийг заавал оруулахыг хүсэх болно.

options          SYSVMSG           # SYSV-style message queues

System V мэдээллүүдийн дэмжлэг. Энэ тохируулга нь зөвхөн хэдхэн зуун байтыг цөмд нэмдэг.

options          SYSVSEM           # SYSV-style semaphores

System V семафорын дэмжлэг. Нэг их өргөн ашиглагддаггүй боловч хэдхэн зуун байтыг цөмд нэмдэг.

Тэмдэглэл: ipcs(1) тушаалын -p тохируулга нь эдгээр System V боломж бүрийг ашигласан процессуудыг жагсаадаг.

options 	     _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions

Жинхэнэ-хугацааны (real-time) өргөтгөлүүд 1993 оны POSIX®-д нэмэгдсэн.Портуудын цуглуулгаас зарим програмууд эдгээрийг ашигладаг (StarOffice).

options          KBD_INSTALL_CDEV  # install a CDEV entry in /dev

Энэ тохируулга нь гарын төхөөрөмжийн цэгийг /dev-д үүсгэх боломжийг олгоход шаардлагатай байдаг.

options          ADAPTIVE_GIANT    # Giant mutex is adaptive.

Giant гэдэг нь харилцан нэгийгээ оруулахгүй байх зарчмын (унтах мутекс) нэр бөгөөд энэ нь цөмийн их эх үүсвэрүүдийг хамгаалдаг. Өнөөдөр энэ нь үйл ажиллагааны саатаж байгаа хүлээн авах боломжгүй хэсэг бөгөөд үүнийг эх үүсвэр бүрийг хамгаалах цоожуудаар идэвхтэйгээр сольж байгаа билээ. ADAPTIVE_GIANT тохируулга нь хэсэг бүлэг мутексуудад Giant-ийг адаптиваар эргэхээр оруулдаг. Энэ нь урсгал (thread) Giant мутексийг цоожлохыг хүсэж байх үед, гэхдээ энэ нь өөр CPU дээр урсгалаар цоожлогдсон байна, эхний урсгал цоож сулрахыг хүлээн ажилласаар байна. Хэвийн үед урсгал унтаа байдалд эргэж орох бөгөөд өөрийн дараагийн ажиллах боломжийг хүлээнэ. Та итгэлгүй байгаа бол үүнийг орхино уу.

Тэмдэглэл: FreeBSD 8.0-RELEASE болон түүнээс хожуу үеийн хувилбаруудад бүх мутексууд нь NO_ADAPTIVE_MUTEXES тохируулгатайгаар бүтээгдэж зохицох чадваргүй гэж тохируулагдаагүй л бол анхдагчаар адаптив буюу зохицох чадвартай байдаг. Иймээс одоо Giant нь зохицох чадвартай бөгөөд ADAPTIVE_GIANT тохируулга нь цөмийн тохиргооноос хасагдсан юм.

device          apic               # I/O APIC

apic төхөөрөмж нь I/O APIC-ийг тасалдал хүргэхэд ашиглах боломжийг нээдэг. apic төхөөрөмж нь UP болон SMP цөмүүдэд хоёуланд нь ашиглагдаж болох бөгөөд гэхдээ SMP цөмд зайлшгүй шаардлагатай. options SMP мөрийг нэмж олон процессорын дэмжлэгийг оруулна уу.

Тэмдэглэл: apic төхөөрөмж нь зөвхөн i386 архитектур дээр байдаг бөгөөд энэ тохиргооны мөрийг бусад архитектурууд дээр ашиглах ёсгүй юм.

device          eisa

Хэрэв та EISA эх хавтантай бол үүнийг оруулаарай. Энэ нь EISA шугамын бүх төхөөрөмжүүдийн хувьд автомат илрүүлэлт болон тохиргооны дэмжлэгийг нээж өгдөг.

device          pci

Хэрэв та PCI эх хавтантай бол үүнийг оруулаарай. Энэ нь PCI картуудыг автомат илрүүлэлт болон PCI-аас ISA шугам уруу гарах дэмжлэгийг нээж өгдөг.

# Floppy drives
device          fdc

Энэ нь уян диск хөтлөгчийн хянагч.

# ATA and ATAPI devices
device          ata

Энэ драйвер бүх ATA болон ATAPI төхөөрөмжүүдийг дэмждэг. Орчин үеийн машинуудын бүх PCI ATA/ATAPI төхөөрөмжүүдийг илрүүлэхийн тулд зөвхөн нэг device ata мөр таны цөмд хэрэгтэй.

device          atadisk                 # ATA disk drives

Энэ нь device ata мөртэй цуг ATA дискний төхөөрөмжүүдэд хэрэгтэй.

device          ataraid                 # ATA RAID drives

Энэ нь device ata мөртэй цуг ATA RAID хөтлөгчүүдэд хэрэгтэй.


device          atapicd                 # ATAPI CDROM drives

Энэ нь device ata мөртэй цуг ATA CDROM хөтлөгчүүдэд хэрэгтэй.

device          atapifd                 # ATAPI floppy drives

Энэ нь device ata мөртэй цуг ATA уян дискний хөтлөгчүүдэд хэрэгтэй.

device          atapist                 # ATAPI tape drives

Энэ нь device ata мөртэй цуг ATA соронзон хальсны хөтлөгчүүдэд хэрэгтэй.

options         ATA_STATIC_ID           # Static device numbering

Энэ нь хянагчийн дугаарыг статик болгох бөгөөд энэнгүйгээр төхөөрөмжийн дугаарууд динамикаар өгөгддөг.

# SCSI Controllers
device          ahb        # EISA AHA1742 family
device          ahc        # AHA2940 and onboard AIC7xxx devices
options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
		    # output.  Adds ~128k to driver.
device          ahd        # AHA39320/29320 and onboard AIC79xx devices
options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
		    # output.  Adds ~215k to driver.
device          amd        # AMD 53C974 (Teckram DC-390(T))
device          isp        # Qlogic family
#device         ispfw      # Firmware for QLogic HBAs- normally a module
device          mpt        # LSI-Logic MPT-Fusion
#device         ncr        # NCR/Symbios Logic
device          sym        # NCR/Symbios Logic (newer chipsets + those of `ncr')
device          trm        # Tekram DC395U/UW/F DC315U adapters

device          adv        # Advansys SCSI adapters
device          adw        # Advansys wide SCSI adapters
device          aha        # Adaptec 154x SCSI adapters
device          aic        # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device          bt         # Buslogic/Mylex MultiMaster SCSI adapters

device          ncv        # NCR 53C500
device          nsp        # Workbit Ninja SCSI-3
device          stg        # TMC 18C30/18C50

SCSI хянагчууд. Таны системд байхгүй байгааг тайлбар болгон хаана уу. Хэрэв та зөвхөн IDE системтэй бол эдгээр мөрүүдийг бүгдийг устгаж болно. *_REG_PRETTY_PRINT мөрүүд нь өөр өөрийнхөө тохирох драйверуудад зориулагдсан дибаг хийх тохируулгууд юм.

# SCSI peripherals
device          scbus      # SCSI bus (required for SCSI)
device          ch         # SCSI media changers
device          da         # Direct Access (disks)
device          sa         # Sequential Access (tape etc)
device          cd         # CD
device          pass       # Passthrough device (direct SCSI access)
device          ses        # SCSI Environmental Services (and SAF-TE)

SCSI захын төхөөрөмжүүд. Дахин хэлэхэд таны системд байхгүй байгааг тайлбар болгон хаагаарай эсвэл та зөвхөн IDE тоног төхөөрөмжтэй бол эдгээр мөрүүдийг бүгдийг устгаж болно.

Тэмдэглэл: USB umass(4) драйвер болон бусад цөөн хэдэн драйверууд жинхэнэ SCSI төхөөрөмжүүд биш боловч SCSI дэд системийг ашигладаг. Тийм болохоор хэрэв цөмийн тохиргоонд тийм драйверууд орсон байвал SCSI дэмжлэгийг устгаагүй эсэхээ шалгаарай.

# RAID controllers interfaced to the SCSI subsystem
device          amr        # AMI MegaRAID
device          arcmsr     # Areca SATA II RAID
device          asr        # DPT SmartRAID V, VI and Adaptec SCSI RAID
device          ciss       # Compaq Smart RAID 5*
device          dpt        # DPT Smartcache III, IV - See NOTES for options
device          hptmv      # Highpoint RocketRAID 182x
device          hptrr      # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
device          iir        # Intel Integrated RAID
device          ips        # IBM (Adaptec) ServeRAID
device          mly        # Mylex AcceleRAID/eXtremeRAID
device          twa        # 3ware 9000 series PATA/SATA RAID

# RAID controllers
device          aac        # Adaptec FSA RAID
device          aacp       # SCSI passthrough for aac (requires CAM)
device          ida        # Compaq Smart RAID
device          mfi        # LSI MegaRAID SAS
device          mlx        # Mylex DAC960 family
device          pst        # Promise Supertrak SX6000
device          twe        # 3ware ATA RAID

Дэмжигдсэн RAID хянагчууд. Хэрэв танд эдгээрээс нэг нь ч байхгүй бол тайлбар болгон хааж эсвэл устгаж болно.

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc     # AT keyboard controller

Гарын хянагч (atkbdc) AT гар ба PS/2 загварын заагч төхөөрөмжүүдэд I/O үйлчилгээнүүдийг хангадаг. Энэ хянагчийг гарын драйвер (atkbd) болон PS/2 заагч төхөөрөмжийн драйвер (psm) шаарддаг.

device          atkbd      # AT keyboard

atkbd драйвер нь atkbdc хянагчтай цуг AT гарын хянагчид залгасан AT 84 гар болон AT өргөжүүлсэн гаруудад хандах боломж олгодог.

device          psm        # PS/2 mouse

Хэрэв таны хулгана PS/2 порт уруу залгагдаж байгаа бол энэ төхөөрөмжийг ашиглана уу.

device          kbdmux        # keyboard multiplexer

Олон гар залгах боломжийн анхны дэмжлэг. Хэрэв та систем дээрээ нэгээс олон гар ашиглахгүй бол энэ мөрийг аюулгүйгээр устгаж болно.

device          vga        # VGA video card driver

Видео картын драйвер.

device          splash     # Splash screen and screen saver support

Эхлэх үе дэх хоромхон зуур гарах дэлгэц! Дэлгэц амраагчид нь үүнийг бас шаарддаг.

# syscons is the default console driver, resembling an SCO console
device          sc

sc нь анхдагч консолийн драйвер бөгөөд SCO консолыг дуурайдаг. Ихэнх бүрэн дэлгэцийн програмууд консол уруу termcap зэрэг терминалийн өгөгдлийн баазын сангийн тусламжтайгаар ханддаг бөгөөд үүнийг ашиглах эсэх эсвэл VT220-тай нийцтэй консол драйвер болох vt-ийг ашиглах эсэх нь хамаагүй юм. Та нэвтэрсний дараа бүрэн дэлгэцийн програмууд энэ консол дээр ажиллахдаа асуудалтай байвал өөрийн TERM хувьсагчаа scoansi болгоорой.

# Enable this for the pcvt (VT220 compatible) console driver
#device          vt
#options         XSERVER          # support for X server on a vt console
#options         FAT_CURSOR       # start with block cursor

Энэ нь VT100/102-той арагшаагаа нийцтэй, VT220-той нийцтэй консол драйвер юм. Энэ нь sc-тэй нийцгүй зарим зөөврийн компьютер дээр сайн ажилладаг. Та нэвтэрсний дараа өөрийн TERM хувьсагчаа vt100 эсвэл vt220 болгоорой. Мөн энэ драйвер нь sc төхөөрөмжүүдэд зориулсан termcap эсвэл terminfo оруулгууд ихэнхдээ байхгүй байдаг асар олон тооны өөр өөр машинууд уруу сүлжээгээр дамжин холбогдох үед ашигтай байж болно -- vt100 нь виртуалаар дурын тавцан дээр байх ёстой.

device          agp

Хэрэв та систем дээрээ AGP карттай бол үүнийг оруулна уу. Энэ нь AGP болон AGP GART-ийн дэмжлэгийг эдгээр боломжуудаас тогтсон хавтанд зориулж нээнэ.

# Power management support (see NOTES for more options)
#device          apm

Тэжээлийн Нарийн Удирдлагын дэмжлэг. Зөөврийн компьютеруудад ашигтай, гэхдээ энэ нь GENERIC-д анхдагчаар хаалттай байдаг.

# Add suspend/resume support for the i8254.
device           pmtimer

APM болон ACPI зэрэг тэжээл удирдах үйл явцуудад зориулсан таймер төхөөрөмжийн драйвер.

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device          cbb               # cardbus (yenta) bridge
device          pccard            # PC Card (16-bit) bus
device          cardbus           # CardBus (32-bit) bus

PCMCIA дэмжлэг. Зөөврийн компьютер ашиглаж байгаа бол энэ танд хэрэгтэй.

# Serial (COM) ports
device          sio               # 8250, 16[45]50 based serial ports

Эдгээр нь MS-DOS/Windows ертөнцөд COM портууд хэмээгддэг сериал портууд юм .

Тэмдэглэл: Хэрэв та COM4 дээр дотуур модемтой бөгөөд COM2 дээр сериал порттой бол FreeBSD -ээс хандахын тулд та модемийн IRQ-г 2 (ойлгоход амаргүй техникийн шалтгаанаар, IRQ2 = IRQ 9) болгож өөрчлөх хэрэгтэй. Хэрэв та олон порттой сериал карттай бол өөрийн /boot/device.hints файлд нэмэх зөв утгуудын талаар дэлгэрэнгүй мэдээллийг sio(4) гарын авлагаас шалгаарай. Зарим видео картууд (S3 бичил схем дээр үндэслэснүүдийг дурдаж болно) 0x*2e8 хэлбэртэй IO хаягуудыг ашигладаг бөгөөд олон хямд сериал картууд 16-бит хаягийн зайг бүрэн декод хийж чаддаггүй учир энэ нь тэдгээр карттай зөрчилдөж COM4 портыг бараг л ашиглах боломжгүй болгодог.

Сериал порт болгон бусдаас ялгаатай IRQ -тай байх (хуваалцсан тасалдал ашиглахыг дэмждэг олон порттой картуудын нэгийг ашиглаж байгаагаас бусад тохиолдолд) шаардлагатай учир COM3 болон COM4-ийн анхдагч IRQ-үүдийг ашиглаж болохгүй.

# Parallel port
device          ppc

Энэ нь ISA-шугамын параллел порт интерфэйс юм.

device          ppbus      # Parallel port bus (required)

Параллел портын шугамын дэмжлэгийг хангадаг.

device          lpt        # Printer

Параллел порт хэвлэгчүүдийн дэмжлэг.

Тэмдэглэл: Параллел хэвлэгчийн дэмжлэгийг нээхэд дээрх гурав гурвуулаа шаардлагатай.

device          plip       # TCP/IP over parallel

Энэ нь параллел сүлжээний интерфэйсд зориулсан драйвер юм.

device          ppi        # Parallel port interface device

Ерөнхий-зориулалтын I/O (“geek port”) + IEEE1284 I/O.

#device         vpo        # Requires scbus and da

Энэ нь Iomega Zip хөтлөгчид зориулагдсан юм. scbus болон da дэмжлэгийг шаарддаг. EPP 1.9 горимд байгаа портуудын тусламжтай хамгийн сайн ажиллагаанд хүрдэг.

#device         puc

Хэрэв та puc(4) цавуу драйвераар дэмжигддэг “дүлий” сериал эсвэл параллел PCI карттай бол энэ төхөөрөмжийг тайлбар болгосныг болиулаарай.

# PCI Ethernet NICs.
device          de         # DEC/Intel DC21x4x (“Tulip”)
device          em         # Intel PRO/1000 adapter Gigabit Ethernet Card
device          ixgb       # Intel PRO/10GbE Ethernet Card
device          txp        # 3Com 3cR990 (“Typhoon”)
device          vx         # 3Com 3c590, 3c595 (“Vortex”)

Төрөл бүрийн PCI сүлжээний картуудын драйверууд. Эдгээрээс таны системд байхгүйг тайлбар болгон хааж эсвэл устгаарай.

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus     # MII bus support

MII шугамын дэмжлэг нь зарим PCI 10/100 Ethernet NIC-үүдэд шаардлагатай бөгөөд тухайлбал MII-д нийцтэй дамжуулагч-хүлээн авагчууд эсвэл MII-тэй адил ажилладаг дамжуулагч-хүлээн авагчийн хяналтын интерфэйсүүдийг дурдаж болно. device miibus мөрийг цөмийн тохиргоонд нэмснээр ердийн miibus API болон тусдаа драйвераар дэмжигдээгүй PHY-уудад зориулсан ердийн драйвер зэрэг бүх PHY драйверуудын дэмжлэгийг оруулах болно.

device          bce        # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device          bfe        # Broadcom BCM440x 10/100 Ethernet
device          bge        # Broadcom BCM570xx Gigabit Ethernet
device          dc         # DEC/Intel 21143 and various workalikes
device          fxp        # Intel EtherExpress PRO/100B (82557, 82558)
device          lge        # Level 1 LXT1001 gigabit ethernet
device          msk        # Marvell/SysKonnect Yukon II Gigabit Ethernet
device          nge        # NatSemi DP83820 gigabit ethernet
device          nve        # nVidia nForce MCP on-board Ethernet Networking
device          pcn        # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device          re         # RealTek 8139C+/8169/8169S/8110S
device          rl         # RealTek 8129/8139
device          sf         # Adaptec AIC-6915 (“Starfire”)
device          sis        # Silicon Integrated Systems SiS 900/SiS 7016
device          sk         # SysKonnect SK-984x & SK-982x gigabit Ethernet
device          ste        # Sundance ST201 (D-Link DFE-550TX)
device          stge       # Sundance/Tamarack TC9021 gigabit Ethernet
device          ti         # Alteon Networks Tigon I/II gigabit Ethernet
device          tl         # Texas Instruments ThunderLAN
device          tx         # SMC EtherPower II (83c170 “EPIC”)
device          vge        # VIA VT612x gigabit ethernet
device          vr         # VIA Rhine, Rhine II
device          wb         # Winbond W89C840F
device          xl         # 3Com 3c90x (“Boomerang”, “Cyclone”)

MII шугамын хянагчийн кодыг ашигладаг драйверууд.

# ISA Ethernet NICs.  pccard NICs included.
device          cs         # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device          ed         # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device          ex         # Intel EtherExpress Pro/10 and Pro/10+
device          ep         # Etherlink III based cards
device          fe         # Fujitsu MB8696x based cards
device          ie         # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device          lnc        # NE2100, NE32-VL Lance Ethernet cards
device          sn         # SMC's 9000 series of Ethernet chips
device          xe         # Xircom pccard Ethernet

# ISA devices that use the old ISA shims
#device         le

ISA Ethernet драйверууд. Аль картууд аль драйвераар дэмжигддэг талаар дэлгэрэнгүйг /usr/src/sys/i386/conf/NOTES-ээс харна уу.

# Wireless NIC cards
device          wlan            # 802.11 support

802.11-ийн ерөнхий дэмжлэг. Энэ мөр нь утасгүй сүлжээнд шаардлагатай.

device          wlan_wep        # 802.11 WEP support
device          wlan_ccmp       # 802.11 CCMP support
device          wlan_tkip       # 802.11 TKIP support

802.11 төхөөрөмжүүдэд зориулагдсан криптограф дэмжлэг. Хэрэв та шифрлэлт болон 802.11i нууцлалын протоколуудыг ашиглахаар шийдсэн бол эдгээр мөрүүд шаардлагатай.

device          an         # Aironet 4500/4800 802.11 wireless NICs.
device          ath             # Atheros pci/cardbus NIC's
device          ath_hal         # Atheros HAL (Hardware Access Layer)
device          ath_rate_sample # SampleRate tx rate control for ath
device          awi        # BayStack 660 and others
device          ral        # Ralink Technology RT2500 wireless NICs.
device          wi         # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device         wl         # Older non 802.11 Wavelan wireless NIC.

Төрөл бүрийн утасгүй сүлжээний картуудын дэмжлэг.

# Pseudo devices
device   loop          # Network loopback

Энэ нь TCP/IP-д зориулсан өөртөө эргэн холбогдох ерөнхий төхөөрөмж юм. Хэрэв та localhost (өөрөөр бас 127.0.0.1) уруу telnet эсвэл FTP хийвэл энэ нь тань уруу энэ төхөөрөмжөөр эргэж ирнэ.Энэ нь зайлшгүй шаардлагатай.

device   random        # Entropy device

Шифрлэлтийн хувьд аюулгүй дурын тоо үүсгэгч.

device   ether         # Ethernet support

Танд Ethernet карт байгаа тохиолдолд зөвхөн ether хэрэгтэй. Энэ нь ерөнхий Ethernet протоколын кодыг агуулдаг.

device   sl            # Kernel SLIP

sl нь SLIP-ийн дэмжлэг юм. Энэ нь хялбар суулгаж тохируулдаг, модемоос модем уруу холболт хийхэд илүү зохицсон, илүү чадалтай PPP-ээр бараг бүхэлдээ солигдсон юм.

device   ppp           # Kernel PPP

Энэ нь дайл-ап холболтын цөм дэх PPP дэмжлэгт зориулагдсан. Мөн tun-ийг ашиглаж илүү уян хатан чанар болон шаардлагаар залгах зэрэг боломжууд бүхий PPP-ийн хэрэглэгчийн талбарын програм маягаар хийгдсэн хувилбар ч бас байдаг.

device   tun           # Packet tunnel.

Энэ хэрэглэгчийн талбарын PPP програм хангамжид ашиглагддаг. Дэлгэрэнгүй мэдээллийг энэ номын PPP хэсгээс үзнэ үү.


device   pty           # Pseudo-ttys (telnet etc)

Энэ нь “псевдо-терминал” эсвэл жинхэнэ биш (simulated) нэвтрэх порт юм. Энэ нь ирж байгаа telnet болон rlogin сессүүд, xterm, болон Emacs зэрэг бусад програмуудад ашиглагддаг.

device   md            # Memory “disks”

Санах ойн диск псевдо-төхөөрөмжүүд.

device   gif           # IPv6 and IPv4 tunneling

Энэ нь IPv4 дээгүүрх IPv6, IPv6 дээгүүрх IPv4, IPv4 дээгүүрх IPv4, болон IPv6 дээгүүрх IPv6 хоолойнуудыг хийдэг. gif төхөөрөмж нь “авто-клон” хийх чадвартай бөгөөд төхөөрөмжийн цэгүүдийг хэрэгцээгээрээ үүсгэдэг.

device   faith         # IPv6-to-IPv4 relaying (translation)

Энэ псевдо-төхөөрөмж нь түүн уруу илгээсэн пакетуудыг барьж аваад IPv4/IPv6 хувиргагч дэмон уруу замыг өөрчлөн явуулдаг.

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device   bpf           # Berkeley packet filter

Энэ нь Беркли Пакет Шүүгч юм. Энэ псевдо-төхөөрөмж нь цацаж байгаа сүлжээн (өөрөөр хэлбэл Ethernet) дэх бүх пакетуудыг барьж авдаг, бүгдийг сонсох горимд сүлжээний интерфэйсүүдийг шилжүүлэх боломж олгодог. Эдгээр пакетуудыг дискэнд хадгалах болон эсвэл tcpdump(1) програмаар шалгаж болно.

Тэмдэглэл: Анхдагч чиглүүлэгчийн (гарц) болон бусад IP хаягийг dhclient(8) олж авахад bpf(4) төхөөрөмжийг бас ашигладаг. Хэрэв та DHCP ашиглаж байгаа бол үүнийг тайлбар болголгүй орхиорой.

# USB support
device          uhci          # UHCI PCI->USB interface
device          ohci          # OHCI PCI->USB interface
device          ehci          # EHCI PCI->USB interface (USB 2.0)
device          usb           # USB Bus (required)
#device         udbp          # USB Double Bulk Pipe devices
device          ugen          # Generic
device          uhid          # “Human Interface Devices”
device          ukbd          # Keyboard
device          ulpt          # Printer
device          umass         # Disks/Mass storage - Requires scbus and da
device          ums           # Mouse
device          ural          # Ralink Technology RT2500USB wireless NICs
device          urio          # Diamond Rio 500 MP3 player
device          uscanner      # Scanners
# USB Ethernet, requires mii
device          aue           # ADMtek USB Ethernet
device          axe           # ASIX Electronics USB Ethernet
device          cdce          # Generic USB over Ethernet
device          cue           # CATC USB Ethernet
device          kue           # Kawasaki LSI USB Ethernet
device          rue           # RealTek RTL8150 USB Ethernet

Төрөл бүрийн USB төхөөрөмжүүдийн дэмжлэг.

# FireWire support
device          firewire      # FireWire bus code
device          sbp           # SCSI over FireWire (Requires scbus and da)
device          fwe           # Ethernet over FireWire (non-standard!)

Төрөл бүрийн Firewire төхөөрөмжүүдийн дэмжлэг.

FreeBSD-ийн дэмждэг нэмэлт төхөөрөмжүүдийн талаар дэлгэрэнгүй мэдээллийг /usr/src/sys/i386/conf/NOTES файлаас үзнэ үү.


9.6.1. Том санах ойн тохируулгууд (PAE)

Том санах ой бүхий машинууд Хэрэглэгч+Цөмийн Виртуал хаягийн зайн (KVA) 4 гигабайт хязгаараас их уруу хандах шаардлагатай байдаг. Энэ хязгаараас болоод Интел Pentium Pro болон сүүлийн үеийн CPU-үүдэд 36 битийн физик хаягийн зайд хандах дэмжлэгийг нэмсэн.

Intel Pentium Pro болон сүүлийн үеийн CPU-үүдийн Физик Хаягийн Өргөтгөл (PAE) боломж нь 64 гигабайт хүртэлх санах ойн тохиргоог зөвшөөрдөг. FreeBSD нь энэхүү боломжийг FreeBSD-ийн одоо байгаа бүх гаргасан хувилбаруудын цөмийн тохиргооны PAE тохируулгаар дэмждэг. Интелийн санах ойн архитектурын хязгаараас болж 4 гигабайтаас дээш болон доош санах ойн ялгаа байхгүй. 4 гигабайтаас дээшхи санах ой нь ашиглаж болох санах ойн санд нэмэгддэг.

PAE дэмжлэгийг цөмд нээхдээ цөмийн тохиргооны файлд дараах мөрийг нэмнэ:

options		    PAE

Тэмдэглэл: FreeBSD дэх PAE дэмжлэг зөвхөн Intel IA-32 процессоруудад байдаг. Мөн FreeBSD дэх PAE дэмжлэг нь өргөн шалгагдаагүй бөгөөд FreeBSD-ийн бусад тогтвортой боломжуудтай харьцуулахад бета чанарынхад тооцогддог.

FreeBSD дэх PAE дэмжлэг нь цөөн хэдэн хязгааруудтай:

  • VM зайн 4 гигабайтаас илүүд процесс хандаж чадахгүй.

  • bus_dma(9) интерфэйс ашигладаггүй төхөөрөмжийн драйверууд PAE-г идэвхжүүлсэн цөм дээр өгөгдлийн эвдрэлийг үүсгэх бөгөөд ашиглахыг зөвлөдөггүй юм. Ийм учраас PAE-г идэвхжүүлсэн цөм дээр ажилладаггүй бүх драйверуудыг оруулаагүй PAE цөмийн тохиргооны файл FreeBSD-д байдаг.

  • Зарим нэг тохируулгууд санах ойн эх үүсвэрийн хэрэглээг физик санах ойн хэмжээгээр тодорхойлдог. Эдгээр тохируулгууд нь PAE системийн их санах ойгоос болж хэрэгцээгүй илүү санах ойг гаргадаг. Тийм нэг жишээнүүдийн нэг нь sysctl-ийн kern.maxvnodes тохируулга бөгөөд энэ нь цөм дэх хамгийн их байж болох vnode-уудын тоог хянадаг. Энэ болон бусад тохируулгуудын утгыг боломжийн утгаар тааруулахыг зөвлөж байна.

  • Магадгүй цөмийн виртуал хаягийн (KVA) зайг ихэсгэх эсвэл KVA-ийн шавхалтад хүргэхгүйн тулд байнга их ашиглагддаг (дээр дурдсаныг харна уу) цөмийн эх үүсвэрийн хэмжээг багасгах шаардлагатай байж болох юм. KVA_PAGES цөмийн тохируулга нь KVA зайг ихэсгэхэд ашиглагдаж болно.

Ажиллагаа болон тогтвортой байдлыг хангах үүднээс tuning(7) гарын авлагатай танилцахыг зөвлөж байна. pae(4) гарын авлага нь FreeBSD-ийн PAE дэмжлэгийн тухай хамгийн сүүлийн үеийн мэдээллийг агуулдаг.


9.7. Хэрэв ямар нэг юм буруутвал

Өөрчлөн тохируулсан цөмийг бүтээж байх үед 4 төрлийн асуудал гарч болзошгүй байдаг. Тэдгээр нь:

config амжилтгүй болох:

Хэрэв таныг цөмийн тайлбарыг config(8)-т өгөхөд тушаал амжилтгүй болбол та хаа нэгтээ энгийн алдаа хийсэн болов уу. Аз болоход config(8) асуудалтай байгаа мөрийн дугаарыг хэвлэх учир та алдаатай мөрийг хурдан олох болно. Жишээ нь, хэрэв та доор дурдсаныг харвал:

config: line 17: syntax error

Түлхүүр үг зөв бичигдсэн эсэхийг GENERIC цөм болон бусад баримтаас харьцуулан шалгаж үзээрэй.

make амжилтгүй болох:

Хэрэв make тушаал амжилтгүй болбол энэ ихэвчлэн цөмийн тайлбар дахь config(8)-ийн олж чадахааргүй тийм ч ноцтой бус алдааг дохиолдог. Дахин хэлэхэд, өөрийн тохиргоог нягтлаарай, тэгээд хэрэв та асуудлыг шийдэж чадахгүй бол FreeBSD ерөнхий асуултууд захидлын жагсаалт уруу өөрийн цөмийн тохиргоотой цахим захидал илгээгээрэй, ингэхэд хурдан шинжилгээ хийгдэх болно.

Цөм ачаалахгүй байх:

Хэрэв таны шинэ цөм ачаалахгүй бол эсвэл таны төхөөрөмжүүдийг танихгүй байгаа бол бүү цочирд! Аз болоход FreeBSD нийцгүй цөмүүдээс сэргэхэд зориулсан маш сайн механизмтай байдаг. Ердөө л FreeBSD-ийн ачаалагчаас ачаалах цөмөө сонгоно. Системийн ачаалах меню гарч ирэх үед та үүнд хандах боломжтой болно. “Escape to a loader prompt” тохируулга 6-ын тоог сонго. Тушаал хүлээх мөрөн дээр boot kernel.old эсвэл зөв ачаалах өөр бусад цөмийн нэрийг бичээрэй. Цөмийг дахин тохируулах явцдаа ажилладаг цөмийг гарын дор хадгалж байх нь үргэлж ухаалаг санаа байдаг.

Сайн цөмийг ачаалсныхаа дараа та өөрийн тохиргооны файлаа дахин шалгаж цөмөө дахин бүтээхээр оролдоорой. Нэг тус дэм болох эх үүсвэр бол бусад зүйлсээс гадна амжилттай ачаалалт бүр дэх цөмийн бүх мэдээллүүдийн бичлэгийг хийдэг /var/log/messages файл юм. Мөн dmesg(8) тушаал нь сүүлийн ачаалалт дахь цөмийн мэдээллүүдийг хэвлэдэг.

Тэмдэглэл: Хэрэв та цөмийг бүтээхэд асуудалтай байгаа бол GENERIC болон өөр бусад ажилладаг цөмийг дараагийн бүтээх явцад устгагдахааргүй өөр нэртэйгээр гарын дор хадгалж байгаарай. Та kernel.old -д найдаж болохгүй, учир нь шинэ цөмийг суулгах явцад kernel.old нь хамгийн сүүлд суулгагдсан бөгөөд магадгүй ажиллагаагүй тийм цөмөөр дарагдан бичигддэг. Ажилладаг цөмийг зөв /boot/kernel байр уруу аль болох хурдан шилжүүлээрэй, эсвэл ps(1) зэрэг тушаалууд зөв ажиллахгүй байж магадгүй юм. Ингэхийн тулд сайн цөм байгаа сангийн нэрийг өөрчлөөрэй:

# mv /boot/kernel /boot/kernel.bad
# mv /boot/kernel.good /boot/kernel
Цөм ажиллах боловч ps(1) ажиллахгүй болох:

Хэрэв та системийн хэрэгслүүд бүтээсэн хувилбараас өөр цөмийн хувилбарыг суулгасан бол, жишээ нь -RELEASE дээр -CURRENT цөм бүтээсэн бол системийн төлвийн тушаалууд болох ps(1) болон vmstat(8) зэрэг нь ажиллахаа больно. Та өөрийн цөмтэйгөө адил хувилбарын эх модтой бүтээгдсэн ертөнцийг дахин хөрвүүлж суулгах хэрэгтэй. Энэ нь нэг шалтгаан бөгөөд ерөнхийдөө үйлдлийн системийн бусад зүйлсээс өөр хувилбарын цөмийг ашиглах нь тийм ч сайн санаа биш юм.


Бүлэг 10. Хэвлэлт

Хувь нэмэр болгон оруулсан Шон Келли. Дахин бүтцийг өөрчилж шинэчилсэн Жим Мок. Орчуулсан Цагаанхүүгийн Ганболд ба Шагдарын Нацагдорж.

10.1. Ерөнхий агуулга

FreeBSD дээр хамгийн хуучин цохидог хэвлэгчдээс авахуулаад хамгийн сүүлийн хэвлэгчид хүртэл, мөн тэдгээрийн хооронд байгаа хэвлэгчид зэрэг төрөл бүрийн хэвлэгчдийг хэвлэхэд ашиглаж болдог бөгөөд энэ нь таны ажиллаж байгаа програмуудаас өндөр чанарын хэвлэсэн гаралтыг бүтээх боломж олгох юм.

FreeBSD-г бас сүлжээн дэх хэвлэх сервер болгон тохируулж бас болдог; энэ боломжид FreeBSD нь бусад FreeBSD компьютерууд, Windows болон Mac OS хостууд зэрэг төрөл бүрийн бусад компьютеруудаас хэвлэх ажлуудыг хүлээн авдаг. FreeBSD нь зөвхөн нэг ажлыг тухайн үед хэвлэхийг баталгаажуулж ихэнх хэвлэлтийг аль хэрэглэгчид болон машинууд хийж байгаа талаар статистикууд цуглуулж хэний хэвлэсэн зүйл хэнийх болохыг үзүүлэх “сурталчилгаа” хуудсуудыг бүтээх зэрэг олон үйлдлийг хийж чаддаг.

Энэ бүлгийг уншиж дууссаны дараа та дараах зүйлсийг мэдэх болно:

  • FreeBSD-ийн хэвлэгчийн түр хадгалагчийг хэрхэн тохируулах талаар.

  • Ирж байгаа баримтуудыг таны хэвлэгчид ойлгодог хэвлэх хэлбэршилтэд оруулж хөрвүүлэх зэрэг тусгай хэвлэх ажлуудыг өөрөөр зохицуулдаг хэвлэх шүүлтүүрүүдийг хэрхэн суулгах талаар.

  • Толгой эсвэл сурталчилгаа хуудаснуудыг өөрийн хэвлэх зүйл дээрээ хэрхэн идэвхжүүлэх талаар.

  • Бусад компьютерууд уруу холбогдсон хэвлэгчдээр хэрхэн хэвлэх талаар.

  • Сүлжээнд шууд холбогдсон хэвлэгчдээр хэрхэн хэвлэх талаар.

  • Хэвлэх ажлуудын хэмжээг хязгаарлах болон зарим хэрэглэгчдийг хэвлэхийг болиулах зэрэг хэвлэгчийн хязгаарлалтуудыг хэрхэн хянах талаар.

  • Хэвлэгчийн статистикууд болон хэвлэгчийн хэрэглээнд зориулсан бүртгэлийг хэрхэн хадгалж байх талаар.

  • Хэвлэх асуудлуудыг хэрхэн олж засварлах талаар.

Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:

  • Шинэ цөмийг хэрхэн тохируулж суулгах талаар мэдэх (Бүлэг 9).


10.2. Танилцуулга

FreeBSD дээр хэвлэгчдийг ашиглахын тулд та тэдгээрийг LPD түр хадгалах систем буюу ердөө л LPD гэж бас нэрлэгддэг Берклигийн шугаман хэвлэгчийн түр хадгалах системтэй ажиллахаар болгож тохируулж болох юм. Энэ нь FreeBSD дээрх стандарт хэвлэгч хянагч систем юм. Энэ бүлэг нь LPD-г танилцуулж түүний тохиргоог тайлбарлах болно.

Хэрэв та LPD юм уу эсвэл бусад хэвлэгчийн түр хадгалах системийг мэддэг бол Үндсэн тохируулга хэсэг уруу шууд орохыг хүсэж болох юм.

LPD нь хостын хэвлэгчдийн талаар бүгдийг хянадаг. Энэ нь хэд хэдэн зүйлсийг хариуцдаг:

  • Залгагдсан хэвлэгчид болон сүлжээн дэх өөр хостуудад залгагдсан хэвлэгчдэд хандах хандалтыг хянадаг.

  • Файлууд хэвлэхээр өгөх боломжийг хэрэглэгчдэд зөвшөөрдөг; эдгээр өгөлтүүд нь jobs буюу ажлууд гэгддэг.

  • Хэвлэгч болгоны хувьд queue буюу дарааллыг зохицуулж олон хэрэглэгчид нэгэн зэрэг хэвлэгчид хандах хандалтаас сэргийлдэг.

  • Хэрэглэгчид хэвлэсэн тоо томшгүй олон юмнаас өөрсдийн хэвлэсэн ажлуудыг хялбархан олдог байхын тулд энэ нь толгой хуудаснуудыг (бас сурталчилгаа эсвэл тэсрэлт хуудсууд гэгддэг) хэвлэдэг.

  • Цуваа портууд дээр холбогдсон хэвлэгчдийн холбооны параметрүүдэд анхаарлаа хандуулдаг.

  • Өөр хост дээр байгаа LPD түр хадгалагч уруу сүлжээгээр ажлууд илгээж чаддаг.

  • Төрөл бүрийн хэвлэгчийн хэлнүүд эсвэл хэвлэгчийн боломжуудад зориулж хэвлэх ажлуудыг хэлбэршүүлэх тусгай шүүлтүүрүүдийг ажиллуулж чаддаг.

  • Хэвлэгчийн хэрэглээг бүртгэж чаддаг.

Тохиргооны файл (/etc/printcap) болон тусгай шүүлтүүр програмууд ашиглан олон төрлийн хэвлэгч тоног төхөөрөмжүүдийн хувьд дээр дурдсануудын заримууд болон бүгдийг хийдэг байхаар LPD системийг та идэвхжүүлж чадна.


10.2.1. Яагаад заавал түр хадгалагчийг ашиглах ёстой гэж

Та системийнхээ цорын ганц хэрэглэгч бол хандалтын хяналт, толгой хуудаснууд эсвэл хэвлэгчийн бүртгэл танд хэрэгггүй байхад яагаад заавал түр хадгалагчийн талаар санаа зовох ёстой гэж та гайхаж байж болох юм. Хэвлэгч уруу шууд хандалтыг идэвхжүүлэх боломжтой байдаг боловч та түр хадгалагчийг ямар ч байсан ашиглах ёстой, учир нь:

  • LPD нь ажлуудыг ард хэвлэдэг; та өгөгдлийг хэвлэгч уруу хуулагдахыг хүлээх хэрэггүй юм.

  • LPD нь огноо/цаг бүхий толгой нэмэх эсвэл тусгай файлын хэлбэршилтээс (TeX DVI файл зэрэг) хэвлэгчийн ойлгох хэлбэршилт уруу хөрвүүлдэг шүүлтүүрүүдээр дамжуулан хэвлэгдэх ажлыг тохиромжтойгоор ажиллуулдаг. Та гараараа эдгээр алхмуудыг хийх шаардлагагүй юм.

  • Хэвлэх боломж бүхий чөлөөтэй, арилжааны олон програмууд нь таны систем дээрх түр хадгалагчтай ярилцахыг ихэвчлэн хүлээж байдаг. Түр хадгалагч системийг тохируулснаар танд байгаа болон таны сүүлд суулгаж болох бусад програм хангамжуудыг илүү амархнаар та дэмжих болно.


10.3. Үндсэн тохируулга

Сануулга: FreeBSD 8.0-аас эхлээд цуваа портын төхөөрөмжийн цэгүүд /dev/ttydN/dev/ttyuN болж өөрчлөгдсөн. FreeBSD 7.X хэрэглэгчид доорх баримтыг үзэхдээ эдгээрийг бодолцох хэрэгтэй.

LPD түр хадгалах системтэй хэвлэгчдийг ашиглахын тулд өөрийн хэвлэгчийн тоног төхөөрөмж болон LPD програм хангамжийг тохируулах хэрэгтэй болно. Энэ баримт нь тохиргооны хоёр түвшинг тайлбарладаг:

  • Хэвлэгчийг хэрхэн холбохыг сурахын тулд Хэвлэгчийн хялбар тохиргоо хэсгийг үзэж LPD-д хэрхэн түүнтэй холбоо тогтоохыг хэлж хэвлэгч уруу цэвэр текст файлуудыг хэвлэх.

  • Төрөл бүрийн тусгай файлын хэлбэршилтүүдийг хэрхэн хэвлэх, толгой хуудаснуудыг хэрхэн хэвлэх, сүлжээгээр хэрхэн хэвлэх, хэвлэгчдэд хандах хандалтыг хэрхэн хянах болон хэрхэн хэвлэгчийн бүртгэлийг хийхийг сурахын тулд Хэвлэгчийн илүү нарийн тохиргоо хэсгийг үзэх.


10.3.1. Хэвлэгчийн хялбар тохиргоо

Энэ хэсэг нь хэвлэгчийг ашиглахын тулд хэвлэгчийн тоног төхөөрөмж болон LPD програм хангамжийг хэрхэн тохируулахыг хэлж өгнө. Энэ нь үндсэн ойлголтуудад сургана:

Хэвлэх өгөгдлийг хүлээн авахдаа компьютерийн локал интерфэйсүүдийг биш сүлжээний протоколыг ашигладаг хэвлэгчийг та тохируулж байгаа бол Сүлжээнд холбогдсон өгөгдлийн урсгалын интерфэйсүүдтэй хэвлэгчид хэсгийг үзнэ үү.

Энэ хэсэг нь “Хэвлэгчийн хялбар тохиргоо” гэгддэг боловч яг үнэндээ нэлээн төвөгтэй юм. Хэвлэгчийг өөрийн компьютер болон LPD түр хадгалагчтай цуг ажиллуулна гэдэг хамгийн хэцүү хэсэг юм. Толгой хуудаснууд болон бүртгэл хийх зэрэг дэвшилтэт тохируулгууд нь хэвлэгчийг ажиллуулсны дараа нэлээн амархан байдаг.


10.3.1.1. Тоног төхөөрөмжийн тохиргоо

Энэ хэсэг нь өөрийн PC-тэй хэвлэгч холбох төрөл бүрийн аргуудын талаар хэлдэг. Энэ нь портууд ба кабелиудын талаар болон FreeBSD-г хэвлэгчтэй харилцдаг болгохын тулд танд хэрэг болох цөмийн тохиргооны талаар бас өгүүлнэ.

Хэрэв та өөрийн хэвлэгчийг аль хэдийн холбосон бөгөөд өөр үйлдлийн систем дээр түүгээр амжилттай хэвлэсэн бол Програм хангамжийн тохиргоо хэсэг уруу алгасаж болох юм.


10.3.1.1.1. Портууд ба кабелиуд

PC дээр ашиглагдах зориулалттай худалдаалж байгаа хэвлэгчид нь ерөнхийдөө доорх гурван интерфэйсийн аль нэг юм уу эсвэл олон интерфэйстэй ирдэг:

  • Цуваа интерфэйсүүд буюу бас RS-232 эсвэл COM портууд гэгддэг интерфэйсүүд нь өгөгдлийг хэвлэгч уруу илгээхдээ таны компьютер дээрх цуваа портыг ашигладаг. Цуваа интерфэйсүүд нь компьютерийн аж үйлдвэрлэлд түгээмэл байдаг бөгөөд кабелиуд нь бэлэн байж байдгаас гадна хийхэд хялбар байдаг. Цуваа интерфэйсүүд нь заримдаа тусгай кабелиудыг шаарддаг бөгөөд танаас төвөгтэй холбооны сонголтуудыг тохируулахыг шаардаж болох юм. Ихэнх PC-ний цуваа портууд нь хамгийн их дамжуулах хурдны хувьд 115200 bps хурдтай байдаг бөгөөд их том график хэвлэх ажлыг үүгээр хийх нь практикийн хувьд төвөгтэй болгодог.

  • Зэрэгцээ интерфэйсүүд нь өгөгдлийг хэвлэгч уруу илгээхдээ таны компьютерийн зэрэгцээ портыг ашигладаг. Зэрэгцээ интерфэйсүүд нь PC-ийн зах зээлд нийтлэг байдаг бөгөөд RS-232 цуваагаас илүү хурдан байдаг. Кабелиуд нь байдаг боловч гараар хийхэд илүү төвөгтэй байдаг. Зэрэгцээ интерфэйсүүдэд холбооны сонголтууд ихэвчлэн байдаггүй болохоор тэдгээрийн тохиргоог маш хялбар болгодог.

    Зэрэгцээ интерфэйсүүд нь хэвлэгчийн холбогчийн төрлийн нэрээр нэрлэгдсэн “Centronics” интерфэйсүүд гэж заримдаа хэлэгддэг.

  • Universal Serial Bus буюу Универсал Цуваа Шугам гэгддэг USB интерфэйсүүд нь зэрэгцээ болон RS-232 цуваа интерфэйсүүдээс бүр илүү хурдаар ажиллаж чаддаг. Кабелиуд нь хялбар бөгөөд хямд байдаг. USB нь RS-232 болон Зэрэгцээ интерфэйсүүдээс хэвлэхийн хувьд илүү хүчирхэг боловч UNIX системүүд дээр тийм ч сайн дэмжигдсэн байдаггүй. Энэ асуудлыг тойрон гарахын тулд олон хэвлэгчид байдаг USB болон Зэрэгцээ интерфэйсүүдтэй тийм хэвлэгч худалдан авах явдал юм.

Ерөнхийдөө зэрэгцээ интерфэйсүүд нь зөвхөн нэг талын холбоог (компьютераас хэвлэгч уруу) санал болгодог бол цуваа болон USB нь хоёр талын холбоог өгдөг. Шинэ зэрэгцээ портууд (EPP болон ECP) болон хэвлэгчид нь IEEE-1284 нийцтэй кабель ашиглаж байгаа бол FreeBSD дээр хоёр тал уруу чиглэсэн холбоог хийж чаддаг.

Зэрэгцээ портоор хэвлэгч уруу чиглэсэн хоёр талын холбоог ерөнхийдөө хоёр аргын аль нэгээр хийдэг. Эхний арга нь хэвлэгчийн ашигладаг хувийн хэлээр ярьдаг FreeBSD-ийн өөрчлөн бүтээсэн хэвлэгчийн драйверийг хэрэглэдэг. Энэ нь бэхэн хэвлэгчдэд нийтлэг байдаг бөгөөд бэхний түвшин болон бусад төлвийн мэдээллийг үзүүлэхэд хэрэглэгддэг. Хоёр дахь аргыг хэвлэгч PostScript-г дэмждэг үед ашигладаг.

PostScript ажлууд нь жинхэнэдээ хэвлэгч уруу илгээсэн програмууд юм; тэдгээр нь цаас бүтээх ерөөсөө шаардлагагүй бөгөөд үр дүнгүүдийг компьютер уруу шууд буцааж болох юм. PostScript нь PostScript програм дахь алдаанууд, эсвэл цаас гацсан зэрэг асуудлуудыг компьютерт хэлэхийн тулд хоёр талын холбоог бас ашигладаг. Таны хэрэглэгчид тийм мэдээллийг аваад талархах байх. Бас PostScript хэвлэгчийн хувьд үр ашигтай бүртгэл хийх хамгийн шилдэг арга нь хоёр талын холбоог шаарддаг: хэвлэгчээс хуудасны тоог (өөрийн амьдралын хугацаандаа нийт хичнээн хуудас хэвлэсэн талаар) та асууж дараа нь хэрэглэгчийн ажлыг илгээж тэгээд дахиад хуудасны тоог асуудаг. Хоёр утгын нэгээс нөгөөг хасаад хэрэглэгчээс хичнээн цаасны төлбөр авахыг та мэдэх болно.


10.3.1.1.2. Зэрэгцээ портууд

Хэвлэгчийг зэрэгцээ интерфэйс ашиглаад залгахын тулд Centronics кабелийг хэвлэгч болон компьютерийн хооронд холбоно. Хэвлэгч, компьютер эсвэл хоёулантай нь цуг ирсэн зааврууд танд бүрэн гүйцэд заавар өгөх ёстой.

Компьютер дээрээ аль зэрэгцээ портыг ашигласнаа санах хэрэгтэй. Эхний зэрэгцээ порт нь FreeBSD-д ppc0 байх бөгөөд хоёр дахь ppc1 гэх мэтээр байна. Хэвлэгчийн төхөөрөмжийн нэр мөн адил схемийг ашигладаг: /dev/lpt0 нь эхний зэрэгцээ порт дээрх хэвлэгч гэх мэтээр байна.


10.3.1.1.3. Цуваа портууд

Цуваа интерфэйсүүдийг ашиглан хэвлэгчийг залгахдаа зөв цуваа кабелийг хэвлэгч болон компьютерийн хооронд холбоно. Хэвлэгч, компьютер эсвэл хоёулантай нь цуг ирсэн зааврууд танд бүрэн гүйцэд заавар өгөх ёстой.

Хэрэв та “зөв цуваа кабель” нь юу вэ гэдэгт эргэлзэж байвал та дараах боломжуудаас аль нэгийг туршиж үзэхийг хүсэж болох юм:

  • Модемийн кабель нь кабелийн нэг талд байгаа холбогчийн зүү бүрийг нөгөө талд байгаа холбогчийн харгалзах зүүнд шулуухан холбодог. Энэ төрлийн кабелийг “DTE-ээс DCE” кабель гэж бас нэрлэдэг.

  • null-модем кабель нь зарим зүүнүүдийг шууд шулуухнаар, заримуудыг нь хооронд нь солбидог (жишээ нь өгөгдлийг хүлээн авахын тулд өгөгдлийг илгээдэг) бөгөөд заримыг нь дотроо холбогч бүрийн таг дотор богино холбодог. Энэ төрлийн кабелийг “DTE-ээс DTE” кабель гэж бас нэрлэдэг.

  • Зарим нэг ховор хэвлэгчдэд шаардагддаг цуваа хэвлэгчийн кабель нь null-модем кабельтай адил боловч дотроо богино холбохын оронд зарим дохионуудыг өөрсдийн эсрэг талдаа илгээдэг.

Та хэвлэгчийн хувьд холбооны параметрүүдийг бас тохируулах хэрэгтэй бөгөөд эдгээрийг хэвлэгч дээрх нүүрэн талын хяналтууд юм уу эсвэл DIP шилжүүлэгчдээр хийдэг. Таны компьютер болон хэвлэгч дэмждэг хамгийн их bps-ийг (bits per second буюу секундэд дамжих битийн тоо, заримдаа baud хурд) сонгох хэрэгтэй. 7 юм уу эсвэл 8 өгөгдлийн бит; байхгүй (none), тэгш (even), эсвэл сондгой (odd) parity; болон 1 эсвэл 2 стоп битийг сонгох хэрэгтэй. Бас урсгал хянах протоколыг сонгох хэрэгтэй: байхгүй (none) юм уу аль эсвэл XON/XOFF (бас “in-band” эсвэл “software” гэгддэг) урсгал хяналтыг сонгох хэрэгтэй. Дараах програм хангамжийн тохиргоонд зориулж эдгээр тохируулгуудыг санах хэрэгтэй.


10.3.1.2. Програм хангамжийн тохиргоо

Энэ хэсэг нь FreeBSD дээр LPD түр хадгалах системээр хэвлэхэд шаардлагатай програм хангамжийн тохируулгыг тайлбарладаг.

Энд шаардлагатай алхмуудыг дурдав:

  1. Хэвлэгчийн хувьд ашиглаж байгаа портод зориулж шаардлагатай бол өөрийн цөмийг тохируулна; Таны юу хийх ёстойг Цөмийн тохиргоо хэсэг хэлж өгнө.

  2. Хэрэв та зэрэгцээ порт ашиглаж байгаа бол зэрэгцээ портынхоо хувьд холбооны горимыг тохируулах хэрэгтэй; Зэрэгцээ портын хувьд холбооны горимыг тохируулах нь хэсгээс дэлгэрэнгүйг үзээрэй.

  3. Үйлдлийн систем өгөгдлийг хэвлэгч уруу илгээж чадаж байгаа эсэхийг тест хийнэ. Үүнийг хэрхэн хийх тухай зарим нэгэн зөвлөгөөнүүдийг Хэвлэгчийн холбоонуудыг шалгах нь хэсэг өгдөг.

  4. /etc/printcap файлыг засаж хэвлэгчдээ зориулж тохируулна. Үүнийг хэрхэн хийх талаар сүүлд нь энэ бүлгээс олох болно.


10.3.1.2.1. Цөмийн тохиргоо

Үйлдлийн системийн цөм тусгайлсан хэдэн төхөөрөмжүүдтэй ажиллахаар эмхэтгэгдсэн байдаг. Таны хэвлэгчид зориулагдсан цуваа болон зэрэгцээ интерфэйс нь эдгээрийн нэг хэсэг юм. Тийм болохоор хэрэв таны цөм ингэж тохируулагдаагүй бол нэмэлт цуваа эсвэл зэрэгцээ портын дэмжлэгийг нэмэх хэрэгтэй байж болох юм.

Таны ашиглаж байгаа цөм цуваа интерфэйсийг дэмжиж байгаа эсэхийг мэдэхийн тулд доор дурдсаныг бичнэ:

# grep sioN /var/run/dmesg.boot

Энд байгаа N нь тэгээс эхлэх цуваа портын дугаар юм. Хэрэв та доор дурдсантай төстэй гаралтыг харвал:

sio2 at port 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A

цөм нь портыг дэмждэг гэсэн үг юм.

Цөм нь зэрэгцээ интерфэйсийг дэмждэг эсэхийг мэдэхийн тулд доор дурдсаныг бичнэ:

# grep ppcN /var/run/dmesg.boot

Энд байгаа N нь тэгээс эхлэх зэрэгцээ портын дугаар юм. Хэрэв та доор дурдсантай төстэй гаралтыг харвал:

ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold

цөм нь портыг дэмждэг гэсэн үг юм.

Таны хэвлэгчдээ зориулан ашиглаж байгаа зэрэгцээ эсвэл цуваа портыг үйлдлийн систем таньж хэрэглэдэг байхын тулд та өөрийн цөмийг дахин тохируулах хэрэгтэй болж болох юм.

Цуваа портод зориулж дэмжлэг нэмэхийн тулд цөмийн тохиргооны тухай хэсгийг үзнэ үү. Зэрэгцээ портод зориулж дэмжлэг нэмэхийн тулд тэр хэсгийг болон дараагийн хэсгийг үзнэ үү.


10.3.1.3. Зэрэгцээ портын хувьд холбооны горимыг тохируулах нь

Зэрэгцээ интерфэйсийг ашиглаж байхдаа FreeBSD нь хэвлэгчийн хувьд тасалдлаар зохицуулагдах юм уу эсвэл байнга шалгах холбооны алийг ашиглахыг та сонгож болно. FreeBSD дээрх ердийн хэвлэгчийн төхөөрөмжийн драйвер (lpt(4)) нь портын бичил схемийг ppc(4) драйвераар хянадаг ppbus(4) системийг ашигладаг.

  • interrupt-driven буюу тасалдлаар зохицуулагдах арга нь GENERIC цөмд анхдагч байдаг. Энэ арганд үйлдлийн систем нь хэвлэгч өгөгдөл хүлээн авахад хэзээ бэлэн байгааг тодорхойлохын тулд IRQ шугамыг ашигладаг.

  • polled буюу байнга шалгах арга нь үйлдлийн системд хэвлэгчээс өгөгдөл хүлээн авахад бэлэн байгаа эсэхийг нь давталттайгаар асуухыг зааж өгдөг. Бэлэн гэж хариулбал цөм илүү өгөгдөл илгээдэг.

Тасалдлаар зохицуулагдах арга нь ихэвчлэн хурдан байдаг боловч нандин IRQ шугамыг ихээр ашигладаг. Зарим шинэ HP хэвлэгчид нь зарим (яг тодорхой ойлгогдоогүй) хугацааны асуудлуудаас болоод тасалдлын горимд зөв ажилладаггүй гэгддэг. Эдгээр хэвлэгчдэд байнга шалгах горим хэрэгтэй. Аль ажиллаж байгааг нь л та ашиглах хэрэгтэй. Зарим хэвлэгчид нь аль алин дээр нь ажилладаг боловч тасалдлын горим асар удаан байдаг.

Та холбооны горимыг хоёр аргаар тохируулж болно: цөмийг тохируулах замаар эсвэл lptcontrol(8) програм ашиглан хийж болно.

Цөмийг тохируулах замаар холбоог тохируулахдаа:

  1. Өөрийн цөмийн тохиргооны файлаа засварлана. ppc0 оруулгыг хайна. Хэрэв та хоёр дахь зэрэгцээ портыг тохируулж байгаа бол ppc1-г ашиглаарай. Гурав дахь портын хувьд ppc2 гэх мэтээр ашиглана.

    • Хэрэв та тасалдлаар зохицуулагдах горимыг хүсэж байгаа бол дараах мөрийг:

      hint.ppc.0.irq="N"
      

      /boot/device.hints файлд засварлаж N-ий оронд зөв IRQ дугаарыг солих хэрэгтэй. Цөмийн тохиргооны файл ppc(4) драйверийг бас агуулсан байх ёстой:

      device ppc
      
    • Хэрэв та байнга шалгадаг горимыг хүсэж байвал өөрийн /boot/device.hints файлаас дараах мөрийг арилгана:

      hint.ppc.0.irq="N"
      

      Зарим тохиолдолд энэ нь FreeBSD дээр портыг байнга шалгах горимд оруулахад хангалтгүй байдаг. Ихэнхдээ энэ нь acpi(4) драйвераас гардаг бөгөөд энэ нь төхөөрөмжүүдийг шалгаж болон залгаж чаддаг болохоор хэвлэгчийн порт уруу хандах горимыг хянаж чаддаг байна. Энэ асуудлыг засварлахын тулд та өөрийн acpi(4) тохиргоог шалгах хэрэгтэй.

  2. Файлыг хадгална. Дараа нь цөмд тохиргоо хийн бүтээж цөмийг суулгаад дахин ачаална. Илүү дэлгэрэнгүйг цөмийн тохиргоо хэсгээс үзнэ үү.

Холбооны горимыг lptcontrol(8)-р тохируулахын тулд:

  1. Доор дурдсаныг бичиж:

    # lptcontrol -i -d /dev/lptN
    

    lptN-д зориулж тасалдлаар зохицуулагдах горимыг тохируулна.

  2. Доор дурдсаныг бичиж:

    # lptcontrol -p -d /dev/lptN
    

    lptN-д зориулж байнга шалгах горимыг тохируулна.

Эдгээр тушаалуудыг өөрийн /etc/rc.local файлд нэмж таны системийг ачаалах болгонд горимыг тохируулдаг байхаар хийж болох юм. Илүү мэдээллийг lptcontrol(8)-с үзнэ үү.


10.3.1.4. Хэвлэгчийн холбоог шалгах нь

Түр хадгалагч системийг тохируулахаасаа өмнө та үйлдлийн системийг өгөгдлийг амжилттайгаар өөрийн хэвлэгч уруу илгээж чадаж байгаа эсэхийг шалгах хэрэгтэй. Хэвлэгчийн холбоо болон түр хадгалагч системийг тусад нь дибаг хийх нь хамаагүй хялбар байдаг.

Хэвлэгчийг тест хийхийн тулд бид ямар нэг текст түүн үрүү илгээнэ. Илгээгдсэн тэмдэгтүүдийг тэр даруй нь хэвлэх хэвлэгчдийн хувьд lptest(1) програм төгс байдаг: энэ нь бүх 96 хэвлэх боломжтой ASCII тэмдэгтүүдийг 96 мөрөнд үүсгэдэг.

PostScript (эсвэл бусад хэлэн дээр суурилсан) хэвлэгчийн хувьд бидэнд илүү төвөгтэй тест хэрэгтэй. Доор дурдсантай төстэй жижиг PostScript програм хангалттай байх болно:

%!PS
100 100 moveto 300 300 lineto stroke
310 310 moveto /Helvetica findfont 12 scalefont setfont
(Is this thing working?) show
showpage

Дээрх PostScript кодыг файлд хийгээд доорх хэсгүүдэд гарч байгаа жишээнүүдэд үзүүлсэн шигээр ашиглаж болно.

Тэмдэглэл: Энэ баримт нь хэвлэгчийн хэл гэдгийг Hewlett Packard-ийн PCL биш харин PostScript-тэй адил хэлийг хэлж байгаа юм. PCL нь мундаг ажиллагаатай боловч та цэвэр текстийг өөрийнх нь escape (зугтах) дарааллуудтай нь хольж болдог. PostScript нь цэвэр текстийг шууд хэвлэж чаддаггүй бөгөөд энэ нь тусгай зохицуулалтууд хийж өгөх ёстой тийм хэвлэгчийн хэл юм.


10.3.1.4.1. Зэрэгцээ хэвлэгчийг шалгах нь

Энэ хэсэг нь зэрэгцээ порт уруу холбогдсон хэвлэгчтэй FreeBSD холбогдож чадах эсэхийг хэрхэн шалгахыг хэлж өгөх болно.

Зэрэгцээ порт дээрх хэвлэгчийг тест хийхийн тулд:

  1. su(1) ашиглан root болно.

  2. Хэвлэгч уруу өгөгдөл илгээнэ.

    • Хэрэв хэвлэгч цэвэр текст хэвлэж чаддаг бол lptest(1)-г ашиглана. Доор дурдсаныг бичнэ:

      # lptest > /dev/lptN
      

      Энд байгаа N нь тэгээс эхлэх зэрэгцээ портын дугаар юм.

    • Хэрэв хэвлэгч PostScript эсвэл бусад хэвлэгчийн хэлийг ойлгодог бол жижиг програм хэвлэгч уруу илгээх хэрэгтэй. Доор дурдсаныг бичнэ:

      # cat > /dev/lptN
      

      Тэгээд мөр мөрөөр програмыг анхааралтай оруулах хэрэгтэй. Учир нь RETURN эсвэл ENTER дарсны дараа та засварлаж чадахгүй болох юм. Програмаа оруулж дуусаад CONTROL+D юм уу эсвэл файлын төгсгөл товчлуур ямар байна тэрийг дарах хэрэгтэй.

      Мөн өөрөөр програмыг файлд хийж доор дурдсаныг бичин өгч болно:

      # cat file > /dev/lptN
      

      Энд байгаа file нь таны илгээхийг хүсэж байгаа програмыг агуулсан файлын нэр юм.

Та ямар нэгэн зүйл харах ёстой. Текст зөв харагдахгүй байвал санаа зовсны хэрэггүй; бид иймэрхүү зүйлсийг сүүлд нь засах болно.


10.3.1.4.2. Цуваа хэвлэгчийг шалгах нь

Энэ хэсэг нь цуваа порт уруу холбогдсон хэвлэгчтэй FreeBSD холбогдож чадах эсэхийг хэрхэн шалгахыг хэлж өгөх болно.

Цуваа порт дээрх хэвлэгчийг тест хийхдээ:

  1. su(1) ашиглан root болно.

  2. /etc/remote файлыг засварлана. Дараах мөрийг нэмнэ:

    printer:dv=/dev/port:br#bps-rate:pa=parity
    

    Энд байгаа port нь цуваа портод (ttyu0, ttyu1, гэх мэт) зориулсан төхөөрөмжийн оруулга, bps-rate нь хэвлэгчийн холбогдох секундэд илгээх битийн хурд, болон parity нь хэвлэгчийн шаарддаг parity юм (even, odd, none, эсвэл zero).

    Цуваа шугамаар гурав дахь цуваа порт уруу 19200 bps хурдаар parity байхгүйгээр холбогдсон хэвлэгчид зориулсан жишээ оруулга энд байна:

    printer:dv=/dev/ttyu2:br#19200:pa=none
    
  3. tip(1) ашиглан хэвлэгч уруу холбогдоно. Доор дурдсаныг бичнэ:

    # tip printer
    

    Хэрэв энэ алхам нь ажиллахгүй бол /etc/remote файлыг дахин засварлаж /dev/ttyuN-ийн оронд /dev/cuaaN-г ашиглаж үзээрэй.

  4. Өгөгдлийг хэвлэгч уруу илгээнэ.

    • Хэрэв хэвлэгч цэвэр текст хэвлэж чаддаг бол lptest(1)-г ашиглана. Доор дурдсаныг бичнэ:

      % $lptest
      
    • Хэрэв хэвлэгч PostScript эсвэл бусад хэвлэгчийн хэлийг ойлгодог бол жижиг програм хэвлэгч уруу илгээх хэрэгтэй. Програмыг мөр мөрөөр маш анхааралтайгаар бичиж оруулах хэрэгтэй. Учир нь арилгах болон бусад засварлах товчлуурууд хэвлэгчийн хувьд чухал байж болох юм. Та програмыг бүгдийг нь хүлээж авсан гэж хэвлэгчид таниулахын тулд тусгай файлын төгсгөл товчлуурыг хэвлэгчид зориулж оруулах хэрэгтэй. PostScript-ийн хэвлэгчдийн хувьд CONTROL+D дарна.

      Мөн өөрөөр та програмыг файлд хийж доор дурдсаныг бичин оруулж болно:

      % >file
      

      Энд байгаа file нь програмыг агуулж байгаа файлын нэр юм. tip(1) файлыг илгээсний дараа шаардлагатай файлын төгсгөл товчлуурыг дарах хэрэгтэй.

Та ямар нэгэн зүйл хэвлэгдэхийг харах ёстой. Текст зөв харагдахгүй байвал санаа зовсны хэрэггүй; бид иймэрхүү зүйлсийг сүүлд нь засах болно.


10.3.1.5. Түр хадгалагчийг идэвхжүүлэх нь: /etc/printcap файл

Энэ үед таны хэвлэгч залгагдаж таны цөм түүнтэй холбогдохоор тохируулагдсан (хэрэв шаардлагатай бол) бөгөөд та хэвлэгч уруугаа зарим энгийн өгөгдлийг илгээж чаддаг байна. Одоо бид таны хэвлэгч уруу хандах хандалтыг хянахын тулд LPD-г тохируулахад бэлэн боллоо.

Та /etc/printcap файлыг засварлаж LPD-г тохируулна. LPD түр хадгалагч систем нь түр хадгалагч ашиглагдах болгонд энэ файлыг уншдаг учир энэ файл уруу хийгдсэн шинэчлэл шууд нөлөөлөх болно.

printcap(5) файлын хэлбэршилт хялбархан. /etc/printcap файлд засвар хийхдээ өөрийн дуртай текст засварлагчийг ашиглах хэрэгтэй. Хэлбэршилт нь /usr/share/misc/termcap болон /etc/remote зэрэг бусад боломжийн файлуудтай төстэй байдаг. Хэлбэршилтийн тухай бүрэн мэдээллийг cgetent(3)-с үзнэ үү.

Энгийн түр хадгалагчийн тохиргоо дараах алхмуудаас тогтоно:

  1. Хэвлэгчид зориулж нэр (болон хэдэн тохиромжтой alias-уудыг) сонгож /etc/printcap файлд хийж өгнө; Нэрлэх тухай дэлгэрэнгүй мэдээллийг Хэвлэгчийг нэрлэх нь хэсгээс үзнэ үү.

  2. sh боломжийг оруулан толгой хуудаснуудыг болиулах хэрэгтэй (анхдагчаар идэвхтэй байдаг); Дэлгэрэнгүй мэдээллийг Толгой хуудаснуудыг дарах нь хэсгээс үзнэ үү.

  3. Түр хадгалах санг үүсгэж түүний байрлалыг sd боломжоор зааж өгөх хэрэгтэй; Дэлгэрэнгүй мэдээллийг Түр хадгалах санг үүсгэх нь хэсгээс үзнэ үү.

  4. Хэвлэгчид зориулж ашиглахаар /dev оруулгыг тохируулж lp боломжоор /etc/printcap файлд түүнийг тэмдэглэх хэрэгтэй; Дэлгэрэнгүй мэдээллийг Хэвлэгчийн төхөөрөмжийг таних нь хэсгээс үзнэ үү. Хэрэв хэвлэгч цуваа порт дээр байгаа бол холбооны параметрүүдийг Түр хадгалагчийн холбооны параметрүүдийг тохируулах нь хэсэгт хэлэлцсэн ms# боломжоор тохируулах хэрэгтэй.

  5. Цэвэр текст оруулах шүүлтүүрийг суулгана; Дэлгэрэнгүйг Текст шүүгчийг суулгах нь хэсгээс үзнэ үү.

  6. lpr(1) тушаалаар ямар нэг юм хэвлэж тест хийнэ. Илүү дэлгэрэнгүйг Турших нь болон Алдааг олж засварлах хэсгүүдээс үзнэ үү.

Тэмдэглэл: PostScript хэвлэгчид зэрэг хэлэн дээр суурилсан хэвлэгчид цэвэр текстийг шууд хэвлэж чаддаггүй. Дээр болон дараагийн хэсгүүдэд тайлбарласан энгийн тохиргоо нь хэрэв та ийм хэвлэгч суулгаж байгаа бол таныг зөвхөн хэвлэгчийн ойлгодог файлыг хэвлэнэ гэж тооцдог.

Хэрэглэгчид нь цэвэр текстийг таны системд суулгагдсан дурын хэвлэгч уруу өгч хэвлэж болно гэж ихэвчлэн боддог. LPD уруу залгагдсан програмууд өөрсдийн хэвлэлтийг хийхдээ бас ингэж тооцдог. Хэрэв та тийм хэвлэгч суулгаж хэвлэгчийн хэл дээр ажлуудаа хэвлэх болон цэвэр текст ажлуудыг хэвлэж чаддаг байхыг хүсэж байгаа бол дээр дурдсан энгийн тохиргоонд нэмэлт алхам нэмж өгөх зайлшгүй шаардлагатай: цэвэр текстээс PostScript уруу автоматаар хөрвүүлэх програмыг суулгах хэрэгтэй. Цэвэр текст ажлуудыг PostScript хэвлэгчид дээр тааруулах нь гэж нэрлэгдсэн хэсэг үүнийг хэрхэн хийхийг хэлж өгнө.


10.3.1.5.1. Хэвлэгчийг нэрлэх нь

Эхний (хялбар) алхам бол өөрийн хэвлэгчид зориулж нэр сонгох явдал юм. Ажиллагаатай нь холбогдуулж юм уу эсвэл этгээд чамин нэр сонгох нь яг үнэндээ хамаагүй юм. Учир нь та хэвлэгчид зориулж бас хэд хэдэн alias буюу өөр нэрсийг өгч болох юм.

/etc/printcap-д тодорхойлогдсон хэвлэгчдийн хамгийн багаар бодоход аль нэг lp гэсэн alias-тай байх ёстой. Энэ нь анхдагч хэвлэгчийн нэр юм. Хэрэв хэрэглэгчдэд PRINTER орчны хувьсагч байхгүй юм уу эсвэл LPD тушаалуудыг өгөх тушаалын мөрөнд хэвлэгчийн нэрийг зааж өгөөгүй бол lp нь тэдгээрийн ашиглаж сурсан анхдагч хэвлэгч болох юм.

Хэвлэгчийн хамгийн сүүлийн alias-д хэвлэгчийн бүрэн тайлбарыг үйлдвэрлэгч болон загварыг оруулан өгөх нь нийтлэг практик байдаг.

Нэр болон зарим нийтлэг alias-уудыг сонгосныхоо дараа тэдгээрийг /etc/printcap файлд хийж өгөх хэрэгтэй. Хэвлэгчийн нэр хамгийн зүүн баганаас эхлэх ёстой. Alias болгоныг босоо шугамаар тусгаарлаж хамгийн сүүлийн alias-ийн ард тодорхойлох цэг тавьна.

Дараах жишээн дээр хоёр хэвлэгчийг (Diablo 630 шугамын хэвлэгч болон Panasonic KX-P4455 PostScript лазерийн хэвлэгч) тодорхойлох /etc/printcap файлаас бид эхлэх болно:

#
#  /etc/printcap for host rose
#
rattan|line|diablo|lp|Diablo 630 Line Printer:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:

Энэ жишээн дээр эхний хэвлэгч нь rattan гэж нэрлэгдсэн бөгөөд line, diablo, lp, болон Diablo 630 Line Printer гэсэн alias-уудтай байна. Энэ нь lp alias-тай болохоор энэ нь бас анхдагч хэвлэгч юм. Хоёр дахь нь bamboo гэж нэрлэгдсэн бөгөөд ps, PS, S, panasonic, болон Panasonic KX-P4455 PostScript v51.4 гэсэн alias-уудтай байна.


10.3.1.5.2. Толгой хуудаснуудыг дарах нь

LPD түр хадгалах систем нь ажил бүрийн хувьд анхдагчаар толгой хуудас хэвлэдэг. Толгой хуудас нь том сайхан үсгээр бичигдсэн ажлыг хүссэн хэрэглэгчийн нэр, ажил ирсэн хост болон ажлын нэрийг агуулдаг. Харамсалтай нь энэ бүх нэмэлт текст нь энгийн хэвлэгчийн тохиргоог дибаг хийх замд саад болдог учир бид толгой хуудаснуудыг дарж хаах болно.

Толгой хуудаснуудыг дарахын тулд /etc/printcap файл дахь хэвлэгчийн оруулгад sh боломжийг нэмэх хэрэгтэй. Энд sh нэмсэн /etc/printcap файлын жишээ байна:

#
#  /etc/printcap for host rose - no header pages anywhere
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:

Бидний зөв хэлбэршилт хэрхэн хэрэглэснийг хараарай: эхний мөр нь хамгийн зүүн талын баганаас эхэлж дараа дараачийн мөрүүд нь хойш зай авагдсан байна. Оруулга дахь сүүлийн мөрөөс бусад мөр бүр урагш налуу тэмдэгтээр төгссөн байна.


10.3.1.5.3. Түр хадгалах санг үүсгэх нь

Түр хадгалагчийн энгийн тохиргоон дахь дараагийн алхам нь хэвлэгдэх ажлууд хэвлэгдэх хүртлээ байдаг, түр хадгалагчийн бусад дэмжлэгийн файлууд бас байдаг түр хадгалах санг үүсгэх явдал юм.

Түр хадгалах сангийн хувьсамтгайгаас болоод эдгээр сангуудыг /var/spool-д хийх нь зуршил болсон зүйл юм. Түр хадгалах сангуудын агуулгыг заавал нөөцлөх ч бас шаардлагагүй юм. Тэдгээрийг үүсгэх нь mkdir(1) тушаалыг ажиллуулахтай адил хялбар юм.

Доор үзүүлсэн шиг хэвлэгчийн нэртэй адил нэрээр санг үүсгэх нь бас зуршил болсон байдаг:

# mkdir /var/spool/printer-name

Гэхдээ та сүлжээндээ их олон хэвлэгчидтэй бол түр хадгалах сангуудаа зөвхөн LPD-ээр хэвлэхийн тулд нөөцөлсөн нэг сангийн доор хийхийг хүсэж болох юм. Бид rattan болон bamboo гэсэн хоёр жишээ хэвлэгчдээ зориулж үүнийг хийх болно:

# mkdir /var/spool/lpd
# mkdir /var/spool/lpd/rattan
# mkdir /var/spool/lpd/bamboo

Тэмдэглэл: Хэрэглэгчдийн хэвлэх ажлын нууцлалын талаар та бодож байгаа бол түр хадгалах санд олон нийт хандах боломжгүй болгож түүнийг хамгаалахыг хүсэж болох юм. Түр хадгалах сангуудыг daemon хэрэглэгч болон daemon бүлэг эзэмшиж, өөр хэнээр ч биш зөвхөн эдгээрээр уншигдах, бичигдэх, болон хайлт хийгдэх боломжтой байх ёстой. Бид үүнийг өөрсдийн жишээ хэвлэгчдэд зориулж хийх болно:

# chown daemon:daemon /var/spool/lpd/rattan
# chown daemon:daemon /var/spool/lpd/bamboo
# chmod 770 /var/spool/lpd/rattan
# chmod 770 /var/spool/lpd/bamboo

Төгсгөлд нь та эдгээр сангуудын талаар LPD програмд /etc/printcap файл ашиглан хэлж өгөх хэрэгтэй. Түр хадгалах сангийн замыг sd боломжтой цуг зааж өгнө:

#
#  /etc/printcap for host rose - added spooling directories
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
	:sh:sd=/var/spool/lpd/rattan:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
	:sh:sd=/var/spool/lpd/bamboo:

Хэвлэгчийн нэр эхний баганаас эхэлж харин хэвлэгчийг тайлбарлах бусад бүх оруулгууд догол мөрөөс эхэлж мөр бүрийн төгсгөл урагш налуу тэмдэгтээр төгсөх ёстой.

Хэрэв та түр хадгалах санг sd-ээр зааж өгөхгүй бол түр хадгалах систем нь анхдагчаар /var/spool/lpd-г ашиглах болно.


10.3.1.5.4. Хэвлэгч төхөөрөмжийг таних нь

Тоног төхөөрөмжийн тохиргоо хэсэгт бид порт болон тохирох /dev санг FreeBSD нь хэвлэгчтэй холбогдохдоо ашиглахыг мэдлээ. Одоо бид LPD-д тэр мэдээллийг хэлнэ. Түр хадгалах систем нь хэвлэх ажилтай байгаа үедээ шүүгч програмын өмнөөс заасан төхөөрөмжийг онгойлгох болно (шүүгч програм нь өгөгдлийг хэвлэгч уруу дамжуулахыг хариуцдаг).

lp боломж ашиглан /etc/printcap файлд /dev оруулгын замыг жагсааж өгнө.

Бидний ажиллах жишээн дээр rattan нь эхний зэрэгцээ порт дээр, bamboo нь зургаа дахь цуваа порт дээр байгаа гэж үзье; энд /etc/printcap файлд хийгдэх нэмэлтүүд байна:

#
#  /etc/printcap for host rose - identified what devices to use
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:sd=/var/spool/lpd/rattan:\
        :lp=/dev/lpt0:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:\
        :lp=/dev/ttyu5:

Хэрэв та өөрийн /etc/printcap файл дээрээ хэвлэгчдээ зориулж lp боломжийг зааж өгөхгүй бол LPD нь анхдагчаар /dev/lp-г ашиглах болно. /dev/lp нь одоогоор FreeBSD дээр байхгүй байгаа.

Хэрэв таны суулгаж байгаа хэвлэгч зэрэгцээ порт уруу холбогдсон бол Текст шүүгчийг суулгах нь хэсэг уруу алгасаарай. Үгүй бол дараагийн хэсэг дэх заавруудыг дагахаа битгий мартаарай.


10.3.1.5.5. Түр хадгалагчийн холбооны параметрүүдийг тохируулах нь

Зэрэгцээ портууд дээрх хэвлэгчдийн хувьд LPD нь bps хурд, parity, болон бусад цуваа холбооны параметрүүдийг хэвлэгч уруу өгөгдөл илгээдэг шүүгч програмын өмнөөс тохируулж чаддаг. Энэ нь давуу талуудтай, учир нь:

  • Энэ нь /etc/printcap файлыг засварлан өөр холбооны параметрүүдийг турших боломжийг танд олгодог; та шүүгч програмыг дахин эмхэтгэх шаардлагагүй.

  • Энэ нь өөр өөр цуваа холбооны тохируулгуудтай байж болох олон хэвлэгчдэд зориулж нэг шүүгч програмыг ашиглахаар болгож түр хадгалах системийг идэвхжүүлдэг.

Дараах /etc/printcap боломжууд нь lp боломжид жагсаагдсан төхөөрөмжийн цуваа холбооны параметрүүдийг хянадаг:

br#bps-rate

Төхөөрөмжийн холбооны хурдыг bps-rate болгож тохируулах бөгөөд bps-rate нь секундэд 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, эсвэл 115200 бит байж болно.

ms#stty-mode

Төхөөрөмжийг онгойлгосны дараа терминал төхөөрөмжид зориулж сонголтуудыг тохируулна. stty(1) нь байж болох сонголтуудыг тайлбарладаг.

lp боломжоор заагдсан төхөөрөмжийг LPD онгойлгох үед энэ нь төхөөрөмжийн үзүүлэлтүүдийг ms# боломжоор заагдсанаар тохируулдаг. Тухайлбал, stty(1) гарын авлагын хуудсанд тайлбарлагдсан байгаа parenb, parodd, cs5, cs6, cs7, cs8, cstopb, crtscts, болон ixon горимууд юм.

Зургаа дахь цуваа порт дээр өөрсдийн жишээ хэвлэгчээ нэмье. Бид bps хурдыг 38400 гэж тохируулна. Горимын хувьд бид -parenb тохируулгаар parity байхгүй, cs8 тохируулгаар 8 бит тэмдэгтүүд, clocal тохируулгаар модемийн хяналт байхгүй, crtscts тохируулгаар тоног төхөөрөмжийн урсгалын хяналт байхгүй гэж тохируулах болно:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:\
        :lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:

10.3.1.5.6. Текст шүүгчийг суулгах нь

Одоо бид хэвлэгч уруу ажлууд илгээхийн тулд ямар текстийн шүүгчийг ашиглахыг LPD-д хэлэхэд бэлэн боллоо. Оролтын шүүгч гэж бас нэрлэгддэг Текст шүүгч нь хэвлэх ажил байхад LPD-ийн ажиллуулдаг програм юм. LPD нь хэвлэгчид зориулж текст шүүгчийг ажиллуулахдаа шүүгчийн стандарт оролтыг хэвлэх ажил уруу тохируулж өгдөг бөгөөд стандарт гаралтыг lp боломжоор заагдсан хэвлэгчийн төхөөрөмж уруу тохируулдаг. Шүүгч нь стандарт оролтоос ажлыг уншиж хэвлэгчид зориулж шаардлагатай орчуулгыг хийж үр дүнг стандарт гаралт уруу бичихээр хийгдсэн байдаг. Ингэснээр хэвлэгдэх болно. Текст шүүгчийн тухай дэлгэрэнгүй мэдээллийг Шүүгчид хэсгээс үзнэ үү.

Бидний энгийн хэвлэгчийн тохиргооны хувьд текст шүүгч нь хэвлэгч уруу ажлыг илгээхийн тулд /bin/cat тушаалыг ажиллуулах жижиг бүрхүүлийн скрипт байж болох юм. FreeBSD нь устгах болон доогуур зурах зэрэг тэмдэгтийн урсгалуудтай сайн ажиллаж чаддаггүй хэвлэгчдэд зориулсан тэдгээр тэмдэгтүүдийг зохицуулдаг lpf гэсэн өөр шүүгчтэй ирдэг. Тэгээд мэдээж та хүссэн өөр бусад шүүгч програмыг ашиглаж болно. lpf шүүгч нь lpf: текстийн шүүгч хэсэгт дэлгэрэнгүй тайлбарлагдсан байгаа.

Эхлээд /usr/local/libexec/if-simple гэсэн бүрхүүлийн скриптийг энгийн текст шүүгч болгоё. Энэ файлдаа өөрийн дуртай засварлагчаа ашиглан дараах текстийг оруулъя:

#!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
#
# Simply copies stdin to stdout.  Ignores all filter arguments.

/bin/cat && exit 0
exit 2

Файлыг ажиллах боломжтой болгоно:

# chmod 555 /usr/local/libexec/if-simple

/etc/printcap файлд if боломжоор үүнийг зааж LPD-д ашиглах ёстойг нь хэлж өгнө. Бид үүнийг /etc/printcap жишээ файл дахь одоогоор бидэнд байгаа өөрсдийн хоёр хэвлэгчдээ нэмэх болно:

#
#  /etc/printcap for host rose - added text filter
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\
        :if=/usr/local/libexec/if-simple:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:\
        :lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:\
        :if=/usr/local/libexec/if-simple:

Тэмдэглэл: if-simple скриптийн хуулбарыг /usr/share/examples/printing сангаас олж болно.


10.3.1.5.7. LPD-г идэвхжүүлэх

lpd(8) нь lpd_enable хувьсагчаар хянагддаг /etc/rc-с ажилладаг. Энэ хувьсагчийн анхдагч утга нь NO байдаг. Тэгж хийгээгүй байгаа бол та:

lpd_enable="YES"

мөрийг /etc/rc.conf файлд нэмж өөрийн машиныг дахин ачаалах юм уу эсвэл ердөө л lpd(8)-г ажиллуулах хэрэгтэй.

# lpd

10.3.1.5.8. Турших нь

Та энгийн LPD тохиргооны төгсгөлд хүрлээ. Харамсалтай нь баяр хүргэх арай л болоогүй байна. Учир нь бид тохиргоог тест хийж асуудал байвал засварлах хэрэгтэй хэвээр байгаа билээ. Тохиргоог тест хийхийн тулд ямар нэгэн юм хэвлэхийг оролдож үзээрэй. LPD системээр хэвлэхийн тулд ажлыг хэвлэхээр илгээдэг lpr(1) тушаалыг ашиглана.

Та lpr(1)Хэвлэгчийн холбоог шалгах нь хэсэгт танилцуулсан lptest(1) програмтай цуг хамтатган ямар нэг тест текст үүсгэхийн тулд ашиглаж болно.

Энгийн LPD тохиргоог тест хийхийн тулд:

Доор дурдсаныг бичнэ:

# lptest 20 5 | lpr -Pprinter-name

Энд байгаа printer-name нь /etc/printcap файлд заагдсан хэвлэгчийн нэр (эсвэл alias) юм. Анхдагч хэвлэгчийг тест хийхийн тулд lpr(1)-г ямар нэгэн -P нэмэлт өгөгдөлгүйгээр бичих хэрэгтэй. Дахин хэлэхэд PostScript-г хүлээж байдаг хэвлэгчийг тест хийж байгаа бол lptest(1)-г ашиглахын оронд PostScript програмыг тэр хэл дээр нь илгээх хэрэгтэй. Ингэхийн тулд та програмыг файлд хийж lpr file гэж бичиж болно.

PostScript хэвлэгчийн хувьд та програмын үр дүнг авах ёстой. Хэрэв та lptest(1)-г ашиглаж байгаа бол таны авсан үр дүн иймэрхүү харагдах ёстой:

!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
$%&'()*+,-./01234567
%&'()*+,-./012345678

Хэвлэгчийг цааш тест хийхийн тулд илүү том програмуудыг (хэлэн дээр суурилсан хэвлэгчдийн хувьд) татаж авах юм уу эсвэл lptest(1)-г өөр нэмэлт өгөгдлүүдтэй ажиллуулж үзээрэй. Жишээ нь lptest 80 60 тушаал нь мөр бүртээ 80 тэмдэгттэй 60 мөрийг үүсгэх болно.

Хэрэв хэвлэгч ажиллаагүй бол Алдааг олж засварлах хэсгийг үзнэ үү.


10.4. Хэвлэгчийн илүү нарийн тохиргоо

Сануулга: FreeBSD 8.0-аас эхлээд цуваа портын төхөөрөмжийн цэгүүд /dev/ttydN/dev/ttyuN болж өөрчлөгдсөн. FreeBSD 7.X хэрэглэгчид доорх баримтыг үзэхдээ эдгээрийг бодолцох хэрэгтэй.

Энэ хэсэгт онцгой загварчлагдсан файлыг шүүгчид, хуудасны толгой хэсэг, сүлжээгээр хэвлэх мөн хэвлэгчийг хэрэглэх эрх болон хязгаарлалт гэсэн зүйлүүдийн тухай зааварлах болно.


10.4.1. Шүүлтүүрүүд

Хэдийгээр LPD нь сүлжээний протокол, дараалал, хандалтын хяналт гэх мэтчилэн хэвлэлтийн асуудлуудыг хариуцдаг ч жинхэнэ ажлыг нь шүүлтүүрүүд хийдэг. Шүүлтүүрүүд нь тусгай програмууд бөгөөд хэвлэгчийн төхөөрөмжүүд болон онцгой шаардлагуудыг нь хариуцаж байдаг. Бид хамгийн энгийн суулгац хийх үед их амархан бөгөөд бараг бүх хэвлэгчид тохирдог текст шүүлтүүр суулгасан билээ. (Текст шүүлтүүр суулгах нь хэсэгт).

Хэвлэх төрлийн хувиргалт, хэвлэгчийн онцгой шинж чанар зэрэг давуу чанаруудыг нь хэрэглэхийн тулд танд шүүлтүүрийг зөв ойлгох шаардлага гарна. Ийм ажлуудыг зөвхөн шүүлтүүр хийдэг. Тэгээд муу мэдээ нь юу вэ гэхээр тэдгээр бүгдийг та тодорхойлж өгөх ёстой. Сайн мэдээ нь юу вэ гэхээр тэдгээрийн ихэнх нь боломжтой бэлэн байдаг бөгөөд хэрэв бичихээр бол тун амархан бичигддэг юм.

Мөн түүнчлэн FreeBSD /usr/libexec/lpr/lpf гэдэг нэртэй, бараг бүх хэвлэгчид ердийн текст хэвлэж чаддаг шүүлтүүртэй ирдэг. (энэ нь файл дотор байгаа зай болон том зай авалтуудыг таньдаг бөгөөд мөн эрх үүсгэх гээд түүний чаддаг бүх зүйл нь үүгээр дуусдаг) FreeBSD-н портын цуглуулга дотор хэд хэдэн шүүлтүүр болон шүүлтүүрийн бүрдэл хэсгүүд байдаг.

Энэ хэсэгт танд танилцуулах зүйлсүүдийг харуулъя:

  • Шүүлтүүр хэрхэн ажилладаг вэ хэсэгт хэвлэх явцад шүүлтүүр ямар үүрэг гүйцэтгэдэг талаар тайлбарлахыг оролдох болно. LPD хэвлэх үедээ шүүлтүүрийг “хөшигний цаана” хэрхэн ашигладаг талаар та энд ойлгох болно. Үүнийг мэдсэнээр хэрэв өөр үед та олон шүүлтүүр суулгах үед хүндрэл гарвал даван туулахад тань хэрэг болно.

  • LPD нь хэвлэгч бүрийг анхны тохируулгаараа ердийн текстийг хэвлэж чадна гэж авч үздэг. Энэ нь ердийн текстийг шууд хэвлэж чаддаггүй PostScript хэвлэгчид (эсвэл бусад програмын хэл дээр үндэслэсэн хэвлэгчид ) дээр хүндрэл гаргадаг. PostScript хэвлэгчид дээр ердийн текст хэвлэдэг болох хэсэгт иймэрхүү хүндрэлийг даван туулах талаар хэлэх болно. Хэрэв танд PostScript хэвлэгч байдаг бол энэ хэсгийг уншаарай.

  • PostScript нь маш олон програмын гаралт болж байдаг. Тэр бүү хэл зарим хүмүүс шууд PostScript бичиж чаддаг. Харамсалтай нь PostScript хэвлэгч нар үнэтэй. PostScript биш төрлийн хэвлэгчийг PostScript мэт хэрэглэх хэсэгт танд PostScript өгөгдлийг PostScript биш төрлийн хэвлэгч дээр хэвлэж болдог талаар зааварлах болно. Хэрэв танд PostScript хэвлэгч байхгүй бол энэ хэсгийг та уншаарай.

  • Хувиргагч шүүлтүүрүүд хэсэг танд онцгой төрлийн файлууд болох график эсвэл өөр төрлийн бичиглэлтэй файлуудыг хэрхэн таны хэвлэгчийн ойлгодог төрөл рүү хувиргаж хэвлэх талаар өгүүлэх болно. Энэ хэсгийг уншсаны дараа, та жишээ нь хэрэглэгчид lpr -t тушаал өгөн troff өгөгдөл хэвлэх эсвэл lpr -d тушаал өгөн TeX DVI өгөгдөл хэвлэх эсвэл lpr -v тушаал өгөн зураг төрлийн файл хэвлэх зэрэг зүйлүүдийг мэдэх болно. Энэ хэсгийг заавал унших хэрэгтэй гэж танд зөвлөж байна.

  • Гаралтын шүүлтүүр хэсэг нь LPD-н нэг их хэрэглэгддэг шинж чанарууд болох гаралтын шүүлтүүрүүдийн тухай өгүүлэх болно: Та хуудасны толгой хэсгийг хэвлэж болж л байвал (Хуудасны толгой хэсэг хэсэгт харна уу) энэ хэсгийг та алгасаж болно.

  • lpf: текст шүүлтүүр хэсэгт FreeBSD-тэй хамт нэлээн төгс ажиллагаатай мөрөөр нь хэвлэдэг (лазер хэвлэгч нар мөр мөрөөр нь хэвлэдэг туузан хэвлэгч шиг ажилладаг) lpf текст шүүлтүүрийн тухай өгүүлэх болно. Хэрэв та хэвлэгчийнхээ эрхийг түргэн бэлэн болгох эсвэл таны хэвлэгч хоосон зайг утаа байна гэж хүлээж аваад байвал та яах аргагүй lpf-тэй ажиллах хэрэг гарна.

Тэмдэглэл: Доорх хэсэгт харуулах янз бүрийн скриптийн хуулбарыг /usr/share/examples/printing сангаас олж болно.


10.4.1.1. Шүүлтүүр хэрхэн ажилладаг вэ

Өмнө дурдсанаар шүүлтүүр нь хэвлэгчтэй холбогдох төхөөрөмжөөс чөлөөтэй хэсгийг зохицуулах LPD-ээр эхлүүлэгдэн ажилладаг програм юм.

Ажил дахь файлыг LPD хэвлэхийг хүсэхдээ шүүлтүүр програмыг эхлүүлдэг. Энэ нь шүүлтүүрийн стандарт оролтыг хэвлэх файл уруу, өөрийн стандарт гаралтыг хэвлэгч уруу, өөрийн стандарт алдааг алдаа бүртгэх файл (/etc/printcap файл дахь lf боломжид эсвэл анхдагчаар /dev/console) уруу тохируулдаг.

LPD аль шүүлтүүрийг эхлүүлэх болон /etc/printcap файлд юу байгаа болон lpr(1) тушаалын мөр дэх ажилд зориулж хэрэглэгч ямар нэмэлт өгөгдлүүд зааснаас шүүлтүүрийн нэмэлт өгөгдлүүд хамаардаг. Жишээ нь хэрэв хэрэглэгч lpr -t тушаал бичсэн бол LPD нь хүрэх хэвлэгчийн tf боломжид жагсаагдсан troff шүүлтүүрийг эхлүүлэх болно. Хэрэв хэрэглэгч цэвэр текстийг хэвлэхийг хүссэн бол энэ нь if шүүлтүүрийг эхлүүлэх байсан (энэ нь бараг л үнэн юм: дэлгэрэнгүйг Гаралтын шүүлтүүрүүд хэсгээс үзнэ үү).

/etc/printcap файлд зааж өгч болох гурван төрлийн шүүлтүүр байдаг:

  • текст шүүлтүүр буюу оролтын шүүлтүүр гэж LPD баримтад толгой эргүүлмээр нэрлэгдсэн шүүлтүүр нь ердийн текст хэвлэлтийг зохицуулдаг. Үүнийг анхдагч шүүлтүүр гэж бодох хэрэгтэй. LPD нь хэвлэгч бүрийг цэвэр текстийг анхдагчаар хэвлэж чаддаг гэж тооцдог бөгөөд устгах тэмдэгтүүд, tab-ууд эсвэл бусад тусгай тэмдэгтүүд хэвлэгчийг будлиулахгүй байлгахад санаа тавих нь текст шүүлтүүрийн ажил юм. Хэрэв та хэвлэгчийн хэрэглээний хувьд бүртгэлтэй тийм орчинд байгаа бол текст шүүлтүүр нь хэвлэгдсэн мөрүүдийн тоог тоолж тэр тоогоо хэвлэгчийн дэмждэг нэг хуудсан дахь мөрийн тоотой жишиж хэвлэсэн хуудаснуудыг бас бүртгэх ёстой. Текст шүүлтүүрийг дараах нэмэлт өгөгдлийн жагсаалттай эхлүүлдэг:

    filter-name [-c] -w width -l length -i indent -n login -h host acct-file

    энд байгаа

    -c

    нь ажил lpr -l тушаалаар илгээгдсэн бол гарч ирнэ

    width

    нь /etc/printcap файлд заагдсан pw (хуудасны өргөн) боломжийн утга юм. Анхдагчаар 132 байна

    length

    нь pl (хуудасны урт) боломжийн утга бөгөөд анхдагчаар 66 байна

    indent

    нь lpr -i тушаалаас өгөгдөх догол мөрний хэмжээ юм. Анхдагчаар 0 байна

    login

    нь файлыг хэвлэж байгаа хэрэглэгчийн бүртгэл юм

    host

    нь ажлыг илгээсэн хостын нэр юм

    acct-file

    нь af боломжийн бүртгэлийн файлын нэр юм.

  • Хувиргах шүүлтүүр нь тусгай файлын хэлбэршилтийг хэвлэгчийн цаасан дээр амилуулж чадах хэлбэршилт уруу хувиргадаг. Жишээ нь ditroff маяг хийгдсэн өгөгдлийг шууд хэвлэж болдоггүй боловч ditroff өгөгдлийг хэвлэгчийн ойлгож хэвлэх хэлбэр уруу хувиргах ditroff файлуудад зориулсан хувиргах шүүлтүүрийг та суулгаж болох юм. Тэдгээрийн талаар бүгдийг Хувиргах шүүлтүүрүүд хэсэг хэлж өгдөг. Хэрэв танд хэвлэгчийн бүртгэл хийлт хэрэгтэй бол хувиргах шүүлтүүрүүд бас бүртгэл хийх хэрэгтэй болно. Хувиргах шүүлтүүрүүдийг дараах нэмэлт өгөгдлүүдтэй эхлүүлдэг:

    filter-name -x pixel-width -y pixel-height -n login -h host acct-file

    энд байгаа pixel-width нь px боломжийн утга (анхдагчаар 0) бөгөөд pixel-height нь py боломжийн утга юм (анхдагчаар 0).

  • Гаралтын шүүлтүүр нь шүүх текст байхгүй байх юм уу эсвэл толгой хуудаснууд идэвхтэй байх тохиолдолд зөвхөн ашиглагддаг. Бидний туршлага дээрээс харахад гаралтын шүүлтүүрүүд ховор ашиглагддаг. Гаралтын шүүлтүүрүүд хэсэг тэдгээрийг тайлбарладаг. Гаралтын шүүлтүүрт зөвхөн хоёр нэмэлт өгөгдөл байдаг:

    filter-name -w width -l length

    эдгээр нь текст шүүлтүүрийн -w болон -l нэмэлт өгөгдлүүдтэй адил юм.

Шүүлтүүрүүд нь бас дараах гарах төлөвтэйгөөр гарах ёстой:

exit 0

Шүүлтүүр файлыг амжилттай хэвлэсэн тохиолдолд.

exit 1

Шүүлтүүр файлыг хэвлэж чадаагүй боловч LPD-гээр файлыг дахин хэвлүүлэхээр оролдохыг хүссэн. LPD нь шүүлтүүр энэ төлөвтэй гарсан бол түүнийг дахин эхлүүлэх болно.

exit 2

Шүүлтүүр файлыг хэвлэж чадаагүй бөгөөд LPD-гээр файлыг дахин хэвлүүлэхийг хүсээгүй. LPD-нь файлыг гаргаж хаях болно.

FreeBSD хувилбартай цуг ирдэг текст шүүлтүүр /usr/libexec/lpr/lpf нь хуудасны өргөн болон уртын нэмэлт өгөгдлүүдийг ашиглан хэзээ form feed илгээх болон хэвлэгчийн хэрэглээг хэрхэн бүртгэхийг тодорхойлдог. Энэ нь бүртгэлийн оруулгуудыг бичихийн тулд нэвтрэлт, хост болон файлын нэмэлт өгөгдлүүдийн бүртгэл хийлтийг ашигладаг.

Хэрэв та шүүлтүүр худалдаж авахыг хүсэж байгаа бол тэдгээр нь LPD-тэй нийцтэй эсэхийг нь үзээрэй. Хэрэв тийм бол тэдгээр нь дээр тайлбарласан нэмэлт өгөгдлийн жагсаалтуудыг дэмжих ёстой. Та ердийн хэрэглээнд зориулж шүүлтүүрүүд бичих төлөвлөгөөтэй байгаа бол дээрх нэмэлт өгөгдлийн жагсаалт болон гарах кодуудыг дэмждэгээр тэдгээрийг хийгээрэй.


10.4.1.2. PostScript® хэвлэгчид дээр цэвэр текст ажлуудыг тааруулах нь

Та өөрийн компьютер болон PostScript (эсвэл бусад хэлэн дээр суурилсан) хэвлэгчийнхээ зөвхөн цорын ганц хэрэглэгч бөгөөд өөрийн хэвлэгч уруугаа цэвэр текстийг хэзээ ч илгээхгүй, таны хэвлэгч уруу цэвэр текстийг илгээхийг хүсдэг төрөл бүрийн програмуудын боломжуудыг хэзээ ч ашиглахгүй гэж амлах юм бол та энэ хэсгийн талаар санаа ерөөсөө зовох хэрэггүй юм.

Гэхдээ та PostScript болон цэвэр текст ажлуудыг хэвлэгч уруу илгээхийг хүсэж байгаа бол өөрийн хэвлэгчийн тохиргоог нэн даруй нэмэх хэрэгтэй юм. Ингэхийн тулд ирж байгаа ажил цэвэр текст үү эсвэл PostScript үү гэдгийг илрүүлэх текст шүүлтүүртэй байна. Бүх PostScript ажлууд %!-аар (бусад хэвлэгчийн хэлнүүдийн хувьд өөрийн хэвлэгчийн баримтыг үзнэ үү) эхлэх ёстой. Хэрэв тэдгээр нь ажил дахь эхний хоёр тэмдэгт байгаа бол бид PostScript-ийг ашиглаж ажлын үлдсэн хэсгийг шууд дамжуулж болно. Хэрэв тэдгээр нь файл дахь эхний хоёр тэмдэгт биш бол шүүлтүүр текстийг PostScript уруу хувиргаж үр дүнг хэвлэх болно.

Үүнийг бид хэрхэн хийх вэ?

Хэрэв танд цуваа хэвлэгч байгаа бол үүнийг хийх агуу арга нь lprps-г суулгах явдал юм. lprps нь хэвлэгчтэй хоёр талын холбоог хийдэг PostScript хэвлэгчийн шүүлтүүр юм. Энэ нь хэвлэгчийн төлвийн файлыг хэвлэгчийн дэлгэрэнгүй мэдээллээр шинэчилдэг. Ингэснээр хэрэглэгчид болон администраторууд хэвлэгчийн төлөвийг яг ямар байгааг (“toner low” эсвэл “paper jam” гэх зэрэг) харах боломжтой болох юм. Гэхдээ илүү чухал зүйл бол энэ нь ирж байгаа ажлыг цэвэр текст эсэхийг илрүүлж PostScript уруу хөрвүүлэх textps (lprps-тэй цуг ирдэг өөр програм) тушаалыг дууддаг psif гэгддэг програмыг агуулдаг явдал юм. Дараа нь хэвлэгч уруу ажлыг илгээхийн тулд lprps тушаалыг энэ нь ашигладаг.

lprps нь FreeBSD-ийн портын цуглуулгад байдаг (Портын цуглуулга бүлгийг үзнэ үү). Ашиглах цаасны хэмжээний дагуу print/lprps-a4 болон print/lprps-letter портын аль нэгийг суулгаж та болно. lprps-г суулгасны дараа lprps-ийн хэсэг болох psif програмд замыг зааж өгөх хэрэгтэй. Хэрэв та lprps-г портын цуглуулгаас суулгасан бол доор дурдсаныг /etc/printcap файл дахь цуваа PostScript хэвлэгчийн оруулгад ашиглах хэрэгтэй:

:if=/usr/local/libexec/psif:

LPD-д хэвлэгчийг унших-бичих горимоор онгойлгох боломж олгохын тулд rw боломж нь бас орсон байх шаардлагатай.

Хэрэв танд зэрэгцээ PostScript хэвлэгч байгаа (бөгөөд тиймээс lprps-д хэрэгтэй хоёр талын холбоог хэвлэгчтэй цуг ашиглаж чадахгүй байгаа) бол та дараах бүрхүүлийн скриптийг текст шүүлтүүр маягаар ашиглаж болно:

#!/bin/sh
#
#  psif - Print PostScript or plain text on a PostScript printer
#  Script version; NOT the version that comes with lprps
#  Installed in /usr/local/libexec/psif
#

IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`

if [ "$first_two_chars" = "%!" ]; then
    #
    #  PostScript job, print it.
    #
    echo "$first_line" && cat && printf "\004" && exit 0
    exit 2
else
    #
    #  Plain text, convert it, then print it.
    #
    ( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0
    exit 2
fi

Дээрх скрипт дээр байгаа textps нь цэвэр текстийг PostScript уруу хувиргахаар бидний тусдаа суулгасан програм юм. Та дурын текстээс-PostScript уруу хувиргадаг хүссэн програмаа ашиглаж болно. FreeBSD-ийн портын цуглуулга (Портын цуглуулга бүлгийг үзнэ үү) нь өргөн боломжтой текстээс-PostScript уруу хувиргадаг a2ps гэгддэг програмыг агуулдаг бөгөөд та магадгүй үүнийг судлахыг хүсэж болох юм.


10.4.1.3. PostScript биш хэвлэгчид дээр PostScript дүр үзүүлэх

PostScript нь өндөр чанарын маяг тохируулалт болон хэвлэлтэд зориулагдсан албан ёсны стандарт юм. PostScript нь гэхдээ үнэтэй стандарт юм. Aladdin Enterprises-ийн ачаар харин чөлөөтэй PostScript-тэй төстэй, FreeBSD дээр ажилладаг Ghostscript гэгддэг програм байдаг. Ghostscript нь ихэнх PostScript файлуудыг уншиж чаддаг бөгөөд тэдгээрийн хуудаснуудыг PostScript биш хэвлэгчдийн олон загваруудыг оролцуулаад төрөл бүрийн төхөөрөмжүүд рүү амилуулж чаддаг. Ghostscript-г суулгаж өөрийн хэвлэгчийн хувьд тусгай текстийн шүүлтүүрийг ашиглан та өөрийн PostScript биш хэвлэгчийг жинхэнэ PostScript хэвлэгч шигээр ажиллуулах боломжтой байдаг.

Ghostscript нь FreeBSD-ийн портын цуглуулгад байдаг. Олон хувилбар байдаг бөгөөд хамгийн ихээр ашиглагддаг хувилбар нь print/ghostscript-gpl юм.

PostScript шиг дүр үзүүлэхийн тулд PostScript файл хэвлэж байна уу гэдгийг илрүүлэх текст шүүлтүүр бидэнд байна. Хэрэв энэ нь тийм биш бол шүүлтүүр нь файлыг хэвлэгч уруу шууд дамжуулна; үгүй бол энэ нь файлыг хэвлэгчийн ойлгодог хэлбэр уруу эхлээд хувиргах Ghostscript-г ашиглах болно.

Энд жишээ байна: дараах скрипт нь Hewlett Packard DeskJet 500 хэвлэгчдэд зориулсан текст шүүлтүүр юм. Бусад хэвлэгчдийн хувьд -sDEVICE нэмэлт өгөгдлийг сольж gs (Ghostscript) тушаал уруу өгөх хэрэгтэй. (Ghostscript-ийн тухайн үеийн суулгацын дэмждэг төхөөрөмжүүдийн жагсаалтыг авахын тулд gs -h гэж бичих хэрэгтэй.)

#!/bin/sh
#
#  ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500
#  Installed in /usr/local/libexec/ifhp

#
#  Treat LF as CR+LF (to avoid the "staircase effect" on HP/PCL
#  printers):
#
printf "\033&k2G" || exit 2

#
#  Read first two characters of the file
#
IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`

if [ "$first_two_chars" = "%!" ]; then
    #
    #  It is PostScript; use Ghostscript to scan-convert and print it.
    #
    /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \
      -sOutputFile=- - && exit 0
else
    #
    #  Plain text or HP/PCL, so just print it directly; print a form feed
    #  at the end to eject the last page.
    #
    echo "$first_line" && cat && printf "\033&l0H" && 
exit 0
fi

exit 2

Төгсгөлд нь та шүүлтүүрийн LPDif боломжийн тусламжтай мэдэгдэх хэрэгтэй:

:if=/usr/local/libexec/ifhp:

Ингээд л боллоо. Та lpr plain.text болон lpr whatever.ps гэж бичиж болох бөгөөд хоюулаа амжилттайгаар хэвлэгдэх болно.


10.4.1.4. Хувиргах шүүлтүүрүүд

Хэвлэгчийн энгийн тохиргоо хэсэгт тайлбарласан энгийн тохиргоог дуусгасны дараа магадгүй таны хамгийн эхэнд хийхийг хүссэн зүйл чинь өөрийн дуртай файлын хэлбэршилтүүдэд (цэвэр ASCII текстээс гадна) зориулж хувиргах шүүлтүүрүүдийг суулгах явдал байж болох юм.


10.4.1.4.1. Хувиргах шүүлтүүрүүдийг яагаад суулгах ёстой вэ?

Хувиргах шүүлтүүрүүд нь төрөл бүрийн файлуудыг хэвлэхэд амар болгодог. Жишээ нь бид TeX хэв маяг тохируулах системтэй их ажилладаг бөгөөд бидэнд PostScript хэвлэгч байна гэж бодъё. TeX-ээс DVI файлыг үүсгэх болгонд бид DVI файлыг PostScript уруу хувиргалгүйгээр шууд хэвлэж чадахгүй. Тушаалын дараалал иймэрхүү хийгдэнэ:

% dvips seaweed-analysis.dvi
% lpr seaweed-analysis.ps

DVI файлуудад зориулсан хувиргах шүүлтүүрийг суулгаж LPD-ээр өөрсөддөө зориулан хийлгэж бид гараар хувиргах алхмыг алгасаж болно. Одоо, DVI файлыг авах болгонд бидэнд хэвлэхэд нэг алхам дутуу байх болно:

% lpr -d seaweed-analysis.dvi

Бидэнд зориулж DVI файлын хувиргалтыг хийх LPD програмд -d тохируулгыг зааж өгнө. Хэлбэршүүлэх болон хувиргах тохируулгууд хэсэг хувиргах тохируулгуудыг жагсаасан байгаа.

Таны хүсэх хэвлэгчийн дэмжих хувиргах тохируулга бүрт зориулж хувиргах шүүлтүүр суулгаж түүний замыг /etc/printcap файлд зааж өгнө. Хувиргах шүүлтүүр нь энгийн хэвлэгчийн тохиргоон дахь (Текст шүүлтүүрийг суулгах нь хэсгийг үзнэ үү) текст шүүлтүүртэй төстэй. Ялгаа нь цэвэр текст хэвлэхийн оронд энэ шүүлтүүр нь файлыг хэвлэгчийн ойлгодог хэлбэршилт уруу хувиргадаг.


10.4.1.4.2. Аль хувиргах шүүлтүүрүүдийг би суулгах ёстой вэ?

Та ашиглах хувиргах шүүлтүүрүүдээ суулгах ёстой. Хэрэв та маш их DVI өгөгдлийг хэвлэх бол DVI хувиргах шүүлтүүр хэрэглэгдэнэ. Хэрэв танд маш их troff хэвлэх хэрэгтэй бол та troff шүүлтүүрийг суулгахыг хүсэх байх.

Дараах хүснэгтэд LPD-ийн ажилладаг шүүлтүүрүүд, тэдгээрийн /etc/printcap файл дахь боломжийн оруулгууд болон тэдгээрийг lpr тушаалаар хэрхэн дуудах талаар дурдсан болой:

Файлын төрөл /etc/printcap боломж lpr тохируулга
cifplot cf -c
DVI df -d
plot gf -g
ditroff nf -n
FORTRAN текст rf -f
troff tf -f
raster vf -v
цэвэр текст if none, -p, or -l

Бидний жишээн дээрх lpr -d тушаалыг ашиглах нь хэвлэгчийн хувьд /etc/printcap файл дахь түүний оруулгад df боломж хэрэгтэй гэсэн үг юм.

Бусад хүмүүс магадгүй маргаж болох юм. Гэхдээ FORTRAN текст болон plot зэрэг хэлбэршилтүүд нь магадгүй хуучирсан хэлбэршилтүүд юм. Та өөрийн талдаа эдгээр шинэ ойлголтууд юм уу эсвэл ердөө л өөрчлөн тохируулсан шүүлтүүрүүдийг суулгаж аль нэг хэлбэршилтийн сонголтуудыг өгч болох юм. Жишээ нь та Printerleaf файлуудыг (Interleaf ширээний хэвлэх програмаас гарах файлууд) шууд хэвлэхийг хүсчээ. Гэхдээ plot файлуудыг хэзээ ч хэвлэхгүй гэж бодъё. Тэгвэл та gf боломжийн доор Printerleaf хувиргах шүүлтүүрийг суулгаж lpr -g тушаал нь “Printerleaf файлуудыг хэвлэх” гэсэн үг болохыг өөрийн хэрэглэгчиддээ сургах хэрэгтэй болох юм.


10.4.1.4.3. Хувиргах шүүлтүүрүүдийг суулгах нь

Хувиргах шүүлтүүрүүд нь үндсэн FreeBSD суулгацаас гадна суулгах програмууд бөгөөд /usr/local сан дотор байрлана. /usr/local/libexec сан нь түгээмэл хэрэглэгддэг байрлал юм. Учир нь тэдгээр нь LPD-ийн зөвхөн ажиллуулах тусгай програмууд юм; ердийн хэрэглэгчид нь тэдгээрийг хэзээ ч ажиллуулах хэрэггүй юм.

Хувиргах шүүлтүүрийг идэвхжүүлэхийн тулд /etc/printcap файлд хүрэх хэвлэгчийн хувьд тохирох боломжийн доор түүний замыг зааж өгөх явдал юм.

Бидний жишээн дээр bamboo гэж нэрлэгдсэн хэвлэгчийн оруулгад DVI хувиргах шүүлтүүрийг бид нэмэх болно. bamboo хэвлэгчийн хувьд шинэ df боломжийг оруулсан /etc/printcap файлын жишээг энд дахин үзүүлэв:

#
#  /etc/printcap for host rose - added df filter for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:sd=/var/spool/lpd/rattan:\
        :lp=/dev/lpt0:\
        :if=/usr/local/libexec/if-simple:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:\
        :lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:rw:\
        :if=/usr/local/libexec/psif:\
        :df=/usr/local/libexec/psdf:

DVI шүүлтүүр нь /usr/local/libexec/psdf гэж нэрлэгдсэн бүрхүүлийн скрипт юм. Энд тэр скриптийг үзүүлэв:

#!/bin/sh
#
#  psdf - DVI to PostScript printer filter
#  Installed in /usr/local/libexec/psdf
#
# Invoked by lpd when user runs lpr -d
#
exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"

Энэ скрипт нь dvips-г шүүлтүүрийн горимд (-f нэмэлт өгөгдөл) хэвлэх ажил болох стандарт оролт дээр ажиллуулдаг. Дараа нь PostScript хэвлэгчийн шүүлтүүр lprps-г (PostScript хэвлэгчид дээр текст ажлуудыг тааруулах нь хэсгийг үзнэ үү) LPD-ийн энэ скрипт уруу дамжуулсан нэмэлт өгөгдлүүдтэй цуг эхлүүлнэ. lprps тушаал нь хэвлэсэн хуудаснуудыг бүртгэхийн тулд тэдгээр нэмэлт өгөгдлүүдийг ашиглах болно.


10.4.1.4.4. Хувиргах шүүлтүүрийн зарим жишээнүүд

Хувиргах шүүлтүүрүүдийг суулгах тогтмол алхмууд байдаггүй болохоор энэ хэсэгт зарим нэг ажилладаг жишээнүүдийг энд дурдъя. Эдгээрийг өөрийн шүүлтүүрийг хийхдээ заавар болгон ашиглаарай. Тохирохоор бол шууд ашиглах хэрэгтэй.

Энэ жишээ скрипт нь Hewlett Packard LaserJet III-Si хэвлэгчид зориулсан raster (яг үнэндээ GIF файл) хувиргах шүүлтүүр юм:

#!/bin/sh
#
#  hpvf - Convert GIF files into HP/PCL, then print
#  Installed in /usr/local/libexec/hpvf
                  
PATH=/usr/X11R6/bin:$PATH; export PATH
giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
    && exit 0 \
    || exit 2

Энэ нь GIF файлыг зөөгдөх anymap уруу, гарсныг нь зөөгдөх graymap уруу, гарсныг нь зөөгдөх bitmap уруу, тэр гарсныг нь LaserJet/PCL-тэй нийцтэй өгөгдөлд хувиргаж ажилладаг.

Дээрх шүүлтүүрийг ашиглаж байгаа хэвлэгчид зориулсан оруулгатай /etc/printcap файлыг энд үзүүлэв:

#
#  /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
        :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
        :if=/usr/local/libexec/hpif:\
        :vf=/usr/local/libexec/hpvf:

Дараах скрипт нь bamboo гэж нэрлэгдсэн PostScript хувилагчийн groff маяг тохируулах системээс troff өгөгдөлд зориулсан хувиргах шүүлтүүр юм:

#!/bin/sh
#
#  pstf - Convert groff's troff data into PS, then print.
#  Installed in /usr/local/libexec/pstf
#
exec grops | /usr/local/libexec/lprps "$@"

Дээрх скрипт нь хэвлэгчтэй хийх холбоог зохицуулахын тулд lprps-г дахин ашигладаг. Хэрэв хэвлэгч зэрэгцээ порт дээр байгаа бол бид энэ скриптийг харин ашиглах болно:

#!/bin/sh
#
#  pstf - Convert groff's troff data into PS, then print.
#  Installed in /usr/local/libexec/pstf
#
exec grops

Ингээд л боллоо. Шүүлтүүрийг идэвхжүүлэхийн тулд бид дараах оруулгыг /etc/printcap файлд нэмэх хэрэгтэй:

:tf=/usr/local/libexec/pstf:

Хуучин гаруудыг FORTRAN-с ичихэд хүргэх жишээг энд үзүүлэв. Энэ нь цэвэр текстийг шууд хэвлэж чадах дурын хэвлэгчид зориулсан FORTRAN-текст шүүлтүүр юм. Бид үүнийг teak хэвлэгчид зориулж суулгах болно:

#!/bin/sh
#
# hprf - FORTRAN text filter for LaserJet 3si:
# Installed in /usr/local/libexec/hprf
#

printf "\033&k2G" && fpr && printf "\033&l0H" &&
 exit 0
exit 2

Тэгээд бид энэ шүүлтүүрийг идэвхжүүлэхийн тулд teak хэвлэгчид зориулж /etc/printcap файлд энэ мөрийг нэмэх болно:

:rf=/usr/local/libexec/hprf:

Энд сүүлийн бөгөөд зарим талаараа төвөгтэй жишээ байна. Бид DVI шүүлтүүрийг өмнө танилцуулсан LaserJet хэвлэгч teak-д нэмэх болно. Эхлээд амархан хэсэг нь: /etc/printcap файлыг DVI шүүлтүүрийн байрлалаар шинэчлэх явдал юм:

:df=/usr/local/libexec/hpdf:

Одоо хэцүү хэсэг нь: шүүлтүүр хийх явдал юм. Үүний тулд бидэнд DVI-ээс-LaserJet/PCL уруу хувиргах програм хэрэгтэй. FreeBSD-ийн портын цуглуулгад (see Портын цуглуулга) нэг байдаг: print/dvi2xx. Энэ портыг суулгах нь бидэнд хэрэгтэй програм dvilj2p-г өгдөг. Энэ нь DVI-г LaserJet IIp, LaserJet III, болон LaserJet 2000-тай нийцтэй кодууд уруу хувиргадаг.

dvilj2p нь шүүлтүүр hpdf-г нэлээн төвөгтэй болгодог. Учир нь dvilj2p нь стандарт оролтоос уншиж чаддаггүй. Энэ нь файлын нэртэй ажиллахыг хүсдэг. Юу нь бүр муу вэ гэхээр файлын нэр нь .dvi гэж төгсөх ёстой. Тэгэхээр /dev/fd/0-г стандарт оролтод зориулж ашиглах нь асуудалтай болно. Бид түр зуурын файлын нэрийг (.dvi-аар төгссөн) /dev/fd/0 уруу болгож холбоос үүсгэн энэ асуудлыг тойрон гарч болох юм. Ингэснээр dvilj2p тушаалыг стандарт оролтоос уншуулах юм.

Асуудалтай нэг зүйл нь бид /tmp-г түр зуурын холбоост ашиглаж болохгүй явдал юм. Симболын холбоосуудыг bin хэрэглэгч болон бүлэг эзэмшдэг. Тэгээд /tmp санд наалттай (sticky) бит тохируулагдсан байдаг. Шүүлтүүр нь холбоос үүсгэж чадах боловч холбоос нь өөр хэрэглэгчид харьяалагдах болохоор дууссаныхаа дараа цэвэрлэж устгаж чаддаггүй юм.

Харин шүүлтүүр нь түр хадгалах сан (/etc/printcap файлд sd боломжоор заагдсан) болох одоо ажиллаж байгаа санд симболын холбоос үүсгэх болно . Энэ нь шүүлтүүрийн ажлаа хийх төгс газар юм. Ялангуяа илүү их чөлөөтэй дискний зай /tmp сан доторхоос илүү түр хадгалах санд (заримдаа) байдаг.

Ингээд эцэст нь шүүлтүүр энэ байна:

#!/bin/sh
#
#  hpdf - Print DVI data on HP/PCL printer
#  Installed in /usr/local/libexec/hpdf

PATH=/usr/local/bin:$PATH; export PATH

#
#  Define a function to clean up our temporary files.  These exist
#  in the current directory, which will be the spooling directory
#  for the printer.
#
cleanup() {
   rm -f hpdf$$.dvi
}

#
#  Define a function to handle fatal errors: print the given message
#  and exit 2.  Exiting with 2 tells LPD to do not try to reprint the
#  job.
#
fatal() {
    echo "$@" 1>&2
    cleanup
    exit 2
}

#
#  If user removes the job, LPD will send SIGINT, so trap SIGINT
#  (and a few other signals) to clean up after ourselves.
#
trap cleanup 1 2 15 

#
#  Make sure we are not colliding with any existing files.
#
cleanup

#
#  Link the DVI input file to standard input (the file to print).
#
ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0"

#
#  Make LF = CR+LF
#
printf "\033&k2G" || fatal "Cannot initialize printer"

# 
#  Convert and print.  Return value from dvilj2p does not seem to be
#  reliable, so we ignore it.
#
dvilj2p -M1 -q -e- dfhp$$.dvi

#
#  Clean up and exit
#
cleanup
exit 0

10.4.1.4.5. Автомат хувиргалт: Хувиргагч шүүлтүүртэй ижилхэн шүүлтүүрүүд

Эдгээр бүх хувиргагч шүүлтүүрүүд нь таны хэвлэх орчинд тань маш олон ажлыг гүйцэтгэж өгдөг ч хэрэглэгчдийг тэднээс аль нэгийг нь хэрэглэхийг шаарддаг (lpr(1)-н тушаалын мөрөн дээр). Хэрэв таны хэрэглэгчид компьютер дээр сайн гаршаагүй хүмүүс бол иймэрхүү шүүлтүүрийн сонголтууд тэд нарыг залхаах болно. Бүр муудаж болох нөхцөл юу гэвэл буруу сонгосон шүүлтүүрийг буруу файлд хэрэглэснээр хэвлэгчээр олон зуун хуудас үр дүнгүй хэвлэгдэх явдал юм.

Анхнаасаа хувиргагч шүүлтүүрүүдийг суулгахаасаа өмнө эхлээд та энгийн текст шүүлтүүрийг суулгаад (анхдагч шүүлтүүр ) хэвлэгдэх файлын төрлийг нь таниад хэрэгтэй шүүлтүүрийг хэрэглэх нь зүйтэй. file гэх мэтийн хэрэгслүүд иймэрхүү зүйлд ашиглагдаж болох юм. Мэдээж зарим файлын төрлийг хооронд нь ялгахад бэрх боловч мэдээж тэдэнд зориулж та шүүлтүүр үүсгэж болно.

FreeBSD-н портын цуглуулга дотор apsfilter (print/apsfilter) нэртэй автомат хувиргалт хийдэг текст шүүлтүүр бий. Энэ шүүлтүүр нь энгийн текст, PostScript, DVI болон бараг бүх л төрлийн файлуудыг таньж тэдэнд тохирсон шүүлтүүрийг нь автоматаар ажиллуулдаг.


10.4.1.5. Гаралтын шүүлтүүрүүд

LPD түр хадгалагч системд бид нарын нээгээгүй бас нэг шүүлтүүрийн төрөл бий. Гаралтын шүүлтүүр гэгч нь текст шүүлтүүр шиг зөвхөн энгийн текст хэвлэх зориулалттай бөгөөд маш олон зүйлийг хялбаршуулсан байдаг. Хэрэв та текст шүүлтүүр хэрэглээгүй мөртлөө гаралтын шүүлтүүр хэрэглэж байгаа бол:

  • LPD нь хэвлэгдэх файл болгонд шүүлтүүр ажиллуулалгүйгээр гаралтын шүүлтүүрийг нэг удаа л эхлүүлдэг.

  • LPD нь гаралтын шүүлтүүрт зориулж файлын эхлэл болон төгсгөлийг мэдээлэх алба байхгүй.

  • LPD нь хэрэглэгчийн болон компьютерийн нэвтрэх эрхийг дамжуулдаггүй болохоор бүртгэл хийх зориулалт байдаггүй. Үнэн хэрэгтээ бол энэ нь ердөө хоёр утга авдаг:

    шүүлтүүрийн-нэр -wөргөн -lурт

    Энд өргөн нь pw-н шинж чанар бөгөөд урт нь pl-н шинж чанар юм.

Гаралтын шүүлтүүрийн амарчлалд бас найдах хэрэггүй. Хэрэв хэвлэгдэх файлуудыг тусдаа хуудаснаас эхлүүлэхийг та хүсэж байгаа бол гаралтын шүүлтүүр ажиллахгүй. Үүнд текст шүүлтүүр (бас оролтын шүүлтүүр гэж нэрлэдэг) хэрэглэх хэрэгтэй ба Текст шүүлтүүрийг суулгах нь хэсгээс харна уу. Мөн цаашлаад үнэн чанартаа бол гаралтын шүүлтүүрүүд нь байт хэлбэрээр урсаж байгаа хэвлэгдэх зүйлсээс онцгой тэмдэгтүүдийг ялгаж LPD-н нэрийн өмнөөс дохио илгээх маягаар ажилладаг нэлээн төвөгтэй систем юм.

Хэрэв та толгой хуудаснуудыг хэвлэхийг хүсэж escape дарааллууд юм уу эсвэл эхлүүлэх мөрүүдийг илгээх хэрэгтэй бол гарах шүүлтүүр нь шаардлагатай юм. (Гэхдээ хэрэв та толгой хуудаснуудыг хүсэж байгаа хэрэглэгчийн бүртгэлээс төлбөр авах хүсэлтэй байгаа бол энэ нь дэмий зүйл юм. Учир нь LPD нь гаралтын шүүлтүүрт ямар ч хэрэглэгч юм уу эсвэл хостын мэдээллийг өгдөггүй юм.)

Нэг хэвлэгч дээр LPD нь гаралтын шүүлтүүр болон текст эсвэл бусад шүүлтүүрүүдийг зөвшөөрдөг. Ийм тохиолдолд LPD нь зөвхөн толгой хуудсыг хэвлэхийн тулд гаралтын шүүлтүүрийг эхлүүлэх болно (Толгой хуудаснууд хэсгийг үзнэ үү). Тэгээд LPD нь хоёр байтыг шүүлтүүр рүү илгээж гаралтын шүүлтүүр нь өөрийгөө зогсооно гэж тооцдог: эдгээр хоёр байт нь ASCII 031 дараа нь ASCII 001 юм. Гаралтын шүүлтүүр нь эдгээр хоёр байтыг (031, 001) хараад өөртөө SIGSTOP илгээж зогсох ёстой. LPD бусад шүүлтүүрийг ажиллуулж дууссаны дараа гаралтын шүүлтүүрт SIGCONT илгээж түүнийг дахин эхлүүлэх болно.

Хэрэв гаралтын шүүлтүүр байгаа боловч текст шүүлтүүр байхгүй бөгөөд LPD цэвэр текст ажил дээр ажиллаж байгаа бол LPD нь ажлыг хийхийн тулд гаралтын шүүлтүүрийг ашигладаг. Өмнө хэлсэнчлэн гаралтын шүүлтүүр нь ажлын файл бүрийг дарааллаар form feed-үүд эсвэл бусад цаасны дэвшилт зэрэг хөндлөнгийн оролцоогүйгээр хэвлэх бөгөөд энэ нь таны хүсэж байгаа зүйл биш байж болох юм. Бараг бүх тохиолдолд танд текст шүүлтүүр хэрэгтэй.

lpf гэж танд урьд нь текст шүүлтүүр хэмээн танилцуулсан шүүлтүүр бас гаралтын шүүлтүүр болон ажилладаг. Хэрэв танд ямар нэгэн урсгалаас байт таньж код илгээх гаралтын шүүлтүүр бичилгүйгээр түргэн-боловч-бултар шүүлтүүр хэрэгтэй бол lpf-г хэрэглээрэй. Та мөн бүрхүүл дээр скрипт бичиж хэвлэгчид шаардлагатай анхдагч утгуудыг нь lpf-аар тохируулж бас болно.


10.4.1.6. lpf: Текст шүүлтүүр

FreeBSD хоёртын түгээлттэй цуг ирдэг /usr/libexec/lpr/lpf програм нь гаралтад (lpr -i тушаалаар илгээгдсэн ажил) догол гаргах, үсгэн тэмдэгтүүдийг дамжуулахыг зөвшөөрөх (lpr -l тушаалаар илгээгдсэн ажил), ажил дахь устгах тэмдэгтүүд болон tab-уудад зориулж хэвлэх байрлалыг тааруулах болон хэвлэсэн хуудаснуудыг бүртгэж чаддаг текст шүүлтүүр (оролтын шүүлтүүр) юм. Энэ нь бас гаралтын шүүлтүүр шиг ажиллаж чаддаг.

lpf нь олон хэвлэх орчнуудад тохирдог. Хэдийгээр энэ нь хэвлэгч уруу эхлүүлэх дарааллуудыг илгээх боломжгүй боловч хэрэгтэй эхлүүлэлтийг хийж lpf-г ажиллуулах бүрхүүлийн скрипт бичихийг хялбар болгодог.

Хуудсын бүртгэлийг lpf-ээр зөв хийлгэхийн тулд /etc/printcap файл дахь pw болон pl боломжуудад зөв утгуудыг оруулах хэрэгтэй. Хуудсанд хичнээн текст багтах болон хэрэглэгчийн ажилд хичнээн хуудас байгааг тодорхойлохын тулд энэ нь эдгээр утгуудыг ашигладаг. Хэвлэгчийн бүртгэлийн тухай дэлгэрэнгүй мэдээллийг Хэвлэгчийн хэрэглээг бүртгэх нь хэсгээс үзнэ үү.


10.4.2. Толгой хуудаснууд

Хэрэв та маш их хэрэглэгчтэй бөгөөд бүгд төрөл бүрийн хэвлэгч ашиглаж байгаа бол та магадгүй толгой хуудаснуудыг ашиглахыг хүсэж болох юм.

Толгой хуудаснууд, бас сурталчилгаа эсвэл тэсрэх хуудаснууд гэгддэг хуудаснууд нь хуудсууд хэвлэгдсэний дараа ажлууд нь хэнд хамаарахыг тодорхойлдог. Тэдгээр нь ихэвчлэн том, тод үсгээр, магадгүй чимсэн хүрээнүүдтэйгээр хэвлэгддэг. Ингэснээр хэвлэсэн олон хуудаснууд дотроос хэрэглэгчдийн ажлуудыг багтаасан жинхэнэ баримт болон ялгардаг. Энэ нь хэрэглэгчдэд өөрсдийн ажлуудыг хурдан олох боломжийг олгодог. Толгой хуудасны илэрхий сул тал нь ажил болгоны хувьд илүү хуудас хэвлэгддэг явдал бөгөөд тэдний түр зуурын ашиг хэдхэн минут үргэлжилж тун удалгүй тэдгээрийг хогийн сав эсвэл хогийн овоон дотор орохыг харж болох юм. (Толгой хуудаснууд нь файл болгонтой биш, ажил болгонтой цуг явдгийг санаарай. Тэгэхээр цаас дэмий үрэх нь тийм ч их муу биш байж болох юм.)

Хэрэв таны хэвлэгч цэвэр текстийг шууд хэвлэж чаддаг бол LPD систем нь таны хэвлэсэн зүйлүүдэд толгой хуудаснуудыг автоматаар өгч чаддаг. Хэрэв танд PostScript хэвлэгч байгаа бол толгой хуудсыг үүсгэхийн тулд танд гадаад програм хэрэгтэй болох юм; PostScript хэвлэгчид дээрх толгой хуудаснууд хэсгийг үзнэ үү.


10.4.2.1. Толгой хуудаснуудыг идэвхжүүлэх нь

Хэвлэгчийн энгийн тохиргоо хэсэгт бид /etc/printcap файлд sh-ийг (“suppress header” буюу толгойг дарах гэсэн утгатай) зааж өгөн толгой хуудаснуудыг болиулсан. Хэвлэгчийн хувьд толгой хуудаснуудыг идэвхжүүлэхийн тулд ердөө л sh боломжийг устгах хэрэгтэй.

Хэтэрхий амархан санагдаж байна, тийм үү?

Таны зөв. Та хэвлэгч уруу эхлүүлэх мөрүүдийг илгээхийн тулд гаралтын шүүлтүүрийг өгөх хэрэгтэй болж болох юм. Энд Hewlett Packard PCL-тэй нийцтэй хэвлэгчдэд зориулсан жишээ гаралтын шүүлтүүр байна:

#!/bin/sh
#
#  hpof - Output filter for Hewlett Packard PCL-compatible printers
#  Installed in /usr/local/libexec/hpof

printf "\033&k2G" || exit 2
exec /usr/libexec/lpr/lpf

Гаралтын шүүлтүүрийн замыг of боломжид зааж өгөх хэрэгтэй. Дэлгэрэнгүй мэдээллийг Гаралтын шүүлтүүрүүд хэсгээс үзнэ үү.

Бидний урьд нь танилцуулсан teak хэвлэгчид зориулсан жишээ /etc/printcap файл энд байна; бид толгой хуудаснуудыг идэвхжүүлж дээрх гаралтын шүүлтүүрийг нэмсэн:

#
#  /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
        :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
        :if=/usr/local/libexec/hpif:\
        :vf=/usr/local/libexec/hpvf:\
        :of=/usr/local/libexec/hpof:

Одоо хэрэглэгч teak уруу ажлуудаа хэвлэхэд ажил болгонтой толгой хуудас хүлээн авах болно. Хэрэв хэрэглэгчид өөрсдийн хэвлэсэн зүйлсээ хайхад цаг зарцуулахыг хүсэж байгаа бол толгой хуудаснуудыг дарж ажлаа lpr -h тушаалаар илгээж болно; lpr(1)-ийн тохируулгуудын талаар дэлгэрэнгүйг Толгой хуудасны тохируулгууд хэсгээс үзнэ үү.

Тэмдэглэл: LPD нь толгой хуудасны дараа form feed тэмдэгт хэвлэдэг. Хэрэв таны хэвлэгч хуудсаа гаргахын тулд өөр тэмдэгт юм уу эсвэл өөр тэмдэгтүүдийн дараалал ашигладаг бол тэдгээрийг /etc/printcap файлд ff боломжоор зааж өгөх хэрэгтэй.


10.4.2.2. Толгой хуудаснуудыг хянах нь

Толгой хуудаснуудыг идэвхжүүлснээр LPD нь хэрэглэгч, хост, болон ажлыг таниулах том үсгүүдтэй урт толгой бүхий хуудсыг үүсгэх болно. Энд жишээ байна (kelly нь “outline” гэсэн нэртэй ажлыг rose-с хэвлэжээ):

      k                   ll       ll
      k                    l        l
      k                    l        l
      k   k     eeee       l        l     y    y
      k  k     e    e      l        l     y    y
      k k      eeeeee      l        l     y    y
      kk k     e           l        l     y    y
      k   k    e    e      l        l     y   yy
      k    k    eeee      lll      lll     yyy y
                                               y
                                          y    y
                                           yyyy


                                   ll
                          t         l        i
                          t         l
       oooo    u    u   ttttt       l       ii     n nnn     eeee
      o    o   u    u     t         l        i     nn   n   e    e
      o    o   u    u     t         l        i     n    n   eeeeee
      o    o   u    u     t         l        i     n    n   e
      o    o   u   uu     t  t      l        i     n    n   e    e
       oooo     uuu u      tt      lll      iii    n    n    eeee









      r rrr     oooo     ssss     eeee
      rr   r   o    o   s    s   e    e
      r        o    o    ss      eeeeee
      r        o    o      ss    e
      r        o    o   s    s   e    e
      r         oooo     ssss     eeee







                                              Job:  outline
                                              Date: Sun Sep 17 11:04:58 1995

LPD нь ажлыг шинэ хуудсан дээр эхлүүлэхийн тулд энэ текстийн дараа form feed-г нэмдэг (/etc/printcap дахь хүрэх хэвлэгчийн оруулгад sf (form feed-г дарах) байхгүй бол).

Хэрэв та хүсэж байгаа бол LPD нь богино толгой хийж чаддаг; /etc/printcap файлд sb-г (short banner буюу богино сурталчилгаа) зааж өгөх хэрэгтэй. Толгой хуудас иймэрхүү харагдах болно:

rose:kelly  Job: outline  Date: Sun Sep 17 11:07:51 1995

Бас анхдагчаар LPD нь эхлээд толгой хуудсыг дараа нь ажлыг хэвлэдэг. Эсрэгээр болгохын тулд /etc/printcap файлд hl-г (header last буюу толгой сүүлд) зааж өгөх хэрэгтэй.


10.4.2.3. Толгой хуудаснуудыг бүртгэх нь

LPD-н өөрт нь суугдсан толгой хуудаснууд нь хэвлэлтэд бүртгэл тооцоо хийх шаардлагатай үед үнэгүй байх зарчмыг шаарддаг.

Яагаад?

Учир нь гаралтын шүүлтүүр бол толгой хуудас хэвлэгдэх үед ажилладаг тусдаа биеэ даасан гадаад програм бөгөөд бүртгэл хийж болох юм шиг боловч хэрэглэгч юм уу компьютерийн тухай ямар ч бүртгэлийн мэдээллээр хангагддаггүй учир хэн дээр ямар тооцоо бүртгэл хийхээ мэдэж чаддаггүй. Зөвхөн текст шүүлтүүрийг өөрчилж “хуудасны тоог нэгээр нэмэх” юм уу эсвэл хувиргах ямар нэгэн шүүлтүүрийг (хэрэглэгч юм уу компьютерийн мэдээлэлтэй) хэрэглэгч lpr -h гэсэн тушаалаар дарж болдог. Дарагдсан ч гэсэн тэдгээр толгой хуудаснууд бүртгэл тооцоо хийж байдаг. Үндсэндээ орчны хувьсагчдад дассан хэрэглэгчдэд lpr -h тушаал илүү аятайхан байж болох боловч шаардлагатай гэсэн үг биш билээ.

Шүүлтүүр бүр өөрсдийн гэсэн толгой хуудас үүсгэх нь тийм хангалттай шийдэл бас биш (хэдийгээр тус бүрдээ төлбөр тооцоо хийж чадах байсан ч ). Хэрэв хэрэглэгч lpr -h тушаалаар толгой хуудсыг дарсан ч LPD нь шүүлтүүрүүд рүү -h гэсэн сонголтын талаар ямар ч мэдээлэл явуулдаггүй болохоор төлбөр тооцоо хийгдсээр байх болно.

Тэгэхээр танд ямар сонголтууд байна вэ?

Та дараах зүйлсийг хийх боломжтой:

  • LPD-н зарчмыг хүлээн зөвшөөрч толгой хуудсанд төлбөр тооцохгүй болох.

  • LPRng гэх мэтийн LPD-н ижил төрлийн түр хадгалагчдыг хэрэглэх. Түр хадгалагчидтай ижил төрлийн хадгалагчид хэсэгт LPD-г орлуулж болох түр хадгалагчдын талаар өгүүлсэн буй.

  • Гайгүй сэргэлэн гаралтын шүүлтүүр бичих. Гаралтын шүүлтүүр гэдэг нь ердийн үед бол хэвлэгчийг тохируулах юм уу эсвэл энгийн тэмдэгт хувиргуур хийдэг програм юм. Ийм шүүлтүүр нь толгой хуудас болон энгийн текст зэрэгт тун таардаг ( хэрэв тэнд ямар ч текст (оролтын) шүүлтүүр байхгүй бол). Гэхдээ хэрэв тэнд энгийн текст хэвлэх текст шүүлтүүр байгаа бол LPD нь гаралтын шүүлтүүрийг зөвхөн толгой хуудсанд ажиллуулдаг. Тэгээд гаралтын шүүлтүүр нь толгой хуудаснаас LPD-н үүсгэсэн хэрэглэгч болон компьютерт тооцсон тооцоог салгаж авч чаддаг. Энэ арганд буй нэг хүндрэл бол гаралтын шүүлтүүр нь ямар бүртгэлийн файл хэрэглэхээ мэдэхгүйд байгаа юм (энэ файл нь af тохиргоогоор дамжигддаггүй). Гэвч хэрэв танд бэлэн бүртгэл файл байгаа бол тэдгээрийг гаралтын шүүлтүүр дотор бичиж өгч болно. Тооцоог салгаж авах хэсэгт нэмэр болгохын тулд sh (short header буюу богино толгой) тохиргоог /etc/printcap файл дотор оруулах нь зүйтэй. Тэгээд ч энэ бүхэн танд төвөгтэй санагдаж магадгүй бөгөөд хэрэглэгчид толгой хуудсанд төлбөр тооцдоггүй өгөөмөр сүлжээ зохицуулагчийг илүүд үзэж бас болох юм.


10.4.2.4. PostScript хэвлэгч дээрх толгой хуудаснууд

Өмнө өгүүлснээр LPD нь маш олон хэвлэгчдэд зориулж энгийн текст толгой хуудас үүсгэж чаддаг. Мэдээж PostScript нь энгийн текстийг шууд хэвлэж чаддаггүй болохоор LPD-н энэ шинж чанар бараг хэрэггүй билээ.

Толгой хуудас байлгах нэг арга бол хувиргах шүүлтүүр болгон толгой хуудас үүсгэх юм. Ингэхийн тулд шүүлтүүрүүд нь хэрэглэгч болон компьютерийн мэдээллийг хүлээж аваад толгой хуудас үүсгэдэг байхаар зохицуулах хэрэгтэй. Энэ аргын нэг муу тал нь хэрэглэгчид lpr -h тушаал ашигласан ч толгой хуудастай хуудас хэвлээд байх болно.

Энэ аргыг жаахан судалж үзэцгээе. Дараах скрипт гурван утга хүлээж аваад(хэрэглэгчийн нэвтрэх нэр, компьютерийн нэр, хэвлэгдэх ажлын нэр) PostScript толгой хуудас үүсгэж байна:

#!/bin/sh
#
#  make-ps-header - make a PostScript header page on stdout
#  Installed in /usr/local/libexec/make-ps-header
#

#
#  These are PostScript units (72 to the inch).  Modify for A4 or
#  whatever size paper you are using:
#
page_width=612
page_height=792
border=72

#
#  Check arguments
#
if [ $# -ne 3 ]; then
    echo "Usage: `basename $0` <user> <host> <job>" 1>&2
    exit 1
fi

#
#  Save these, mostly for readability in the PostScript, below.
#
user=$1
host=$2
job=$3
date=`date`

#
#  Send the PostScript code to stdout.
#
exec cat <<EOF
%!PS

%
%  Make sure we do not interfere with user's job that will follow
%
save

%
%  Make a thick, unpleasant border around the edge of the paper.
%
$border $border moveto
$page_width $border 2 mul sub 0 rlineto
0 $page_height $border 2 mul sub rlineto
currentscreen 3 -1 roll pop 100 3 1 roll setscreen
$border 2 mul $page_width sub 0 rlineto closepath
0.8 setgray 10 setlinewidth stroke 0 setgray

%
%  Display user's login name, nice and large and prominent
%
/Helvetica-Bold findfont 64 scalefont setfont
$page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto
($user) show

%
%  Now show the boring particulars
%
/Helvetica findfont 14 scalefont setfont
/y 200 def
[ (Job:) (Host:) (Date:) ] {
200 y moveto show /y y 18 sub def }
forall

/Helvetica-Bold findfont 14 scalefont setfont
/y 200 def
[ ($job) ($host) ($date) ] {
        270 y moveto show /y y 18 sub def
} forall

%
% That is it
%
restore
showpage
EOF

Одоо ямар ч хувиргах шүүлтүүр болон текст шүүлтүүрүүд нь энэ скриптийг дуудаж толгой хуудас үүсгэж хэвлэж болно. Энд одоо өмнө үзүүлж байсан DVI хувиргах шүүлтүүрийг жаахан өөрчилж толгой хуудас үүсгэхийг харуулав:

#!/bin/sh
#
#  psdf - DVI to PostScript printer filter
#  Installed in /usr/local/libexec/psdf
#
#  Invoked by lpd when user runs lpr -d
#
                
orig_args="$@"

fail() {
    echo "$@" 1>&2
    exit 2
}

while getopts "x:y:n:h:" option; do
    case $option in
        x|y)  ;; # Ignore
        n)    login=$OPTARG ;;
        h)    host=$OPTARG ;;
        *)    echo "LPD started `basename $0` wrong." 1>&2
              exit 2
              ;;
    esac
done

[ "$login" ] || fail "No login name"
[ "$host" ] || fail "No host name"

( /usr/local/libexec/make-ps-header $login $host "DVI File"
  /usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args

Хэрэглэгчийн нэр болон компьютерийн нэрийг хэрхэн салгаж авч байгааг анхаарах хэрэгтэй. Бусад шүүлтүүр дээр ийм салгалт хийх нь ижилхэн. Текст шүүлтүүр нь хэрэглэгчийн нэр болон компьютерийн нэрийг арай өөр аргаар салгаж авдаг. (Шүүлтүүр хэрхэн ажилладаг вэ хэсгээс харна уу).

Өмнө өгүүлсний дагуу дээр үзүүлсэн энэ загвар нь хэдийгээр тун энгийн бүтээгдсэн ч гэсэн “suppress header page” сонголтыг ( -h сонголт) lpr дээр хорьдог. Хэрэв хэрэглэгчид жаахан хэмнэхийг хүссэн ч (эсвэл толгой хуудасны төлбөрт өгөх хэдэн төгрөгөө) шүүлтүүр болгон толгой хуудас хэвлэдэг болохоор дээрх аргыг хэрэглээд үр дүн өгөхгүй.

Хэвлэгдэх бүр толгой хуудсыг хорихын тулд Толгой хуудасны тооцоо бүртгэл хэсэгт үзүүлсэн дараах бяцхан аргыг хэрэглэнэ: гаралтын шүүлтүүр бичээд түүгээрээ LPD-н үүсгэсэн толгой хэсгийг салгаж аван PostScript хувилбарыг нь үүсгэх. Хэрэв хэрэглэгч lpr -h тушаал хэрэглэвэл LPD толгой хэсэг үүсгэхгүй бөгөөд бас таны гаралтын шүүлтүүрийг ажиллуулахгүй. Бусад үед гаралтын шүүлтүүр нь LPD-с текстийг уншаад түүнд тохирсон PostScript толгой хуудсыг хэвлэгчид өгдөг.

Хэрэв танд цуваа холболттой PostScript хэвлэгч байгаа бол lprps-г та хэрэглэж болох бөгөөд энэ нь дээр ярьсан зүйлийг гүйцэтгэж чаддаг psof нэртэй гаралтын шүүлтүүртэй хамт ирдэг. Тэмдэглэж хэлэхэд, psof нь толгой хуудсанд тооцоо боддоггүй.


10.4.3. Сүлжээгээр хэвлэх

FreeBSD нь хэвлэх ажлыг алсад буй компьютер руу илгээж сүлжээгээр хэвлэхийг бас дэмждэг. Сүлжээгээр хэвлэх нь хоёр зүйлийг хамарч байдаг.

  • Алсад буй компьютерт залгагдсан хэвлэгч рүү хандах. Та нэг хэвлэгчийг нэг компьютер дээр тохирох цуваа юм уу зэрэгцээ холболтоор хэвлэгчийг залгана. Дараа нь та LPD-г суулгаж алсад буй компьютер уг хэвлэгч залгагдсан компьютер руу хандаж болохыг тохируулна. Алсад буй компьютерт залгагдсан хэвлэгч хэсэгт үүнийг хэрхэн хийх талаар зааварласан бий.

  • Шууд сүлжээнд залгагдсан хэвлэгч рүү хандах. Ийм хэвлэгч нь ердийн цуваа юм уу эсвэл зэрэгцээ холболтын интерфэйсээс гадна (эсвэл оронд нь) сүлжээний залгууртай байдаг. Ийм хэвлэгч дараах маягаар ажилладаг:

    • Хэвлэгч LPD-н дамжуулах протоколыг таньж ойлгох ба алсаас ирүүлсэн ажлуудад дараалал үүсгэж чаддаг. Ийм тохиолдолд уг хэвлэгч нь өөр дээрээ LPD суулгасан ердийн компьютер шиг ажиллах болно. Алсад буй компьютерт залгагдсан хэвлэгчид хэсэгт иймэрхүү хэвлэгчийг хэрхэн тохируулах талаар харна уу.

    • Хэвлэгч нь сүлжээгээр өгөгдлийг урсгал мэт хүлээж авдаг тийм төрлийн холболт дэмждэг байж болох юм. Энэ тохиолдолд та нэг компьютерт уг хэвлэгчийг “залгаад” суулгасан компьютер нь ирж буй ажлуудыг түр хадгалах хариуцлагыг нь дааж хэвлэгч рүүгээ өгөгдлийг урсгаж байхаар тохируулах хэрэгтэй. Сүлжээний өгөгдлийн урсгал холболтын төхөөрөмжтэй хэвлэгчид хэсэгт ийм төрлийн хэвлэгчийг хэрхэн суулгах талаар зааварласан байгаа.


10.4.3.1. Алсад буй компьютерт залгагдсан хэвлэгчид

LPD-д өөрт нь өөр газар LPD (эсвэл LPD-тэй зохимжтой) ажиллаж байгаа машин руу хэвлэх ажлыг илгээж чаддаг ажиллагаа байдаг. Энэ шинж чанарыг ашиглаж та өөр компьютерт хэвлэгчээ залгаад түүнд өөр газраас хандаж болох боломж нээж өгч байна. Энэ арга нь мөн LPD дамжуулах протоколыг ойлгодог хэвлэгчид дээр бас ажиллана .

Иймэрхүү алсаас хэвлэх ажиллагааг гүйцэтгэхийн тулд эхлээд хэвлэгчээ хэвлэгчийн эзэн болгож нэг машинд Хэвлэгч суулгах энгийн явц хэсэгт заасны дагуу залгах хэрэгтэй. Шаардлагатай бол Хэвлэгчийн нэмэлт тохиргоо хэсэгт заасан тохиргоог хийж болно. Хэвлэгчээ хэвлэж байгааг нь магадлаад LPD тохиргоог зөвшөөрсөн эсэхийг шалгах хэрэгтэй. Мөн remote host дотор local host нь LPD үйлчилгээг хэрэглэх эрхтэй эсэхийг шалгаарай (Алсад буй хостод хэвлэх хязгаарлалт хийх хэсэгт харна уу).

Хэрэв та сүлжээний карттай бөгөөд LPD протокол дэмждэг хэвлэгч хэрэглэж байгаа бол дээр өгүүлснээр хэвлэгчийн эзэн болон хэвлэгчийн нэр нь уг тохируулж буй хэвлэгчийн нэр байх ёстой. Хэвлэгчтэй хамт ирсэн үйлдвэрлэгчийнх нь гарын авлагаас хэвлэгчийнх нь тухай эсвэл сүлжээний төхөөрөмжийнх нь тухай мэдээллийг хараарай.

Зөвлөгөө: Хэрэв та Hewlett Packard Laserjet хэвлэгч хэрэглэж байгаа бол text нэртэй хэвлэгч нь автоматаар LF-г CRLF руу хувиргадаг болохоор hpif скрипт хэрэглэх шаардлагагүй.

Дараа нь хэвлэгч рүү хандах гэж буй нөгөө машины /etc/printcap файл дотор дараах зүйлсийг оруулж өгдөг:

  1. Хүссэн нэрээ оруулна. Алсад буй компьютерийн нэрэнд давхар нэр өгч оруулан амарчилж болох юм.

  2. lp тохиргоог хоосон орхино. (:lp=:).

  3. Түр хадгалах сан үүсгэж түүний байршлыг sd хэсэгт зааж өгдөг. LPD нь алсад буй хэвлэгч рүү ажлуудыг илгээхээсээ өмнө энэ санд хадгалдаг.

  4. Хэвлэгчийн эзний нэрийг rm хэсэгт бичиж өгнө.

  5. Хэвлэгчийн эзэнд холбогдсон хэвлэгчийн нэрийг rp хэсэгт оруулна.

Ингээд болох нь тэр. Та хувиргах шүүлтүүр, цаасны хэмжээ гэх мэтийг /etc/printcap файл дотор оруулах шаардлагагүй.

Энд нэг жишээ татъя. rose нэртэй машин bamboo болон rattan гэсэн хоёр хэвлэгчтэй. Бид одоо orchid машиныг уг хэвлэгчид рүү хандаж болдог болгож тохируулцгаая. Энд ( Толгой хуудсыг зөвшөөрөх хэсгээс дахин авав) orchid машины /etc/printcap файл хэрхэн харагдаж байгааг харуулав. Уг машинд өмнө нь teak нэртэй машин тохируулагдсан байгаа бөгөөд бид rose машины хоёр хэвлэгчийг нэмэх болно:

#
#  /etc/printcap for host orchid - added (remote) printers on rose
#

#
#  teak is local; it is connected directly to orchid:
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
        :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
        :if=/usr/local/libexec/ifhp:\
        :vf=/usr/local/libexec/vfhp:\
        :of=/usr/local/libexec/ofhp:

#
#  rattan is connected to rose; send jobs for rattan to rose:
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
	:lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:

#
#  bamboo is connected to rose as well:
#
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:

Дараа нь бид orchid дээр түр хадгалах сан нэмэх хэрэгтэй:

# mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo
# chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo
# chown daemon:daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo

Одоо orchid дээрх хэрэглэгчид rattan болон bamboo хэвлэгчдийг хэрэглэж чадна. Жишээ нь orchid дээрх хэрэглэгч дараах тушаал өгвөл:

% lpr -P bamboo -d sushi-review.dvi

orchid дээрх LPD систем хэвлэх ажлуудыг /var/spool/lpd/bamboo гэсэн түр хадгалагч руу хуулна. Энэ хэвлэгдэх ажил нь DVI файл байсныг та анзаарна уу. rose машинд bamboo түр хадгалах сан үүсэнгүүт хоёр машины LPD-ууд хоорондоо уг файлыг rose машин уруу дамжуулдаг. Дараа нь уг файл rose-н дараалалд очиж зогсоод хэвлэгдэх хүртлээ хүлээгдэнэ. Энэ файл DVI-с PostScript уруу (bamboo нь PostScript хэвлэгч учир) rose дээр хувиргагдана.


10.4.3.2. Сүлжээгээр өгөгдлийг урсгал хэлбэрээр дамжуулдаг холболттой хэвлэгчид

Ихэнх тохиолдолд, хэвлэгчдэд зориулж сүлжээний төхөөрөмж авах үед танд хоёр сонголт бий: түр хадгалагчтай (илүү үнэтэй), эсвэл цуваа юм уу зэрэгцээ холболтоор холбогдсон мэт өгөгдлийг хэвлэгч рүү шууд илгээдэг (хямд үнэтэй). Энэ хэсэгт хямд үнэтэйг нь авч хэлэлцэнэ. Үнэтэйг нь Алсад буй компьютерт холбогдсон хэвлэгчид хэсгээс хараарай.

/etc/printcap файлд ямар цуваа юм уу эсвэл ямар зэрэгцээ холболт хэрэглэхийг зааж өгдөг бөгөөд (хэрэв та цуваа холболтоор холбосон бол ) ямар давтамжаар илгээх, ямар урсгал хянагч ашиглах, илгээх завсарлагаа, шинэ мөр тэмдгийг хэрхэн хувиргах гэх мэтчилэн маш олон зүйлийг тохируулж болно. Хэрэв хэвлэгч TCP/IP порт юм уу эсвэл өөр сүлжээний порт чагнаж байгаа хэвлэгчийг энд зааж өгөх боломжгүй.

Сүлжээнд холбогдсон хэвлэгч рүү илгээхийн тулд текст болон хувиргах шүүлтүүрээр дуудагдаж болдог холболтын програм та бичих хэрэгтэй. Энд нэг жишээ үзүүлье. netprint нэртэй скрипт нь бүх өгөгдлийг ердийн оролтоос аваад сүлжээнд холбогдсон хэвлэгч рүү илгээх болно. Хэвлэгч холбогдсон компьютерийн нэрийг нь эхний утгаар авах бөгөөд хоёр дахь утгаараа чагнаж буй портын дугаарыг netprint-д өгнө. Тэмдэглэж хэлэхэд, энэ нь зөвхөн нэг чиглэлтэй холболт (FreeBSD-с хэвлэгч рүү) бөгөөд ихэнх сүлжээний хэвлэгчид хоёр тийш чиглэсэн холболтыг дэмждэг болохоор тэр чанарыг нь та мөн ашиглаж болох юм (хэвлэгчийн төлөв байдлыг мэдэх, бүртгэл хийх гэх мэт).

#!/usr/bin/perl
#
#  netprint - Text filter for printer attached to network
#  Installed in /usr/local/libexec/netprint
#
$#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>";

$printer_host = $ARGV[0];
$printer_port = $ARGV[1];

require 'sys/socket.ph';

($ignore, $ignore, $protocol) = getprotobyname('tcp');
($ignore, $ignore, $ignore, $ignore, $address)
    = gethostbyname($printer_host);

$sockaddr = pack('S n a4 x8', &AF_INET, $printer_port, $address);

socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol)
    || die "Can't create TCP/IP stream socket: $!";
connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!";
while (<STDIN>) { print PRINTER; }
exit 0;

Дараа нь бид энэ скриптийг янз бүрийн шүүлтүүртэй хамт хэрэглэж болно. Сүлжээнд Diablo 750-N туузан хэвлэгч холбогдсон байна гэж авч үзье. Хэвлэгч хэвлэгдэх өгөгдлийг 5100 гэсэн портын дугаар дээр хүлээж авна. Хэвлэгчийн холбогдсон компьютерийн нэр нь scrivener. Одоо энэ хэвлэгчид дараах текст шүүлтүүр хэрэглэе:

#!/bin/sh
#
#  diablo-if-net - Text filter for Diablo printer `scrivener' listening
#  on port 5100.   Installed in /usr/local/libexec/diablo-if-net
#
exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100

10.4.4. Хэвлэгч хэрэглэх хязгаарлалт

Энэ хэсэгт хэвлэгч хэрэглэлтийг хязгаарлах талаар өгүүлэх болно. LPD систем хэвлэгчийг гадаад сүлжээ юм уу дотоодоос хэн олон хувилах, хэр зэрэг том хэмжээний ажил хэвлэж болох, хэвлэгчийн дараалал хэр урт байх ёстой зэргийг зааж өгч болно.


10.4.4.1. Олон хэвлэлтийг хязгаарлах

LPD нь хэрэглэгчдэд нэг файлыг олон хэвлэхийг амарчилж өгдөг. Хэрэглэгч нар lpr -#5 (жишээ болгож) тушаалаар файлыг таван удаа хувилж чадна. Үүний сайн эсэх нь танаас хамаарна.

Хэрэв ингэж олон хувилах нь цаг болон цаасны дайсан юм байна гэж үзэж байгаа бол -# сонголтыг lpr(1) дээр хорьж болох бөгөөд ингэхийн тулд sc сонголтыг /etc/printcap файл дотор оруулж өгнө. Хэрэв хэрэглэгч -# сонголттой хэвлэх тушаал илгээвэл дараах мэдэгдлийг харах болно:

lpr: multiple copies are not allowed

Хэрэв та алсын хэвлэгч тохируулсан байвал (Алсын компьютерт холбогдсон хэвлэгчид хэсгээс харна уу) sc сонголтыг алсад буй компьютерийн /etc/printcap файл дотор хийж өгөхгүй бол хэрэглэгчид хүссэн тоогоороо хувилж чадсаар байх болно.

Энд нэг жишээ авцгаая. Дараах файл бол алсад буй rose компьютерийн /etc/printcap файл. Хэвлэгч rattan нь нэлээн өгөөмөр бөгөөд хэн хүссэнд нь хувилж өгдөг байхад лазер хэвлэгч bamboo нь нэлээн харамч болохоор өөртөө sc тохиргоог агуулж байна:

#
#  /etc/printcap for host rose - restrict multiple copies on bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:sd=/var/spool/lpd/rattan:\
        :lp=/dev/lpt0:\
        :if=/usr/local/libexec/if-simple:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:sc:\
        :lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:rw:\
        :if=/usr/local/libexec/psif:\
        :df=/usr/local/libexec/psdf:

Одоо sc тохиргоог мөн orchid компьютерийн /etc/printcap файл дотор оруулж өгөх хэрэгтэй (бид өөрсдөө энэ компьютер дээр байгаа болохоор teak хэвлэгч дээр олон хуулбар хийхийг хорих болно):

#
#  /etc/printcap for host orchid - no multiple copies for local
#  printer teak or remote printer bamboo
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
        :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\
        :if=/usr/local/libexec/ifhp:\
        :vf=/usr/local/libexec/vfhp:\
        :of=/usr/local/libexec/ofhp:

rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc:

sc тохиргоог хэрэглэснээр lpr -# тушаалын хэрэглээг хорих боловч lpr(1) тушаалын олон удаагийн хэрэглээ юм уу эсвэл нэг удаагийн хэвлэгдэх ажилд нэг файлыг дараах маягаар олон илгээхийг хорих боломжгүй:

% lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign

Үүнийг хорих олон арга бий бөгөөд та чөлөөтэй оролдон үзэх хэрэгтэй (үл тоомсорлох аргыг оруулаад).


10.4.4.2. Хэвлэгч рүү хандах хандалтыг хязгаарлах

UNIX-н бүлэглэл болон /etc/printcap файлын rg тохиргоог ашигласнаар ямар хэвлэгч рүү хэн хандаж юм хэвлэж болохыг та тохируулж болдог. Нэг тодорхой бүлэгт хэрэглэгчдээ хамруулж оруулаад тэр бүлгийнхээ нэрийг rg тохиргоонд бичиж өгөөд л болох нь тэр.

Хэрэв уг бүлэгт хамаараагүй хэрэглэгч (root-г оруулаад) тухайн хяналттай хэвлэгч рүү юм хэвлэхийг оролдох үед доорх мэдэгдлийг харуулах болно:

lpr: Not a member of the restricted group

sc (suppress multiple copies буюу олон хуулбарыг хорих) тохиргооны адилаар алсын компьютерууд таны хэвлэгч рүү хандахаар хэрэв та зөвшөөрсөн бол rg-г тохируулах хэрэгтэй болно. (Алсын компьютерт суугдсан хэвлэгчид хэсгээс харна уу)

Жишээ нь, ямар ч хэрэглэгч rattan хэвлэгч рүү хандаж чадахаар, харин artists бүлгийн хэрэглэгчид зөвхөн bamboo хэвлэгчийг хэрэглэж болно гэж үзье. Энд бидний танил rose компьютерийн /etc/printcap файлыг харуулж байна:

#
#  /etc/printcap for host rose - restricted group for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:sd=/var/spool/lpd/rattan:\
        :lp=/dev/lpt0:\
        :if=/usr/local/libexec/if-simple:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\
        :lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:rw:\
        :if=/usr/local/libexec/psif:\
        :df=/usr/local/libexec/psdf:

/etc/printcap файлын ( orchid машины) тохиргоог орхие. Мэдээж orchid дээрх хэн гуай ч bamboo-г хэрэглэж чадахгүй. Магадгүй orchid дээрх онцгой хэрэглэгчдийг хэвлэгч рүү хандах эрх олгож болох юм. Үгүй ч байсан болох юм :)

Тэмдэглэл: Хэвлэгч бүрд зөвхөн нэг л хязгаарлах бүлэг байж болно.


10.4.4.3. Хэвлэгдэхээр илгээгдэх файлын хэмжээг хязгаарлах

Хэрэв танд хэвлэгч хэрэглэх эрхтэй хэвлэгчид байгаа бол тэдгээрийн хэвлэх файлд нь хэмжээг нь хязгаарлах тохиргоо хийхийг хүсэж болох юм. Хэдийгээр файл систем дээрх хэвлэгчийн түр хадгалагчийн санд хангалттай зай байгаа ч гэсэн хэрэглэгч бүрд тохирсон тодорхой хэмжээг зааж өгөх шаардлага гарч магадгүй.

LPD нь mx тохиргоонд зааж өгсөн байтын хэмжээгээр хэвлэгдэх ажлын хэмжээг хязгаарлах боломж өгдөг. Хэмжих нэгж нь BUFSIZ-д зааж өгсөн багцын хэмжээ байдаг ба нэг багц нь 1024 байт байдаг билээ. Хэрэв та энэ тохиргоонд тэгийн тоо бичих юм бол файлын хэмжээнд хязгаар тавихгүй болно. Гэхдээ та ямар ч mx тохиргоо зааж өгөөгүй бол анхдагч хязгаарлалт нь 1000 багц байдаг.

Тэмдэглэл: Энэ хязгаарлалт нь хэвлэгдэх гэж буй файлд хамаатай болохоос хэвлэгдэх бүх ажлуудыг хязгаарлана гэсэн үг биш.

LPD нь хэвлэгдэх файл нь хязгаарласан хэмжээнээс их файл ирвэл татгалздаггүй харин хязгаар хүртэлх хэмжээг нь хэвлэх дараалалд оруулж өгдөг бөгөөд тэр хэсэг нь хэвлэгддэг. Үлдсэн хэсэг нь цуцлагдах болно. Иймэрхүү хязгаарлалт нь зөв буруу эсэх нь таны шийдэл билээ.

Бидний жишээ болсон rattan болон bamboo нар дээрээ хязгаарлалт хийж үзэцгээе. artistsPostScript файлууд их хэмжээтэй байх хандлагатай байдаг болохоор тэдгээрийг таван мегабайтаас хэтрэхгүй гэж хязгаарлая. Энгийн текст файлд харин ямар ч хязгаарлалт өгөхгүй байя:

#
#  /etc/printcap for host rose
#

#
#  No limit on job size:
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:mx#0:sd=/var/spool/lpd/rattan:\
        :lp=/dev/lpt0:\
        :if=/usr/local/libexec/if-simple:

#
#  Limit of five megabytes:
#
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
        :lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:rw:\
        :if=/usr/local/libexec/psif:\
        :df=/usr/local/libexec/psdf:

Зөвхөн дотоод хэрэглэгчдэд ийм хязгаарлалт хэрэгжих болно гэдгийг дахин сануулъя. Хэрэв та алсад буй хэвлэгчид ийм хязгаарлалт хийвэл алсаас хандагдаж буй хэрэглэгчдэд энэ хязгаарлалт хүчингүй. Үүнийг биелүүлэхийн тулд алсад буй машины /etc/printcap файл дотор mx тохиргоог зааж өгөх ёстой. Алсад буй компьютер дээр холбогдсон хэвлэгчид хэсгээс алсын хэвлэлт хийх талаар уншаарай.

Алсад буй хэвлэгчид хязгаарлалт тавих өөр нэг онцгой арга байдаг. Алсын хост дээр хэвлэх үйлдлийг хязгаарлах хэсгээс дэлгэрэнгүй уншина уу.


10.4.4.4. Алсаас хост дээр хэвлэх үйлдлийг хязгаарлах

LPD нь алсын компьютераас илгээгдсэн хэвлэх ажлыг бас хянаж болдог боломж олгодог:

Компьютерээр нь хязгаарлах

Дотоод LPD руу ямар компьютер хандаж болохыг /etc/hosts.equiv болон /etc/hosts.lpd файлд зааж өгснөөр хянаж болдог. LPD нь саяны хоёр файлын аль нэгэнд нь хэвлэлт хүссэн компьютерийн нэр байгаа эсэхийг шалгадаг. Хэрэв нэр нь байхгүй бол LPD уг хүсэлтээс татгалздаг.

Уг файлын загвар бол тун энгийн. /etc/hosts.equiv файл нь мөн ruserok(3) протоколд хэрэглэгддэг бөгөөд rsh(1) болон rcp(1) зэрэг програмд нөлөөлдөг болохоор тун болгоомжтой хэрэглэхийг сануулж байна.

Жишээ нь, rose компьютер дээрх /etc/hosts.lpd файл:

orchid
violet
madrigal.fishbaum.de

Энэ нь тэгэхээр rose компьютер нь orchid, violet, болон madrigal.fishbaum.de зэрэг компьютераас хэвлэх хүсэлт хүлээж авч болно гэсэн үг. Хэрэв эдгээрээс өөр компьютерууд roseLPD руу хандахыг хүсвэл тэр хүсэлт нь татгалзагдах болно.

Хэмжээгээр нь хязгаарлах

Түр хадгалагч санд байрлаж болох файлуудын хэмжээ нь хэд хүртэл байж болохыг хянаж болдог. Дотоод хэвлэгчид зориулсан түр хадгалах сан дотор minfree нэртэй файл үүсгэх хэрэгтэй. Уг файл дотор алсаас ирсэн хэвлэгдэх ажлын хэмжээ нь хичнээн дискний багцаар (512 байт) байж болох дугаарыг бичиж өгдөг.

Ингэснээр алсаас хэрэглэх хэрэглэгчид таны дискийг дүүргэхээс сэргийлнэ. Та энэ файлыг ашигласнаар бас тодорхой дотоод хэрэглэгчдэд давуу эрхийн дараалал тогтоож болдог ба minfree файлд зааж өгсөн хэмжээнээс хэтэрсэн хэмжээгээр нь дараалал тогтоодог.

Жишээ болгож minfree файлыг bamboo хэвлэгчид зориулж нэмж үзье. Бид /etc/printcap файл дээр дадлага хийх бөгөөд хэвлэгчид зориулсан түр хадгалагч тохируулсан хэсгийг нь олж харцгаая. Ингээд bamboo-н оруулгыг харуулъя:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
        :lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\
        :if=/usr/local/libexec/psif:\
        :df=/usr/local/libexec/psdf:

Түр хадгалах санг sd тохиргооны хэсэгт зааж өгсөн байна. Одоо LPD-н алсаас илгээгдсэн хэвлэгдэх ажилд зориулж гурван мегабайт хэмжээг (6144 дискний багц) зааж өгцгөөе. :

# echo 6144 > /var/spool/lpd/bamboo/minfree
             
Хэрэглэгчээр нь хязгаарлах

Та ямар хэрэглэгч алсаас хэвлэх хүсэлт тавьж болохыг /etc/printcap файл дотор rs тохиргооны хэсэгт зааж өгдөг. Хэрэв дотоод хэвлэгчийн оруулгын хэсэгт rs гэж харагдвал LPD нь алсаас хэвлэх хүсэлт илгээсэн компьютерийн хэрэглэгч хэрэв дотоод компьютер дээрх нэвтрэх эрхтэй ижилхэн нэртэй хэрэглэгч байвал зөвшөөрөл өгч хэвлүүлнэ. Бусад тохиолдолд LPD нь тухай ажлыг хэвлэхээс татгалзана.

Энэ тохиргоо нь (жишээлбэл) нэг хэвлэгчийг хувааж хэрэглэдэг олон салбартай байгууллагад ашиглагдаж болох бөгөөд зарим хэрэглэгчид нь хэд хэдэн салбарт харьяалагддаг бол уг хэрэглэгчид эрх өгснөөр өөрийнхөө байгаа салбараас өөр салбарт буй хэвлэгчид хэвлэх ажил илгээх маягаар ашиглаж болох юм. Хэрэв та тэдгээр хэрэглэгчдийг зөвхөн таны хэвлэгчийг л хэрэглэх бөгөөд бусад зүйлсийг ашиглуулахгүй гэж бодож байгаа бол тэд нарт эхлэл сан байхгүй бөгөөд /usr/bin/false гэсэн хэрэглэгдэхгүй бүрхүүлтэй “хязгаарлагдмал” бүртгэл үүсгэх хэрэгтэй.


10.4.5. Хэвлэгчийн хэрэглээнд бүртгэл тооцох

За тэгэхээр та хэвлэлт болгонд мөнгө тооцох шаардлага байг. Цаас болон хэвлэх хорнуудыг мөнгөөр авдаг болохоор яагаад болохгүй гэж? Мөн дээрээс нь хэвлэгчийн эд анги байнга хөдөлж эвдрэх магадлалтай байдаг болохоор хэвлэгчээ тордох нь бас үнэтэй билээ. Та хэвлэгчээ арчилж хуудас болгондоо (эсвэл хуудасны хэсэг бүрд, гарчиг бүрд, эсвэл юу ч байсан яахав) мөнгө тооцохыг хүсэв. Тэгэхээр та яаж хэвлэгдсэн хуудас болгонд мөнгө тооцож чадах вэ?

Гэхдээ, жаахан таагүй мэдээ нь юу вэ гэхээр LPD түр хадгалагч гуай иймэрхүү талын үйлчилгээ хийхдээ тун тааруу юм. Иймэрхүү бүртгэл тооцоо нь хэвлэгчээ хэрхэн ашиглахаас их хамаардаг бөгөөд хэвлэгдэх загвар, мөн таны хэвлэгчээсээ мөнгө олборлох шаардлагаас их шалтгаална.

Бүртгэл тооцоо хийхийн тулд та хэвлэгчийнхээ текст шүүлтүүрийг өөрчлөх хэрэгтэй (энгийн текст ажлаас мөнгө тооцохын тулд) бөгөөд мөн хувиргагч шүүлтүүрүүдийг бас (мөн бусад файл төрлүүдээс) өөрчлөх шаардлагатай. Энгийн шүүлтүүр ашиглаад та бүртгэл тооцоо хийж чадахгүй. Шүүлтүүр хэсгийг харна уу.

Ерөнхийдөө бүртгэл тооцоо хийж болох хоёр арга бий:

  • Үечлэн бүртгэл тооцох гэдэг бол тун амархан бөгөөд байнга хэрэглэгддэг арга. Хэн нэгэн хэвлэх үед хэрэглэгчийн нэр, компьютерийн нэр, мөн хэвлэсэн хуудасны дугаар зэргийг бүртгэл файлд хадгалдаг. Хэвлэгчдээ зориулсан нэгжийнх нь тооцоог та сараар, эсвэл жилээр, эсвэл өөрийнхөө заасан хугацаагаар хэрэглэгч бүрийн хувьд тохирсон жагсаалт авч болдог. Ингэж бүртгэл тооцоо хийгээд уг файлыг цэвэрлэж дараагийн үеэр нь мөн тооцоо хийхээр бэлтгэнэ.

  • Цагаар бүртгэж тооцох гэдэг нь жаахан хэцүү болохоор нэлээн бага хэрэглэгддэг. Энэ арганд хэрэглэгчдийг хэвлэж эхлэнгүүт тооцоо хийдэг шүүлтүүр байдаг. Дискний хэмжээ хязгаарлагчтай ижилхэн энэ бүртгэл тооцоо нь харьцангуй шулуухан гүйцэтгэгддэг. Та хэрэглэгчдийн бүртгэлд заагдсан хэмжээ дуусах дөхөхөөр хэвлүүлэхгүй болгож болохоос гадна хэрэглэгчдэд өөрсдийн “хэвлэх хувийг” шалгаж тохируулах боломжийг олгон тохируулж болох юм. Гэвч энэ арга нь хэрэглэгчийн бүртгэл болон тэдгээрийн хязгаарласан хэмжээг мөрдөхийн тулд зарим өгөгдлийн бааз руу хандах шаардлагатай байдаг.

Та шаардагдах шүүлтүүрүүдийг, мөн бүртгэж тооцоо хийх кодыг нь хангаж чадаж л байвал LPD түр хадгалагч систем нь өмнө тайлбарласан хоёр аргыг дэмждэг. Бүртгэж тооцох арганд бас онцгой тал байдаг. Жишээ нь та үечилж үү эсвэл цагаар тооцох уу гэдгээ сонгож болно. Та ямар мэдээллийг бүртгэж бичихээ сонгоно: хэрэглэгчийн нэр, компьютерийн нэр, хэвлэсэн төрөл, хэвлэгдсэн хуудасны тоо, загвар, хэр удаан хэрэглэсэн гэх мэт. Та шүүлтүүрүүдийг өөрчилж эдгээр мэдээллийг хадгалдаг болгох хэрэгтэй.


10.4.5.1. Хэвлэлтэд тооцоо хийх түргэн бөгөөд бохир арга

FreeBSD нь бүртгэл тооцоо хийхэд хэрэглэгдэх хоёр үечлэн тооцоо хийдэг програмтай хамт ирдэг. Тэдгээр нь lpf текст шүүлтүүрүүд бөгөөд lpf: Текст шүүлтүүр хэсэгт тайлбарлагдсан байгаа. Нөгөөх нь pac(8) бөгөөд энэ нь хэвлэлтийн бүртгэл тооцоо хийх файлд буй оруулгуудыг цуглуулдаг програм.

Шүүлтүүрийн хэсэгт тайлбарласны дагуу (Шүүлтүүрүүд), LPD нь текст болон хувиргагч шүүлтүүрийг бүртгэл файлтай нь хамт шүүлтүүрийн тушаалын мөрнөөс эхлүүлдэг. Шүүлтүүр нь ингэж тушаалын мөрнөөс авсан утгаар хаана бүртгэл файлд оруулах вэ гэдгээ мэддэг. Энэ файлын нэр нь /etc/printcap файл доторх af тохиргоонд заагдсан байдаг ба хэрэв файлынх нь зам нь яг нарийвчилж заагдаагүй байгаа бол түр хадгалагчийн сангийн байрлалтай харьцангуй хэлбэрээр мөн зааж өгч болно.

LPD нь lpf-г хуудасны өргөн болон өндрийн утгатай нь (pw болон pl тохиргуулаас авч) эхлүүлдэг. lpf нь эдгээр утгыг ашиглаж хичнээн хуудас хэвлэгдэх вэ гэдгийг тодорхойлдог. Файлыг хэвлэгч рүү илгээсний дараа бүртгэл тооцооны файлд тооцоо хийх утга нь оруулагддаг. Энэ оруулга нь дараах маягтай байдаг:

2.00 rose:andy
3.00 rose:kelly
3.00 orchid:mary
5.00 orchid:mary
2.00 orchid:zhang

Та болж өгвөл хэвлэгч болгонд тус тусад нь бүртгэл тооцооны файл хөтлөх хэрэгтэй. Учир нь lpf-д ямар ч түгжиж зохицуулдаг шинж чанар байхгүй болохоор хоёр lpf-ууд нэг файлд хандах тохиолдолд мөргөлдөөн үүсэж болзошгүй. Тус тусад нь бүртгэл тооцооны файл хөтлөх амар арга бол /etc/printcap дотор af=acct гэсэн тохиргоог оруулах хэрэгтэй. Дараа нь хэвлэгчид зориулсан түр хадгалах сан бүрд acct гэсэн файл хөтлөгдөх болно.

Хэрэглэгчдээс хэвлэлтийн төлбөрийг шаардах үедээ pac(8) програмыг ажиллуулах хэрэгтэй. Тооцоо хийх хэвлэгчийнхээ түр хадгалах санд оронгуутаа pac гэсэн тушаал ажиллуулахад болно. Дараа нь доллараар тооцсон дараах маягийн үр дүнг харах болно:

  Login               pages/feet   runs    price
orchid:kelly                5.00    1   $  0.10
orchid:mary                31.00    3   $  0.62
orchid:zhang                9.00    1   $  0.18
rose:andy                   2.00    1   $  0.04
rose:kelly                177.00  104   $  3.54
rose:mary                  87.00   32   $  1.74
rose:root                  26.00   12   $  0.52

total                     337.00  154   $  6.74

pac(8)-тай хамт хавсруулж хэрэглэдэг сонголтуудыг жагсааж харуулъя:

-Pхэвлэгч

Энэ нь тооцоо бодох хэвлэгчийг зааж өгнө. /etc/printcap файл доторх af сонголтод яг нарийвчилсан файлын зам зааж өгсөн үед л энэ нь хэрэгждэг.

-c

Хэрэглэгчдийн нэрээр биш үнээр нь эрэмбэлж харуулдаг.

-m

Тооцоо хийх файлаас компьютерийн нэрийг алгасаж харуулдаг. Ийм үед alpha компьютер дээрх smith нэртэй хэрэглэгч gamma компьютер дээрх smith нэртэй хэрэглэгчээс ялгардаггүй.

-pүнэ

/etc/printcap файлд буй pc тохируулгад зааж өгсөн үнийн оронд нэгж хуудас болгоныг үнэээр үнэлж доллараар тооцдог бөгөөд эсвэл хоёр центээр ( анхдагч хэмжээ нь) тооцно. Та энэ үнэ-г бутархай тоон хэлбэрээр бас бичиж болно.

-r

Эрэмбэлэх дарааллыг эсрэгээр үйлдэнэ.

-s

Төлбөр тооцооны дүгнэсэн хуудас үүсгэж бүртгэл тооцооны файлыг богиносгодог.

хэрэглэгч ...

Зөвхөн зааж өгсөн хэрэглэгчийн бүртгэл тооцоог харуулна.

pac(8) боловсруулсан анхдагч тооцоонд янз бүрийн компьютераас хэвлэсэн хэрэглэгч бүрд хуудасных нь дугаарыг харуулдаг. Хэрэв танд компьютерийн нэр харуулах шаардлага байхгүй (хэрэглэгч янз бүрийн машинаас хэвлэсэн байж болно) гэж үзвэл pac -m гэсэн тушаалаар доорх маягаар үр дүнг харах болно:

  Login               pages/feet   runs    price
andy                        2.00    1   $  0.04
kelly                     182.00  105   $  3.64
mary                      118.00   35   $  2.36
root                       26.00   12   $  0.52
zhang                       9.00    1   $  0.18

total                     337.00  154   $  6.74

Долларын хэмжээг тооцохын тулд pac(8) нь /etc/printcap доторх pc тохиргооны утгыг ашигладаг (анхдагч утга нь хуудас болгонд 200, эсвэл 2 цент гэж байдаг). Энэ тохируулгад хуудас бүрд юм уу эсвэл алхам бүрд тооцох центүүдийг зааж өгдөг. Та энэ утгыг pac(8)-г ажиллуулахдаа -p гэсэн хавсралт сонголтоор дарж хэрэглэж болдог. -p сонголтод хэрэглэх утга нь центээр биш доллараар байх ёстой. Жишээ нь,

# pac -p1.50

гэснээр хуудас бүр нэг доллар тавин цент болж байна. Та энэ тохиргоог ашиглаж үнэхээр ашиг олж болох юм шүү.

Эцэст нь pac -s гэж тушааснаар дүгнэсэн тооцоог дүнгийн бүртгэл файл уруу хадгалах бөгөөд энэ файл нь хэвлэгчийн тооцооны файлын нэрийн ард нь _sum гэж залгагдсан нэртэй файл болж хадгалагдана. Дараа нь бүртгэлийн файлыг богиносгодог. Хэрэв та pac(8)-г дахин ажиллуулбал энэ нь дүгнэлт файлаас нийт утгыг уншиж аваад ердийн тооцооны файлаас авсан утган дээр нэмээд ерөнхий нийт нийлбэрийг харуулах болно.


10.4.5.2. Хэвлэгдсэн хуудасны тоог яаж тооцох вэ?

Бүр алсаас бүртгэл хийлтийг зөв хийж гүйцэтгэхийн тулд ажил хэр их цаас ашигладгийг та тодорхойлж чаддаг байх хэрэгтэй. Энэ нь хэвлэгчийн бүртгэл хийлтийн үндсэн асуудал юм.

Цэвэр текст ажлуудын хувьд энэ асуудлыг шийдэх нь тийм ч хэцүү биш юм: та ажилд хичнээн мөр байгааг тоолж тэр тоогоо таны хэвлэгч нэг хуудсандаа хичнээн мөрийг дэмждэгтэй харьцуулах хэрэгтэй. Мөрүүдийг давхар хэвлэдэг файл дахь устгах тэмдэгтүүд эсвэл нэг буюу хэд хэдэн нэмэлт мөрүүд болдог урт логик мөрүүдийг бодолцохоо мартуузай.

Текст шүүлтүүр lpf (lpf: Текст шүүлтүүр хэсэгт танилцуулагдсан) нь бүртгэл хийхдээ эдгээр зүйлсийг бодолцдог. Бүртгэл хийх хэрэгтэй текст шүүлтүүр та бичиж байгаа бол lpf-ийн эх кодыг та магадгүй үзэхийг хүсэж болох юм.

Тэгэхээр та бусад файлын хэлбэршилтүүдтэй хэрхэн ажиллах вэ?

DVI-аас-LaserJet эсвэл DVI-аас-PostScript руу хийх хөрвүүлэлтийн хувьд dvilj эсвэл dvips тушаалаас гарах оношлогооны гаралтыг та өөрийн шүүлтүүрээр оруулж хичнээн хуудаснууд хөрвүүлэгдсэнийг хайж олж болох юм. Бусад файлын хэлбэршилтүүд болон хөрвүүлэх програмуудын хувьд та эдгээртэй төстэй зүйлсийг хийж чадах ёстой.

Гэхдээ хэвлэгч нь тэдгээр бүх хуудаснуудыг жинхэнэдээ хэвлэхгүй байж болох сул тал энэ аргуудад ажиглагддаг. Жишээ нь цаас гацах, хор дуусах, эсвэл дэлбэрсэн хэр нь хэрэглэгчид төлбөр ноогдуулсан хэвээр байж болох зэргийг дурдаж болох юм.

Тэгэхээр та юу хийж чадах вэ?

Зөв бүртгэл хийх цорын ганц найдвартай арга байдаг. Хичнээн цаас ашигладаг болохоо хэлж чаддаг хэвлэгч аваад цуваа шугамаар юм уу эсвэл сүлжээгээр залгах хэрэгтэй. Бараг бүх PostScript хэвлэгчүүд үүнийг дэмждэг. Бусад загварууд бас ингэж чаддаг (жишээ нь сүлжээнд холбогдсон Imagen laser хэвлэгчүүд). Хэвлэгчүүдийг ажил бүрийг хэвлэснийхээ дараа хуудасныхаа хэрэглээг авч зөвхөн тэр утга дээрээ үндэслэн бүртгэлийн мэдээллээ бүртгүүлдэг болгохын тулд эдгээр хэвлэгчүүдийн хувьд шүүлтүүрүүдийг өөрчлөх хэрэгтэй. Мөр тоолох эсвэл алдаагүй файл шалгалт шаардлагагүй юм.

Мэдээж та үргэлж өгөөмөр байж бүх хэвлэлтийг үнэгүй болгож болох юм.


10.5. Хэвлэгчдийг ашиглах нь

Энэ хэсэгт таны FreeBSD дээр тохируулсан хэвлэгчийг хэрхэн хэрэглэх талаар өгүүлэх болно. Хэрэглэгчийн ашиглаж болох тушаалууд нь:

lpr(1)

Хэвлэх үйлдлийг гүйцэтгэдэг

lpq(1)

Хэвлэгчийн хэвлэх дарааллыг шалгадаг

lprm(1)

Хэвлэгчийн хэвлэх дарааллаас устгадаг

Энд мөн удирдаж зохицуулах тушаалууд байдаг. Тэр нь Хэвлэгчдийг зохицуулах хэсэгт өгүүлсэн lpc(8) тушаал юм.

lpr(1), lprm(1), мөн lpq(1) гэсэн эдгээр тушаалууд нь бүгдээрээ -P хэвлэгчийн-нэр гэсэн сонголт авдаг бөгөөд үүгээрээ /etc/printcap файлд буй хэвлэгч/дараалалтай ажилладаг. Энэ нь хэвлэгчийн ажлыг нэмэх, устгах эсвэл хэвлэгдэж байгаа ажлыг шалгах зэрэгт хэрэглэгддэг. Хэрэв та -P сонголт хэрэглэдэггүй бол PRINTER гэсэн орчны хувьсагчийн утгыг энэ тушаал хэрэглэдэг. Эцэст нь хэрэв танд PRINTER орчны хувьсагч зарлагдаагүй бол lp нэртэй хэвлэгчийг анхдагч хэвлэгч гэж ханддаг.

Энд анхдагч хэвлэгч гэдэг нь PRINTER орчны хувьсагч дотор буй хэвлэгч юм уу эсвэл уг орчны хувьсагчид хэвлэгч заагдаагүй байвал lp гэсэн нэртэй хэвлэгч байна гэж авч үзэхийг хэлж байгаа юм.


10.5.1. Хэвлэх ажиллагаа

Файлыг хэвлэхийн тулд:

% lpr filename ...

Энэ нь жагсааж өгсөн файлуудыг анхдагч хэвлэгч рүү илгээж хэвлэдэг. Хэрэв та ямар ч файл зааж өгөөгүй бол lpr(1) нь гарнаас оруулах утгуудыг хэвлэгч рүү илгээдэг. Жишээ нь дараах тушаал нь системийн чухал файлуудыг хэвлэнэ:

% lpr /etc/host.conf /etc/hosts.equiv

Хэвлэгчийг онцгойлж сонгохыг хүсвэл :

% lpr -P printer-name filename ...

Дараах жишээн дээр тухайн байгаа сангийн файлуудыг жагсааж rattan нэртэй хэвлэгч рүү илгээхийх харуулах болно:

% ls -l | lpr -P rattan

Ямар ч файлын жагсаалт өгөөгүй болохоор lpr(1) тушаал нь ls -l тушаалын гаралтыг өөрийнхөө оруулга гэж авч үзсэн байна.

lpr(1) тушаал нь файл хувиргалт хийх, олон хуулбарлаж хэвлэх гэх мэтчилэн маш олон төрлийн сонголт хүлээн авч хэвлэх үйлдлийнхээ загварыг өөрчилж чаддаг. Хэвлэх сонголтууд хэсгээс нэмэлт мэдээллүүдийг уншина уу.


10.5.2. Хэвлэж буй ажлыг шалгах

lpr(1) тушаалаар хэвлэгдэх зүйлс LPD түр хадгалагч дээр очдог бөгөөд тэдгээрийг ерөнхийд нь “хэвлэгдэх ажил” гэж нэрлэдэг. Хэвлэгч болгонд хэвлэгдэх ёстой ажлууд жагсаагдсан байдаг бөгөөд таны хэвлэхийг хүссэн юм тань бусад хэрэглэгчидтэй адилхан хэвлэгдэх дараалалд ээлжээ хүлээгээд зогсож байдаг. Хэвлэгч нь ирсэн зүйлсийг хэн-түрүүлж-ирнэ түүнийг-түрүүлж-хэвлэнэ гэсэн зарчим баримталж хэвлэдэг.

Анхдагч хэвлэгчийн дарааллыг харуулахын тулд lpq(1) тушаалыг бичдэг. Хэрэв хэвлэгчээр нь сонгож харахыг хүсвэл -P сонголт хэрэглэдэг. Жишээлбэл

% lpq -P bamboo
гэсэн тушаал нь bamboo нэртэй хэвлэгч дээр байгаа хэвлэх дарааллыг хардаг. Доорх хэсэгт lpq тушаалын гаралтыг харуулав:

bamboo is ready and printing
Rank   Owner    Job  Files                              Total Size
active kelly    9    /etc/host.conf, /etc/hosts.equiv   88 bytes
2nd    kelly    10   (standard input)                   1635 bytes
3rd    mary     11   ...                                78519 bytes

Энэ нь bamboo хэвлэгчид гурван файл жагсаагдан ээлжээ хүлээж байгааг харуулсан байна. Эхний ээлжит ажлыг kelly хэрэглэгч илгээсэн бөгөөд “хэвлэх дугаар нь” 9 байна. Хэвлэх ажил болгон давтагдаагүй өөрийн гэсэн дугаар авдаг. Та хэвлэх дарааллын энэ дугаарыг хэрэгсэхгүй байж болох ч гэсэн хэрэв хэвлэх ажлыг цуцлах хэрэг гарвал уг дугаарыг мэдэж байх нь танд хэрэгтэй билээ. Энэ талаар Хэвлэх ажлыг устгах хэсгээс харна уу.

Ес гэсэн дугаартай хэвлэх ажил нь хоёр ширхэг файлаас бүтсэн байна. lpr(1) тушаалд хэрэв олон файл өгсөн бол тэдгээрийг нэг ажилд тооцдог. Энэ ажил нь одоогийн идэвхитэй ажил (“Rank” нэртэй баганад active гэж бичсэн байгааг анхаарна уу) бөгөөд хэвлэгч яг одоо түүнийг хэвлэж байна гэсэн үг. Хоёр дахь ажил нь стандарт оруулгаас lpr(1) тушаал уруу илгээгдсэн ажил байна. Гурав дахь ажил нь mary хэрэглэгчээс илгээгдсэн бөгөөд нэлээн их хэмжээнийх юм байна. Файлын нэрийн урт нь их байгаа учраас lpq(1) нь түүнийг гурван цэгээр товчилж харуулсан байна.

lpq(1) тушаалын гаралтын хамгийн эхний мөр бас чухал утга илэрхийлдэг нь: хэвлэгч яг одоо юу хийж байгааг (ядаж хэвлэгчийн юу хийж байгааг LPD нөхөр бодож байгааг) харуулдаг.

lpq(1) тушаал нь мөн -l сонголтыг дэмждэг бөгөөд энэ нь уртасгасан жагсаалтыг харуулдаг юм. Доор lpq -l тушаалын гаралтыг харуулав:

waiting for bamboo to become ready (offline ?)
kelly: 1st				 [job 009rose]
       /etc/host.conf                    73 bytes
       /etc/hosts.equiv                  15 bytes

kelly: 2nd				 [job 010rose]
       (standard input)                  1635 bytes

mary: 3rd                                [job 011rose]
      /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes

10.5.3. Хэвлэх ажлыг устгах

Хэрэв та хэвлэе гэсэн бодлоо өөрчилбөл lprm(1) тушаалаар хэвлэгдэх ажлыг устгаж болно. Мөн та lprm(1) тушаалаар хэвлэгдэж байгаа ажлыг бас устгаж болдог боловч зарим хэсэг нь хэвлэгдэж магадгүй юм.

Анхдагч хэвлэгчээс ажил устгахын тулд эхлээд lpq(1) тушаал хэрэглэж дарааллынх нь дугаарыг нь мэддэг. Тэгээд дараа нь:

% lprm job-number

Хэвлэгдэх ажлыг хэвлэгчийн нэрийг нь онцгойлж хандан устгахын хүсвэл -P сонголт хэрэглэнэ. Дараах тушаал нь bamboo нэртэй хэвлэгчээс 10 дугаартай ажлыг устгана:

% lprm -P bamboo 10

lprm(1) тушаалын хэд хэдэн товчлол бий:

lprm -

Танд хамаатай бүх хэвлэгдэх ажлыг устгадаг (анхдагч хэвлэгчээс).

lprm хэрэглэгч

Хэрэглэгч-д хамаатай бүх ажлыг устгана (анхдагч хэвлэгчээс). Супер хэрэглэгч мэдээж бүх хэрэглэгчдийн ажлыг устгаж болох бөгөөд хэрэв та биш бол зөвхөн өөрийнхөө л ажлыг устгана.

lprm

Ямар ч дарааллын дугаар, хэрэглэгчийн нэр, эсвэл - сонголт зэргийг оруулаагүй бол танд хамаатай яг одоо хэвлэгч дээр идэвхитэй байгаа ажлыг lprm(1) устгадаг. Супер хэрэглэгч бол яг одоо идэвхитэй байгаа хэний ч дараалал байсан гэсэн устгана.

Дээрх товчлолуудыг -P сонголт ашиглан хэвлэгчийн нэр зааж өгөн ямар нэгэн хэвлэгч рүү онцгойлон хандаж болдог. Жишээлбэл дараах тушаал нь rattan хэвлэгчээс тухайн хэрэглэгчийн бүх дарааллыг устгана:

% lprm -P rattan -

Тэмдэглэл: Хэрэв та сүлжээний орчинд ажиллаж байгаа бол lprm(1) тушаал нь өөр ижил нэртэй хэвлэгч өөр машинд залгаатай байсан ч зөвхөн илгээсэн компьютерийн л дарааллыг устгахад зөвшөөрдөг. Доорх жишээнд үүнийг тодруулав:

% lpr -P rattan myfile
% rlogin orchid
% lpq -P rattan
Rank   Owner	  Job  Files                          Total Size
active seeyan	  12	...                           49123 bytes
2nd    kelly      13   myfile                         12 bytes
% lprm -P rattan 13
rose: Permission denied
% logout
% lprm -P rattan 13
dfA013rose dequeued
cfA013rose dequeued
	

10.5.4. Энгийн текстээс өөр зүйлс хэвлэх нь: Хэвлэх сонголтууд

lpr(1) тушаал нь текст загварчлах, зураг файлыг өөр хэлбэрт хувиргах, олон хуулбар хийх, хэвлэгдэж байгаа файлууд уруу хандах гэх мэтчилэн маш олон сонголттой. Энэ хэсэгт тэр тухай зааварлах болно.


10.5.4.1. Хэлбэршүүлэх болон хувиргах сонголтууд

Дараах lpr(1)-н сонголтууд нь хэвлэгдэх ажлын хэлбэршүүлэлтийг хянадаг. Эдгээр сонголтуудыг хэрэв таны хэвлэх зүйлс тань энгийн текст хэлбэртэй биш юм уу эсвэл текстээ pr(1) хэрэгсэл ашиглан өөрчилж хэвлэх үед хэрэглэнэ.

Жишээлбэл дараах тушаал нь fish-report.dvi нэртэй DVI төрлийн файлыг (TeX төрлийн бичилтийн системийн) bamboo хэвлэгч рүү явуулна:

% lpr -P bamboo -d fish-report.dvi

Энэ сонголт нь хэвлэгдэх гэж буй бүх файлд хэрэгждэг болохоор жишээ нь та DVI болон ditroff файлуудыг хамт хэвлэгч рүү илгээж болохгүй. Түүний оронд файлуудыг тусад нь тусдаа сонголттой илгээх хэрэгтэй.

Тэмдэглэл: -p болон -T сонголтуудаас бусад бүх сонголтуудад хэвлэгч дээр суугдсан хөрвүүлж хувиргадаг шүүгч ажиллагаа шаардагддаг. Жишээ нь -d сонголт DVI хөрвүүлж хувиргадаг шүүлт шаарддаг. Хувиргагч шүүлтүүрүүд хэсэгт тодорхой өгүүлсэн буй.

-c

cifplot файлуудыг хэвлэнэ.

-d

DVI файлуудыг хэвлэнэ.

-f

FORTRAN текст файлуудыг хэвлэнэ.

-g

plot төрлийн зураг график файлуудыг хэвлэнэ.

-i тоо

Гаралтыг тоогоор зай авч хэвлэнэ. Хэрэв та тоо оруулахгүй тушаавал 8 гэсэн зайгаар хэвлэнэ. Энэ сонголт зөвхөн тодорхой хэдэн шүүлтүүртэй л ажилладаг.

Тэмдэглэл: -i сонголт болон тоо хоёрын завсар ямар ч зай байж болохгүй.

-l

Текст файлд буй зарим хянагч тэмдэгтүүдтэй нь шууд үсэгчлэн хэвлэнэ.

-n

ditroff (төхөөрөмж болгоноос хамааралгүй troff) өгөгдлийг хэвлэнэ.

-p

Хэвлэхээсээ өмнө энгийн текстийг pr(1) хэрэгслээр хэлбэршүүлдэг. Нэмэлт мэдээллийг pr(1) гарын авлагаас харна уу.

-T гарчиг

pr(1) хуудасны толгой хэсэгт файлын нэрийг байрлуулахын оронд зааж өгсөн Гарчиг-г хэвлэдэг. Энэ сонголт нь гэхдээ зөвхөн -p сонголт хэрэглэсэн үед л хэрэгждэг.

-t

troff өгөгдлийг хэвлэнэ.

-v

raster өгөгдлийг хэвлэнэ.

Жишээ: Дараах тушаал нь ls(1)-н гарын авлагыг аятайхан загварчлаад анхдагч хэвлэгчээр хэвлэнэ:

% zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t

zcat(1) тушаал нь ls(1) гарын авлагын эх шахсан файлыг нь задлаад GNU troff хэлбэрт оруулдаг troff(1) тушаал уруу дамжуулна. Уг хэлбэрт оруулсны дараа lpr(1) руу дамжигдах бөгөөд энэ нь хэвлэх ажлыг LPD түр хадгалагч уруу илгээдэг. Бид -t сонголт lpr(1) дээр хэрэглэсэн болохоор түр хадгалагч хэвлэгдэх үед GNU troff гаралтыг хэвлэгчийн ойлгох хэлбэрт хувиргаж хэвлэнэ.


10.5.4.2. Хэвлэлтэд хандах сонголтууд

lpr(1) тушаалд өгсөн дараах сонголтууд LPD дээрх хэвлэгдэх ажлуудад онцгойлж ханддаг:

-# хуулбарлах-тоо

Зөвхөн нэг удаа хэвлэгдэх ажлуудыг хуулбарлах-тоогоор хувилдаг. Систем хянаж зохицуулагч албатай хүн магадгүй хэвлэгчийн ингэж ахин дахин хуулбарлаж хэвлэхийн оронд хувилах фото хуулбар үүсгээд түүнийгээ шууд буулгах сонголт санал танд тавьж болох юм. Олон хуулбарлалтыг хязгаарлах хэсэгт тодорхой заасан байгаа.

Доорх жишээн дээр parser.c файлыг гурав, parser.h файлыг мөн гурав хувилж анхдагч хэвлэгч рүү хэвлэж байна:

% lpr -#3 parser.c parser.h
-m

Хэвлэх ажил дууссаны дараа захиа илгээнэ. Хэвлэгдэх ажил дууссаны дараа LPD систем таны бүртгэл рүү захиа явуулдаг. Захиан дотроо таны хэвлэх ажиллагаа амжилттай болсон эсвэл алдаа гарсан тухай мэдэгддэг бөгөөд алдаа гарсан байвал (голдуу) ямар алдаа гарсныг нь бичсэн байдаг.

-s

Түр хадгалагч сан уруу хуулахгүйгээр уг файлуудад тэмдэгт холбоос үүсгэдэг.

Хэрэв та том хэмжээний файл хэвлэх гэж байгаа бол энэ сонголт танд тун хэрэг болно. Ингэснээр түр хадгалагчид буй дискний хэмжээг хэмнэдэг ( таны том хэмжээний файл түр хадгалагчийн хэмжээнээс хэтэрч түүнтэй зэрэгцээ орших зай уруу илүүдэж гарах аюултай). LPD мөн хэвлэх файлыг хуулах гэж цаг зарцуулахгүй түргэн байх болно.

Нэг сул тал бий: LPD нь хэвлэгдэх файл уруу шууд хандаж байгаа болохоор хэвлэгдэж дуусахаас нааш та уг файлыг засварлаж чадахгүй байх болно.

Тэмдэглэл: Хэрэв та сүлжээгээр өөр хэвлэгч рүү хэвлэж байгаа бол LPD нь уг компьютераас алсад буй хэвлэгч рүү файлыг хуулдаг болохоор -s сонголт нь дотоод зайгаа хэмнэхээс биш алсад буй компьютерийн дискний зайг хэмнэдэггүй. Гэвч ийм байсан ч хэрэгтэй сонголт билээ.

-r

Түр хадгалагч уруу хуулсны дараа юм уу эсвэл -s сонголт хэрэглэж хэвлэсний дараа уг файлыг утсгана. Энэ сонголтыг тун болгоомжтой хэрэглэнэ үү!


10.5.4.3. Хуудасны толгой хэсгийг загварчлах сонголтууд

lpr(1) тушаалд хэрэглэсэн эдгээр сонголтууд нь хуудасны толгой хэсэгт хэвлэгддэг текстийг зааж өгөхөд хэрэглэгддэг. Хэрэв хуудасны толгой хэсгийг өөр програм өөрчилнө гэж заасан байвал энэ сонголт хүчингүй болдог. Хуудасны толгой хэсэг хэсэгт энэ талаар тодорхой өгүүлсэн байгаа.

-C текст

Толгой хэсэгт байдаг компьютерийн нэрийг зааж өгсөн текстээр орлуулдаг. Ердийн үед бол уг хэвлэх ажлыг илгээсэн компьютерийн нэр байдаг.

-J текст

Толгой хэсэгт байдаг хэвлэх ажлын нэрийг зааж өгсөн текстээр орлуулдаг. Ердийн үед ажлын нэр нь хэвлэх файлын нэр байдаг ба хэрэв та консолийн стандарт оруулга хэрэглэсэн бол stdin гэж байдаг.

-h

Толгой хэсэггүй хэвлэнэ.

Тэмдэглэл: Хэрэв өөр програмаар толгой хэсэг нь бэлтгэгдсэн бол энэ сонголт зарим тохиолдолд хүчингүй болдог. Хуудасны толгой хэсэг хуудсанд энэ тухай тайлбарласан буй


10.5.5. Хэвлэгчдийг зохицуулах

Хэвлэгчдийг зохицуулагчийн зүгээс тэдгээрийг суулгаж шалгахад үүрэгтэй байдаг. lpc(8) тушаал ашиглан хэвлэгчтэйгээ та олон аргаар харилцаж чадна. lpc(8) тушаал ашиглан

  • Хэвлэгчийг эхлүүлэх болон зогсоох

  • Хэвлэгдэх дарааллыг хорих болон зөвшөөрөх

  • Дараалалд буй хэвлэгдэх ажлын ээлж дарааг өөрчлөх

Эхлээд жаахан тодруулцгаая: Хэрэв хэвлэгч зогссон бол дараалалд буй ямар ч ажлыг хэвлэхгүй. Хэрэглэгчид хэвлэх ажил илгээж болох бөгөөд тийм ажлууд бүгд дараалалд нэмэгдэж хэвлэгчийг эхлэх хүртэл юм уу эсвэл дарааллыг цэвэрлэх хүртэл тэнд хадгалагдана.

Хэрэв дараалал хоригдсон бол ямар ч хэрэглэгч (root хэрэглэгчээс бусад) хэвлэгч рүү юм илгээж чадахгүй. Дараалал зөвшөөрөгдсөн үед л хэвлэх ажил хүлээж авдаг. Хэвлэгч эхлэх үедээ мөн хоригдсон дарааллыг хоосортол нь хэвлэнэ.

lpc(8) тушаалыг хэрэглэхийн тулд та root эрхтэй байх хэрэгтэй байдаг. Энгийн хэрэглэгчид бол lpc(8) тушаалыг хэвлэгчийн төлөв байдал юм уу эсвэл гацсан хэвлэгчийг эхлүүлэхэд хэрэглэнэ.

Энд lpc(8) тушаалын нэгтгэсэн жагсаалтыг харуулав. Ихэнх тушаалуудад онцгойлон хэвлэгч рүү хандахын тулд хэвлэгчийн-нэр нэмж өгдөг. Хэрэв та all гэж хэвлэгчийн-нэр-н оронд өгвөл /etc/printcap файл жагсаалттай буй бүх хэвлэгчийг илэрхийлэх болно.

abort хэвлэгчийн-нэр

Одоогийн хэвлэж байгаа ажлыг цуцлаад хэвлэгчийг зогсооно. Хэрэв дараалал хоригдоогүй бол хэрэглэгчид хэвлэх зүйлс илгээж байж болно.

clean хэвлэгчийн-нэр

Хэвлэгчийн түр хадгалагчид буй хуучин файлуудыг устгана. LPD уг файлыг ямар нэгэн шалтгааны улмаас устгаагүй байж болох юм. Энэ нь хэвлэх үед алдаа гарах, эсвэл зохион байгуулах зарим үйлдэл хийгдэх гэх мэт янз бүрийн шалтгаан байж болно. Энэ тушаал түр хадгалагч санд хамаарахгүй файлуудыг шалгаж олоод устгадаг.

disable хэвлэгчийн-нэр

Шинээр ирэх ажлуудад дарааллыг хорьно. Хэрэв хэвлэгч тухайн үед хэвлэж байвал дараалалд үлдсэн байгаа зүйлсүүдийг хэвлэдэг. Супер хэрэглэгч (root) дараалал хоригдсон байсан ч хэвлэх зүйл илгээдэг.

Энэ тушаал шинэ хэвлэгчийн суулгац юм уу шүүлтийг шалгахад их хэрэгтэй. Жишээ нь хэвлэх дарааллыг хориод root эрхээр хэвлэж туршиж болно. Бусад хэрэглэгчид дарааллыг идэвхжих хүртэл дараалал уруу ажил илгээж чадахгүй.

down хэвлэгчийн-нэр мэдээлэл

Хэвлэгчийг унтраана. disable тушаалыг stop-тай хамт хэрэглэсэнтэй ижил. Хэрэв хэрэглэгч хэвлэгчийн lpq(1) юм уу эсвэл lpc status тушаал хэрэглэн төлөв байдлыг мэдье гэсэн үед уг зааж өгсөн мэдээлэл харуулагддаг.

enable хэвлэгчийн-нэр

Хэвлэгчийн дарааллыг зөвшөөрдөг. Хэрэглэгч хэвлэгч рүү юм илгээж болох боловч хэвлэгч эхлэхээс нааш хэвлэгдэхгүй.

help тушаал

тушаалын хэрэглэх тусламжийг харуулдаг. Хэрэв тушаал бичилгүйгээр тушаавал боломжтой бүх тушаалын ерөнхий мэдээллийг харуулна.

restart хэвлэгчийн-нэр

Хэвлэгчийг эхлүүлдэг. Ердийн хэрэглэгчид энэ тушаалыг хэрэв ямар нэгэн тохиолдлоор LPD гацсан үед хэвлэгчийг эхлүүлэхэд хэрэглэж болдог боловч stop юм уу down тушаал хэрэглэн ажиллаж байгаа хэвлэгчийг зогсоож чаддаггүй. restart тушаал нь abort тушаалыг start тушаалтай хэрэглэсэнтэй ижилхэн.

start хэвлэгчийн-нэр

Хэвлэгчийг эхлүүлнэ. Хэвлэгч дараалалд байгаа ажлуудыг хэвлэж эхэлдэг.

stop хэвлэгчийн-нэр

Хэвлэгчийг зогсооно. Хэвлэгч яг хэвлэж байсан ажлаа дуусгаад дараалалд байгаа ажлуудыг хэвлэлгүйгээр зогсоно. Хэвлэгч зогссон байсан ч хэрэглэгчид хэвлүүлэх ажлаа дараалалд илгээж болно.

topq хэвлэгчийн-нэр ажил-эсвэл-хэрэглэгчийн-нэр

хэвлэгчийн-нэр нэртэй хэвлэгчийн дараалалд байгаа ажлуудын хамгийн дээд хэсэгт нь зааж өгсөн хэрэглэгчийн-нэр хэрэглэгчийн ажлыг оруулдаг. Энэ тушаалыг all гэж хэвлэгчийн-нэр-н оронд хэрэглэх боломжгүй.

up хэвлэгчийн-нэр

down тушаалын эсрэгээр уг хэвлэгчийг шинээр эхлүүлдэг. start тушаалыг enable-тай хэрэглэсэнтэй ижилхэн.

lpc(8) нь дээрх тушаалуудыг тушаал бичих мөрнөөс хүлээж авдаг. Хэрэв та ямар ч тушаал оруулаагүй бол lpc(8) нь exit юм уу quit, эсвэл end-of-file тэмдэгт илгээх хүртэл гарнаас тушаал оруулж ажиллах харилцах горимд шилждэг.


10.6. Хэвлэгчийн стандарт түр хадгалагчидтай ижил хадгалагчид

Хэрэв та энэ гарын авлагыг эхнээс нь уншиж байгаа бол FreeBSD-тэй цуг ирдэг түр хадгалах систем болох LPD-ийн талаар бүх л мэдэж болох зүйлсийг одоо сурсан байх ёстой. Та үүний олонхи дутагдалтай талуудыг үнэлж чадах байх. Энэ нь дараах асуултанд хүргэдэг: “Өөр ямар (FreeBSD-тэй ажилладаг) түр хадгалах системүүд байдаг вэ?”

LPRng

LPRng буюу “LPR: the Next Generation” гэгддэг дараа үеийн систем нь PLP-ийг дахин бичсэн хувилбар юм. Патрик Пауэл болон Жастин Мэйсон (PLP-ийн гол арчлагч) нар нийлэн LPRng-г хийсэн юм. LPRng-ийн гол сайт бол http://www.lprng.org/ юм.

CUPS

CUPS буюу Common UNIX Printing System нь UNIX дээр тулгуурласан үйлдлийн системүүдэд зориулсан зөөгдөж болох хэвлэх давхаргын боломжийг олгодог. Энэ нь бүх UNIX үйлдвэрлэгчид болон хэрэглэгчдэд зориулж стандарт хэвлэх шийдлийг дэмжихийн тулд Easy Software Products-аас хөгжүүлэгдсэн юм.

CUPS нь Internet Printing Protocol (IPP) буюу Интернэтийн Хэвлэх Протоколыг ашиглаж хэвлэх ажлууд болон дарааллуудыг удирдах үндсээ болгодог. Line Printer Daemon (LPD) буюу Шугамын Хэвлэгчийн Дэмон, Server Message Block (SMB) буюу Серверийн Мэдэгдлийн Блок, болон AppSocket (JetDirect гэгддэг) протоколууд нь багасгасан ажиллагаатайгаар бас дэмжигдсэн байдаг. CUPS нь амьдралд байх UNIX дээрх хэвлэлтийг дэмжихийн тулд сүлжээний хэвлэгч олох (browsing) болон PostScript Printer Description (PPD) буюу PostScript Хэвлэгчийн Тайлбар дээр суурилсан хэвлэх тохируулгуудыг нэмдэг.

CUPS-ийн гол сайт нь http://www.cups.org/ юм.

HPLIP

HPLIP буюу HP Linux Imaging and Printing систем нь HP өөрийнхөө төхөөрөмжүүдэд зориулан хөгжүүлсэн хэвлэлт, скан хийлт, болон факсын боломжуудыг дэмжсэн програм хангамжийн цуглуулга юм. Энэ програм хангамжийн цуглуулга нь өөрийн зарим хэвлэх боломжууддаа зориулж ар талдаа CUPS хэвлэх системийг хэрэглэдэг.

HPLIP-ийн гол сайт нь http://hplipopensource.com/hplip-web/index.html юм.


10.7. Алдааг олж засварлах

lptest(1) програмын тусламжтайгаар энгийн шалгах үйлдэл хийж дуусахад та зөв хэвлэгдсэн хүссэн үр дүнд биш харин дараах алдаануудтай тулгарч болзошгүй юм:

Хэвлэж болж байна, гэхдээ хэсэг хугацааны дараа юм уу эсвэл анхнаасаа хуудасны тал хэсгийг хэвлээд зогсох.

Хэвлэгч дээд хэсгийг нь хэвлээд хэсэг хугацааны дараа юу ч хийхгүй болох. Ийм үед та хэвлэгч дээрх PRINT REMAINING эсвэл FORM FEED товч дарж үлдсэн хэсгийг нь хэвлэх эсэхийг харах хэрэгтэй.

Хэрэв хэвлэгч өөр хэвлэх юм байгаа эсэхийг хүлээгээд байгаа тийм нөхцөлд орвол хэвлэгч рүү FORM FEED тэмдгийг илгээснээр (эсвэл ямар нэгэн юм) уг асуудал шийдэгдэж болох юм. Өөрийнхөө түр хадгалагч дээр орж ирсэн өгөгдлийг шууд хэвлэдэг хэвлэгчдэд иймэрхүү арга хэрэглэхэд хангалттай билээ. Хэрэв өмнөх хуудас нь хуудасны тал хүртэл байгаад дараагийн хуудас нь шинээр хуудаснаас эхлэх байсан болоод дууссан хуудасны тал хэсгээс хэвлэхгүй байгаад байх нөхцөл үүссэн байж болзошгүйг шалгахад мөн илүүдэхгүй.

/usr/local/libexec/if-simple бүрхүүлийн скриптэд оруулсан дараах оруулга нь хэвлэх үйлдлийн дараа хэвлэгч рүү хуудас дууссан тэмдэгт илгээнэ:

#!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
#
# Simply copies stdin to stdout.  Ignores all filter arguments.
# Writes a form feed character (\f) after printing job.

/bin/cat && printf "\f" && exit 0
exit 2
Гэхдээ энэ нь “хачирхалтай нөлөө” үүсгэж болох юм.

Та дараах зүйлсийг хуудсан дээрээ харах болно:

!"#$%&'()*+,-./01234
                "#$%&'()*+,-./012345
                                 #$%&'()*+,-./0123456

Энэ нь таныг шинэ мөр илэрхийлдэг тэмдэгт хөрвүүлэгдээгүй улмаас өнөөх хачирхалтай нөлөөний хохирогч нь болсон байна гэдгийг илэрхийлж байна. UNIX төрлийн үйлдлийн системүүд мөр дууссаныг илэрхийлэхийн тулд ASCII-н 10 гэсэн дугаарыг буюу line feed (LF) гэсэн нэг л тэмдэгт хэрэглэдэг. Харин MS-DOS, OS/2®, болон бусад үйлдлийн системүүд ASCII-н 10 ба ASCII-н 13 (CR буюу шинэ мөр эхлэх) гэсэн хоёр тэмдгийг хамтад нь хэрэглэдэг. Ихэнх хэвлэгч нар шинэ мөрийг илэрхийлэхдээ MS-DOS-н шийдлийг хэрэглэдэг.

Хэрэв та FreeBSD-с хэвлэхээр бол таны текстүүд зөвхөн мөр дууссан тэмдэгт л агуулсан байгаа. Мөр дууссан тэмдэгтийг хэвлэгч хүлээж авангуутаа хуудсаа нэг мөрөөр дээшлүүлсэн мөртлөө яг тухайн байрлалдаа дараагийн тэмдэгт ирэхийг хүлээж зогсдог. Энэ үед л шинэ мөр гэсэн тэмдэгт ирж байж хэвлэгчийн толгой зүүн хэсэг рүүгээ гүйдэг билээ.

FreeBSD нь дараах маягаар хэвлэхийг хэвлэгчээс хүсдэг:

Хэвлэгч CR тэмдэг хүлээж авлаа Хэвлэгч CR гэж хэвлэв
Хэвлэгч LF тэмдэгт хүлээж авлаа Хэвлэгч CR + LF гэж хэвлэх

Үүнийг залруулах хэдэн арга бий:

  • Хэвлэгчийнхээ тохируулгын цонхыг ашиглан эдгээр тэмдэгтийг өөрөөр хөрвүүлж ойлгохоор тохируулах. Иймэрхүү тохиргоо байдаг эсэхийг хэвлэгчийнхээ гарын авлагад харах хэрэгтэй.

    Тэмдэглэл: Хэрэв та системээ шинээр ачаалахдаа FreeBSD-ээс өөр давхар суусан үйлдлийн систем рүү орвол тухайн үйлдлийн системдээ тохируулж CR болон LF тэмдэгтийн хөрвүүлэх тохиргоог дахин хийх хэрэг гарч магадгүй юм.

  • FreeBSD-н цуваа холболтын таниулагч програм нь автоматаар LF тэмдэгтийг CR+LF тэмдэгт рүү хувиргадаг. Мэдээж энэ нь зөвхөн цуваа холболтоор холбогдсон хэвлэгч дээр ажиллана. Энэ шинж чанарыг идэвхжүүлэхийн тулд ms# хэрэгслийг ашиглан onlcr горимыг хэвлэгчийн /etc/printcap файл дотор оруулж өгөх хэрэгтэй.

  • Хэвлэгчийн алгасаж болдог escape code тэмдэгт илгээж хэвлэгчийг LF тэмдэгт илгээгдсэн гэж ойлгуулж болох юм. Хэвлэгчийн гарын авлагаас ийм тэмдэгт дэмждэг эсэхийг харах хэрэгтэй. Хэрэв та тохирох тийм тэмдэгт олсон бол текст шүүгч програмыг өөрчилж эхлээд тэр тэмдэгтийг илгээгээд дараа нь хэвлэх зүйлсийг илгээхээр засах хэрэгтэй.

    Энд Hewlett-Packard PCL хэвлэгчийн ойлгодог алгасаж болдог тэмдэгтийн текст шүүгч жишээг татаж үзүүлэв. Энэ шүүгч нь LF тэмдэгтийг LF ба CR гэж хөрвүүлээд хэвлэгч рүү хэвлэх ажлыг илгээж дараа нь мөр дууссан тэмдэгтийг илгээж хэвлэх ажил дууссаныг мэдэгддэг. Энэ нь бараг бүх Hewlett Packard хэвлэгчдэд тохирдог.

    #!/bin/sh
    #
    # hpif - Simple text input filter for lpd for HP-PCL based printers
    # Installed in /usr/local/libexec/hpif
    #
    # Simply copies stdin to stdout.  Ignores all filter arguments.
    # Tells printer to treat LF as CR+LF.  Ejects the page when done.
    
    printf "\033&k2G" && cat && printf "\033&l0H" && exit 0
    exit 2
    

    Энд orchid нэртэй компьютерийн /etc/printcap файлын жишээг харуулж байна. Энд teak нэртэй Hewlett Packard LaserJet 3Si хэвлэгчийг зэрэгцээ холболтоор холбосон байгаа. Энд өмнө үзүүлсэн скриптийг текст шүүгчээ болгож хэрэглэсэн байгаа:

    #
    #  /etc/printcap for host orchid
    #
    teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
            :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
            :if=/usr/local/libexec/hpif:
    
Энэ нь мөрүүдийг давхарлан хэвлэж байх.

Хэвлэгч мөрөө дээшлүүлсэнгүй. Бүх мөрүүд дээд мөрөнд давхарлагдаж хэвлэгдэв.

Энэ хүндрэл нь өнөөх хачирхалтай нөлөөний “эсрэг” нөлөөлөл бөгөөд арай бага тохиолддог. FreeBSD-н мөрийн төгсгөл илэрхийлсэн LF тэмдэгт нь CR тэмдэгтээр солигдоод мөрөө шинээр ахиулалгүй хуудасны эхэнд очиж дахин хэвлэчихсэн байна.

Хэвлэгчийн тохируулгын цонх ашиглан LF болон CR тэмдэгтүүдийг дараах маягаар хөрвүүлэхээр тохируулах хэрэгтэй:

Хэвлэгчийн хүлээж авалт Хэвлэгчийн хэвлэлт
CR CR
LF CR + LF
Хэвлэгч тэмдэгт гээх үзэгдэл.

Хэвлэгч хэвлэх үедээ мөрөнд зарим тэмдэгтүүдийг хэвлэхгүй болдог. Энэ хүндрэл нь хэвлэгч ажиллахгүй болох эсвэл маш их тэмдэгт гээж эхлэх зэргээс илүү дор үзэгдэл юм.

Хүндрэлийн шалтгаан нь цуваа холболтоор компьютерийн илгээсэн хурдтай хэвлэгчийн хэвлэх хурд таарахгүй байгаагаас үүсдэг (ийм хүндрэл зэрэгцээ холбосон хэвлэгчдэд тулгардаггүй). Энэ хүндрэлийг давах хоёр арга бий:

  • Хэрэв хэвлэгч нь XON/XOFF гэсэн урсгал зохицуулагчийг дэмждэг бол ms# шинж чанарыг ашиглан ixon горимыг FreeBSD дээр хэрэглэхээр тааруулах хэрэгтэй.

  • Хэрэв хэвлэгч нь Request to Send (Илгээхийг Хүсэх) / Clear to Send (Илгээхдээ цэвэрлэх) hardware handshake буюу тоног төхөөрөмжийн тохиролцоог (ихэвчлэн RTS/CTS гэгддэг) дэмждэг бол ms# боломжид crtscts горимыг зааж өгөх хэрэгтэй. Тоног төхөөрөмжийн урсгал зохицуулагчид тааруулж цуваа холболтоо зөв холбосон эсэхээ магадлах хэрэгтэй.

Хог хэвлэх үзэгдэл.

Хэвлэгч хүссэн текстийг хэвлэхийн оронд хог хэвлээд эхлэв.

Энэ нь цуваа холболт буруу холбогдсоноос үүсдэг үзэгдэл. Дамжуулах хурдны давтамжийн br шинж чанарыг шалгаад ms# шинж чанараар өгөгдөл тэгшилж илгээнэ гэх зэрэг /etc/printcap файлд байгаа тохиргоотой тохирч буй эсэхийг шалгах хэрэгтэй.

Юу ч болохгүй байх.

Хэрэв юу ч болохгүй байвал хүндрэл нь хэвлэгчид биш FreeBSD-д байж болох юм. /etc/printcap файлд бүртгэл файл хэрэглэнэ гэсэн (lf) шинж чанарыг нэмэх хэрэгтэй. Жишээ нь энд rattan оруулганд lf шинж чанар нэмж байна:

rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:sd=/var/spool/lpd/rattan:\
        :lp=/dev/lpt0:\
        :if=/usr/local/libexec/if-simple:\
        :lf=/var/log/rattan.log

Тэгээд дахиад хэвлэх гээд оролдоод үз. Гарч болзошгүй алдааны мэдэгдэл байгаа эсэхийг бүртгэлийн файлаас (бидний жишээн дээр /var/log/rattan.log) шалгах хэрэгтэй. Мэдэгдлүүдээс хамаарч асуудлыг засахыг оролдох хэрэгтэй.

Хэрэв та lf шинж чанар зааж өгөөгүй бол, LPD нь /dev/console файлыг анхдагч гэж авч үзнэ.


Бүлэг 11. Линуксийн Хоёртын Нийлэмж

Дахин зохион байгуулж хэсгүүдийг шинэчилсэн Жим Мок. Анхлан хувь нэмэр болгон оруулсан Брайн Н. Хэнди ба Рич Мёрфи. Орчуулсан Цагаанхүүгийн Ганболд.

11.1. Ерөнхий агуулга

FreeBSD нь Линуксийг оруулаад хэд хэдэн бусад UNIX төст үйлдлийн системүүдтэй хоёртын нийлэмжтэй байдаг. Та магадгүй FreeBSD яагаад Линукс хоёртын файлуудыг ажиллуулж чаддаг байх хэрэгтэй вэ? гэж өөрөөсөө асууж болох юм. Энэ асуултын хариулт их энгийн. Линукс нь тооцоолох ертөнц дэх хамгийн сүүлийн үеийн “халуун зүйл” болохоор олон компаниуд болон хөгжүүлэгчид зөвхөн Линуксд зориулж хөгжүүлдэг. Тэгэхээр бидний FreeBSD хэрэглэгчид эдгээр компаниуд болон хөгжүүлэгчдээс өөрсдийн програмууддаа зориулж FreeBSD-ийн хувилбарууд бичихийг шалгаахаас өөр аргагүйд хүргэдэг. Гол асуудал нь эдгээр компаниудын ихэнх нь өөрсдийнх нь бүтээгдэхүүн бас FreeBSD дээрх хувилбартай байсан бол хэр олон хүмүүс ашиглахыг яг үнэндээ бодож байгаагүй бөгөөд ихэнх нь зөвхөн Линуксд зориулж хөгжүүлэлт хийсээр байдаг. Тэгэхээр FreeBSD хэрэглэгчид юу хийх вэ? Яг энэ үед Линуксийн хоёртын нийлэмж хэрэг болдог билээ.

Товчхондоо нийлэмж нь FreeBSD хэрэглэгчдэд Линуксийн бүх програмуудын ойролцоогоор 90%-ийг засваргүйгээр ажиллуулах боломжийг олгодог. Эдгээрт StarOffice, Netscape-ийн Линуксийн хувилбар, Adobe Acrobat, RealPlayer, Oracle, WordPerfect®, Doom, Quake зэрэг олон програмууд орно. Зарим тохиолдолд Линуксийн хоёртын файлууд нь Линукс дээр байгаагаас илүү хурдан FreeBSD дээр ажилладаг тохиолдол гарсан байна.

Гэхдээ зарим нэг Линуксд зөвхөн зориулагдсан үйлдлийн системийн боломжууд FreeBSD дээр дэмжигдээгүй байдаг. Хэрэв Линуксийн хоёртын файлууд нь виртуал 8086 горимыг идэвхжүүлэх зэрэг зөвхөн i386-д зориулсан дуудлагуудыг ихээр ашиглаж байгаа үед ажилладаггүй.

Энэ бүлгийг уншиж дууссаны дараа та дараах зүйлсийг мэдэх болно:

  • Өөрийн систем дээр Линуксийн хоёртын нийлэмжийг хэрхэн идэвхжүүлэх талаар.

  • Линуксийн нэмэлт хуваалцсан сангуудыг хэрхэн суулгах талаар.

  • Өөрийн FreeBSD систем дээр Линуксийн програмуудыг хэрхэн суулгах талаар.

  • FreeBSD дээрх Линуксийн нийлэмжийн шийдлийн нарийн учруудын талаар.

Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:

  • Гуравдагчдын бүтээсэн програм хангамжуудыг хэрхэн суулгах талаар мэдэх (Бүлэг 5).


11.2. Суулгалт

Линуксийн хоёртын нийлэмж анхдагчаар идэвхтэй байдаггүй. Энэ ажиллагааг хамгийн хялбараар идэвхжүүлэхийн тулд линукс KLD обьектийг (“Kernel LoaDable обьект”) дуудах явдал юм. Та энэ модулийг дараах тушаалыг root эрхээр ажиллуулж дуудаж болно:

# kldload linux

Хэрэв та Линуксийн нийлэмжийг үргэлж идэвхжүүлэхийг хүсэж байгаа бол дараах мөрийг /etc/rc.conf файлд нэмэх хэрэгтэй:

linux_enable="YES"

KLD дуудагдсан эсэхийг шалгахын тулд kldstat(8) тушаалыг ашиглаж болно:

% kldstat
Id Refs Address    Size     Name
 1    2 0xc0100000 16bdb8   kernel
 7    1 0xc24db000 d000     linux.ko

Хэрэв ямар нэгэн шалтгаанаас болоод та KLD-г хүсэхгүй эсвэл дуудаж чадахгүй байгаа бол options COMPAT_LINUX тохируулгыг өөрийн цөмийн тохиргооны файлдаа нэмж Линуксийн хоёртын нийлэмжийг статикаар холбож болох юм. Дараа нь Бүлэг 9 хэсэгт тайлбарласны дагуу өөрийн шинэ цөмийг суулгах хэрэгтэй.


11.2.1. Линуксийн ажиллах үеийн сангуудыг суулгах нь

linux_base порт юм уу эсвэл тэдгээрийг гараар суулгах гэсэн хоёр аргын аль нэгээр үүнийг хийж болох юм.


11.2.1.1. linux_base портыг суулгаж ашиглах

Ажиллах үеийн сангуудыг суулгахад ашиглах хамгийн хялбар арга нь энэ юм. Энэ нь ямар нэгэн портыг Портын цуглуулгаас суулгаж байгаатай адил юм. Ердөө л доор дурдсаныг хийх хэрэгтэй:

# cd /usr/ports/emulators/linux_base-fc10
# make install distclean

Тэмдэглэл: FreeBSD 8.0-с өмнөх FreeBSD системүүд дээр та emulators/linux_base-f10-ийн оронд emulators/linux_base-fc4 портыг ашиглах ёстой.

Та одоо ажилладаг Линуксийн хоёртын нийлэмжтэй болсон байх ёстой. Зарим програмууд системийн сангуудын буруу бага хувилбаруудын талаар гомдоллож болох юм. Гэхдээ энэ нь ерөнхийдөө асуудал биш байдаг.

Тэмдэглэл: Төрөл бүрийн Линукс тархацуудын янз бүрийн хувилбаруудад тохирох emulators/linux_base портын олон хувилбарууд байж болох юм. Таны суулгахыг хүсэж байгаа Линуксийн програмуудын шаардлагыг аль болох ойр хангаж байгаа тийм портыг та суулгах шаардлагатай.


11.2.1.2. Сангуудыг гараар суулгах

Хэрэв та “портын” цуглуулга суулгаагүй бол сангуудыг гараар суулгаж болно. Програмын хамаардаг Линуксийн хуваалцсан сангууд болон ажиллах үеийн холбогч (linker) танд хэрэгтэй болно. Та бас “сүүдэр root” сан буюу /compat/linux санг өөрийн FreeBSD систем дээр Линуксийн сангуудад зориулж үүсгэх хэрэгтэй болно. FreeBSD дээр ажиллаж байгаа Линуксийн програмуудын онгойлгосон дурын хуваалцсан сангууд энэ модыг эхлээд хайдаг. Тэгэхээр хэрэв Линуксийн програм жишээ нь /lib/libc.so-г дуудвал FreeBSD эхлээд /compat/linux/lib/libc.so-г онгойлгохыг оролдох бөгөөд хэрэв байхгүй бол /lib/libc.so-г оролдох болно. Хуваалцсан сангууд нь Линуксийн ld.so тушаалаар гарч байгаа замуудад биш харин сүүдэр мод /compat/linux/lib-т суулгагдах ёстой.

Ерөнхийдөө таныг Линуксийн програм өөрийн FreeBSD системд суулгах эхний цөөхөн хэдэн удаад зөвхөн Линуксийн хоёртын файлуудын хамаардаг хуваалцсан сангуудыг хайх хэрэгтэй болно. Хэсэг хугацааны дараа та өөрийн систем дээрээ ямар нэгэн илүү ажиллагаагүйгээр шинээр импорт хийгдсэн Линуксийн хоёртын файлуудыг ажиллуулж чадах Линуксийн хуваалцсан сангуудын хангалттай олонлогтой болсон байх болно.


11.2.1.3. Нэмэлт хуваалцсан сангуудыг хэрхэн суулгах вэ

linux_base портыг суулгасан ч гэсэн таны програм хуваалцсан сангууд байхгүй байна гээд гомдоллоод байвал яах вэ? Линуксийн хоёртын файлуудад ямар хуваалцсан сангууд хэрэгтэйг яаж мэдэх вэ, тэдгээрийг хаанаас авах вэ? Үндсэндээ 2 боломж байдаг (эдгээр заавруудыг дагаж байхдаа та өөрийн FreeBSD систем дээрээ root байх хэрэгтэй болно).

Линукс системд хандах боломжтой бол програмд ямар хуваалцсан сангууд хэрэгтэйг мэдээд тэдгээрийг өөрийн FreeBSD систем уруу хуулах хэрэгтэй. Доорх жишээг харна уу:

Та FTP ашиглан Doom гэсэн Линуксийн хоёртын файлыг авч өөрөө хандаж болох Линукс систем дээрээ байрлуулсан гэж үзье. Та тэгээд үүний шаарддаг хуваалцсан сангуудыг ldd linuxdoom тушаал ашиглан иймэрхүүгээр шалгаж болно:

% ldd linuxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29

Та сүүлийн баганад байгаа бүх файлуудыг авч эхний баганад байгаа нэрсийг тэдгээр уруу заасан симболын холбоосууд болгон /compat/linux дотор байрлуулах хэрэгтэй. Энэ нь та өөрийн FreeBSD системдээ эцсийн эцэст эдгээр файлуудтай болно гэсэн үг юм:

/compat/linux/usr/X11/lib/libXt.so.3.1.0
/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29

Тэмдэглэл: Хэрэв та ldd тушаалын гаралтын эхний баганатай Линуксийн хуваалцсан сангийн гол залруулалтын дугаар таарсан тийм Линуксийн хуваалцсан сантай байгаа бол сүүлийн баганад байгаа файлуудыг өөрийн систем уруу хуулах шаардлагагүй бөгөөд танд байгаа чинь ажиллах ёстойг санаарай. Хэрэв шинэ хувилбар бол хуваалцсан санг ямар ч байсан хуулахыг зөвлөдөг. Та шинэ уруу заасан симболын холбоос үүсгэснийхээ дараа хуучинг устгаж болно. Тэгэхээр хэрэв эдгээр сангууд таны өөрийн системд байгаа:

/compat/linux/lib/libc.so.4.6.27
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27

бөгөөд шинэ сан нь ldd тушаалын гаралтын дагуу сүүлийн хувилбарыг шаардана гэж байгааг мэдвэл:

libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29

Хэрэв төгсөж байгаа тоон дээр зөвхөн нэг юм уу эсвэл хоёр хувилбар хуучин байгаа бол /lib/libc.so.4.6.29-г бас хуулж санаагаа зовоогоод хэрэггүй бөгөөд програм нь нэлээн хуучин хувилбартай зүгээр ажиллах ёстой юм. Гэхдээ хэрэв та хүсэж байгаа бол libc.so-г ямар ч байсан гэсэн солихоор шийдэж болох бөгөөд энэ нь таныг доорхтой үлдээх болно:

/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29

Тэмдэглэл: Симболын холбоосын арга нь зөвхөн Линукс хоёртын файлуудад хэрэгтэй байдаг. FreeBSD-ийн ажиллах үеийн холбогч нь таарах гол залруулалтын дугааруудыг хайх талаар өөрөө санаа тавьдаг болохоор та санаа зовох хэрэггүй юм.


11.2.2. Линуксийн ELF хоёртын файлуудыг суулгах

ELF хоёртын файлууд нь заримдаа “branding” буюу “тамгалах” нэмэлт алхмыг шаарддаг. Хэрэв та тамгалаагүй ELF хоёртын файлыг ажиллуулахыг оролдвол доор дурдсантай төстэй алдааг хүлээн авах болно:

% ./my-linux-elf-binary
ELF binary type not known
Abort

FreeBSD цөмд FreeBSD ELF хоёртын файлыг Линуксийн хоёртын файлаас ялгахад туслахын тулд brandelf(1) хэрэгслийг ашиглана.

% brandelf -t Linux my-linux-elf-binary

Өнөөдөр GNU хэрэгслийн цуглуулга нь ELF хоёртын файлуудад автоматаар тохирох тамгалалтын мэдээллийг байрлуулдаг. Тэгэхээр энэ алхам нь ирээдүйд бараг л хэрэггүй болох ёстой юм.


11.2.3. RPM дээр тулгуурласан линуксын програм суулгах

FreeBSD нь өөрийн багцын өгөгдлийн сантай бөгөөд бүх портыг (Linux-ийн портуудыг бас) хянахад ашиглагддаг. Linux-ийн RPM санг ашигладаггүй (дэмждэггүй).

Гэхдээ хэрэв та Linux-ийн RPM програм суулгах шаардлагатай бол үүнийг доорх аргаар хийж болно:

# cd /compat/linux
# rpm2cpio -q < /path/to/linux.archive.rpm | cpio -id

Дараа нь ELF хоёртын файлуудыг (сангуудыг биш!) brandelf хийх хэрэгтэй. Та суулгаснаа буцаж цэвэрхэн арилгаж чадахгүй боловч энэ нь тест хийхэд чинь хэрэг болж болох юм.


11.2.4. Хостын нэр танигчийг тохируулах

Хэрэв DNS ажиллахгүй байвал эсвэл та ийм мэдэгдэл хүлээн авбал:

resolv+: "bind" is an invalid keyword resolv+:
"hosts" is an invalid keyword

Та дараах мөрүүдийг агуулсан /compat/linux/etc/host.conf файлыг тохируулах хэрэгтэй болно:

order hosts, bind
multi on

Энд байгаа order нь /etc/hosts-г эхлээд хайж дараа нь DNS-ийг хайна гэж зааж байна. /compat/linux/etc/host.conf суугаагүй үед Линуксийн програмууд FreeBSD-ийн /etc/host.conf-г олж нийцгүй FreeBSD-ийн бичлэг байна гэж гомдоллох болно. Хэрэв та /etc/resolv.conf файл ашиглан нэрийн серверийг тохируулаагүй бол bind гэсэн үгийг устгах хэрэгтэй.


11.3. Mathematica® суулгах нь

Mathematica 5.X-д зориулж шинэчилсэн Борис Холлас.

Энэ баримт нь Mathematica 5.X-ийн Линукс хувилбарыг FreeBSD систем уруу суулгах процессийг тайлбарлах болно.

Mathematica эсвэл Mathematica for Students-ийн Линуксийн хувилбарыг http://www.wolfram.com/ дэх Wolfram-аас захиалж болно.


11.3.1. Mathematica суулгагчийг ажиллуулах

Эхлээд Mathematica-ийн Линукс хоёртын файлууд Линуксийн ABI-г ашиглана гэдгийг та FreeBSD-д хэлж өгөх хэрэгтэй. Ингэж хийх хамгийн хялбар арга бол бүх тамгалаагүй хоёртын файлуудын хувьд анхдагч ELF тамгалалтыг Линукс болгон дараах тушаалаар тохируулах явдал юм:

# sysctl kern.fallback_elf_brand=3

Энэ нь тамгалаагүй ELF хоёртын файлууд Линуксийн ABI-г ашиглана гэж бодоход FreeBSD-г хүргэх бөгөөд та суулгагчийг CDROM-оос шууд ажиллуулах боломжтой болох ёстой.

Одоо MathInstaller файлыг өөрийн хатуу хөтөч уруу хуулах хэрэгтэй:

# mount /cdrom
# cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/

бөгөөд энэ файл дахь эхний мөрний /bin/sh/compat/linux/bin/sh гэж солих хэрэгтэй. Энэ нь суулгагч sh(1)-ийн Линуксийн хувилбарыг ажиллуулахаар болгож байгаа юм. Дараа нь Linux) гэсэн бүгдийг FreeBSD) гэдгээр текст засварлагчаар юм уу эсвэл доорх дараагийн хэсэгт байгаа скриптээр солих хэрэгтэй. Үйлдлийн системийг тодорхойлохын тулд uname -s тушаалыг дууддаг Mathematica суулгагчид FreeBSD-г Линукс төст үйлдлийн систем гэж үзэхийг энэ нь хэлж өгнө. MathInstaller-г ажиллуулахад одоо Mathematica-г суулгах болно.


11.3.2. Mathematica-ийн ажиллуулах боломжтой файлуудыг өөрчлөх

Суулгах явцад Mathematica-ийн үүсгэсэн бүрхүүлийн скриптүүдийг ашиглахаасаа өмнө өөрчлөх хэрэгтэй. Хэрэв та Mathematica-ийн ажиллуулах боломжтой файлуудыг байрлуулах санд /usr/local/bin-г сонгосон бол та энэ санд math, mathematica, Mathematica, болон MathKernel гэж нэрлэгдсэн файлууд уруу заагдсан симболын холбоосуудыг олох болно. Эдгээр бүрт Linux) гэдгийг FreeBSD) гэдгээр текст засварлагчаар юм уу эсвэл доорх бүрхүүлийн скриптээр солих хэрэгтэй:

#!/bin/sh
cd /usr/local/bin
for i in math mathematica Mathematica MathKernel
  do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp
  sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i
  rm $i.tmp
  chmod a+x $i
done

11.3.3. Өөрийн Mathematica нууц үгийг олж авах

Mathematica-г эхний удаа эхлүүлэхэд танаас нууц үг асуух болно. Хэрэв та Wolfram-аас нууц үгээ авч амжаагүй байгаа бол өөрийн “машины ID”-г авахын тулд суулгацын санд mathinfo-г ажиллуулах хэрэгтэй. Энэ машины ID нь таны эхний Ethernet картны MAC хаяг дээр тулгуурласан болохоор Mathematica-ийн өөрийн хуулбарыг та өөр машинууд дээр ажиллуулж чадахгүй юм.

Wolfram-д цахим захидлаар ч юм уу эсвэл утас, факсаар бүртгүүлэх үедээ та “машины ID”-аа тэдэнд өгөх бөгөөд тэд бүлэг тоонуудаас тогтох харгалзах нууц үг бүхий хариу өгөх болно.


11.3.4. Mathematica нүүрэн хэсгийг сүлжээгээр ажиллуулах

Mathematica нь тэмдэгтүүдийг үзүүлэхийн тулд аль ч стандарт үсгийн маягуудын олонлогуудад байдаггүй тусгай үсгийн маягуудыг ашигладаг (интегралууд, нийлбэрүүд, Грек үсгүүд гэх мэт.). X протокол нь эдгээр үсгийн маягуудыг өөр дээрээ локалаар суулгахыг шаарддаг. Энэ нь CDROM юм уу эсвэл Mathematica суулгагдсан хостоос эдгээр үсгийн маягуудын хуулбарыг өөрийн локал машин уруу хуулна гэсэн үг юм. Эдгээр үсгийн маягууд нь CDROM-ийн /cdrom/Unix/Files/SystemFiles/Fonts сан, эсвэл таны хатуу хөтчийн /usr/local/mathematica/SystemFiles/Fonts санд ихэвчлэн хадгалагддаг. Үсгийн жинхэнэ маягууд нь Type1 болон X дэд сангуудад байрладаг. Доор тайлбарласан тэдгээрийг ашиглах хэд хэдэн аргууд байдаг.

Эхний арга нь тэдгээрийг /usr/X11R6/lib/X11/fonts дахь байгаа үсгийн маягийн сангуудын аль нэг уруу хуулах явдал юм. Энэ нь үсгийн маягийн нэрсийг нэмж, эхний мөрөн дээр үсгийн маягуудын тоог өөрчилж fonts.dir файлыг засварлахыг шаардана. Мөн өөрөөр та тэдгээрийг хуулсан санд mkfontdir(1) тушаалыг ажиллуулж бас чадах ёстой юм.

Үүнийг хийх хоёр дахь арга нь сангуудыг /usr/X11R6/lib/X11/fonts уруу хуулах явдал юм:

# cd /usr/X11R6/lib/X11/fonts
# mkdir X
# mkdir MathType1
# cd /cdrom/Unix/Files/SystemFiles/Fonts
# cp X/* /usr/X11R6/lib/X11/fonts/X
# cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1
# cd /usr/X11R6/lib/X11/fonts/X
# mkfontdir
# cd ../MathType1
# mkfontdir

Одоо шинэ үсгийн маягийн сангуудаа өөрийн үсгийн маягийн замдаа нэмнэ:

# xset fp+ /usr/X11R6/lib/X11/fonts/X
# xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
# xset fp rehash

Хэрэв та Xorg серверийг ашиглаж байгаа бол эдгээр үсгийн маягийн сангуудыг өөрийн xorg.conf файлдаа нэмэн автоматаар дуудагдахаар тохируулж болно.

Хэрэв танд /usr/X11R6/lib/X11/fonts/Type1 гэгдсэн сан байхгүй байгаа бол та дээрх жишээн дээрх MathType1 сангийн нэрийг Type1 болгон өөрчилж болно.


11.4. Maple™ суулгах нь

Хувь нэмэр болгон оруулсан Аарон Каплан. Тусалсан Роберт Гэтшман.

Maple нь Mathematica-тай төстэй арилжааны зориулалтын математикийн програм юм. Та энэ програмыг http://www.maplesoft.com/-с худалдан авч дараа нь тэндээ лицензийн файл авахын тулд бүртгүүлэх хэрэгтэй. Энэ програм хангамжийг FreeBSD дээр суулгахын тулд эдгээр хялбар алхмуудыг дагана уу.

  1. INSTALL бүрхүүлийн скриптийг бүтээгдэхүүний тархацаас ажиллуулна. Суулгац програмаас хүсэхэд “RedHat” тохируулгыг сонгоорой. Ердийн суулгацын сан нь /usr/local/maple байж болох юм.

  2. Хэрэв та тэгж хийгээгүй бол Maple Waterloo Software (http://register.maplesoft.com/) компаниас Maple-д зориулж лиценз захиж түүнийгээ /usr/local/maple/license/license.dat сан уруу хуулах хэрэгтэй.

  3. Maple-тай цуг ирдэг INSTALL_LIC суулгацын бүрхүүлийн скриптийг ажиллуулж FLEXlm лиценз менежерийг суулгах хэрэгтэй. Лицензийн серверт зориулж өөрийн машиныхаа анхдагч хостын нэрийг зааж өгнө.

  4. /usr/local/maple/bin/maple.system.type файлыг доор дурдсанаар нөхөөс хийх хэрэгтэй:

       ----- snip ------------------
    *** maple.system.type.orig      Sun Jul  8 16:35:33 2001
    --- maple.system.type   Sun Jul  8 16:35:51 2001
    ***************
    *** 72,77 ****
    --- 72,78 ----
              # the IBM RS/6000 AIX case
              MAPLE_BIN="bin.IBM_RISC_UNIX"
              ;;
    +     "FreeBSD"|\
          "Linux")
              # the Linux/x86 case
            # We have two Linux implementations, one for Red Hat and
       ----- snip end of patch -----
    

    "FreeBSD"|\ мөрийн дараа ямар ч хоосон зай байх ёсгүйг санаарай.

    Энэхүү нөхөөс нь “FreeBSD”-г Линукс системийн төрөл маягаар танихыг Maple-д заадаг. bin/maple бүрхүүлийн скрипт нь bin/maple.system.type бүрхүүлийн скриптийг дуудаж тэр нь эргээд үйлдлийн системийн нэрийг олохын тулд uname -a тушаалыг дууддаг. OS-ийн нэрээс хамаараад энэ нь аль хоёртын файлуудаа ашиглахаа олох болно.

  5. Лицензийн серверийг эхлүүлнэ.

    /usr/local/etc/rc.d/lmgrd.sh гэж суулгагдсан дараах скрипт нь lmgrd-г эхлүүлэх хялбар арга юм:

       ----- snip ------------
    
    #! /bin/sh
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
    PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX
    export PATH
    
    LICENSE_FILE=/usr/local/maple/license/license.dat
    LOG=/var/log/lmgrd.log
    
    case "$1" in
    start)
    	lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2
    	echo -n " lmgrd"
    	;;
    stop)
    	lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2
    	;;
    *)
    	echo "Usage: `basename $0` {start|stop}" 1>&2
    	exit 64
    	;;
    esac
    
    exit 0
       ----- snip ------------
    
  6. Maple-ийг тестээр эхлүүлнэ:

    % cd /usr/local/maple/bin
    % ./xmaple
    

    Одоо ажиллаж байх ёстой. Maplesoft уруу та FreeBSD-ийн эх хувилбарыг хүсэж байгаагаа бичихээ мартуузай!


11.4.1. Түгээмэл асуудлууд

  • FLEXlm лицензийн менежертэй ажиллахад төвөгтэй байж болох юм. Энэ тухай нэмэлт баримтыг http://www.globetrotter.com/ хаягаас олж болно.

  • lmgrd нь лицензийн файлыг хэтэрхий голж шилдэг, бас хэрэв ямар нэгэн асуудал байвал core файл үүсгэх дуртайгаараа алдартай програм юм. Зөв лицензийн файл иймэрхүү харагдах ёстой:

    # =======================================================
    # License File for UNIX Installations ("Pointer File")
    # =======================================================
    SERVER chillig ANY
    #USE_SERVER
    VENDOR maplelmg
    
    FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \
             PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \
             ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \
             SN=XXXXXXXXX
    

    Тэмдэглэл: Энд сериал дугаар болон түлхүүрийг 'X' болгосон байна. chillig нь хостын нэр юм.

    Лицензийн файлыг засварлахдаа “FEATURE” мөрийг (энэ нь лицензийн түлхүүрээр хамгаалагдсан байдаг) оролдохгүй бол ямар ч асуудал гарахгүй ажиллах болно.


11.5. MATLAB® суулгах нь

Хувь нэмэр болгон оруулсан Дэн Пэллэг.

Энэ баримт нь MATLAB® version 6.5-ийн Линуксийн хувилбарыг FreeBSD систем уруу суулгах процессийг тайлбарлах болно. Java Virtual Machine-г тооцохгүй юм бол энэ нь маш сайн ажилладаг (Хэсэг 11.5.3-г үзнэ үү).

MATLAB-ийн Линуксийн хувилбарыг http://www.mathworks.com дэх MathWorks-с шууд захиалж болно. Лицензийн файлыг авах юм уу эсвэл хэрхэн үүсгэх зааврыг бас авахаа мартуузай. Тэнд байхдаа тэдний програм хангамжийн FreeBSD хувилбарыг хүсэж байгаагаа мэдэгдээрэй.


11.5.1. MATLAB суулгах нь

MATLAB-г суулгахын тулд доор дурдсаныг хийнэ:

  1. Суулгацын CD-г хийж холбоно. Суулгацын скриптийн зөвлөснөөр root болно. Суулгах скриптийг эхлүүлэхийн тулд доор дурдсаныг бичнэ:

    # /compat/linux/bin/sh /cdrom/install
    

    Зөвлөгөө: Суулгагч нь график орчных юм. Хэрэв та дэлгэц онгойлгож чадахгүй байна гэсэн алдаанууд авбал setenv HOME ~USER гэж бичих хэрэгтэй бөгөөд энд байгаа USER нь таны su(1) хийсэн хэрэглэгч юм.

  2. MATLAB-ийн root санг асуухад доор дурдсаныг бичнэ: /compat/linux/usr/local/matlab.

    Зөвлөгөө: Суулгах процессийн үлдсэн хэсэгт хялбараар бичдэг байхын тулд өөрийн бүрхүүлийн хүлээх мөрөн дээр үүнийг бичнэ: set MATLAB=/compat/linux/usr/local/matlab

  3. MATLAB лицензийг авч байхдаа зааварласны дагуу лицензийн файлыг засварлана.

    Зөвлөгөө: Өөрийн дуртай засварлагчаа ашиглан та энэ файлыг урьдчилан бэлдэж, суулгагч танаас үүнийг засварлахыг асуухаас өмнө $MATLAB/license.dat уруу хуулна.

  4. Суулгах процессийг гүйцээнэ.

Энд хүрэхэд таны MATLAB суулгалт дууссан байна. Үүнийг таны FreeBSD систем уруу холбохын тулд дараах алхмууд нь “хийж” өгдөг.


11.5.2. Лицензийн Менежерийн эхлүүлэлт

  1. Лицензийн менежерийн скриптүүдэд зориулж симболын холбоосуудыг үүсгэнэ:

    # ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
    # ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW
    
  2. /usr/local/etc/rc.d/flexlm.sh-т эхлүүлэх файлыг үүсгэнэ. Доорх жишээ нь түгээгдсэн $MATLAB/etc/rc.lm.glnx86-ийн өөрчлөгдсөн хувилбар юм. Өөрчлөлтүүд нь файлын байрлалууд болон Линуксийн эмуляц доор ажиллах лицензийн менежерийн эхлүүлэлт байна.

    #!/bin/sh
    case "$1" in
      start)
            if [ -f /usr/local/etc/lmboot_TMW ]; then
                  /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u username && echo 'MATLAB_lmgrd'
            fi
            ;;
      stop)
    	if [ -f /usr/local/etc/lmdown_TMW ]; then
                /compat/linux/bin/sh /usr/local/etc/lmdown_TMW  > /dev/null 2>&1
    	fi
            ;;
      *)
    	echo "Usage: $0 {start|stop}"
    	exit 1
    	;;
    esac
    
    exit 0
    

    Чухал: Файлыг ажиллуулахаар болгох ёстой:

    # chmod +x /usr/local/etc/rc.d/flexlm.sh
    

    Та дээрх username-г өөрийн систем дээрх зөв хэрэглэгчээр солих ёстой (root биш).

  3. Лицензийн менежерийг дараах тушаалаар эхлүүлнэ:

    # /usr/local/etc/rc.d/flexlm.sh start
    

11.5.3. Java-ийн ажиллах үеийн орчныг холбох

Java Runtime Environment (JRE) буюу Ажиллах үеийн орчны холбоосыг FreeBSD дээр ажиллаж байгаа уруу зааж өөрчлөх хэрэгтэй:

# cd $MATLAB/sys/java/jre/glnx86/
# unlink jre; ln -s ./jre1.1.8 ./jre

11.5.4. MATLAB-ийн эхлүүлэх скриптийг үүсгэх

  1. Дараах эхлүүлэх скриптийг /usr/local/bin/matlab-д байрлуулна:

    #!/bin/sh
    /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"
    
  2. Тэгээд chmod +x /usr/local/bin/matlab тушаалыг бичнэ.

Зөвлөгөө: Таны emulators/linux_base хувилбараас шалтгаалаад энэ скриптийг ажиллуулахад алдаа гарч болох юм. Үүнээс сэргийлэхийн тулд /compat/linux/usr/local/matlab/bin/matlab файлыг засварлаж доорх:

if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then

(13.0.1 хувилбар дээр энэ нь 410-р мөрөнд байна) мөрийг ингэж өөрчлөх хэрэгтэй:

if test -L $newbase; then

11.5.5. MATLAB-ийн зогсоох скриптийг үүсгэх

MATLAB-ийн зөв дуусдаггүй асуудлыг шийдэхэд дараах зүйлсийг хийх хэрэгтэй.

  1. $MATLAB/toolbox/local/finish.m файл үүсгэж түүнд ганц мөр нэмнэ:

    ! $MATLAB/bin/finish.sh
    

    Тэмдэглэл: $MATLAB нь үг юм.

    Зөвлөгөө: Тэр сан дотроо гарахаас өмнө өөрийн ажлын талбарыг хадгалах боломжийг олгох finishsav.m болон finishdlg.m файлуудыг та олох болно. Хэрэв та тэдгээрийн аль нэгийг ашиглаж байгаа бол дээрх мөрийг save тушаалын дараа нэн даруй оруулах хэрэгтэй.

  2. доор дурдсаныг агуулсан $MATLAB/bin/finish.sh файлыг үүсгэнэ:

    #!/compat/linux/bin/sh
    (sleep 5; killall -1 matlab_helper) &
    exit 0
    
  3. Файлыг ажиллах боломжтой болгоно:

    # chmod +x $MATLAB/bin/finish.sh
    

11.5.6. MATLAB-ийг ашиглах

Энд хүрэхэд та matlab гэж бичин үүнийг ашиглаж эхлэхэд бэлэн болсон байна.


11.6. Oracle® суулгах нь

Хувь нэмэр болгон оруулсан Марсел Мууленаар.

11.6.1. Оршил

Энэ баримт нь Линуксд зориулсан Oracle 8.0.5 болон Oracle 8.0.5.1 Enterprise Edition-г FreeBSD машин уруу суулгах процессийг тайлбарлах болно.


11.6.2. Линуксийн орчныг суулгах

Та emulators/linux_base болон devel/linux_devtools програмууд портын цуглуулгаас суусан эсэхийг шалгаарай. Та эдгээр портын хувьд асуудалтай байгаа бол багцууд юм уу эсвэл портын цуглуулгад байгаа хуучин хувилбаруудыг ашиглах хэрэгтэй болж болох юм.

Хэрэв та ухаалаг агентийг ажиллуулахыг хүсэж байгаа бол Red Hat Tcl багц: tcl-8.0.3-20.i386.rpm-г бас суулгах хэрэгтэй болно. Албан ёсны RPM порттой (archivers/rpm) багцуудыг суулгах ерөнхий тушаал бол:

# rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package

package-ийн суулгалт ямар ч алдаа үүсгэх ёсгүй.


11.6.3. Oracle орчныг үүсгэх

Oracle-г суулгахаасаа өмнө та тохирох орчныг тохируулах хэрэгтэй. Энэ баримт нь Oracle-г суулгах зааварт тайлбарласныг биш Линуксд зориулсан Oracle-г FreeBSD дээр ажиллуулахын тулд яг юу хийхийг зөвхөн тайлбарладаг.


11.6.3.1. Цөмийг тааруулах

Oracle-г суулгах зааварт тайлбарласнаар хуваалцсан санах ойн хамгийн их хэмжээг тохируулах хэрэгтэй. FreeBSD дээр SHMMAX-г битгий ашиглаарай. SHMMAX нь ердөө л SHMMAXPGS болон PGSIZE-с тооцоологдон гаргагддаг. Тийм болохоор SHMMAXPGS-г тодорхойл. Бусад бүх тохируулгууд зааварт тайлбарласны дагуу ашиглагдаж болно. Жишээ нь:

options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61

Эдгээр тохируулгуудыг өөрийн Oracle-ийн хэрэглээнд тааруулж тохируулах хэрэгтэй.

Мөн цөмийн тохиргооны файлдаа дараах тохируулгуудтай байгаа эсэхээ бас шалгаарай:

options SYSVSHM #SysV shared memory
options SYSVSEM #SysV semaphores
options SYSVMSG #SysV interprocess communication

11.6.3.2. Oracle бүртгэл

Өөр бусад бүртгэл үүсгэдэг шигээ oracle бүртгэл үүсгэнэ. oracle бүртгэл нь Линуксийн бүрхүүл өгөх шаардлагатай цорын ганц тусгай бүртгэл юм. /etc/shells файлд /compat/linux/bin/bash-г нэмээд oracle хэрэглэгчийн бүрхүүлийг /compat/linux/bin/bash гэж тохируулна.


11.6.3.3. Орчин

ORACLE_HOME болон ORACLE_SID зэрэг ердийн Oracle хувьсагчуудаас гадна та дараах орчны хувьсагчуудыг тохируулах ёстой:

Хувьсагч Утга
LD_LIBRARY_PATH $ORACLE_HOME/lib
CLASSPATH $ORACLE_HOME/jdbc/lib/classes111.zip
PATH /compat/linux/bin /compat/linux/sbin /compat/linux/usr/bin /compat/linux/usr/sbin /bin /sbin /usr/bin /usr/sbin /usr/local/bin $ORACLE_HOME/bin

Бүх орчны хувьсагчуудыг .profile-д тохируулахыг зөвлөдөг. Гүйцэд жишээ бол дараах байна:

ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=386x; export ORACLE_TERM
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export CLASSPATH
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
export PATH

11.6.4. Oracle-ийг суулгах

Линуксийн эмуляторын хайхрамжгүй бүрэн бүтэн бус байдлаас болоод суулгагчийг эхлүүлэхээсээ өмнө та .oracle санг /var/tmp дотор үүсгэх хэрэгтэй болдог. Үүнийг oracle хэрэглэгч эзэмшихээр болгох хэрэгтэй. Та Oracle-г ямар ч асуудалгүйгээр суулгаж чадах ёстой. Хэрэв танд асуудлууд учирвал эхлээд өөрийн Oracle тархац ба/эсвэл тохиргоог шалгах хэрэгтэй! Oracle-г суулгасныхаа дараа та дараах хоёр дэд хэсэгт тайлбарласан нөхөөсүүдийг хийж өгөх хэрэгтэй.

Байнга учирдаг асуудал бол TCP протоколын хувиргагч зөв суулгагдаагүй байдаг явдал юм. Үүнээс болоод та ямар ч TCP сонсогч эхлүүлж чадахгүй. Дараах үйлдлүүд нь энэ асуудлыг шийдэхэд тусалдаг:

# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk ntcontab.o
# cd $ORACLE_HOME/lib
# ar r libnetwork.a ntcontab.o
# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk install

root.sh-г дахин ажиллуулахаа битгий мартаарай!


11.6.4.1. root.sh-д нөхөөс хийх

Oracle-г суулгаж байхад root эрхээр хийгдэх шаардлагатай зарим үйлдлүүд root.sh гэж нэрлэгдсэн бүрхүүлийн скриптэд бичигдсэн байдаг. Энэ скрипт нь orainst санд бичигдсэн байдаг. chown тушаалын зөв байрлалыг ашиглахаар болгож дараах нөхөөсийг root.sh-д хийх хэрэгтэй, эсвэл өөрөөр скриптийг Линуксийн эх бүрхүүл дээр ажиллуулах хэрэгтэй.

*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
--- orainst/root.sh Mon Dec 28 15:58:53 1998
***************
*** 31,37 ****
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/bin/chown
#
# Define variables to be used in this script
--- 31,37 ----
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/usr/sbin/chown
#
# Define variables to be used in this script

CD-ээс Oracle-г та суулгахгүй үед root.sh-д зориулсан эхийг нөхөж болно. Үүнийг rthd.sh гэдэг бөгөөд эх модны orainst санд байрладаг.


11.6.4.2. genclntsh-д нөхөөс хийх

genclntsh скрипт нь хуваалцсан ганц клиентийн санг үүсгэхэд ашиглагддаг. Үзүүлбэрүүдийг бүтээж байхад үүнийг ашигладаг. PATH-н тодорхойлолтыг тайлбар болгохын тулд дараах нөхөөсийг хийх хэрэгтэй:

*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
--- bin/genclntsh Tue Dec 22 15:36:49 1998
***************
*** 32,38 ****
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst
--- 32,38 ----
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst

11.6.5. Oracle-г ажиллуулах

Заавруудыг дагасны дараа та Oracle-г Линукс дээр ажиллуулж байгаа юм шиг ажиллуулж чадах ёстой.


11.7. Нэмэлт сэдвүүд

Хэрэв та Линуксийн хоёртын нийлэмж хэрхэн ажилладгийг мэдэхийг хүсэж байгаа бол энэ хэсэг нь таны уншихыг хүсэж байгаа хэсэг юм. Доор бичигдсэн зүйлийн ихэнх нь Тэрри Лэмбэрт -ийн FreeBSD chat захидлын жагсаалт руу бичсэн цахим захидал (Message ID: <199906020108.SAA07001@usr09.primenet.com>) дээр тулгуурласан байгаа.


11.7.1. Хэрхэн ажилладаг вэ?

FreeBSD нь “execution class loader” буюу ажиллуулах ангилал дуудагч гэгддэг хийсвэрлэлттэй байдаг. Энэ нь execve(2) системийн дуудлага уруу хийгдэх шаантаг юм.

Юу болдог вэ гэхээр FreeBSD нь ямар нэгэн бүрхүүлийн тайлбарлагчид эсвэл бүрхүүлийн скриптүүдийг ажиллуулахын тулд #! дуудагч уруу ордог нэг дуудагчийн оронд дуудагчдын жагсаалттай байдаг.

Уламжлалаар бол UNIX тавцангийн дуудагч нь хоёртын файлыг системд мэдэгдэж байгаа эсэхийг мэдэхийн тулд шидэт тоог (ерөнхийдөө файлын эхний 4 эсвэл 8 байт) шалгадаг бөгөөд хэрэв мэдэгдэж байвал хоёртын дуудагчийг ажиллуулдаг ганц дуудагч юм.

Хэрэв энэ нь системд зориулагдсан хоёртын төрөл биш бол execve(2) дуудлага амжилгүй болон буцаж бүрхүүл үүнийг бүрхүүлийн тушаалууд маягаар ажиллуулж эхлэхийг оролддог.

“Тухайн үеийн бүрхүүл ямар байгаа” түүнийг анхдагч гэж таамагладаг.

Дараа нь эхний хоёр тэмдэгтүүдийг шалгах засварыг (hack) sh(1)-д зориулж хийсэн бөгөөд хэрэв тэдгээр нь :\n бол энэ нь csh(1) бүрхүүлийг ажиллуулдаг (энэ засварыг SCO анхлан хийсэн гэж бид итгэдэг).

Төгсгөлийн дараах дараагийн хоосон зайны дараа байдаг тэмдэгтүүдийн дараа /bin/sh уруу буцдаг тэмдэгтүүд байдаг болохоор одоо FreeBSD юу хийдэг вэ гэхээр дуудагчдын жагсаалтаар тайлбарлагчдын талаар мэддэг ерөнхий #! дуудагчтай явдаг.

Линуксийн ABI дэмжлэгийн хувьд FreeBSD нь шидэт тоог ELF хоёртын файл гэж хардаг (одоогоор энэ нь FreeBSD, Solaris, Линукс болон ELF дүрсний төрөл бүхий бусад OS-ийг хооронд нь ялгадаггүй).

ELF дуудагч нь тусгай тамга хайдаг бөгөөд энэ нь ELF дүрс дэх тайлбар хэсэг юм. Энэ нь SVR4/Solaris ELF хоёртын файлуудад байдаггүй.

Линукс хоёртын файлууд нь ажиллахын тулд тэдгээр нь brandelf(1)-ээр Линукс гэж тамгалагдах ёстой байдаг:

# brandelf -t Linux file

Үүнийг хийсний дараа ELF дуудагч нь файлд Линукс тамгыг харах болно.

ELF дуудагч Линукс тамгыг харах үед дуудагч proc бүтэц дэх заагчийг сольдог. Энэ заагчаар бүх системийн дуудлагууд индекслэгддэг (уламжлалт UNIX систем дээр энэ нь системийн дуудлагуудыг агуулах sysent[] бүтцийн массив байх юм). Үүнээс гадна процесс нь дохионы трамплиний кодонд зориулсан занга векторыг тусгайлан зохицуулахад болон Линуксийн цөмийн модулиар зохицуулагддаг бусад хэд хэдэн (жижиг) засваруудад зориулагдаж тэмдэглэгддэг.

Линукс системийн дуудлагын вектор нь бусад зүйлүүдээс гадна цөмийн модульд хаягууд нь байдаг sysent[] оруулгуудын жагсаалтыг агуулдаг.

Системийн дуудлага Линуксийн хоёртын файлаар дуудагдахад занга код системийн дуудлагын функц заагчийн хаягийг proc бүтцээс авч FreeBSD-ийн биш Линуксийн системийн дуудлагын оруулгын цэгүүдийг авдаг.

Мөн Линукс горим нь хайлтыг динамикаар дахин эхлүүлдэг; энэ нь файлын системийн холболтууд дахь union тохируулга (unionfs файлын системийн төрөл биш!) хийдэг тэр зүйл юм. Эхлээд /compat/linux/original-path сан дахь файлыг хайх бөгөөд дараа нь хэрэв энэ нь амжилтгүй болвол хайлт /original-path санд хийгддэг. Энэ нь бусад хоёртын файлуудыг шаарддаг хоёртын файлуудыг ажиллаж чадахаар (өөрөөр хэлбэл Линуксийн хэрэгслийн цуглуулга бүгдээрээ Линуксийн ABI дэмжлэгийн доор ажиллаж чаддаг байхаар) болгодог. Линуксийн хоёртын файлууд нь тохирох Линуксийн хоёртын файлууд байхгүй бол FreeBSD-ийн хоёртын файлуудыг дуудаж ажиллуулж бас чадна гэсэн үг бөгөөд Линуксийн хоёртын файлуудыг Линукс дээр ажиллахгүй байгааг нь хэлж чадахааргүй болгохын тулд та uname(1) тушаалыг /compat/linux санд байрлуулж болно гэсэн үг юм.

Үндсэндээ Линуксийн цөм FreeBSD цөмд байдаг; цөмийн үзүүлдэг бүх үйлчилгээнүүдийг хийдэг, доор нь орших төрөл бүрийн функцууд нь FreeBSD-ийн системийн дуудлагын хүснэгтийн оруулгууд болон Линуксийн системийн дуудлагын хүснэгтийн оруулгуудтай ижил байдаг: файлын системийн үйлдлүүд, виртуал санах ойн үйлдлүүд, дохио хүргэлт, System V IPC, гэх мэт... Цорын ганц ялгаа нь FreeBSD-ийн хоёртын файлууд FreeBSD-ийн цавуу функцуудыг, Линуксийн хоёртын файлууд Линуксийн цавуу функцуудыг авдаг явдал юм (ихэнх хуучин OS-үүд зөвхөн өөрсдийн цавуу функцуудтай байсан: дуудлага хийж байгаа процессийн proc бүтэц дэх динамикаар эхлүүлэгдсэн заагчаар хийгдсэн функцуудын хаягуудын оронд статик глобал sysent[] бүтцийн массив дахь функцуудын хаягуудтай байсан).

Аль нь эх FreeBSD ABI вэ? Энэ нь хамаагүй юм. Үндсэндээ цорын ганц ялгаа нь (зөвхөн одоогоор; эдгээр нь ирээдүйн хувилбаруудад амархан өөрчлөгдөж болох бөгөөд магадгүй үүний дараагаар хийгдэх байх) FreeBSD-ийн цавуу функцууд нь цөмд статикаар холбогдсон байдаг бөгөөд Линуксийн цавуу функцууд нь статикаар холбогдож эсвэл тэдгээрт цөмийн модулийн тусламжтайгаар хандаж болдог явдал юм.

Тиймээ, гэхдээ энэ нь жинхэнэ эмуляц мөн үү? Үгүй ээ. Энэ нь ABI шийдэл болохоос эмуляц биш юм. Ямар ч эмулятор (эсвэл дүр үзүүлэгч (simulator) (дараагийн асуултыг асуулгахгүйн тулд)) оролцоогүй.

Тэгэхээр яагаад энэ нь заримдаа “Линукс эмуляц” гэгддэг юм бэ? FreeBSD-г худалдахад хэцүү болгохын тулд! Тиймээ, юу болж байгааг тайлбарлаж байгаагаас өөр зүйлгүй байх тэр үед уламжлалт шийдэл хийгдсэн болохоор тэр юм; хэрэв та кодыг эмхэтгээгүй эсвэл модулийг дуудаагүй бол Линуксийн хоёртын файлуудыг FreeBSD ажиллуулдаг гэж хэлэх нь үнэн биш бөгөөд юу дуудагдсаныг тайлбарлах үг хэрэгтэй байсан болохоор --“Линукс эмулятор” гэсэн үг гарсан юм.

III. Системийн Удирдлага

FreeBSD гарын авлагын үлдсэн бүлгүүд нь FreeBSD системийн удирдлагын бүх ойлголтуудыг хамрах болно. Бүлэг бүрийн эхэнд, уг бүлгийг уншсанаар таны юу сурч авахыг тайлбарлах бөгөөд уншиж эхлэхээс өмнө юуг мэдсэн байх ёстойг бас хэлж өгөх болно.

Эдгээр бүлгүүд нь танд мэдээлэл хэрэгтэй үед уншигдахаар зориулагдсан юм. Та ямар нэгэн тодорхой дарааллаар унших хэрэггүй бөгөөд FreeBSD ашиглаж эхлэхээсээ өмнө бүгдийг нь унших шаардлагагүй болно.


Бүлэг 12. Тохиргоо ба Тааруулалт

Хойно дурдсан заавар болон гарын авлага дээр тулгуурлан бичсэн Шерн Ли. Зааврыг бичсэн Майк Смит. tuning(7)-г бичсэн Мэтт Диллон. Орчуулсан Цагаанхүүгийн Ганболд.

12.1. Ерөнхий агуулга

FreeBSD-ийн хамгийн чухал зүйлүүдийн нэг нь системийн тохиргоо юм. Зөв системийн тохиргоо нь ирээдүйн шинэчлэлтүүдийн үед толгойн өвчин гаргахгүй байхад тусална. Энэ бүлэг FreeBSD системийг тааруулахад хэрэглэгддэг зарим нэг параметрүүд болон тохиргооны процессийн талаар илүү тайлбарлах болно.

Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:

  • Файлын системүүд болон хуваалтуудтай хэрхэн үр ашигтай ажиллах талаар.

  • rc.conf тохиргоо болон /usr/local/etc/rc.d эхлэлийн системүүдийн үндсүүд.

  • Сүлжээний картыг хэрхэн тохиргоо болон тест хийх талаар.

  • Сүлжээний төхөөрөмж дээрээ виртуал хостууд хэрхэн тохируулах талаар.

  • /etc дэх төрөл бүрийн тохиргооны файлыг хэрхэн ашиглах талаар.

  • sysctl хувьсагчуудыг ашиглан FreeBSD-ийг хэрхэн тааруулах талаар.

  • Дискний хурдан ажиллагааг хэрхэн тааруулах болон цөмийн хязгааруудыг хэрхэн өөрчлөх талаар.

Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:

  • UNIX болон FreeBSD-ийн үндсийг ойлгох (Бүлэг 4).

  • Цөмийн тохиргоо/хөрвүүлэлтийн үндсүүдийн талаар ойлголттой байх (Бүлэг 9).


12.2. Эхний Тохиргоо

12.2.1. Хуваалтын байрлал


12.2.1.1. Үндсэн Хуваалтууд

bsdlabel(8) болон sysinstall(8) ашиглан файлын системүүдийг байрлуулахдаа хатуу хөтлөгчүүд өгөгдлийг дотоод замуудаас илүү гаднах замуудаас хурдан шилжүүлдгийг санаарай. Тиймээс жижиг, байнга ханддаг файлын системүүд хөтлөгчийн гадна тал уруу ойрхон байх ёстой бөгөөд /usr зэрэг том хуваалтууд дискийн дотор тал уруу байх хэрэгтэй. Хуваалтуудыг иймэрхүү дарааллаар байрлуулах нь зөв юм: root, swap, /var, /usr.

/var хуваалтын хэмжээ төлөвлөсөн машины хэрэглээг тусгадаг. /var файлын систем нь шуудангийн хайрцгууд, бүртгэлийн файлууд, болон принтерийн spool агуулдаг. Шуудангийн хайрцгууд болон бүртгэлийн файлууд хичнээн хэрэглэгч байгаа болон ямар хугацаанд бүртгэлийн файлууд байхаас хамаараад төсөөлөшгүй хэмжээнд хүртэл ихсэж болдог. Ихэнх хэрэглэгчдийн хувьд /var-д нэг гигабайт сул зай байхад хангалттай байдаг.

Тэмдэглэл: /var/tmp-д ихээхэн хэмжээний дискийн зай шаардагддаг цөөхөн тохиолдол байдаг. Шинэ програм хангамжийг pkg_add(1) ашиглан суулгахад багцлах хэрэгслүүд багцын түр зуурын хуулбарыг /var/tmp-д задалдаг. /var/tmp-д хангалттай дискийн чөлөөтэй зай байхгүй бол Firefox, OpenOffice эсвэл LibreOffice зэрэг томоохон програм хангамжийн багцуудыг суулгахад төвөгтэй байж болох юм.

/usr хуваалт ports(7) цуглуулга (байлгахыг зөвлөдөг), болон эх код (заавал биш) зэрэг системийг дэмжихэд шаардлагатай ихэнх файлуудыг агуулдаг. Портууд болон үндсэн системийн эхүүдийг суулгалтын үед сонгох боломжтой боловч бид энэ хуваалтад хамгийн багаар бодоход 2 гигабайт байхыг зөвлөдөг.

Хуваалтын хэмжээг сонгохдоо зайн шаардлагыг бодох хэрэгтэй. Нэг хуваалт нь бараг л ашиглагдахгүй байхад нөгөө нь зайгүй болж байх нь асуудал юм.

Тэмдэглэл: sysinstall(8)-ийн Auto-defaults хуваалтын хэмжээг өгөгч нь заримдаа /var болон / хуваалтуудад боломжоос бага хэмжээг сонгодгийг зарим хэрэглэгчид олсон байна. Хуваалтыг ухаалгаар харамгүй хийгээрэй.


12.2.1.2. Swap Хуваалт

Swap хуваалтын хэмжээ системийн санах ойг (RAM) хоёр дахин авсан хэмжээтэй байх ёстой. Жишээлбэл машин 128 мегабайт санах ойтой бол swap файл 256 мегабайт байх ёстой. Бага санах ойтой системүүд их swap-тай бол илүү хурдан ажиллаж болох юм. 256 мегабайтаас бага swap-ийг хэрэглэхийг зөвлөдөггүй бөгөөд санах ойн өргөтгөл хэрэгтэй. Цөмийн VM хуудаслах алгоритмууд нь багаар бодоход гол санах ойг хоёр дахин авсантай тэнцэх swap хуваалттай байх үед хамгийн хурдан ажиллахаар тааруулагдсан байдаг. Хэтэрхий бага swap тохируулах нь VM хуудас скан хийх кодыг үр ашиггүйтэлд хүргэж илүү санах ой хожим нэмэхэд асуудал үүсгэж болох юм.

Олон SCSI дискнүүд бүхий (эсвэл олон IDE дискнүүд өөр өөр хянагчууд дээр ажиллаж байгаа) томоохон системүүдэд swap-ийг хөтлөгч болгон дээр (4 хөтлөгч хүртэл) тохируулахыг зөвлөдөг. Swap хуваалтууд нь ойролцоогоор адилхан хэмжээний байх шаардлагатай. Цөм дурын хэмжээтэй ажиллаж чадах боловч дотоод өгөгдлийн бүтцүүд хамгийн том swap хуваалтыг 4 дахин авсантай адил хэмжээгээр томрох боломжтой. Swap хуваалтуудыг ойролцоогоор адил хэмжээтэй байлгах нь swap зайг дискнүүдийн дагуу оновчтойгоор судал үүсгэх боломжийг цөмд олгодог. Swap их ашиглагддаггүй байсан ч гэсэн том swap хэмжээ байж болно. Хүчээр дахин ачаалагдах үед дагаж хаагдсан програмаас өгөгдлийг сэргээх нь амархан байж болох юм.


12.2.1.3. Яагаад Хуваах хэрэгтэй гэж?

Зарим хэрэглэгчид ганц том хуваалт байхад болно гэж боддог, гэхдээ энэ нь яагаад буруу болох хэд хэдэн шалтгаан бий. Нэгдүгээрт хуваалт болгон өөр өөр ажиллагааны шинж чанаруудтай бөгөөд тэдгээрийг тусгаарласнаар файлын системийг тэдгээрт тааруулах боломжийг олгодог. Жишээ нь root болон /usr хуваалтууд байнга бичигдэхээсээ илүү ихэвчлэн уншигддаг. Харин уншилт болон бичилт /var болон /var/tmp-д байнга хийгддэг.

Системийг зөв хувааснаар ачаалалтай хуваалтуудад хийсэн жижиг бичилтээр гарсан хэсэглэлт илүүдэж байнга уншигддаг хуваалтууд уруу хальдаггүй. Бичилт-ачаалсан хуваалтуудыг дискний ирмэг уруу байрлуулах нь бичилт ихэвчлэн хийгддэг хуваалтууд дахь I/O ажиллагааг хурдасгадаг. Том хуваалтуудад I/O-н хурдан ажиллагаа хэрэгтэй байж болох ч тэдгээрийг дискний ирмэг уруу илүүтэй ойртуулах нь /var-ийг ирмэг уруу шилжүүлснээс илүү мэдэгдэхүйц хурдан ажиллагаанд хүргэхгүй. Эцэст нь найдвартай байдлыг бодох ёстой. Ихэвчлэн уншигддаг, жижиг, цэвэрхэн root хуваалт хэцүү сүйрэл болоход сэргэх боломж нь хамаагүй илүү байна.


12.3. Гол Тохиргоо

Системийн тохиргооны мэдээлэл /etc/rc.conf дотор байдаг. Энэ файл нь өргөн хүрээний, зарчмын хувьд системийг эхлэх үед системийг тохируулахад ашиглагддаг тохиргооны мэдээллүүдээс тогтоно. Үүний нэр нь шууд утгыг тодорхойлно; энэ нь rc* файлуудад зориулсан тохиргооны мэдээлэл юм.

Администратор /etc/defaults/rc.conf-ийн анхдагч утгуудыг rc.conf файлд өөрчилж оруулах хэрэгтэй. Анхдагчуудын файл /etc уруу хуулагдах ёсгүй - энэ нь жишээ биш анхдагч утгуудыг агуулдаг. Бүх системийн холбогдолтой өөрчлөлтүүд rc.conf файлд өөрт нь хийгдэх ёстой.

Удирдлагын нэмэлт ачааллыг байнга бага байлгахын тулд сайт дагуух тохиргоог системийн тусгайлсан тохиргооноос тусгаарлах хэд хэдэн стратеги кластер хийгдсэн програмуудад байж болох юм. Тухайн системийн тохиргоог /etc/rc.conf.local файлд байрлуулах нь зүйтэй. Жишээ нь:

  • /etc/rc.conf:

    sshd_enable="YES"
    keyrate="fast"
    defaultrouter="10.1.1.254"
    
  • /etc/rc.conf.local:

    hostname="node1.example.org"
    ifconfig_fxp0="inet 10.1.1.1/8"
    

Дараа нь rc.conf файл систем болгонд rsync эсвэл адил програмаар түгээгдэж болох бөгөөд харин rc.conf.local файл нь өөр өөр хэвээр байх болно.

sysinstall(8) эсвэл make world ашиглан системийг шинэчлэхэд rc.conf файлыг дарж бичихгүй, тэгэхээр системийн тохиргооны мэдээлэл хаягдахгүй.

Зөвлөгөө: /etc/rc.conf тохиргооны файлыг sh(1)-р уншуулдаг. Энэ нь системийн операторуудад уг файлд тодорхой хэмжээний логик нэмэх боломжийг олгодог бөгөөд ингэснээр илүү нарийн төвөгтэй тохиргооны хувилбарууд үүсгэхэд тусалдаг. Энэ талаар дэлгэрэнгүйг rc.conf(5)-с үзнэ үү.


12.4. Програмын Тохиргоо

Ерөнхийдөө суулгасан програмууд нь өөрийн дүрэм гэх мэт онцлогтой өөр өөрийн тохиргооны файлуудтай байдаг. Эдгээр файлуудыг багц удирдах хэрэгслүүдээр амархан олж удирдаж болохоор үндсэн системээс тусад нь байлгах нь чухал юм.

Ерөнхийдөө эдгээр файлууд нь /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 портын дараагийн шинэчлэл энэ өөрчлөгдсөн файлыг дарж хуулахгүй.


12.5. Үйлчилгээнүүдийг эхлүүлэх нь

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

Олон хэрэглэгчид Портуудын Цуглуулгаас гуравдагч програм хангамжуудыг FreeBSD дээр суулгахаар сонгодог. Ихэнх тохиолдолд програм хангамжийг систем ачаалахад эхлүүлэхээр тохируулах шаардлагатай байж болох юм. mail/postfix эсвэл www/apache22 зэрэг үйлчилгээнүүд нь системийг ачаалахад эхлүүлж болох програм хангамжийн багцуудын зөвхөн хоёрхон жишээ юм. Энэ хэсэгт гуравдагч програм хангамжийг ажиллуулах процедурын талаар тайлбарлах болно.

FreeBSD дээр cron(8) зэрэг ихэнх үйлчилгээнүүд системийн эхлүүлэх скриптүүдийн тусламжтай эхэлдэг. Эдгээр скриптүүд FreeBSD эсвэл үйлдвэрлэгчийн хувилбараас хамааран өөр өөр байна; гэхдээ хамгийн чухал авч үзэх зүйл нь тэдгээрийн эхлэх тохиргоог энгийн эхлүүлэх скриптүүдээр хийх боломжтой явдал юм.


12.5.1. Програмын Өргөтгөсөн Тохиргоо

Одоогийн FreeBSD-ийн rc.d-г агуулдаг нь програмын эхлүүлэх тохиргоог илүү хялбар, боломжтой болгосон. rc.d хэсэгт хэлэлцсэн түлхүүр үгүүдийг ашиглан програмууд жишээ нь DNS зэрэг зарим үйлчилгээнүүдийн дараа ажиллахаар тохируулагдаж болно; эхлүүлэх скриптүүдэд хатуугаар бичигдсэн тугуудын оронд rc.conf-оор нэмэлт тугуудыг өгөхийг зөвшөөрч болох гэх мэт. Үндсэн скрипт дараах байдлаар харагдаж болно:

#!/bin/sh
#
# PROVIDE: utility
# REQUIRE: DAEMON
# KEYWORD: shutdown

. /etc/rc.subr

name="utility"
rcvar=utility_enable
command="/usr/local/sbin/utility"

load_rc_config $name

#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
# SET THEM IN THE /etc/rc.conf FILE
#
utility_enable=${utility_enable-"NO"}
pidfile=${utility_pidfile-"/var/run/utility.pid"}

run_rc_command "$1"

Энэ скрипт нь өгөгдсөн utilityDAEMON псевдо үйлчилгээний дараа ажиллуулахаар тохируулагдсан. Мөн PID, эсвэл процессийн ID файлыг заах болон дагах аргыг бас хангадаг.

Энэ програм дараах мөрийг /etc/rc.conf файлд оруулж болно:

utility_enable="YES"

Энэхүү арга нь тушаалын мөрийн нэмэлт өгөгдлүүдийг илүү хялбараар удирдах боломжийг зөвшөөрдөг бөгөөд /etc/rc.subr дахь анхдагч функцуудыг оруулах, rcorder(8) хэрэгсэлтэй нийцтэй байх, болон rc.conf файлын тусламжтай хялбараар тохиргоо хийх боломжийг бас хангадаг.


12.5.2. Үйлчилгээнүүдийг эхлүүлэхийн тулд үйлчилгээнүүдийг ашиглах нь

POP3 сервер дэмонууд, IMAP зэрэг бусад үйлчилгээнүүд inetd(8) ашиглан эхэлж болдог. Энэ нь Портуудын Цуглуулгаас /etc/inetd.conf файлд нэмэгдэх мөр бүхий эсвэл одоогийн байгаа мөрүүдийн нэгнээс тайлбарыг болиулж идэвхжүүлдэг үйлчилгээний хэрэгслийг суулгаснаар хэрэгждэг. inetd болон түүний тохиргоотой ажиллах талаар inetd хэсэгт гүнзгий тайлбарласан байгаа болно.

Зарим тохиолдолд cron(8) ашиглан системийн үйлчилгээнүүдийг эхлүүлэх нь илүү ашигтай байж болох юм. Энэ арга нь хэд хэдэн давуу талуудтай бөгөөд учир нь cron эдгээр процессуудыг crontab-н файлын эзэмшигчийн эрхээр ажиллуулдаг. Энэ нь ердийн хэрэглэгчдэд зарим програмуудыг эхлүүлж ажиллагааг хангах боломжийг олгодог.

cron хэрэгсэл @reboot гэсэн бусдад байхгүй боломжийг олгодог бөгөөд цаг хугацааг заах хэсэгт ашиглагдах боломжтой. Энэ нь системийг эхлүүлэх явцад cron(8) эхлэх үед тухайн ажлыг ажиллуулдаг.


12.6. cron хэрэгслийг тохируулах нь

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

FreeBSD-ийн хамгийн ашигтай хэрэгслүүдийн нэг нь cron(8) юм. cron хэрэгсэл ард ажилладаг бөгөөд /etc/crontab файлыг байнга шалгаж байдаг. cron хэрэгсэл /var/cron/tabs сангаас шинэ crontab файлуудыг бас шалгадаг. Эдгээр crontab файлууд нь тусгай функцуудыг агуулдаг бөгөөд эдгээрийг cron тодорхой хугацаанд ажиллуулах ёстой байдаг.

cron хэрэгсэл системийн crontab болон хэрэглэгчийн crontab гэсэн хоёр төрлийн тохиргооны файлыг ашигладаг. Энэ хоёр хэлбэршилтийн зөвхөн ялгаа нь зургаа дахь талбараас хойш юм. Системийн crontab дээр cron тушаал зургаа дахь талбар дээр зааж өгсөн хэрэглэгчээр тушаалыг ажиллуулна. Хэрэглэгчийн crontab дээр crontab үүсгэсэн хэрэглэгчээр бүх тушаалыг ажиллуулах ба зургаа дахь талбар нь хамгийн сүүлийн талбар юм; энэ нь аюулгүй байдлын нэг чухал боломж юм.

Тэмдэглэл: Хэрэглэгчийн crontab-ууд нь хэрэглэгчдэд root эрхийн шаардлагагүйгээр бодлогуудыг цагийн хуваариар ажиллуулах боломж олгодог. Хэрэглэгчийн crontab дахь тушаалууд нь crontab-ийг эзэмшиж байгаа хэрэглэгчийн эрхээр ажилладаг.

root хэрэглэгч бас бусад хэрэглэгчийн нэгэн адил хэрэглэгчийн crontab-тай байж болно. root хэрэглэгчийн crontab нь /etc/crontab-аас (системийн crontab) тусдаа байна. Яагаад гэвэл системийн crontab нь заасан тушаалуудыг root эрхээр ажиллуулдаг учраас root хэрэглэгчийн хувьд ихэнхдээ хэрэглэгчийн crontab шаардлагагүй байдаг.

/etc/crontab файлыг (системийн crontab) харцгаая:

# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
# (1)
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin (2)
HOME=/var/log
#
#
#minute	hour	mday	month	wday	who	command (3)
#
#
*/5	*	*	*	*	root	/usr/libexec/atrun (4)
(1)
FreeBSD-ийн ихэнх тохиргооны файлуудын адил # тэмдэгт тайлбарыг илэрхийлнэ. Тайлбарыг хүсэж байгаа үйлдэл нь юу болох яагаад хийгдэж байгааг сануулах зорилгоор файлд тавьж болдог. Тайлбаруудыг тушаал байгаа мөрд хийж болохгүй бөгөөд ингэсэн тохиолдолд тушаалын хэсэг мэтээр ойлгогдоно; тэдгээр нь шинэ мөрөнд байх ёстой. Хоосон мөрүүдийг тооцохгүй.
(2)
Эхлээд орчин тодорхойлогдох шаардлагатай. Тэнцүүгийн (=) тэмдэг орчны тохиргоог тодорхойлоход ашиглагддаг бөгөөд энэ жишээн дээр SHELL,PATH, болон HOME тохируулгуудад ашиглагдаж байна. Хэрэв бүрхүүлийн мөрийг орхисон бол cron анхдагч болох sh-ийг ашигладаг. Хэрэв PATH хувьсагчийг орхисон бол ямар ч анхдагч ашиглагдахгүй бөгөөд файлын байрлалууд абсолют байх хэрэгтэй. Хэрэв HOME мөрийг орхисон бол cron ажиллуулж байгаа хэрэглэгчийн гэрийн санг ашигладаг.
(3)
Энэ мөр нь нийт долоон талбарыг тодорхойлдог. Энд жагсаагдсан утгууд нь minute, hour, mday, month, wday, who, болон command юм. Эдгээрийг нэрээс нь харахад ойлгомжтой. minute нь тушаал ажиллах минутаар илэрхийлэгдсэн хугацаа. hour нь minute-ын адил тохируулга бөгөөд цагаар илэрхийлэгддэг. mday нь сарын өдрийг заана. month нь hour болон minute-тай адил бөгөөд сарыг зааж өгнө. wday тохируулга нь долоо хоногийн өдрийг заана. Эдгээр бүх талбарууд нь тоон утга байх ёстой бөгөөд хорин дөрвөн цагийг дагадаг. who талбар нь тусгай бөгөөд зөвхөн /etc/crontab файлд байдаг. Энэ талбар нь аль хэрэглэгчийн эрхээр тушаал ажиллахыг заадаг. Сүүлийн талбар нь ажиллуулах тушаалд зориулагдсан байна.
(4)
Энэ сүүлийн мөр нь дээр дурдсан утгуудыг тодорхойлдог. Энд бид хэд хэдэн * тэмдэгтүүд дараалсан */5 гэсэн жагсаалт байгааг анзаарах хэрэгтэй. Эдгээр * тэмдэгтүүд нь “эхний-эцсийн” гэсэн үг бөгөөд үргэлж гэж ойлгогдож болно. Тэгвэл энэ мөрөөс үзэхэд atrun тушаал нь root эрхээр 5 минут тутам аль өдөр сар байгаагаас үл хамааран ажиллана. atrun тушаалын талаар дэлгэрэнгүй мэдээллийг atrun(8) гарын авлагаас үзнэ үү.

Тушаалууд тэдгээрт өгч болох дурын тооны тугуудтай байж болно; гэхдээ олон мөр болон уртассан тушаалууд урагшаа ташуу “\” үргэлжлүүлэх тэмдэгтээр хуваагдсан байх ёстой.

Энэ нь crontab файл болгоны хувьд үндсэн тохиргоо байна, гэхдээ нэг зүйл нь үүнээс өөр байна. Хэрэглэгчийг заадаг зургаа дахь талбар нь зөвхөн системийн /etc/crontab файлд байна. Энэ талбарыг хэрэглэгчийн crontab файлуудын хувьд орхих хэрэгтэй.


12.6.1. Crontab суулгах нь

Чухал: Та энд тайлбарласан процедурыг ашиглан системийн crontab /etc/crontab-ийг засаж болон суулгах хэрэггүй. Зүгээр л өөрийн дуртай засварлагчийг ашигла: cron хэрэгсэл файл өөрчлөгдсөнийг мэдээд тэр даруй шинэчлэгдсэн хувилбарыг ашиглаж эхэлнэ. Дэлгэрэнгүй мэдээллийг Энэ БХА-ын оруулгаас үзнэ үү.

Хэрэглэгчийн бичсэн шинэ crontab файлыг суулгахын тулд эхлээд өөрийн дуртай засварлагчийг ашиглаад зөв хэлбэршилттэй файл үүсгээд дараа нь crontab хэрэгслийг ашигла. Хамгийн их ашиглагддаг тушаал бол:

% crontab crontab-file

Энэ жишээн дээрх crontab-file нь урд нь үүсгэгдсэн crontab-ийн файлын нэр юм.

Суулгасан crontab файлуудыг үзүүлдэг тохируулга бас байдаг: -l тохируулгыг crontab уруу өгч ажиллуулаад гарах үр дүнг хараарай.

Өөрийн crontab файлыг загвар ашиглалгүйгээр эхнээс нь эхлүүлэхийг хүссэн хэрэглэгчдэд зориулсан crontab -e тохируулга байдаг. Энэ нь сонгосон засварлагчийг хоосон файлтай ажиллуулдаг. Файл хадгалагдсаны дараа автоматаар crontab тушаалаар суулгагддаг.

Хэрэглэгчийн crontab-ийг бүр мөсөн устгахыг хүсвэл crontab-ийг -r тохируулгатай ашиглаарай.


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

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

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

# /etc/rc.d/sshd restart

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

natd_enable="YES"

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

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

# /etc/rc.d/sshd onerestart

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

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

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

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

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

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

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

Starting background file system checks in 60 seconds.

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

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

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

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

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

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

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

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

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


12.8. Сүлжээний интерфэйс картууд суулгах нь

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

Өнөөдөр бид сүлжээний холболтгүй компьютерийн талаар бодох ч аргагүй болсон билээ. Сүлжээний картыг нэмж тохируулах нь FreeBSD-ийн дурын администраторын ердийн ажил болдог.


12.8.1. Тохирох драйверийг олох нь

Эхлэхээсээ өмнө та өөрт байгаа картынхаа загвар, түүнд ашигласан бичил схем болон PCI эсвэл ISA картын аль нь эсэхийг мэдэх шаардлагатай. FreeBSD өргөн төрлийн 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
miibus0: <MII bus> on dc0
bmtphy0: <BCM5201 10/100baseTX PHY> PHY 1 on miibus0
bmtphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc0: Ethernet address: 00:a0:cc:da:da:da
dc0: [ITHREAD]
dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30
000ff irq 11 at device 12.0 on pci0
miibus1: <MII bus> on dc1
bmtphy1: <BCM5201 10/100baseTX PHY> PHY 1 on miibus1
bmtphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: Ethernet address: 00:a0:cc:da:da:db
dc1: [ITHREAD]

Энэ жишээн дээр систем дээр байгаа хоёр карт dc(4) драйверийг ашиглаж байгааг бид харж байна.

Хэрэв таны NIC-д (Network Interface Card буюу Сүлжээний Интерфэйс Карт) зориулсан драйвер GENERIC-д байхгүй бол та өөрийн NIC-г ашиглахын тулд тохирох драйверийг ачаалах хэрэгтэй. Ингэхийн тулд хоёр аргын аль нэгийг ашиглана:

  • Хамгийн амархан арга нь ердөө л өөрийн сүлжээний картанд зориулсан цөмийн модулийг kldload(8) ашиглан эсвэл тохирох мөрийг /boot/loader.conf-д нэмж ачаалах үед автоматаар ачаалах юм. Бүх NIC драйверууд модуль хэлбэрээр байдаггүй; модулиуд нь байдаггүй төхөөрөмжүүдийн дурдаж болох жишээнүүд гэвэл ISA картууд юм.

  • Өөр нэг арга нь та өөрийн картын дэмжлэгийг цөмд оруулан статикаар хөрвүүлж болох юм. Өөрийн цөмийн тохиргооны файлд юу нэмэх ёстойг мэдэхийн тулд /usr/src/sys/conf/NOTES, /usr/src/sys/arch/conf/NOTES болон драйверийн гарын авлагын хуудсыг шалгаарай. Цөмийг дахин хөрвүүлэх талаар дэлгэрэнгүй мэдээллийг Бүлэг 9-с үзнэ үү. Хэрэв таны картыг таны цөм (GENERIC) ачаалах явцад илрүүлсэн бол та шинэ цөм бүтээх шаардлагагүй.


12.8.1.1. Windows-ийн NDIS драйверуудыг ашиглах нь

Харамсалтай нь өөрийн драйверуудад зориулсан схемүүдийг нээлттэй эхийн хүрээнийхэнд өгдөггүй, тийм мэдээллийг худалдааны нууц гэж үздэг олон үйлдвэрлэгчид байсаар байна. Ингэснээр FreeBSD болон өөр үйлдлийн системүүдийн хөгжүүлэгчдэд хоёр сонголт үлдсэн: буцаах инженерчлэлийн хүнд хэцүү, урт хугацааны процессийг туулж драйверуудыг хөгжүүлэх эсвэл Microsoft Windows тавцангуудад байдаг хоёртын хэлбэрийн драйверуудыг ашиглах арга замууд юм. FreeBSD-тэй холбогдсон зэрэг ихэнх хөгжүүлэгчид сүүлийн хандлагыг авч ашигладаг.

Билл Полын (wpaul) оруулсан хувь нэмрийн ачаар Сүлжээний Драйверийн Интерфэйсийн Тодорхойлолтын (NDIS) “эх (native)” дэмжлэг ордог болсон. FreeBSD NDISulator (өөрөөр Чөтгөр Төсөл) Windows хоёртын драйверийг аваад ерөнхийдөө түүнийг Windows дээр ажиллаж байгаа мэтээр хуурдаг. ndis(4) драйвер нь Windows хоёртын файл ашиглаж байгаа учраас энэ нь зөвхөн i386 болон amd64 системүүд дээр ажилладаг. PCI, CardBus, PCMCIA (PC-Card), болон USB төхөөрөмжүүдийг дэмждэг.

NDISulator ашиглахын тулд 3 зүйл хэрэгтэй:

  1. Цөмийн эхүүд

  2. Windows XP драйверийн хоёртын файл (.SYS өргөтгөл)

  3. Windows XP драйверийн тохиргооны файл (.INF өргөтгөл)

Та өөрийн картад зориулсан файлуудыг олоорой. Ерөнхийдөө тэдгээрийг хавсаргасан CD-үүд эсвэл үйлдвэрлэгчүүдийн вэб хуудаснаас олж болно. Дараах жишээнүүдэд бид W32DRIVER.SYS болон W32DRIVER.INF файлуудыг ашиглах болно.

Драйверын битийн урт FreeBSD-ийн хувилбарынхтай таарсан байх ёстой. FreeBSD/i386-н хувьд Windows 32-бит драйвер ашиглана. FreeBSD/amd64-н хувьд Windows 64-бит драйвер хэрэгтэй.

Дараагийн алхамд драйверийн хоёртын файлыг цөмийн ачаалж болох модуль болгон хөрвүүлнэ. root эрхээр ndisgen(8)-г хэрэглэнэ:

# ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS

ndisgen(8) хэрэгсэл нь интерактив бөгөөд шаардлагатай нэмэлт мэдээллийг асуудаг. Одоо байгаа санд цөмийн шинэ модуль үүсгэнэ. kldload(8) ашиглан шинэ модулийг ачаална:

# kldload ./W32DRIVER_SYS.ko

Үүсгэгдсэн цөмийн модулиас гадна та ndis.ko болон if_ndis.ko модулиудыг ачаалах хэрэгтэй. Энэ нь таныг ndis(4)-ээс хамаарсан дурын модулийг ачаалах үед автоматаар хийгдэх ёстой. Хэрэв та тэдгээрийг гараар ачаалахыг хүсвэл дараах тушаалыг ашиглаарай:

# kldload ndis
# kldload if_ndis

Эхний тушаал нь NDIS минипорт драйвер дугтуйлагчийг ачаалах бөгөөд хоёр дахь нь яг сүлжээний интерфэйсийг ачаална.

Одоо 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_SYS.ko/boot/modules уруу хуулах хэрэгтэй. Тэгээд дараах мөрийг /boot/loader.conf-д нэмнэ:

W32DRIVER_SYS_load="YES"

12.8.2. Сүлжээний карт тохируулах нь

Сүлжээний картанд зориулсан зөв драйвер ачаалагдсаны дараа картыг тохируулах шаардлагатай. Бусад олон зүйлсийн адил сүлжээний карт нь sysinstall програмаар суулгах явцад тохируулагдаж болно.

Таны системийн сүлжээний интерфэйсүүдэд зориулсан тохиргоог харуулахын тулд дараах тушаалыг ажиллуулна:

% ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80008<VLAN_MTU,LINKSTATE>
        ether 00:a0:cc:da:da:da
        inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
dc1: flags=8802<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80008<VLAN_MTU,LINKSTATE>
        ether 00:a0:cc:da:da:db
        inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
        media: Ethernet 10baseT/UTP
        status: no carrier
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>

Энэ жишээн дээр дараах төхөөрөмжүүдийг харуулсан:

  • dc0: Эхний Ethernet интерфэйс

  • dc1: Хоёрдугаар Ethernet интерфэйс

  • plip0: Параллел порт интерфэйс (хэрэв параллел порт машин дээр байгаа бол)

  • lo0: Буцаж эргэх төхөөрөмж

FreeBSD нь драйверийн нэр дээр цөмийн ачаалах явцад картууд ямар дарааллаар илрүүлэгдсэн тэр дарааллын тоог нэмж сүлжээний картыг нэрлэдэг. Жишээ нь sis2 нь систем дээрх sis(4) драйвер ашиглаж байгаа 3 дахь сүлжээний карт байж болох юм.

Энэ жишээн дээр dc0 төхөөрөмж босон ажиллаж байна. Түлхүүр индикаторууд нь:

  1. UP нь картын тохиргоо хийгдэж бэлэн болсныг илэрхийлнэ.

  2. Карт нь Интернэт (inet) хаягтай (энэ тохиолдолд 192.168.1.3).

  3. Энэ нь зөв дэд сүлжээний багтай (netmask; 0xffffff00 нь 255.255.255.0 адил).

  4. Энэ нь зөв нийтэд цацах хаягтай (энэ тохиолдолд 192.168.1.255).

  5. Картны MAC (ether) хаяг нь 00:a0:cc:da:da:da байна.

  6. Физик зөөгчийн сонголт нь автомат сонголтын горим дээр байна (media: Ethernet autoselect (100baseTX <full-duplex>)). dc1 нь 10baseT/UTP зөөгчтэй ажиллахаар тохируулагдсан байгааг бид харж болно. Байж болох зөөгчийн төрлүүдийн тухай дэлгэрэнгүй мэдээллийн талаар өөрийнх нь гарын авлагын хуудсанд хандаж үзнэ үү.

  7. Холболтын (status) төлөв нь active буюу идэвхтэй байна, өөрөөр хэлбэл дамжуулагч илэрсэн байна. dc1-ийн хувьд бид status: no carrier буюу дамжуулагч байхгүйг харж болно. Энэ нь Ethernet кабель картанд залгагдаагүй байх үед хэвийн байна.

Хэрэв ifconfig(8)-ийн үр дүн дараах маягтай төстэй байвал:

dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80008<VLAN_MTU,LINKSTATE>
        ether 00:a0:cc:da:da:da
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active

Энэ нь карт тохируулагдаагүйг илэрхийлнэ.

Картаа тохируулахын тулд танд root зөвшөөрлүүд хэрэгтэй. Сүлжээний картын тохируулгууд тушаалын мөрөөс 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 болон бусдуудыг өөрийн картуудад зориулсан төхөөрөмжөөр өөрчлөх болон хаягуудыг зөвөөр солих хэрэгтэй. Зөвшөөрөгдсөн тохируулгуудын талаар дэлгэрэнгүйг картын драйвер болон ifconfig(8)-ийн гарын авлагын хуудаснуудаас, бас rc.conf(5) гарын авлагын хуудаснаас /etc/rc.conf-ийн синтаксын тухай дэлгэрэнгүй мэдээллийг унших хэрэгтэй.

Хэрэв та суулгах явцад сүлжээг тохируулсан бол сүлжээний карт(ууд)ын талаар зарим мөрүүд аль хэдийн байж болох юм. Мөрүүд нэмэхээсээ өмнө /etc/rc.conf-ийг дахин шалгаарай.

Мөн та LAN дахь төрөл бүрийн машинуудын нэрүүд болон IP хаягууд /etc/hosts файлд байхгүй бол тэдгээрийг нэмж засварлах шаардлагатай. Дэлгэрэнгүй мэдээллийн талаар hosts(5) болон /usr/share/examples/etc/hosts файлд хандана уу.

Тэмдэглэл: Хэрэв энэ машинаар Интернэтэд холболт хийхээр төлөвлөсөн бол та гараараа анхдагч гарц болон нэрийн серверийг бас тохируулж өгөх ёстой:

# echo 'defaultrouter="your_default_router"' >> /etc/rc.conf
# echo 'nameserver your_DNS_server' >> /etc/resolv.conf

12.8.3. Тест хийх болон алдааг олж засварлах нь

/etc/rc.conf-д хэрэгцээтэй өөрчлөлтүүдийг хийснийхээ дараа та системээ дахин ачаалах шаардлагатай. Ингэснээр интерфэйс(үүд)эд хийгдэх өөрчлөлт(үүд)ийг зөвшөөрөх бөгөөд ямар нэг тохиргооны алдаагүйгээр систем ачаалж байгаа эсэхийг шалгадаг. Мөн өөрөөр та сүлжээний системээ дахин дуудаж болно:

# /etc/rc.d/netif restart

Тэмдэглэл: Хэрэв анхдагч гарцыг /etc/rc.conf файлд зааж өгсөн бол энэ тушаалыг ашиглана:

# /etc/rc.d/routing restart

Сүлжээний систем дахин дуудагдсаны дараа та сүлжээний интерфэйсүүдээ тест хийх хэрэгтэй.


12.8.3.1. Ethernet карт тест хийх нь

Ethernet карт зөв тохируулагдсаныг шалгахдаа та 2 зүйлийг оролдох хэрэгтэй. Эхлээд интерфэйс уруу өөр уруу нь ping хийгээд дараа нь LAN дахь өөр машин уруу ping хийх хэрэгтэй.

Эхлээд локал интерфэйсийг тест хийнэ:

% 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 хийх хэрэгтэй:

% 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-ийн оронд машины нэрийг бас ашиглаж болох болох юм.


12.8.3.2. Алдааг олж засварлах нь

Тоног төхөөрөмж болон програм хангамжийн тохиргоонуудын алдааг олж засварлах нь үргэлж зовлон байдаг бөгөөд зовлонг энгийн зүйлүүдийг эхлээд шалгаснаар багасгах боломжтой. Таны сүлжээний кабель холбогдсон уу? Сүлжээний үйлчилгээнүүдээ зөв тохируулсан уу? Галт ханаа зөв тохируулсан уу? Таны хэрэглэж байгаа картыг FreeBSD дэмждэг үү? Алдааны тайланг явуулахаасаа өмнө тоног төхөөрөмжийн тэмдэглэлийг заавал шалгах хэрэгтэй. Өөрийн FreeBSD-ийн хувилбарыг хамгийн сүүлийн STABLE хувилбар уруу шинэчлээрэй. Захидлын жагсаалтын архивууд шалгах буюу эсвэл Интернетээс хайгаарай.

Хэрэв карт ажилласан мөртлөө ажиллагаа муу бол tuning(7) гарын авлагын хуудсыг унших нь зүйтэй юм. Мөн буруу сүлжээний тохиргоонууд удаан холболтын шалтгаан болдог учир та сүлжээний тохиргоог бас шалгаж болох юм.

Зарим хэрэглэгчид ганц хоёр “device timeout” мэдээлэлтэй тулгарч болох бөгөөд энэ нь зарим картуудын хувьд хэвийн юм. Хэрэв энэ нь үргэлжлээд эсвэл шаналгаатай болоод эхэлбэл уг төхөөрөмж өөр бусад төхөөрөмжтэй зөрчилдөж байгаа эсэхийг та магадгүй шалгахыг хүсэх байх. Кабелийн холболтуудыг дахин шалгаарай. Магадгүй танд өөр нэг карт хэрэгтэй байж болох юм.

Хэрэглэгчид зарим үед цөөн “watchdog timeout” гэсэн алдаанууд хардаг. Ийм үед эхлээд хийх юм нь сүлжээний кабелийг шалгана. Олон картууд Bus Mastering дэмждэг PCI оролтыг шаарддаг. Зарим нэг эх хавтангуудад үүнийг зөвхөн нэг PCI оролт зөвшөөрдөг (ихэнхдээ 0-р оролт). Энэ нь асуудал байж болох эсэхийг сүлжээний карт болон эх хавтангийн баримтаас шалгаарай.

Систем пакетийг зорьсон газар нь чиглүүлж чадахгүй тохиолдолд “No route to host” мэдээллүүд гардаг. Энэ нь анхдагч чиглүүлэлт заагаагүй тохиолдолд эсвэл кабель салгагдсан бол гардаг. netstat -rn тушаалын үр дүнг үзээд таны хүрэхийг оролдож байгаа тэр хост уруу чинь зөв чиглүүлэлт байгаа эсэхийг шалгаарай. Хэрэв байхгүй бол Бүлэг 32-г уншаарай.

ping: sendto: Permission denied” алдааны мэдээллүүд нь буруу тохируулсан галт ханаас ихэвчлэн болдог. Хэрэв ipfw нь цөмд идэвхжсэн бөгөөд ямар ч дүрэм тодорхойлогдоогүй бол анхдагч бодлого нь бүх трафикийг бүр ping хүсэлтийг хүртэл татгалзан хаадаг! Дэлгэрэнгүйг Бүлэг 31-с уншина уу.

Заримдаа картын ажиллагаа муу эсвэл дунджаас доогуур байдаг. Эдгээр тохиолдолд зөөгч сонголтын горимыг autoselect горимоос зөв зөөгчийн сонголт уруу болгож тааруулах нь шилдэг арга юм. Энэ нь ихэнх тоног төхөөрөмжийн хувьд ихэвчлэн ажиллах боловч хүн болгоны хувьд байгаа ийм асуудлыг шийдэхгүй ч байж болох юм. Дахин хэлэхэд бүх сүлжээний тохиргоонуудыг шалгаж tuning(7) гарын авлагын хуудсыг уншаарай.


12.9. Виртуал Хостууд

FreeBSD-ийн хамгийн түгээмэл хэрэглээ бол нэг сервер сүлжээн дээр олон сервер мэтээр ажиллах виртуал сайт хост хийх боломж юм. Үүнийг нэг интерфэйс дээр олон сүлжээний хаягууд тавьж хийдэг.

Өгөгдсөн сүлжээний интерфэйс нь нэг “жинхэнэ” хаягтай бөгөөд дурын тооны “өөр(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"

12.10. Тохиргооны Файлууд

12.10.1. /etc-н бүтэц

Тохиргооны мэдээллийг хадгалдаг хэд хэдэн сангууд байдаг. Эдгээр нь:

/etc Системийн ерөнхий тохиргооны мэдээлэл; энд байгаа өгөгдөл нь системийн хувьд өөр өөр.
/etc/defaults Системийн тохиргооны файлуудын анхдагч хувилбарууд.
/etc/mail sendmail(8)-ийн нэмэлт тохиргоо, бусад MTA тохиргооны файлууд.
/etc/ppp Хэрэглэгч- болон цөмийн-ppp програмуудад зориулсан тохиргоо.
/etc/namedb named(8) өгөгдөлд зориулсан анхдагч байрлал. Ихэнхдээ named.conf болон бүсийн файлууд энд хадгалагддаг.
/usr/local/etc Суулгагдсан програмуудад зориулсан тохиргооны файлууд. Програм болгоны дэд сангуудыг агуулж болно.
/usr/local/etc/rc.d Суулгагдсан програмуудад зориулсан эхлүүлэх/зогсоох скриптүүд.
/var/db Багцын өгөгдлийн бааз, байршил олох өгөгдлийн бааз, гэх зэрэг систем болгоны хувьд автоматаар үүсгэгдсэн өгөгдлийн баазын файлууд.

12.10.2. Хостын нэрс


12.10.2.1. /etc/resolv.conf

/etc/resolv.conf нь FreeBSD-ийн тодорхойлогч Интернэт Домэйн Нэрийн Системд (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 ашиглаж байгаа бол dhclient(8) нь DHCP серверээс хүлээн авсан мэдээллээр resolv.conf-г дарж бичдэг.


12.10.2.2. /etc/hosts

/etc/hosts нь хуучин Интернэтийн үлдэгдэл энгийн текст өгөгдлийн бааз юм. Энэ нь DNS болон NIS-тэй цуг нэрийг IP хаяг уруу болгож тааруулах боломжийг ханган ажилладаг. LAN-аар холбогдсон локал компьютеруудыг амархан нэрлэх зориулалтаар named(8) сервер суулгаж тохируулахын оронд энд байрлуулж болдог. Мөн /etc/hosts нь түгээмэл ханддаг нэрсэд зориулагдсан гадагшаа хандах хүсэлтийг багасгаж Интернэтийн нэрсийн локал бичлэгийг хангадаг байж болно.

# $FreeBSD$
#
#
# Host Database
#
# This file should contain the addresses and aliases for local hosts that
# share this file.  Replace 'my.domain' below with the domainname of your
# machine.
#
# 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
127.0.0.1		localhost localhost.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.  Do not try to invent your own network
# numbers but instead get one from your network provider (if any) or
# from your regional registry (ARIN, APNIC, LACNIC, RIPE NCC, or AfriNIC.)
#

/etc/hosts нь энгийн хэлбэрийг агуулдаг:

[Internet address] [official hostname] [alias1] [alias2] ...

Жишээ нь:

10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2

Дэлгэрэнгүй мэдээллийн талаар hosts(5) хуудаснаас зөвлөгөө авна уу.


12.10.3. Бүртгэлийн файлын тохиргоо


12.10.3.1. syslog.conf

syslog.conf нь syslogd(8) програмын тохиргооны файл юм. Энэ нь ямар төрлийн syslog мэдээллүүд яг аль бүртгэлийн файлд бүртгэгдэхийг заадаг.

# $FreeBSD$
#
#       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

Дэлгэрэнгүй мэдээллийн талаар syslog.conf(5) гарын авлагын хуудаснаас зөвлөгөө авна уу.


12.10.3.2. newsyslog.conf

newsyslog.conf нь ихэнхдээ cron(8) хуваарилан цагаар ажиллуулдаг newsyslog(8)-д зориулагдсан тохиргоо юм. newsyslog(8) нь хэзээ бүртгэлийн файлууд архивлагдах эсвэл дахин зохицуулагдахыг тодорхойлдог. logfile нь logfile.0 уруу, logfile.0 нь logfile.1 шилжих гэх зэргээр зохицуулагддаг. Бүртгэлийн файлууд өөрөөр gzip(1) хэлбэрээр logfile.0.gz, logfile.1.gz гэх зэргээр нэрлэгдэн архивлагдаж болно.

newsyslog.conf нь аль бүртгэлийн файлууд удирдагдах, хичнээн нь хадгалагдах болон хэзээ тэдгээрт хүрэхийг зааж өгдөг. Бүртгэлийн файлууд нь тодорхой хэмжээнд хүрэх үед болон эсвэл тодорхой цаг/огнооны давтамжтайгаар зохицуулагддаг ба/эсвэл архивлагддаг.

# configuration file for newsyslog
# $FreeBSD$
#
# 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

Дэлгэрэнгүй мэдээллийн талаар newsyslog(8) гарын авлагын хуудаснаас зөвлөгөө авна уу.


12.10.4. sysctl.conf

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

12.11. sysctl(8) ашиглан тааруулах нь

sysctl(8) нь ажиллаж байгаа FreeBSD системд өөрчлөлтүүдийг хийхийг танд зөвшөөрдөг интерфэйс юм. Энэ нь туршлагатай системийн администраторын хувьд ажиллагааг мэдэгдэхүйц сайжруулж чадах TCP/IP болон виртуал санах ойн системийн олон нарийн тохируулгуудыг агуулдаг. Таван зуу гаруй системийн хувьсагчуудыг sysctl(8) ашиглан унших болон тохируулж болдог.

sysctl(8) нь голдоо хоёр үүргийг гүйцэтгэдэг: системийн тохиргоонуудыг унших болон өөрчлөх.

Уншигдаж болох бүх хувьсагчуудыг харахдаа:

% sysctl -a

Тухайн хувьсагчийг уншихдаа, жишээ нь, kern.maxproc:

% sysctl kern.maxproc
kern.maxproc: 1044

Тухайн хувьсагчийг заахдаа хялбар хувьсагч=утга синтаксийг ашиглаарай:

# sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000

sysctl хувьсагчуудын тохиргоонууд нь ихэвчлэн тэмдэгтүүд (strings), тоонууд эсвэл boolean (boolean 1 нь тийм эсвэл 0 нь үгүй байна) утгууд байна.

Хэрэв та машин ачаалах болгонд автоматаар зарим хувьсагчуудыг тохируулахыг хүсвэл /etc/sysctl.conf файлд тэдгээрийг нэмээрэй. Дэлгэрэнгүй мэдээллийн талаар sysctl.conf(5) гарын авлагын хуудас болон Хэсэг 12.10.4-с үзнэ үү.


12.11.1. Зөвхөн-унших sysctl(8)

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

Зарим тохиолдолд зөвхөн-унших sysctl(8) утгуудыг өөрчлөх шаардлагатай байж болох юм. Энэ нь заримдаа хийхээс өөр аргагүй байдаг боловч зөвхөн (дахин) ачаалахад хийгдэх боломжтой.

Жишээ нь зарим зөөврийн компьютерийн загваруудад cardbus(4) төхөөрөмж нь санах ойн хүрээг шалгадаггүй бөгөөд доор дурдсантай төстэй алдаанууд гарган амжилтгүй болдог:

cbb0: Could not map register memory
device_probe_and_attach: cbb0 attach returned 12

Дээрх шиг тохиолдлууд нь ихэвчлэн зөвхөн уншихаар тохируулагдсан зарим анхдагч sysctl(8) тохиргоонуудыг өөрчлөхийг шаарддаг. Эдгээр нөхцөлүүдийг давж гарахын тулд хэрэглэгч sysctl(8) “OID”-уудыг тэдгээрийн /boot/loader.conf файлд хийж өгч болно. Анхдагч тохиргоонууд /boot/defaults/loader.conf файлд байрладаг.

Дээр дурдсан асуудлыг шийдэхийн тулд хэрэглэгч урьд нь дурдсан файлд hw.pci.allow_unsupported_io_range=1 гэж тохируулах шаардлагатай. Ингэснээр cardbus(4) зөв ажиллах болно.


12.12. Дискнүүдийг тааруулах нь

12.12.1. Sysctl хувьсагчууд

12.12.1.1. vfs.vmiodirenable

vfs.vmiodirenable sysctl хувьсагч нь 0 (идэвхгүй) эсвэл 1 (идэвхтэй) гэж тохируулагдаж болно; анхдагчаар 1 байна. Энэ хувьсагч нь систем сангуудыг хэрхэн кэш (шуурхай санамж) хийхийг хянадаг. Ихэнх сангууд зөвхөн ганц фрагментийг (ихэвчлэн 1 K) файлын системд болон түүнээс багыг буфер кэшд хэрэглэн жижиг хэмжээтэй байдаг. Энэ хувьсагчийг хааснаар (0 болгосноор) буфер кэш нь таныг асар их хэмжээний санах ойтой байсан ч гэсэн зөвхөн тодорхой тооны сангуудыг кэш хийдэг. Нээгдсэн (1 болгосон) үед энэ sysctl нь бүх санах ойг кэш хийхэд бэлэн болгож буфер кэшд VM Хуудасны Кэшийг хэрэглэн сангуудыг кэш хийх боломжийг олгодог. Гэхдээ сангуудыг кэш хийх хамгийн бага гол дахь санах ой нь 512  байт биш харин физик хуудасны хэмжээ (ихэвчлэн 4 K) байдаг. Хэрэв та их олон тооны файлуудтай ажилладаг үйлчилгээ ажиллуулж байгаа бол бид энэ тохируулгыг идэвхтэй байлгахыг зөвлөж байна. Тийм үйлчилгээнүүдэд вэб кэшүүд, том захидлын системүүд, болон мэдээний системүүд орж болно. Энэ тохируулгыг идэвхтэй байлгах нь хайр гамгүй зарцуулсан санах ойтой байхад ч гэсэн ерөнхийдөө ажиллагааг удаашруулдаггүй, гэхдээ та түүнийг мэдэхийн тулд туршиж үзэж болно.


12.12.1.2. vfs.write_behind

vfs.write_behind sysctl хувьсагчийн анхдагч утга нь 1 (идэвхтэй) байна. Энэ нь том дараалсан файлуудыг бичих үед ихэвчлэн гардаг бүх кластеруудыг цуглуулсан үед зөөгчийн бичилтүүдийг хийхийг файлын системд хэлж өгдөг. Санаа нь бол I/O ажиллагааны хувьд ашиггүй байхад бохир буферууд бүхий буферийн кэшийг замхруулахаас зайлсхийхэд оршдог. Гэхдээ энэ нь процессуудыг зогсоож магадгүй бөгөөд зарим нөхцөл байдалд та магадгүй үүнийг идэвхгүй болгохыг хүсэж болох юм.


12.12.1.3. vfs.hirunningspace

vfs.hirunningspace sysctl хувьсагч өгөгдсөн дурын хоромд системийн хувьд бүхэлд нь хэдий хэмжээний хүлээгдэж байгаа бичих I/O-г дискний хянагчуудад өгөх дараалалд оруулж болохыг тодорхойлдог. Анхдагч утга нь ихэвчлэн хангалттай гэхдээ олон дисктэй машинууд дээр та үүнийг дөрөв эсвэл таван мегабайт хүртэл ихэсгэхийг хүсэж болох юм. Утгыг хэтэрхий өндөр тавих нь (буфер кэшийн бичих тогтоосон хэмжээг давах нь) туйлын муу кластерлах ажиллагаанд хүргэж болно. Энэ утгыг хэтэрхий өндөр бүү тавь! Өндөр бичих утгууд нь яг тэр үед хийгдэж байгаа уншилтуудад хоцрогдол нэмж магадгүй юм.

Бусад төрөл бүрийн буфер-кэш болон VM хуудасны кэштэй холбоотой sysctl-ууд байдаг. Бид эдгээр утгуудыг өөрчлөхийг зөвлөдөггүй, VM систем нь өөрийгөө автоматаар тааруулж туйлын сайн ажилладаг.


12.12.1.4. vm.swap_idle_enabled

vm.swap_idle_enabled sysctl хувьсагч нь маш олон хэрэглэгчид таны системд орж гарч байдаг, сул зогссон олон процессуудтай, том, олон-хэрэглэгчийн системүүд дээр ашигтай байдаг. Ийм системүүд нь чөлөөт санах ойн хадгалалтад ихээхэн хэмжээний байнгын дарамтыг үүсгэж байдаг. Энэ боломжийг идэвхтэй болгож ар араас нь swap хийн гаргахыг (зогссон секундээр) vm.swap_idle_threshold1 болон vm.swap_idle_threshold2 хувьсагчуудын тусламжтай тохируулснаар зогссон процессуудтай холбоотой санах ойн хуудаснуудын дарааллыг ердийн хуудаслаж гаргах алгоритмаас илүү хурднаар багасгах боломжийг олгодог. Энэ нь хуудаслаж гаргах дэмонд тусламжийн гарыг өгөх болно. Энэ тохируулгыг танд хэрэгтэй л биш бол идэвхтэй болгож болохгүй, учир нь үүнийг та хийснээр үндсэндээ санах ойг илүү түргэн урьдчилан-хуудаслаж ингэснээр swap болон дискний багтаамжийг илүүтэйгээр идэхэд хүргэх юм. Жижиг систем дээр энэ тохируулга нь тодорхойлогдож болохуйц нөлөөлөлтэй байх ба харин боломжийн хуудаслалт аль хэдийн хийгээд байгаа том системүүдэд энэ тохируулга нь VM системд бүх процессуудыг санах ой уруу болон санах ойгоос хялбараар гаргах боломжийг бүрдүүлдэг.


12.12.1.5. hw.ata.wc

FreeBSD 4.3-д IDE бичих кэш хийлтийг хаасан байдаг. Энэ нь IDE дискэнд бичих багтаамжийг багасгасан боловч хатуу диск үйлдвэрлэгчдийн гаргасан өгөгдлийн бүрэн бүтэн байдлын ноцтой асуудлуудаас болоод шаардлагатай болсон. Тэр асуудал нь IDE хөтлөгчүүд бичилт дуусах үед худлаа мэдээлдэг явдал юм. IDE бичих кэшийг идэвхтэй болгосноор IDE хатуу дискнүүд ямар нэг дараалалгүйгээр бичихээс гадна диск их ачаалалтай үед зарим блокуудыг бичихэд заримдаа тодорхойгүй саатдаг. Сүйрэл болон тэжээлийн уналт файлын системийн ноцтой эвдрэлд хүргэж болзошгүй байдаг. FreeBSD-ийн анхдагч нь аюулгүй байхаар өөрчлөгдсөн. Харамсалтай нь үүний үр дүнд ажиллагааны асар том алдагдалд хүргэсэн бөгөөд хувилбар гарсны дараа бид бичих кэш хийлтийг анхдагчаар идэвхтэй байхаар буцаан өөрчилсөн юм. Та өөрийн систем дээрээ hw.ata.wc sysctl хувьсагчийг ажиглан анхдагч утгыг шалгах хэрэгтэй. Хэрэв IDE бичих кэш хийлт хаалттай бол та цөмийн хувьсагчийн утгыг 1 болгон түүнийг идэвхжүүлж болно. Үүнийг ачаалах үед ачаалагчаас хийх шаардлагатай. Цөм ачаалсны дараа хийхийг оролдвол ямар ч нөлөө үзүүлэхгүй.

Дэлгэрэнгүй мэдээллийн талаар ata(4)-с үзнэ үү.


12.12.1.6. SCSI_DELAY (kern.cam.scsi_delay)

SCSI_DELAY цөмийн тохиргоо нь системийн ачаалах хугацааг багасгахад хэрэглэгддэг. Анхдагч утга нь нэлээн өндөр бөгөөд 15 секундын саатлыг ачаалах процессийн үед өгөхийг хариуцдаг. 5 секунд хүртэл багасгахад ихэвчлэн ажилладаг (ялангуяа орчин үеийн хөтлөгчүүдийн хувьд). Ачаалах үеийн тохируулга болох kern.cam.scsi_delay хувьсагчийг ашиглах хэрэгтэй. Энэ тохируулга болон цөмийн тохиргооны тохируулга нь секундээр биш миллисекундээр утгыг хүлээн авдаг.


12.12.2. Зөөлөн Шинэчлэлтүүд

tunefs(8) програм файлын системийг нарийн тааруулахад ашиглагдаж болно. Энэ програм нь олон янзын тохируулгуудтай гэхдээ одоохондоо бид зөвхөн Зөөлөн Шинэчлэлтүүдийг идэвхжүүлэх ба хаах дээр анхаарах бөгөөд үүнийг дараах аргаар хийнэ:

# tunefs -n enable /filesystem
# tunefs -n disable /filesystem

Файлын систем нь холбогдсон байхдаа tunefs(8)-ээр өөрчлөгдөх боломжгүй. Зөөлөн Шинэчлэлтүүдийг идэвхжүүлэхэд тохирох үе нь аль ч хуваалтууд холболт хийгдээгүй байгаа ганц хэрэглэгчийн горим юм.

Зөөлөн Шинэчлэлтүүд нь мета-өгөгдлийн ажиллагааг мэдэгдэхүйц сайжруулдаг бөгөөд санах ойн кэшийг ашиглан голчлон файлын үүсгэлт болон устгалтыг хурдасгадаг. Бид Зөөлөн Шинэчлэлтүүдийг өөрийн бүх файлын системүүдэд ашиглахыг зөвлөж байна. Зөөлөн Шинэчлэлтүүдийн хоёр дутагдалтай талыг та мэдэж байх ёстой: Нэгдүгээрт, Зөөлөн Шинэчлэлтүүд нь сүйрэл болсон тохиолдолд файлын системийн бүрэн бүтэн байдалд баталгаа өгдөг боловч физик дискийг шинэчлэхэд хэдэн секундын (минут ч байж болно!) хоцрогдолтой байж болно. Хэрэв таны систем сүйрэхэд бусад тохиолдлоос илүүтэйгээр та хийсэн ажлаа алдаж болзошгүй юм. Хоёрдугаарт, Зөөлөн Шинэчлэлтүүд нь файлын системийн блокуудыг чөлөөлөхийг саатуулдаг. Хэрэв та бараг дүүрсэн файлын системтэй (root файл систем гэх зэрэг) байгаа бол make installworld зэрэг гол шинэчлэлтийг хийх нь файлын системийг зайгүй болгож шинэчлэлт амжилтгүй болох шалтгаанд хүргэж болох юм.


12.12.2.1. Зөөлөн Шинэчлэлтүүдийн талаар дэлгэрэнгүй

Файлын системийн мета-өгөгдлийг диск уруу бичих уламжлалт хоёр хандлага байдаг. (Мета-өгөгдлийн шинэчлэлтүүд нь inode эсвэл сангууд зэрэг агуулгын бус өгөгдөлд хийх шинэчлэлтүүд юм)

Түүхээс авч үзэхэд анхдагч ажиллах горим нь мета-өгөгдлийн шинэчлэлтүүдийг синхроноор буюу зэрэг бичдэг байсан явдал юм. Хэрэв сан өөрчлөгдсөн бол систем өөрчлөлтийг диск уруу бичигдэхийг хүлээдэг. Файлын өгөгдлийн буферууд (файлын агуулгууд) буфер кэшээр дамжин диск уруу сүүлд нь асинхроноор хадгалагддаг. Энэ шийдлийн давуу тал нь аюулгүй ажилладаг. Хэрэв шинэчлэлтийн үед амжилтгүй болбол мета-өгөгдөл нь үргэлж бүрэн бүтэн байдаг. Файл эсвэл бүрэн үүсч эсвэл бүр ерөөсөө үүсдэггүй. Хэрэв файлын өгөгдлийн блокууд сүйрэл болох үед буферийн кэшээс диск уруу өөрсдийн гарах замаа олохгүй байгаа бол fsck(8) нь үүнийг таньж файлын уртыг 0 болгон файлын системийг засварладаг. Нэмж хэлэхэд энэ шийдэл нь цэвэрхэн ба хялбар юм. Сул тал нь мета-өгөгдлийн өөрчлөлтүүд нь удаан байдаг. rm -r тушаал жишээ нь сан дахь бүх файлуудад дараалан хандах бөгөөд гэхдээ сан болгоны өөрчлөлт (файлын устгалт) синхроноор зэрэг диск уруу бичигддэг. Үүнд сан уруу өөрт нь хийгдэх шинэчлэлтүүд, inode хүснэгт болон магадгүй файлын гаргасан шууд бус блокуудад хийх шинэчлэлтүүд ордог. Том иерархуудыг задлахад (tar -x) үүний нэгэн адилаар авч үздэг.

Хоёр дахь нь асинхрон мета-өгөгдлийн шинэчлэлтүүд юм. Энэ нь Линукс/ext2fs-ийн хувьд анхдагч байх бөгөөд *BSD ufs-ийн хувьд mount -o async байх юм. Бүх мета-өгөгдлийн шинэчлэлтүүд нь буфер кэшээр бас дамждаг, тэгэхээр тэдгээр нь файлын агуулгын өгөгдлийн шинэчлэлтүүдтэй харилцан холилдох болно. Энэ шийдлийн давуу тал нь мета-өгөгдөл бүрийн шинэчлэлт диск уруу бичигдэхийг хүлээдэггүй бөгөөд ингэснээр ихээхэн хэмжээний мета-өгөгдлийн шинэчлэлтүүдийг хийдэг бүх үйлдлүүд синхрон хийгдэхээс хамаагүй хурдан ажилладаг. Мөн энэ шийдэл нь цэвэрхэн бас энгийн бөгөөд ингэснээр хорхойнууд (алдаа) код уруу мөлхөн орох эрсдэл бага юм. Сул тал нь файлын системийн бүрэн бүтэн төлвийн ямар нэг баталгаа ерөөсөө байдаггүй. Хэрэв их хэмжээний мета-өгөгдөл шинэчлэх үйлдлийн явцад амжилтгүй болсон бол (тэжээлийн тасалдал, эсвэл хэн нэг нь дахин эхлүүлэх товч дарсан зэрэгт) файлын систем тааж болшгүй төлөвт үлдэх болно. Систем дахин ачаалаад дуусахад файлын системийн төлөвийг мэдэх боломжгүй байдаг; inode хүснэгт эсвэл холбоотой сангийн шинэчлэлтүүд бичигдээгүй байхад файлын өгөгдлийн блокууд диск уруу аль хэдийн бичигдчихсэн байж болох юм. Ер нь гаргасан замбараагүйтлийг (учир нь хэрэгцээтэй мэдээлэл диск дээр байхгүй) цэвэрлэж чаддаг fsck тушаалын шийдлийг хийх боломжгүй. Хэрэв файлын систем засвар хийж чадахааргүй эвдэрсэн бол түүнд дээр newfs(8)-ийг хэрэглэж нөөцөөс сэргээхээс өөр аргагүй юм.

Энэ асуудлын шийдэл нь бохир бүсийн бүртгэл буюу бас журналчлалт гэгддэг шийдлийг гаргах явдал бөгөөд энэ ухагдахуун нь тогтвортой хэрэглэгддэггүй ба шилжүүлэлтийн бүртгэлийн бусад хэлбэрүүдэд бас заримдаа ашиглагддаг. Мета-өгөгдлийн шинэчлэлтүүд нь синхроноор бичигдсэн хэвээр байх бөгөөд гэхдээ зөвхөн дискний жижиг бүсэд бичигдэнэ. Дараа нь тэдгээрийг тэдний зөв байрлал уруу зөөдөг. Бүртгэлийн талбар нь диск дээр бага, үргэлжилсэн бүс байдаг учраас бүр хүнд үйлдлүүдийн үед ч гэсэн дискний толгойнууд шилжихэд хол зайтай биш байдаг болохоор эдгээр үйлдлүүд нь синхрон шинэчлэлтүүдээс илүү хурдан байдаг. Мөн энэ шийдлийн төвөгтэй байдал нь маш хязгаарлагдмал болохоор алдаанууд байх эрсдэл нь бага байдаг. Сул тал нь бүх мета-өгөгдөл нь хоёр удаа бичигддэг (бүртгэлийн бүсэд нэг удаа болон зөв байрлал уруу бас нэг удаа) болохоор энгийн ажлын хувьд ажиллагааны “өөдрөг бус үзэгдэл” гарч болзошгүй юм. Нөгөө талаас сүйрэл болоод систем дахин ачаалаад дуусахад хүлээгдэж байгаа бүх мета-өгөгдлийн үйлдлүүд бүртгэлийн талбараас хурдан буцаагдаж эсвэл гүйцэд хийгдэн дуусч болох бөгөөд энэ нь файлын системийг хурдан эхлүүлэхэд хүргэдэг.

Беркли FFS-ийн хөгжүүлэгч Кирк МкКюзик энэ асуудлыг Soft Updates буюу Зөөлөн Шинэчлэлтүүдээр шийдсэн: хүлээгдэж байгаа бүх мета-өгөгдлийн шинэчлэлтүүд нь санах ойд хадгалагдах бөгөөд диск уруу эрэмбэлэгдсэн дарааллаар бичигддэг (“дараалуулсан мета-өгөгдлийн шинэчлэлтүүд”). Энэ нь мета-өгөгдлийн хүнд үйлдлүүдийн үед хэрэв эрт хийгдсэн шинэчлэлтүүд диск уруу бичигдээгүй санах ойд байж байхад нь сүүлд хийгдэх шинэчлэлтүүд тэдгээрийг “барьж” авдаг. Тэгэхээр сангийн хувьд хэлбэл түүнд хийгдэх бүх үйлдлүүд нь санах ойд шинэчлэлт диск уруу бичигдэхээс өмнө хийгддэг (өгөгдлийн блокууд нь мета-өгөгдлөөсөө түрүүлээд диск дээр байж байхгүйгээр өөрсдийн байрлалынхаа дагуу эрэмбэлэгддэг ). Хэрэв систем сүйрвэл энэ нь “бүртгэл урагшлуулахад” хүргэдэг: диск уруу гарах замаа олохгүй байгаа бүх үйлдлүүд хэзээ ч хийгдээгүй юм шиг байдаг. Файлын системийн бүрэн бүтэн төлөв хадгалагдаж 30-аас 60 секундын өмнөх төлөвт ордог. Хэрэглэгдэж байгаа эх үүсвэрүүдийг тэдгээрийн өөрсдийнх харгалзах битмапуудад: блокууд болон inode-уудад байдаг шигээр тэмдэглэхийг үүнд ашигласан алгоритм нь баталгаатай хангадаг. Сүйрэл болсны дараа зөвхөн гарсан эх үүсвэр суллан гаргалтын алдаа нь яг үнэндээ “чөлөөтэй” мөртлөө “ашиглагдаж байгаа” гэж тэмдэглэгдсэн эх үүсвэрүүд байдаг. fsck(8) энэ байдлыг таних бөгөөд ашиглагдаагүй байгаа эх үүсвэрүүдийг чөлөөлдөг. Сүйрлийн дараа файлын системийн бохир төлвийг авч үзэлгүйгээр хүчээр mount -f тушаалаар холбох нь аюулгүй юм. Ашиглагдаагүй байж болзошгүй эх үүсвэрүүдийг чөлөөлөхдөө fsck(8)-г сүүлд нь ажиллуулах хэрэгтэй. Энэ нь ард ажиллах fsck-ийн цаана байгаа санаа юм: системийг эхлүүлэх үед зөвхөн файлын системийн хормын зураг бичигддэг. fsck-г сүүлд нь ажиллуулж болно. Дараа нь бүх файлын системүүд “бохир” холбогдож системийн эхлэлт олон хэрэглэгчийн горимд үргэлжилдэг. Дараа нь ард ажиллах fsck-үүд ашиглагдаагүй байгаа эх үүсвэрүүдийг чөлөөлөхөөр шаардлагатай байгаа бүх файлын системийн хувьд ажиллахаар төлөвлөгддөг. (Зөөлөн Шинэчлэлтүүд ашигладаггүй файлын системүүдэд ердийн нүүрэн дээр ажиллах fsck хэрэгтэй хэвээр байна)

Давуу тал нь мета-өгөгдлийн үйлдлүүд нь асинхрон шинэчлэлтүүдтэй бараг л адил хурдан байдаг (өөрөөр хэлбэл мета-өгөгдлийг хоёр дахин бичдэг бүртгэл хийлтээс хурдан байдаг). Сул талууд нь төвөгтэй код (хэрэглэгчийн өгөгдлийн алдагдлын хувьд их мэдрэмтгий талбар дахь байж болох алдаануудын тэр өндөр эрсдэлийг хэлж байна) болон санах ойн илүү хэрэглээ юм. Мөн хэн нэгний хэрэглэж байсан хувийн тохиргоонууд ч бас байдаг. Сүйрэл болсны дараа файлын системийн төлөв “хуучин” юм шиг харагддаг. Стандарт синхрон хандлага нь fsck-ийн дараа зарим нэг тэг-урттай файлуудыг үлдээхэд хүргэсэн нөхцөлд тэдгээр файлууд нь Зөөлөн Шинэчлэлтүүдтэй файлын системийн үед огт байдаггүй бөгөөд учир нь мета-өгөгдөл болон файлын агуулгууд хэзээ ч диск уруу бичигдээгүй байдаг. Дискний зай нь магадгүй rm ажиллуулснаас хэсэг хугацааны дараа диск уруу шинэчлэлтүүд бичигдэх хүртэл сулардаггүй. Энэ нь бүх файлуудыг хоёр дахин хадгалахад хангалттай хүрэлцэхүйц хэмжээний чөлөөтэй зай байхгүй файлын систем дээр их хэмжээний өгөгдлийг суулгаж байх үед асуудлууд гарахад хүргэж болох юм.


12.13. Цөмийн хязгаарууд тохируулах нь


12.13.1. Файл/Процессийн хязгаарууд

12.13.1.1. kern.maxfiles

kern.maxfiles нь таны системийн шаардлагуудаас хамаараад дээшилж эсвэл доошилж болно. Энэ хувьсагч нь таны систем дээрх файлын тодорхойлогчуудын (descriptor) хамгийн их тоог илэрхийлдэг. Файлын тодорхойлогчийн хүснэгт дүүрсэн тохиолдолд “file: table is full” буюу файл: хүснэгт дүүрсэн гэсэн мэдээлэл давтагдан системийн богино мэдээллийн буфферт үзэгдэх бөгөөд үүнийг dmesg тушаал ашиглан үзэж болдог.

Нээлттэй файл, сокет эсвэл fifo болгон нэг файлын тодорхойлогч хэрэглэдэг. Ажиллаж байгаа том-хэмжээний сервер зэрэгцээ ажиллаж байгаа үйлчилгээнүүдийн тоо болон төрлөөс хамааран олон мянган файлын тодорхойлогчуудыг өлхөн шаардаж болох юм.

Хуучин FreeBSD хувилбаруудад kern.maxfiles-ийн анхдагч утга нь таны цөмийн тохиргооны файлын maxusers тохируулгаас гарсан байдаг. kern.maxfiles нь maxusers утгатай пропорционалаар өсдөг. Өөрчлөн тохируулсан цөмийг бүтээхдээ энэ цөмийн тохиргооны тохируулгыг өөрийн системийн хэрэглээний дагуу зааж өгөх нь зүйтэй байдаг. Энэ тооноос хамаарч цөм өөрийн ихэнх урьдчилан-тодорхойлсон хязгааруудыг өгдөг. Ажиллагаанд байгаа машин яг үнэндээ нэг удаа 256 хэрэглэгч зэрэг холбогдоогүй байж болох боловч өндөр-хэмжээний вэб серверийнхтэй адил эх үүсвэрүүд хэрэгтэй байж болох юм.

kern.maxusers хувьсагч нь системд байгаа санах ойн дээр үндэслэн ачаалах үед автоматаар тавигддаг бөгөөд ажиллаж байх явцад зөвхөн уншигдах kern.maxusers sysctl хувьсагчийн утгыг шалгаж тогтоогдож болох юм. Зарим сайтууд kern.maxusers-ийн илүү их эсвэл бага утгуудыг шаардаж үүнийг ачаалагчаар тааруулагдахаар тохируулж болох юм; 64, 128, болон 256 утгууд нь ховор байдаг. Танд асар их тооны файлын тодорхойлогчууд хэрэгтэй л биш бол бид 256-аас дээш байлгахыг зөвлөдөггүй; өөрсдийн анхдагч утгуудад kern.maxusers-р заагддаг, тааруулагдах боломжтой утгуудын олонх нь тус тусдаа ачаалалтын үед эсвэл ажиллах явцад /boot/loader.conf-оор эсвэл энэ баримтын хаа нэгтээ тайлбарласнаар өөрчлөгдөж болдог (loader.conf(5) гарын авлага эсвэл /boot/defaults/loader.conf файлыг санаа авахын тулд үзнэ үү).

Хуучин хувилбаруудад хэрэв та maxusers-ийг 0 гэж шууд зааж өгсөн бол систем автоматаар тааруулж өгдөг [5]. Энэ тохируулгыг заахдаа ялангуяа та хэрэв X Цонхны Систем ашиглаж байгаа эсвэл програм хангамж хөрвүүлж байгаа бол maxusers-ийг хамгийн багадаа 4 гэж заахыг хүсэх болно. Шалтгаан нь гэвэл maxusers-ээр заагдсан хамгийн чухал хүснэгт бол 20 + 16 * maxusers гэж заагдсан процессуудын хамгийн их тоо бөгөөд хэрэв та maxusers-ийг 1 гэж заасан бол та 18 орчмыг нь ачаалах үед системийг эхлүүлэхэд болон 15 орчмыг нь таныг X Цонхны Системийг эхлүүлэхэд магадгүй үүсэж та нийт зөвхөн 36 зэрэг процесстой байж болох юм. Гарын авлагыг унших зэрэг хялбар бодлого хүртэл шүүх, шахсаныг задлах, болон үзэхэд зориулж есөн процессийг эхлүүлдэг. maxusers-ийг 64 гэж заах нь бараг л бүх хэрэгцээнд хангалттай байх 1044 зэрэг процесстой байж болохыг танд зөвшөөрнө. Гэхдээ өөр програм эхлүүлэхээр оролдож байх үед эсвэл их олон тооны зэрэгцээ хэрэглэгчидтэй сервер (ftp.FreeBSD.org-той адил) ажиллуулж байхад айдас төрүүлэм proc table full буюу proc хүснэгт дүүрсэн гэсэн алдаа хэрэв та харах юм бол үргэлж энэ тоог ихэсгэн цөмийг дахин бүтээж болох юм.

Тэмдэглэл: maxusers нь таны машин уруу нэвтрэх хэрэглэгчдийн тоог хязгаарладаггүй. Энэ нь ердөө л таны систем дээр байж болох хамгийн их хэрэглэгчийн тоо болон тэдгээр тус бүрийн ажиллуулах процессийн тооноос хамааран төрөл бүрийн хүснэгтийн хэмжээнүүдийг боломжийн утгуудаар зааж өгдөг.


12.13.1.2. kern.ipc.somaxconn

kern.ipc.somaxconn sysctl хувьсагч нь шинэ TCP холболтуудыг хүлээн авахад зориулсан сонсох дарааллын хэмжээг хязгаарладаг. Анхдагч утга 128 нь ачаалал ихтэй вэб серверийн орчин дахь шинэ холболтуудыг хүлээж авахад ерөнхийдөө хэтэрхий бага юм. Тийм орчны хувьд энэ утгыг 1024 эсвэл түүнээс их болгохыг зөвлөдөг. Үйлчилгээний дэмон нь өөрөө сонсох дарааллын хэмжээгээ (өөрөөр хэлбэл sendmail(8), эсвэл Apache) хязгаарлаж болох боловч ихэвчлэн өөрийн тохиргооны файлдаа дарааллын хэмжээг тааруулах тохиргооны мөртэй байдаг. Их хэмжээний сонсох дарааллууд нь бас Үйлчилгээг Зогсоох халдлагуудаас (DoS) илүү сайн зайлсхийж ажилладаг.


12.13.2. Сүлжээний хязгаарууд

NMBCLUSTERS цөмийн тохиргооны тохируулга нь системд байгаа сүлжээний Mbuf-уудын тоог зааж өгдөг. Бага тооны Mbuf-уудтай трафикийн ачаалал ихтэй сервер FreeBSD-ийн чадварт саад болдог. Кластер бүр ойролцоогоор 2 K санах ойг илэрхийлдэг, тийм болохоор 1024 гэсэн утга нь сүлжээний буферуудад зориулж хадгалсан 2 мегабайт цөмийн санах ойг илэрхийлнэ. Хичнээн хэрэгтэйг олохын тулд хялбар тооцоо хийж болно. Хэрэв та хамгийн ихдээ 1000 зэрэгцээ холболтуудтай, холболт бүр нь 16 K хүлээн авах болон 16 K илгээх буферийг иддэг вэб сервертэй бол танд ойролцоогоор вэб серверийг хангахын тулд 32 MB хэмжээтэй тэнцэх сүлжээний буферууд хэрэгтэй болно. Практикаар ер нь 2-оор үржүүлдэг, тэгэхээр 2x32 MB / 2 KB = 64 MB / 2 kB = 32768 болох юм. Бид их санах ойтой машинуудын хувьд утгуудыг 4096-аас 32768-ын хооронд байлгахыг зөвлөдөг. Энэ параметрийн хувьд өндөр утгыг ямар ч нөхцөлд тавьж болохгүй, учир нь энэ нь ачаалах үеийн сүйрэлд хүргэж болно. netstat(1)-m тохируулгыг ашиглаж сүлжээний кластерийн ашиглалтыг ажиглаж болох юм.

kern.ipc.nmbclusters ачаалалтын тааруулах боломжтой тохируулга нь ачаалах үед үүнийг тааруулахад хэрэглэгдэх ёстой. Зөвхөн FreeBSD-ийн хуучин хувилбарууд NMBCLUSTERS цөмийн config(8) тохируулгыг ашиглахыг танаас шаарддаг.

sendfile(2) системийн дуудлагыг өргөнөөр ашигладаг завгүй серверүүдийн хувьд NSFBUFS цөмийн тохиргооны тохируулгын тусламжтай эсвэл түүний утгыг /boot/loader.conf-д зааж sendfile(2) буферуудын тоог ихэсгэх шаардлагатай байж болох юм (дэлгэрэнгүйг loader(8)-с үзнэ үү). Процессууд sfbufa төлөвт харагдах нь энэ параметрийг тааруулах хэрэгтэйг ихэвчлэн заадаг. kern.ipc.nsfbufs sysctl хувьсагч нь цөмөөр тохируулагдсан хувьсагч дахь зөвхөн уншигддаг гялбаа юм. Энэ параметр нь kern.maxusers-ийн хэмжээгээр тааруулагддаг, гэхдээ үүнийг түүний дагуу тохируурах шаардлагатай байж болох юм.

Чухал: Сокет блок-хийгддэггүй гэж тэмдэглэгдсэн ч гэсэн блок-хийгддэггүй сокет дээр sendfile(2)-ийг дуудах нь хангалттай хэмжээний struct sf_buf-уудыг бий болготол sendfile(2) дуудлага блок хийгдэхэд хүргэж болох юм.


12.13.2.1. 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-ийг багасгахыг зөвлөдөггүй.


12.13.2.2. TCP хурд сааруулагч бүтээгдэхүүнүүд

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 болгож) бас багасгаж болох юм. Эдгээр параметрүүдийг багасгах нь хамгийн сүүлд авах арга хэмжээ байх ёстой юм.


12.13.3. Виртуал санах ой

12.13.3.1. kern.maxvnodes

vnode нь файл эсвэл сангийн дотоод дүрслэл юм. Тэгэхээр үйлдлийн системд байх vnode-ийн тоог ихэсгэх нь диск I/O-г багасгадаг. Энэ нь ихэвчлэн үйлдлийн системээр зохицуулагддаг бөгөөд өөрчлөх хэрэггүй байдаг. Зарим тохиолдолд диск I/O нь гол асуудал учруулж системд vnode байхгүй болж байвал энэ тохируулгыг ихэсгэх хэрэгтэй болно. Идэвхгүй болон чөлөөтэй RAM-ийн хэмжээг бодолцох шаардлагатай.

Тухайн үед ашиглагдаж байгаа vnode-уудыг үзэхдээ:

# sysctl vfs.numvnodes
vfs.numvnodes: 91349

Хамгийн их vnode-уудыг үзэхдээ:

# sysctl kern.maxvnodes
kern.maxvnodes: 100000

Хэрэв тухайн үеийн vnode ашиглалт хамгийн их хэмжээ уруу бараг дөхөж байвал kern.maxvnodes-ийг 1,000-аар ихэсгэх нь зүйтэй байж болох юм. vfs.numvnodes-ийн тоон дээр бас анхаарлаа хандуулаарай. Хэрэв энэ нь дахин хамгийн их уруугаа дээшилбэл kern.maxvnodes-ийг цааш ихэсгэх шаардлагатай болно. top(1)-ийн гаргасан дүнгээс таны санах ойн өөрчлөлт харагдах ёстой. Түрүүнийхээс илүү санах ой идэвхтэй байх ёстой.


12.14. Swap зай нэмэх нь

Та яаж ч сайн төлөвлөсөн байлаа гэсэн заримдаа систем таны бодсоноор ажилладагүй. Хэрэв танд swap зай илүү хэрэгцээтэйг мэдвэл та үүнийг амархнаар нэмж болно. Та гурван аргаар swap зайг ихэсгэж болно: шинэ хатуу диск нэмэх, NFS-ийн тусламжтай swap идэвхжүүлэх болон байгаа хуваалт дээр swap файл үүсгэж ихэсгэж болно.

Swap зайг хэрхэн шифрлэх, ямар тохируулгууд байгаа болон яагаад хийх ёстой талаар гарын авлагын Хэсэг 19.17 хуудсанд хандана уу.


12.14.1. Шинэ эсвэл байгаа диск дээрх swap

swap-т зориулж шинэ хатуу диск нэмэх нь байгаа диск дээр хуваалт нэмэхээсээ илүүтэй ажиллагааны хувьд сайжруулдаг. Хуваалтуудыг үүсгэх болон хатуу диск нэмэх талаар Хэсэг 19.3 хэсэгт тайлбарласан байгаа. Хэсэг 12.2 хэсэгт хуваалтын байдал болон swap хуваалтын зайн талаарх анхаарах зүйлсийг тайлбарласан байгаа.

swapon(8) ашиглан swap хуваалтыг системийг нэмж өгнө. Жишээ нь:

# swapon/dev/ada1s1p2

Сануулга: Өгөгдөлтэй ч гэсэн холбогдоогүй байгаа хуваалтыг ашиглах боломжтой. swapon(8) ашигласнаар өгөгдэлтэй байгаа хуваалт дээр бичилт хийгдэж өгөгдлийг нь устгах болно. swap хэлбэрээр нэмэгдэх хуваалт нь яг тэр зорилгоор ашиглагдах гэж байгаа эсэхийг swapon(8) ажиллуулахаасаа өмнө шалгаарай.

Ачаалахад ашиглагдахаар автоматаар энэ swap хуваалтыг нэмэхийн тулд /etc/fstab файлд тухайн хуваалтын талаарх оруулгыг нэмнэ:

/dev/ada1s1p1	none	swap	sw	0	0

/etc/fstab дахь оруулгуудын талаарх тайлбарыг fstab(5) гарын авлагын хуудаснаас үзнэ үү.


12.14.2. NFS-ийн тусламжтай swap хийх нь

NFS-ийн тусламжтай swap хийхийг зөвхөн swap хийх локал хатуу диск танд байхгүй үед л зөвлөдөг; NFS swap хийх нь байгаа сүлжээний хурдаар хязгаарлагддаг бөгөөд NFS серверт нэмэлт ачаалал үзүүлдэг.


12.14.3. Swap файлууд

Та swap файл болгон ашиглахаар заасан хэмжээтэй файлыг үүсгэж болно. Энд байгаа жишээн дээр бид /usr/swap0 гэсэн нэртэй 64MB файлыг ашиглана. Мэдээж та хүссэн ямар ч нэрээ ашиглаж болно.

Жишээ 12-1. Swap файл FreeBSD дээр үүсгэх нь

  1. GENERIC цөм нь энэ үйлдэлд шаардлагатай санах ойн дискний драйверийг (md(4)) агуулсан байдаг. Цөмийг тохируулан өөрчлөх гэж байгаа бол доорх мөрийг цөмийн тохиргооны файлдаа оруулахаа мартуузай:

    device   md
    

    Өөрийн хэрэгцээнд зориулж цөм бүтээх талаар Бүлэг 9 бүлгээс үзнэ үү.

  2. Swap файл (/usr/swap0) үүсгэнэ:

    # dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
    
  3. Зөв зөвшөөрлүүдийг (/usr/swap0-д) нээж тохируулна:

    # chmod 0600 /usr/swap0
    
  4. /etc/rc.conf-д swap файлыг идэвхжүүлнэ:

    swapfile="/usr/swap0"   # Set to name of swapfile if aux swapfile desired.
    
  5. Машиныг дахин эхлүүлнэ эсвэл swap файлыг шууд идэвхжүүлэхийн тулд дараах тушаалыг ажиллуулна:

    # mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0
    

12.15. Тэжээл болон Эх үүсвэрийн Удирдлага

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

Тоног төхөөрөмжийн эх үүсвэрүүдийг үр ашигтай ашиглах нь чухал юм. ACPI танилцуулагдахаас өмнө системийн тэжээлийн ашиглалт болон дулааны шинж чанаруудыг удирдахад үйлдлийн системүүдийн хувьд хэцүү, уян хатан биш байсан. Тоног төхөөрөмж нь BIOS-оор удирдагддаг байсан болохоор тэжээлийн удирдлагын тохиргоонуудын харагдац бага бөгөөд хэрэглэгчид хянах боломж бага байсан юм.Зарим нэгэн хязгаарлагдмал тохиргооны боломж Advanced Power Management буюу Тэжээлийн Дэвшилттэй Удирдлага (APM) интерфэйсээр хийгдэх боломжтой байсан. Тэжээл болон Эх үүсвэрийн Удирдлага нь орчин үеийн үйлдлийн системийн түлхүүр хэсгүүдийн нэг юм. Жишээ нь таны системийн хэм гэнэт нэмэгдэх тохиолдолд системийн хязгааруудыг үйлдлийн систем монитор хийхийг (магадгүй танд мэдээлэхийг) хүсэж болох юм.

FreeBSD Гарын авлагын энэ хэсэгт бид ACPI-ийн талаар нэвтэрхий мэдээллээр хангах болно. Цааш нэмж уншихад зориулсан мэдээллүүдийг төгсгөл хэсэгт оруулсан байгаа.


12.15.1. ACPI гэж юу вэ?

Advanced Configuration and Power Interface буюу Дэвшилттэй Тохиргоо ба Тэжээлийн Интерфэйс (ACPI) нь тоног төхөөрөмжийн эх үүсвэрүүд болон тэжээлийн удирдлагад (эндээс нэр гарсан) зориулсан стандарт интерфэйсийг хангах зорилгоор үйлдвэрлэгчдийн холбооноос бичин гаргасан стандарт юм. Энэ нь Үйлдлийн Системээр заалгасан тохиргоо ба Тэжээлийн Удирдлагын түлхүүр элемент юм, өөрөөр хэлбэл: энэ нь илүү хяналт болон уян хатан байдлыг үйлдлийн системд (OS) хангадаг. ACPI-г танилцуулахаас өмнө одоогийн Залгаад Тоглуулах интерфэйсүүдийн хязгааруудыг орчин үеийн системүүд “сунгасан” юм. ACPI нь APM-ийн (Advanced Power Management буюу Тэжээлийн Дэвшилтэт Удирдлага) шууд залгамжлагч юм.


12.15.2. Тэжээлийн Дэвшилтэт Удирдлагын (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-битийн эмуляц хэрэглэх шаардлагатай болдог.

FreeBSD-ийн APM драйвер apm(4) гарын авлагын хуудсанд баримтжуулагдсан байдаг.


12.15.3. ACPI-г тохируулах нь

acpi.ko драйвер нь системийг эхлүүлэх үед loader(8)-оор анхдагчаар ачаалагддаг бөгөөд цөмд оруулж хөрвүүлэгдэх ёсгүй. Үүний цаадах шалтгаан нь модулиудтай ажиллах хялбар байдаг, өөрөөр хэлбэл цөмийг дахин хөрвүүлэлгүйгээр өөр acpi.ko уруу шилждэг. Энэ нь тест хийлтийг илүү амархан болгодог давуу талтай юм. Нөгөө нэг шалтгаан нь системийг ажиллуулж дууссаны дараа ACPI-г ажиллуулахад ихэвчлэн сайн ажилладаггүй. Хэрэв та асуудлуудтай учирч байгаа бол ACPI-г бүхэлд нь хаах хэрэгтэй. Энэ драйверийг ачаалсны дараа буулгаж болиулж чаддаггүй, болдоггүй, учир нь системийн шугам үүнийг төрөл бүрийн тоног төхөөрөмжүүдийн харилцан үйлдлүүдэд хэрэглэдэг. ACPI/boot/loader.conf файлд юм уу эсвэл loader(8) хүлээх мөрөнд hint.acpi.0.disabled="1" гэж тохируулан хааж болдог.

Тэмдэглэл: ACPI болон APM нь цуг байж болохгүй бөгөөд салангид хэрэглэгдэх ёстой. Сүүлд ачаалагдах драйвер нь хэрэв нөгөө нэгийг ажиллаж байгааг мэдвэл ажиллагаагаа дуусгавар болгодог.

ACPI нь acpiconf(8)-ийн -s туг болон 1-5 тохируулгын тусламжтайгаар системийг унтах горим шилжүүлэхэд хэрэглэгдэж болно. Ихэнх хэрэглэгчдэд зөвхөн 1 эсвэл 3 (RAM руу түр зогсоох) хэрэгтэй байдаг. 5 тохируулга нь дараах тушаалтай нэг ёсондоо адилыг гүйцэтгэнэ:

# halt -p

Бусад тохируулгууд sysctl(8)-ийн тусламжтай байдаг. Дэлгэрэнгүй мэдээллийн талаар acpi(4) болон acpiconf(8) гарын авлагын хуудаснуудаас шалгана уу.


12.16. FreeBSD-ийн ACPI-г ашиглах нь ба дибаг хийх нь

Бичсэн Нэйт Лоосон. Хувь нэмэрлэцгээсэн Питер Шульц ба Том Рөүдс. Орчуулсан Цагаанхүүгийн Ганболд.

ACPI нь төхөөрөмжүүдийг илрүүлэх, тэжээлийн ашиглалтыг удирдах болон урьд нь BIOS-оор удирдагддаг байсан төрөл бүрийн тоног төхөөрөмжид хандах стандартчилагдсан хандалтыг хангадаг цоо шинэ арга юм. Бүх системүүд дээр ACPI-г ажиллуулах тал дээр дэвшил хийгдсэн бөгөөд гэхдээ зарим эх хавтангуудын ACPI Машины Хэлний (AML) байткод дахь алдаанууд, FreeBSD-ийн цөмийн дэд системүүдийн бүрэн бүтэн бус байдал болон Intel ACPI-CA тайлбарлагч дахь алдаанууд илэрсээр байна.

Энэ баримт нь таныг FreeBSD-ийн ACPI дэмжигчдэд тусалж таны ажигласан асуудлуудын үндсэн учир шалтгааныг таних, дибаг хийх болон шийдлийг хөгжүүлэхэд туслах зорилготой юм. Үүнийг уншиж байгаад талархлаа илэрхийлэхийн ялдамд бид таны системийн асуудлуудыг шийдэж чадна гэдэгт найдаж байна.


12.16.1. Дибаг мэдээллийг илгээх нь

Тэмдэглэл: Асуудлыг илгээхээсээ өмнө та хамгийн сүүлийн үеийн BIOS-ийн хувилбар болон хэрэв байх юм бол суулгагдсан хянагчийн хамгийн сүүлийн firmware хувилбар ажиллуулж байгаа эсэхээ шалгаарай.

Асуудлыг шууд илгээхийг хүсэж байгаачууд дараах мэдээллийг freebsd-acpi@FreeBSD.org уруу илгээнэ үү:

  • Системийн төрөл болон загварыг оролцуулан алдааг гаргаж байгаа зүйлийн хамтаар алдаатай ажиллагааг тайлбарласан мэдээлэл. Мөн хэрэв алдаа таны хувьд шинэ бол яг хэзээ гарч эхэлснийг аль болох тодорхой гаргаарай.

  • boot -v ажилласны дараах dmesg(8)-ийн гаралтыг алдааг шалгаж байхад таны үүсгэсэн алдааны мэдээллүүдийн хамтаар.

  • Хэрэв ACPI-г хаасан байхад асуудлыг шийдэж байвал тийм байх үе дэх boot -v-ийн гаралт.

  • sysctl hw.acpi-ийн гаралт. Энэ нь таны систем ямар ямар боломжуудыг санал болгож байгааг мэдэх бас нэг сайн арга юм.

  • Таны ACPI Эх Хэл (ASL) байх URL хаяг. ASL нь маш том байж болох учир шууд битгий жагсаалт уруу илгээгээрэй. Өөрийн ASL-ийн хуулбарыг энэ тушаалыг ашиглаж үүсгээрэй:

    # acpidump -dt > name-system.asl
    

    (Өөрийн нэвтрэх нэрийг name-ийн оронд болон үйлдвэрлэгч/загварыг system-ийн оронд солиорой. Жишээ нь: njl-FooCo6000.asl)

Ихэнх хөгжүүлэгчид FreeBSD-CURRENT захидлын жагсаалт үзэж байдаг, гэхдээ асуудлуудаа харагдуулахын тулд freebsd-acpi уруу илгээгээрэй. Бид бүгд хаа нэгтээ өөр өөрийн үндсэн ажилтай учир тэвчээртэй байна уу. Хэрэв таны алдаа шууд илэрхий биш байх юм бол магадгүй бид таныг send-pr(1)-ийн тусламжтай PR илгээхийг асуух байх. PR оруулахдаа дээр хүссэний адил мэдээллээ оруулна уу. Энэ нь асуудлыг мөшгөж шийдвэрлэхэд бидэнд туслах юм. Бид PR-уудыг мэдээлэх механизмын зорилгоор биш байгаа асуудлуудыг санаж байх зорилгоор ашигладаг болохоор эхлээд freebsd-acpi уруу захидал илгээлгүйгээр PR битгий илгээгээрэй. Магадгүй таны асуудлыг урд нь өөр хэн нэгэн мэдээлсэн байж болох юм.


12.16.2. Оршил

ACPI нь ia32 (x86), ia64 (Itanium) болон amd64 (AMD) архитектуруудтай нийцтэй орчин үеийн бүх компьютерт байдаг. Бүрэн стандарт нь CPU-ны ажиллагааны удирдлага, тэжээлийн онгоцуудын хяналт, дулааны бүсүүд, төрөл бүрийн батарейний системүүд, суулгагдсан хянагчууд болон шугамын жагсаалт зэрэг олон боломжуудтай. Ихэнх системүүд нь бүрэн стандартыг бүгдийг хангасан шийдэлтэй байдаггүй. Жишээ нь зөөврийн компьютер хөргөх болон бас батарейний удирдлагын дэмжлэгтэй байхад ширээний систем зөвхөн шугамын жагсаалтын хэсгийн шийдлийг агуулсан байдаг. Зөөврийн компьютерууд нь бас өөр өөрийн ярвигтай асуудлуудыг агуулсан түр зогсоох болон үргэлжлүүлэх боломжуудыг агуулдаг.

ACPI-нийцтэй систем нь төрөл бүрийн хэсгүүдтэй байдаг. BIOS болон бичил схемийн үйлдвэрлэгчид APIC зураг (SMP-д ашиглагддаг), тохиргооны регистрүүд болон хялбар тохиргооны утгууд зэрэг зүйлсүүдийг заадаг төрөл бүрийн тогтмол хүснэгтүүдийг (өөрөөр хэлбэл FADT) санах ойд хангаж өгдөг. Мөн төхөөрөмжүүд болон аргуудын мод хэлбэрийн нэрийн талбарыг заадаг байткодын хүснэгтээр (Differentiated System Description Table буюу Системийн Ялгаварласан Тайлбарын Хүснэгт DSDT) бас хангадаг.

ACPI драйвер нь тогтмол хүснэгтүүдийг задлан ялгал хийх, байткодын тайлбарлагчийг шийдэх болон ACPI дэд системийн мэдээллийг хүлээн авахаар төхөөрөмжүүдийн драйверууд болон цөмийг өөрчлөх ёстой. FreeBSD-ийн хувьд Intel нь Линукс болон NetBSD-тэй хуваалцан хэрэглэгддэг тайлбарлагчаар хангадаг. ACPI-CA эх кодын зам нь src/sys/contrib/dev/acpica. ACPI-CA-г FreeBSD дээр ажиллуулах тэр цавуу код нь src/sys/dev/acpica/Osd байршилд байдаг. Эцэст нь төрөл бүрийн ACPI төхөөрөмжүүдийн драйверууд src/sys/dev/acpica байршлаас олддог.


12.16.3. Нийтлэг асуудлууд

ACPI зөв ажиллахын тулд бүх хэсгүүд бас зөв ажилласан байх ёстой. Энд зарим нэг нийтлэг асуудлуудыг илэрч байгаа давтамжийн дарааллаар зарим нэг тойрон гарах замууд болон засваруудтайгаар нь дурдъя.


12.16.3.1. Хулганы асуудлууд

Зарим тохиолдолд түр зогсоох үйлдэл хийгдсэний дараа үргэлжлүүлэхэд хулганыг ажиллахгүй болгодог. Мэдэгдэж байгаа тойрон гарах арга зам нь hint.psm.0.flags="0x3000" мөрийг /boot/loader.conf файлд нэмэх явдал юм. Хэрэв энэ нь ажиллахгүй бол дээр тайлбарласны дагуу алдааны тайлан илгээхийг бодно уу.


12.16.3.2. 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 тушаалыг ашиглаж болно гэсэн үг юм. Хэрэв s4bios нь нэг (1) байх юм бол бид S4OS-ийн оронд S4BIOS дэмжлэгтэй байх юм.

Түр зогсоолт/үргэлжлүүлэлтийг тест хийхдээ хэрэв дэмжигдсэн бол S1-ээс эхлээрэй. Энэ төлөв нь драйверийн дэмжлэг барагтаа л шаарддаггүй болохоор бараг л ажиллах болно. Хэн ч S2-ийг хийгээгүй байдаг бөгөөд танд энэ хэрэв байгаа бол энэ нь S1-тэй адил байна. Дараагийн оролдох зүйл нь S3 юм. Энэ нь хамгийн гүнзгий STR төлөв бөгөөд таны тоног төхөөрөмжийг дахин зөв эхлүүлэхийн тулд драйверийн ихээхэн дэмжлэг шаарддаг. Хэрэв үргэлжлүүлэх үед танд асуудлууд гарч байгаа бол freebsd-acpi жагсаалт уруу цахим захидал чөлөөтэй илгээгээрэй, гэхдээ илүү их тест хийлт, ажил шаардсан маш олон драйверууд/тоног төхөөрөмжүүд байдаг учир асуудал шийдэгдэхийг хүлээх хэрэггүй юм.

Түр зогсоолт/үргэлжлүүлэлттэй холбоотой түгээмэл асуудал бол олон төхөөрөмжийн драйверууд өөрсдийн эхлүүлэх програм, регистрүүд болон төхөөрөмжийн санах ойг зөв хадгалж, сэргээж, эсвэл дахин эхлүүлж чаддаггүй. Асуудлыг эхний удаа дибаг хийхийг оролдохдоо дараах тушаалыг ажиллуулж үзээрэй:

# sysctl debug.bootverbose=1
# sysctl debug.acpi.suspend_bounce=1
# acpiconf -s 3

Энэ тест нь S3 төлөв рүү жинхнээсээ оролгүйгээр бүх төхөөрөмжийн драйверуудын түр зогсолт/үргэлжлүүлэлтийн циклийг эмуляц хийдэг. Зарим тохиолдолд энэ аргыг ашиглан та асуудлыг хялбархнаар олж болно (жишээ нь эхлүүлэх програмын төлөв алдагдах, төхөөрөмжийн watchdog timeout болж дуусахгүй дахин оролдох). Систем нь жинхнээсээ S3 төлөвт орохгүй болохыг санаарай. Тэгэхээр төхөөрөмжүүд нь тэжээлээс салгагдахгүй бөгөөд түр зогсолт/үргэлжлүүлэлтийн арга тэдний хувьд байхгүй гэсэн олонхи нь зүгээр ажиллах болно. Харин жинхэнэ S3 төлвийн хувьд эсрэгээр байж магадгүй юм.

Хэцүү тохиолдлууд нэмэлт тоног төхөөрөмж шаарддаг, жишээ нь цуваа консолд зориулсан цуваа порт/кабель эсвэл dcons(4)-д зориулсан Firewire порт/кабел болон цөм дибаг хийх чадвар зэргийг дурдаж болно.

Асуудлыг тусгаарлахад туслахын тулд өөрийн цөмөөс аль болох олон драйверуудыг арилгаарай. Хэрэв энэ нь ажиллаж байвал та яг аль драйвер асуудалтай байгааг драйверуудыг амжилтгүй ажиллах хүртэл ачаалан тодорхойлж болох юм. nvidia.ko, X11 дэлгэцийн драйверууд болон USB зэрэг хоёртын драйверууд нь ерөнхийдөө хамгийн их асуудлуудтай байдаг байхад Ethernet интерфэйсүүд ихэвчлэн зүгээр ажилладаг. Хэрэв та драйверуудыг зөв ачаалж/буулгаж чадаж байвал та тохирох тушаалуудыг /etc/rc.suspend болон /etc/rc.resume файлуудад хийж үүнийг автоматжуулж болно. Драйверийг буулгах болон ачаалахад зориулсан тайлбар болгосон жишээ байдаг. Хэрэв таны дэлгэц үргэлжлүүлэлт хийгдсэний дараа заваарсан бол hw.acpi.reset_video-г тэг (0) болгож үзээрэй. Хэрэв тусламж болохоор бол hw.acpi.sleep_delay-г арай урт эсвэл арай богино утгуудаар тохируулж үзээрэй.

Өөр нэг турших зүйл нь ACPI дэмжлэгтэй сүүлийн үеийн Линуксийн түгээлтийг ачаалан тэдний түр зогсоолт/үргэлжлүүлэлтийн дэмжлэгийг адил тоног төхөөрөмж дээр турших явдал юм. Хэрэв Линукс дээр ажиллаж байвал энэ нь FreeBSD-ийн драйверийн асуудал гэсэн үг бөгөөд яг аль драйвер асуудлыг үүсгэж байгааг олсноор асуудлыг засварлахад бидэнд тус болох болно. ACPI-ийг дэмжиж байдаг дэмжигчид нь өөр бусад драйверуудыг (өөрөөр хэлбэл дуу, ATA гэх мэт) ихэвчлэн дэмжин ажилладаггүй болохоор драйверийн асуудлыг мөшгөж хийгдсэн ажил бүр магадгүй эцсийн эцэст freebsd-current жагсаалт болон драйверийг дэмжигч уруу илгээгдэх хэрэгтэйг санаарай. Хэрэв та адал явдлыг эрж байгаа бол драйверийн үргэлжлүүлэлтийн функцын аль хэсэгт өлгөгдөж байгааг мөшгөхийн тулд зарим дибаг хийх printf(3)-үүдийг асуудалтай драйверт хийж эхлээрэй.

Эцэст нь ACPI-г хааж оронд нь APM-г нээж оролдоорой. Хэрэв түр зогсоолт/үргэлжлүүлэлт APM-тэй байхад ажиллаж байвал та APM-тэйгээ үлдэх нь ялангуяа хуучин тоног төхөөрөмжийн (2000 оноос өмнөх) хувьд бараг дээр байх бизээ. ACPI дэмжлэгийг зөв болгоход үйлдвэрлэгчдэд цаг хугацаа шаардах бөгөөд магадгүй хуучин тоног төхөөрөмжүүд нь ACPI-ийн хувьд BIOS-ийн асуудлуудтай ихэвчлэн байдаг.


12.16.3.3. Систем өлгөгдөх (түр хугацаагаар эсвэл бүрмөсөн)

Ихэнх системийн өлгөгдлүүд нь гээгдсэн тасалдлууд эсвэл тасалдлын шуургын үр дүн юм. Бичил схемүүд нь ачаалахаас өмнө тасалдлуудыг BIOS хэрхэн тохируулдгаас болсон асуудлууд, APIC (MADT) хүснэгтийн зөв байдал болон System Control Interrupt буюу Системийн Хянагч Тасалдлын (SCI) чиглүүлэлт дээр тулгуурласан олон асуудлуудтай байдаг.

Тасалдлын шуургыг vmstat -i тушаалын гаралтаас acpi0 бүхий мөрийг шалгаж гээгдсэн тасалдлуудаас ялгаж болно. Хэрэв тоологч секунд тутам хоёроор нэмэгдэж байвал та тасалдлын шуургатай байна. Хэрэв систем өлгөгдсөн юм шиг байвал DDB (консол дээр CTRL+ALT+ESC) уруу орж show interrupts гэж бичих хэрэгтэй.

Тасалдлын асуудлуудтай ажиллаж байхад таны хамгийн шилдэг итгэл найдвар бол loader.confhint.apic.0.disabled="1" хэмээн зааж APIC дэмжлэгийг хаах явдал юм.


12.16.3.4. Үймээнүүд

Үймээнүүд нь ACPI-ийн хувьд харьцангуй ховор байдаг бөгөөд засварлах нэн тэргүүн ээлжийн асуудал байдаг. Эхний алхам бол үймээнийг дахин гаргах (хэрэв боломжтой бол) алхмуудыг тусгаарлаж буцах мөрийг (backtrace) авах явдал юм. options DDB мөрийг нээж сериал консол (Хэсэг 27.6.5.3-г үзнэ үү) тохируулах эсвэл dump(8) хуваалтыг тохируулах зөвлөгөөг дагаарай. Та буцах мөрийг DDB дээр tr-р авч болно. Хэрэв та буцах мөрийг гараар бичих болбол мөр дэх хамгийн доодох тав (5) болон хамгийн дээдэх таван (5) мөрийг хамгийн багадаа бодоход аваарай.

Дараа нь асуудлыг тусгаарлахыг оролдож ACPI-г хааж ачаалж үзээрэй. Хэрэв энэ нь ажиллаж байвал debug.acpi.disable-ийн төрөл бүрийн утгуудыг хэрэглэж та ACPI дэд системийг тусгаарлаж болно. Зарим жишээнүүдийг acpi(4) гарын авлагын хуудаснаас үзнэ үү.


12.16.3.5. Түр зогссоны дараа эсвэл унтраасны дараа систем дахин эхлэх

Эхлээд loader.conf(5) дээр hw.acpi.disable_on_poweroff="0" гэж тохируулаад үз. Энэ нь унтраах процессийн үед төрөл бүрийн үйл явцуудыг ACPI хаахыг болиулдаг. Энэ зорилгын нэгэн адил зарим системүүд энэ утгыг 1 (анхдагч) болгож тохируулахыг шаарддаг. Энэ нь түр зогсоолт эсвэл унтраалт хийгдсэний дараа аяндаа гарсан систем асаж эхлэх асуудлыг ихэвчлэн засварладаг.


12.16.3.6. Бусад асуудлууд

Хэрэв танд ACPI-тай холбоотой бусад асуудлууд (суулгах станцтай ажиллах, төхөөрөмжүүд илрүүлэгдэхгүй гэх мэт) байвал тайлбарыг захидлын жагсаалт уруу бас илгээнэ үү; гэхдээ эдгээр асуудлуудын зарим нь ACPI дэд системийн дуусаагүй хэсгүүдтэй холбоотой байж болох бөгөөд тэдгээрийг шийдэж хийхэд нэлээн хугацаа зарцуулж болох юм. Тэвчээртэй байж бидний илгээж болох засваруудыг тест хийхэд бэлэн байгаарай.


12.16.4. ASL, acpidump, болон IASL

Хамгийн нийтлэг асуудал бол BIOS үйлдвэрлэгчдийн гаргасан буруу (эсвэл алдаатай!) байткод юм. Энэ нь ихэвчлэн дараах шиг цөмийн консол мэдээллүүдээр ил тод болдог:

ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
(Node 0xc3f6d160), AE_NOT_FOUND

Ихэвчлэн та эдгээр асуудлуудыг өөрийн BIOS-ийг хамгийн сүүлийн хувилбар уруу шинэчилснээр шийдэж болно. Ихэнх консолын мэдээллүүд нь аюулгүй гэхдээ хэрэв танд батарейний төлөв ажиллахгүй гэх мэт өөр бусад асуудлууд байгаа бол тэдгээр мэдээллүүд нь AML-д байгаа асуудлуудыг хайж болох боломжийн газар нь юм. AML гэгддэг байткод нь ASL хэмээгддэг эх хэлээс хөрвүүлэгддэг. AML нь DSDT гэгддэг хүснэгтэд байдаг. Өөрийн ASL-ийн хуулбарыг авахын тулд acpidump(8)-ийг ашиглана. Та -t (тогтмол хүснэгтүүдийн агуулгуудыг үзүүлэх) болон -d (AML-ийг ASL уруу дизассембл хийх) тохируулгыг хоёуланг нь ашиглах хэрэгтэй. Синтаксын жишээг Дибаг Мэдээллийг Илгээх нь хэсгээс үзнэ үү.

Таны хийж болох хамгийн хялбар анхны шалгалт нь алдаануудыг шалгахын тулд өөрийн ASL-ийг хөрвүүлэх явдал юм. Анхааруулгуудыг ихэвчлэн орхиж болох боловч алдаанууд нь ACPI-г зөв ажиллуулахад гол төлөв саад болдог хорхойнууд байдаг. Өөрийн ASL-ийг дахин хөрвүүлэхдээ дараах тушаалыг ажиллуулна:

# iasl your.asl

12.16.5. Өөрийн ASL-г засварлах нь

Бидний эцсийн зорилго бол бараг хүн болгоны хувьд хэрэглэгчийн ямар ч оролцоогүйгээр ACPI-г ажиллуулах явдал юм. Гэхдээ өнөөг хүртэл бид BIOS үйлдвэрлэгчдийн гаргасан нийтлэг алдаануудад зориулан тойрон гарах арга замуудыг хөгжүүлсээр байгаа билээ. Microsoft-ийн тайлбарлагч (acpi.sys болон acpiec.sys) нь стандартыг баримталж байгааг чанд шалгадаггүй бөгөөд BIOS-ийн олон үйлдвэрлэгчид ACPI-г зөвхөн Windows дээр тест хийж өөрсдийн ASL-ийг хэзээ ч засдаггүй. Бид Microsoft-ийн тайлбарлагчид зөвшөөрөгдсөн ямар стандартын бус ажиллагаа байгааг үргэлжлүүлэн нарийн таньж баримтжуулан хэрэглэгчдээр ASL-ийг хүчлэн засуулалгүйгээр FreeBSD ажиллаж чадахаар түүнийг хуулбарлах болно гэж найдаж байна. Тойрон гарах арга зам болгон биднийг энэ ажиллагааг танихад тусалж та ASL-ийг гараар засварлаж болно. Хэрэв таны хувьд энэ нь ажиллавал хуучин болон шинэ ASL-ийнхээ diff(1)-ийг илгээнэ үү, бид бололцоогоороо ACPI-CA дахь алдаатай ажиллагааг тойрон гарч ингэснээр хойшид таны засвар байнга хийгдэх шаардлагагүй болох юм.

Энд нийтлэг алдааны мэдээллүүд, тэдгээрийн шалтгаан болон хэрхэн засаж болох жагсаалтыг үзүүлэв:


12.16.5.1. _OS хамаарлууд

Зарим AML нь ертөнц төрөл бүрийн Windows хувилбаруудаас тогтдог гэж үздэг. Хэрэв танд байгаа асуудлыг засаж чадаж байвал та FreeBSD-г ямар нэг OS гэж харагдуулахаар хэлж өгч болно. Үүнийг хялбар аргаар дарж бичихийн тулд /boot/loader.confhw.acpi.osname="Windows 2001" гэж эсвэл ASL дахь өөр бусад адил мөрүүдийг тохируулж өгнө.


12.16.5.2. Буцах мэдээллүүд байхгүй бол

Зарим аргууд нь стандартын дагуу шууд утга буцаадаггүй. ACPI-CA нь үүнтэй ажиллаж чадахгүй байхад FreeBSD үүнийг далдаар утга буцаалгах боломжийг олгодог тойрон гарах арга замтай байдаг. Хэрэв та утга буцаагдах ёстойг мэдэж байвал шаардлагатай газар нь Return буюу Буцах мэдээллүүдийг шууд нэмж болно. ASL-ийг iasl тушаалаар хүчээр хөрвүүлэхдээ -f тугийг ашиглана.


12.16.5.3. Анхдагч AML-ийг дарж өөрчлөх нь

your.asl-ийг өөрчилсний дараа үүнийг та хөрвүүлэхдээ:

# iasl your.asl

Хөрвүүлэх явцад алдаанууд байсан ч гэсэн та -f тугийг нэмж AML-ийг хүчээр үүсгэж болно. Зарим алдаануудыг (өөрөөр хэлбэл Буцах мэдээллүүд байхгүй гэх мэт) тайлбарлагчийн тусламжтайгаар автоматаар тойрон гардгийг санаарай.

DSDT.aml нь iasl-ийн анхдагч гаралт файлын нэр юм. Та өөрийн BIOS-ийн алдаатай хуулбарын (флэш санах ойд байсаар байгаа) оронд /boot/loader.conf-ийг дараах байдлаар засварлан үүнийг ачаалж болно:

acpi_dsdt_load="YES"
acpi_dsdt_name="/boot/DSDT.aml"

Өөрийн DSDT.aml файлын хуулбарыг /boot сан уруу хуулах хэрэгтэй.


12.16.6. ACPI-аас дибаг мэдээлэл гаргаж авах нь

ACPI драйвер нь маш уян хатан дибаг хийх боломжтой. Энэ нь дэд системүүдийн олонлог болон харуулах түвшинг зааж өгөхийг танд зөвшөөрдөг. Таны дибаг хийхийг хүсэж байгаа дэд системүүд нь “давхаргууд” болж заагдсан байдаг бөгөөд ACPI-CA хэсгүүд (ACPI_ALL_COMPONENTS) болон ACPI тоног төхөөрөмжийн дэмжлэг (ACPI_ALL_DRIVERS) болж задардаг. Дибаг гаралтын харуулалт нь “үе”ээр заагддаг бөгөөд ACPI_LV_ERROR (зөвхөн алдаануудыг хэлдэг) тогтмолоос ACPI_LV_VERBOSE (бүгд) хүртэл байдаг. “Үе” нь олон тохируулгуудыг нэг удаа зайгаар зааглан тохируулж болох бит баг (bitmask) юм. Хэрэв энэ нь маш урт тэгээд консолын мэдээллийн буферийг арилган шинэчилж байвал та практик дээр гаралтыг бүртгэх сериал консолыг ашиглахыг хүсэж болох юм. Бие даасан давхаргууд болон түвшингүүдийн бүрэн жагсаалт acpi(4) гарын авлагын хуудсанд байдаг.

Дибаг гаралт анхдагчаар идэвхжүүлэгдээгүй байдаг. Идэвхтэй болгохын тулд ACPI хэрэв цөмд хөрвүүлэгдсэн бол options ACPI_DEBUG мөрийг өөрийн цөмийн тохиргооны файлд нэмэх хэрэгтэй. Нийтэд нь идэвхтэй болгохын тулд /etc/make.confACPI_DEBUG=1 мөрийг нэмж болно. Хэрэв энэ нь модуль бол та өөрийн acpi.ko модулийг дараах маягаар дахин хөрвүүлж болно:

# 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 дахь тохируулгуудын адилаар нэрлэгддэг.


12.16.7. Лавлагаанууд

ACPI-ийн талаар дэлгэрэнгүй мэдээллийг дараах байршлуудаас олж болно:


Бүлэг 13. FreeBSD-ийн Ачаалах процесс

Орчуулсан Цагаанхүүгийн Ганболд.

13.1. Ерөнхий агуулга

Компьютерийг эхлүүлж үйлдлийн системийг ачаалах процесс нь “эхлүүлэгч процесс (bootstrap process)” буюу “ачаалах” гэж хэлэгддэг. FreeBSD-ийн ачаалах процесс нь танд системийг эхлүүлэх үед компьютер дээр суусан өөр үйлдлийн системүүд эсвэл адил үйлдлийн систем болон суулгагдсан цөмийн өөр хувилбаруудыг сонгохыг зөвшөөрч юу хийгдэхийг өөрчлөх боломжийг бүрдүүлж нэлээн уян хатан чанарыг хангаж өгдөг.

Энэхүү бүлэг нь тохируулж болох тохиргооны тохируулгууд болон FreeBSD-ийн ачаалах процессийг хэрхэн өөрчилж болох талаар дэлгэрэнгүй дурдсан. Үүнд FreeBSD цөм эхлэх, төхөөрөмжүүдийг шалгах болон init(8) эхлэх хүртэлх болж байгаа бүх үйл явдал багтана. Хэрэв та хэзээ энэ болж байгааг сайн мэдэхгүй байгаа бол энэ нь текстийн өнгө тод цагаанаас саарал уруу өөрчлөгдөж байх үед болдог.

Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:

  • FreeBSD-ийн эхлүүлэгч системийн ямар хэсгүүд байдаг болон тэдгээр нь хэрхэн харилцан үйлдэл хийдэг талаар.

  • Ачаалах процессийг хянахын тулд FreeBSD-ийн эхлүүлэгч дэх хэсгүүдэд өгч болох тохируулгуудын талаар.

  • device.hints(5)-ийн үндсүүд.

Зөвхөн x86: Энэ бүлэг нь зөвхөн Интел x86 системүүд дээр ажиллаж байгаа FreeBSD-ийн ачаалах процессийг тайлбарлана.


13.2. Ачаалалтын асуудал

Компьютерийг асааж үйлдлийн системийг эхлүүлэх нь сонирхолтой мухардалд оруулдаг. Тодорхойлолтоор бол компьютер нь үйлдлийн систем эхлэх хүртэл юу хийхээ мэддэггүй. Үүнд програмуудыг дискнээс ажиллуулах ордог. Тэгэхээр хэрэв компьютер үйлдлийн системгүйгээр програмыг дискнээс ажиллуулж чаддаггүй тэгээд бас үйлдлийн системийн програмууд диск дээр байдаг гэхээр үйлдлийн систем хэрхэн эхэлдэг болж таарах вэ?

Энэ асуудал нь Мянгуужингийн адал явдал (The Adventures of Baron Munchausen) номонд гардагтай төстэй юм. Гол баатар маань нүх уруу унаад өөрийнхөө гутлын оосроос барьж өөрийгөө өргөн татаж гаргадаг. Тооцоололтын эриний эхэн үед bootstrap буюу эхлүүлэгч (эхлүүлэлт) гэдэг ойлголт нь үйлдлийн системийг ачаалахад ашиглагддаг арга замд хэрэглэгддэг байсан бөгөөд “booting буюу ачаалах” гэж богиноссон юм.

x86 тоног төхөөрөмж дээр Үндсэн Оролт/Гаралтын Систем (BIOS) нь үйлдлийн системийг ачаалах үүрэгтэй. Үүнийг хийхийн тулд BIOS хатуу диск дээрээс Master Boot Record (MBR) буюу Мастер Ачаалах Бичлэгийг хайдаг бөгөөд энэ нь дискний онцгой газар байрлах ёстой. BIOS нь MBR-г ачаалж ажиллуулах хангалттай мэдээлэлтэй бөгөөд дараа нь MBR үйлдлийн системийг ачаалахтай холбоотой бусад үйлдлүүдийг магадгүй BIOS-ийн тусламжтайгаар зохицуулна гэж тооцдог.

MBR доторх код нь ялангуяа хэрэглэгчтэй ажиллахдаа bootmanager буюу ачаалагч менежер хэмээгддэг. Энэ тохиолдолд ачаалагч менежер нь ихэвчлэн дискний эхний зам эсвэл OS-ийн зарим файлын систем дээр илүү кодтой байдаг. (Ачаалагч менежер нь заримдаа ачаалагч дуудагч гэгддэг, гэхдээ FreeBSD энэ нэрийг ачаалалтын сүүлийн шатуудад хэрэглэдэг.) Алдартай ачаалагч менежерүүдэд boot0 (Boot Easy гэгддэг, FreeBSD-ийн стандарт ачаалагч менежер), Grub, GAG, болон LILO ордог. (Зөвхөн boot0 MBR-д багтдаг.)

Хэрэв таны дискнүүд дээр зөвхөн нэг үйлдлийн систем суулгагдсан бол стандарт PC MBR хангалттай. Энэ MBR нь диск дээрээс эхний ачаалагдах (идэвхтэй гэгддэг) зүсмэлийг хайгаад дараа нь үйлдлийн системийн үлдсэнийг дуудахын тулд тэр зүсмэл дээрх кодыг ажиллуулдаг. fdisk(8)-ээр анхдагчаар суулгагддаг MBR нь тийм MBR юм. Энэ нь /boot/mbr дээр тулгуурладаг.

Хэрэв та дискнүүд дээрээ олон үйлдлийн систем суулгасан бол та үйлдлийн системүүдийн жагсаалтыг харуулж аль нэгээс нь ачаалахыг танд сонгохыг зөвшөөрдөг өөр ачаалагч менежер суулгаж болно. Эдгээрээс хоёр нь дараагийн дэд хэсэгт ярилцагдана.

FreeBSD-ийн эхлүүлэгч системийн үлдсэн хэсэг нь гурван шатанд хуваагддаг. Эхний шат нь компьютерийг тусгай төлөв уруу оруулахыг хангалттай мэдэж хоёр дахь шатыг ажиллуулах MBR-р ажиллуулагддаг. Хоёр дахь шат нь гурав дахь шатыг ажиллуулахаас өмнө арай илүүг хийж чаддаг. Гурав дахь шат нь үйлдлийн системийг дуудах үйлдлийг дуусгадаг. Энэхүү гурван шатанд ажил нь хуваарилагдсан байдаг бөгөөд учир нь PC стандартууд эхний болон хоёрдугаар шатуудад ажиллуулж болох програмуудын хэмжээнүүдэд хязгаарлалт тавьдаг юм. Үйлдлүүдийг цугт нь гинжлэн холбох нь FreeBSD-д илүү уян хатан дуудагчийг бий болгодог.

Дараа нь цөм ачаалж төхөөрөмжүүдийг шалгаж эхлэн ашиглахад зориулж эхлүүлдэг. Цөмийн ачаалах процесс дууссаны дараа цөм хяналтыг init(8) хэрэглэгчийн процесс руу дамжуулж дараа нь дискнүүд хэрэглэгдэж болох төлөвт байгаа эсэхийг шалгадаг. init(8) дараа нь файлын системүүдийг холбон сүлжээнд холбогдох сүлжээний картыг тохируулж ерөнхийдөө FreeBSD систем эхлэх үед ихэвчлэн ажилладаг бүх процессуудыг эхлүүлэх хэрэглэгчийн түвшний эх үүсвэрийн тохиргоог эхлүүлдэг.


13.3. Ачаалагч Менежер болон Ачаалалтын шатууд


13.3.1. Ачаалагч Менежер

MBR эсвэл ачаалагч менежер дэх код нь заримдаа ачаалах процессийн тэг (0) шат гэж нэрлэгддэг. Энэ дэд хэсэг нь өмнө дурдсан хоёр ачаалагч менежерийг авч үзнэ: boot0 болон LILO.

boot0 Ачаалагч Менежер: FreeBSD-ийн суулгагч эсвэл boot0cfg(8)-р суулгагдсан MBR анхдагчаар /boot/boot0 дээр тулгуурладаг. (boot0 програм нь маш энгийн байдаг, зүсмэлийн хүснэгт болон MBR-ийн төгсгөл дэх 0x55AA танигчаас болоод MBR дахь програм нь зөвхөн 446 байт байж болдог.) Хэрэв та boot0 болон олон үйлдлийн системийг өөрийн хатуу дискнүүд дээр суулгасан бол та ачаалах үед доор дурдсантай төсөөтэй дэлгэцийг харах болно:

Жишээ 13-1. boot0 дэлгэцийн агшин

F1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1

Default: F2

Бусад үйлдлийн системүүд ялангуяа Windows байгаа MBR-ийг өөрийнхөөрөө дарж бичдэг. Хэрэв энэ танд тохиолдвол эсвэл та байгаа MBR-аа FreeBSD-ийн MBR-аар солихыг хүсвэл дараах тушаалыг ашиглана:

# fdisk -B -b /boot/boot0 device

Дээр бичигдсэн device нь эхний IDE дискний хувьд ad0, хоёр дахь IDE хянагч дээрх эхний IDE дискний хувьд ad2, эхний SCSI дискний хувьд da0 гэх зэрэг таны ачаалах төхөөрөмж юм. Эсвэл хэрэв та MBR-ийн өөрчлөн тохируулсан тохиргоог хүсэж байвал boot0cfg(8)-ийг ашигла.

LILO Ачаалагч Менежер: FreeBSD-г бас ачаалах энэ ачаалагч менежерийг суулгахын тулд эхлээд Линукс эхлүүлээд дараах тохиргоог өөрт байгаа /etc/lilo.conf тохиргооны файлд нэмээрэй:

other=/dev/hdXY
table=/dev/hdX
loader=/boot/chain.b
label=FreeBSD

Энд Линуксийн тодорхойлогчдыг ашиглан X-г Линуксийн дискний үсгээр, Y-г Линуксийн анхдагч хуваалтын дугаараар сольж FreeBSD-ийн анхдагч хуваалт болон дискийг зааж өгнө. Хэрэв та SCSI диск ашиглаж байвал та /dev/hd/dev/sd-тэй адил маягийн болгон уншигдахаар өөрчлөх хэрэгтэй. Хэрэв таны хоёр үйлдлийн систем хоёулаа нэг диск дээр байвал loader=/boot/chain.b мөр орхигдож болно. Одоо /sbin/lilo -v тушаалыг ажиллуулж өөрийн шинэ өөрчлөлтийг системд оруулна; ингэхийн тулд дэлгэц дээр гаргах мэдээллүүдийг хянан шалгах хэрэгтэй.


13.3.2. Нэгдүгээр шат /boot/boot1 болон Хоёрдугаар шат /boot/boot2

Ерөнхий төсөөллөөр бол эхний болон хоёр дахь шатууд нь дискний нэг талбар дахь нэг л програмын хэсэг юм. Зайн шахалтуудаас болоод тэдгээрийг хоёр хэсэг болгон хуваасан, гэхдээ та тэдгээрийг үргэлж цугт нь суулгадаг. Тэдгээр нь нэгдсэн /boot/boot файлаас суулгагчаар эсвэл bsdlabel-р хуулагддаг (доороос харна уу).

Тэд файлын системүүдээс гадна ачаалах зүсмэлийн эхний зам дээр эхний сектороос эхлээд байрладаг. Энд л boot0 эсвэл өөр аль нэг ачаалагч менежер ачаалах процессийг үргэлжлүүлэх програмыг олно гэдэгт найдаж байдаг. Ашиглагдах секторуудын тоо /boot/boot-ийн хэмжээнээс амархнаар тодорхойлогдоно.

Зөвхөн 512 байт хэмжээтэй байдаг болохоор boot1 нь их энгийн хялбар бөгөөд boot2-ийг олж ажиллуулах, зүсмэлийн тухай мэдээллийг хадгалах, FreeBSD-ийн bsdlabel-ийн тухай хангалттай мэдээлэлтэй байдаг.

boot2 нь арай илүү төвөгтэй бөгөөд файлуудыг олоход хангалттай FreeBSD-ийн файлын системийг ойлгож цөм эсвэл дуудагчийг ажиллуулахыг сонгох маш энгийн интерфэйсээр хангаж чаддаг.

Дуудагч нь хамаагүй илүү төвөгтэй бөгөөд гоё, амархан хэрэглэж болох ачаалалтын тохиргоотой болохоор boot2 нь түүнийг ихэвчлэн ажиллуулдаг, гэхдээ өмнө нь дуудагчид цөмийг ажиллуулах даалгавар өгөгдсөн байдаг.

Жишээ 13-2. boot2 дэлгэцийн агшин

>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader
boot:

Хэрэв танд суулгасан boot1 болон boot2 файлуудаа солих хэрэгцээ гарвал bsdlabel(8)-ийг ашигла:

# bsdlabel -B diskslice

Дээр бичигдсэн diskslice нь эхний IDE диск дээрх эхний зүсмэлийн хувьд ad0s1 гэх мэтээр таны ачаалах диск болон зүсмэл юм.

Аюултайгаар Зориулагдсан Горим: Хэрэв та ad0 гэх мэтээр bsdlabel(8) тушаалд зөвхөн дискний нэрийг ашиглавал та зүсмэлүүдгүй аюултайгаар зориулагдсан диск үүсгэх болно. Энэ нь бараг мэдээж таны хийхийг хүсээгүй зүйл болохоор та bsdlabel(8) тушаалыг Return дарахаасаа өмнө дахин шалгаарай.


13.3.3. Гуравдугаар шат /boot/loader

Дуудагч нь гурван шаттай эхлүүлэгчийн төгсгөлийн шат бөгөөд файлын систем дээр гол төлөв /boot/loader гэж байрладаг.

Дуудагч нь илүү цогц тушаалын цуглуулга бүхий илүү хүчирхэг тайлбарлагчаар дэмжигдсэн хялбар хэрэглэгдэх тушаалын цуглуулга ашиглан тохиргоо хийхэд хэрэглэгчийн хувьд ашиглахад хялбар арга байхаар зориулагдсан.


13.3.3.1. Дуудагч програмын урсгал

Эхлүүлэх явцад дуудагч нь консол болон дискнүүдийн хувьд шалгаж аль дискнээс ачаалж байгаагаа тогтоодог. Энэ нь хувьсагчуудыг шаардлагын дагуу тохируулах бөгөөд скрипт эсвэл лавлаж хариулах зарчмаар хэрэглэгчийн тушаалууд дамждаг тайлбарлагч эхэлдэг.

Үүний дараа дуудагч нь хувьсагчуудын боломжийн анхдагчуудыг тохируулдаг /boot/defaults/loader.conf дотор байгааг анхдагчаар уншдаг /boot/loader.rc файлыг унших бөгөөд тэдгээр хувьсагчуудад хийх локал өөрчлөлтүүдэд зориулсан /boot/loader.conf файлыг мөн уншдаг. Дараа нь loader.rc аль модулиуд болон цөмийг сонгосон тэдгээрийг дуудан эдгээр хувьсагчуудын дагуу ажилладаг.

Эцэст нь анхдагчаар дуудагч нь 10 секунд гаргаж товч дарахыг хүлээж тасалдуулаагүй бол цөмийг ачаалдаг. Хэрэв тасалдуулбал хялбар хэрэглэгдэх тушаалын цуглуулгыг ойлгодог тушаал хүлээх мөрийг хэрэглэгчид өгөх бөгөөд үүнийг ашиглан хэрэглэгч хувьсагчуудыг тааруулах, бүх модулиудыг буулгаж болиулах, модулиуд дуудах болон тэгээд төгсгөлд нь ачаалах эсвэл дахин ачаалж болох юм.


13.3.3.2. Дуудагчид багтсан тушаалууд

Эдгээр нь хамгийн ихээр ашиглагддаг дуудагчийн тушаалууд юм. Байгаа бүх тушаалуудын тухай бүрэн хэлэлцүүлгийг loader(8)-с үзнэ үү.

autoboot seconds

Секундээр өгөгдсөн хугацаанд тасалдаагүй бол цөмийг ачаалахаар үргэлжлүүлдэг. Энэ нь тоолуур харуулах бөгөөд анхдагч хугацаа нь 10 секунд байна.

boot [-options] [kernelname]

Хэрэв өгөгдсөн тохируулгууд байгаа бөгөөд цөмийн нэр өгөгдсөн бол тэдгээрийн хамтаар цөмийг нэн даруй ачаалахаар үргэлжлүүлнэ. unload тушаалыг ажиллуулсны дараа зөвхөн тушаалын мөрөөс цөмийн нэрийг өгч болох бөгөөд хэрэв ингэхгүй бол өмнө нь дуудагдсан цөмийг ашиглах болно.

boot-conf

Хувьсагчууд дээр үндэслэсэн модулиудын автомат тохиргоогоор орох бөгөөд энэ нь ачаалах үед болдог. Хэрэв та unload-г эхэлж ашиглаад хамгийн энгийндээ kernel-н зарим хувьсагчуудыг өөрчлөх үед энэ нь зөвхөн ач холбогдолтой байдаг.

help [topic]

/boot/loader.help файлаас тусламжийн мэдээллүүдийг үзүүлнэ. Хэрэв өгөгдсөн сэдэв нь индекс бол байгаа сэдвүүдийн жагсаалтыг үзүүлнэ.

include filename ...

Өгөгдсөн файлын нэртэй файлыг процесс хийнэ. Файл уншигдаж мөр мөрөөр тайлбарлагдана. Алдаа гарвал include буюу оруулах тушаалыг нэн даруй зогсооно.

load [-t type] filename

Цөм, цөмийн модуль, эсвэл өгөгдсөн төрлийн файлыг нэртэй нь дуудна. Файлын нэрийн дараах дурын нэмэлт өгөгдлүүд нь файлд дамжуулагдана.

ls [-l] [path]

Өгөгдсөн зам эсвэл зам өгөгдөөгүй бол root сан дахь файлуудын жагсаалтыг харуулна. Хэрэв -l өгөгдсөн бол файлын хэмжээнүүдийг бас харуулдаг.

lsdev [-v]

Модулиуд магадгүй дуудагдаж болох бүх төхөөрөмжүүдийг жагсаана. Хэрэв -v өгөгдсөн бол илүү дэлгэрэнгүй мэдээлэл хэвлэгдэнэ.

lsmod [-v]

Дуудагдсан модулиудыг харуулна. Хэрэв -v өгөгдсөн бол илүү дэлгэрэнгүй мэдээллийг үзүүлнэ.

more filename

LINES болгоныг харуулан түр зогсож өгөгдсөн файлуудыг үзүүлнэ.

reboot

Системийг нэн даруй дахин ачаална.

set variable, set variable=value

Дуудагчийн орчны хувьсагчуудыг тохируулна.

unload

Дуудагдсан модулиудыг арилгана.


13.3.3.3. Дуудагчийн жишээнүүд

Дуудагчийн хэрэглээний практик жишээнүүдийг энд дурдав:

  • өөрийн ердийн цөмийг ачаалахдаа, гэхдээ ганц-хэрэглэгчийн горимд:

    boot -s
    
  • Өөрийн ердийн цөм болон модулиудыг буулган болиулж дараа нь өөрийн хуучин (эсвэл өөр) цөмийг дуудахдаа:

    unload
    load kernel.old
    

    Та kernel.GENERIC-г суулгацын дисктэй цуг ирсэн ердийн цөмийг дуудахдаа ашиглаж болох бөгөөд эсвэл та урьд нь суулгасан цөмөө (жишээ нь та өөрийн цөмийг шинэчилж эсвэл тохируулахдаа) дуудахдаа kernel.old-г ашиглаж болно.

    Тэмдэглэл: Өөрийн ердийн модулиудыг өөр цөмийн хамт дуудахдаа доор дурдсаныг ашигла:

    unload
    set kernel="kernel.old"
    boot-conf
    
  • Цөмийн тохиргооны скриптийг дуудахдаа (цөмийн ачаалах үеийн тохируулагч дээр таны ердийн үед хийдэг зүйлүүдийг хийдэг автоматчилагдсан скрипт):

    load -t userconfig_script /boot/kernel.conf
    

13.3.3.4. Ачаалах үеийн дэлгэцийн зураг

Хувь нэмэр болгон оруулсан Жозеф Ж. Барбиш.

Ачаалах үеийн дэлгэцийн зураг нь ачаалах үеийн анхдагч мэдэгдлүүдээс илүү сэтгэл татам харагдац бүхий ачаалалтыг бий болгодог. Энэхүү дэлгэц нь консолын нэвтрэлт хүлээх мөр эсвэл X цонхны менежер нэвтрэлт хүлээх цонх харуултал харуулагдах болно.

FreeBSD дээр үндсэн хоёр орчин байдаг. Эхнийх нь хуучны анхдагч виртуал консол тушаалын мөрний орчин юм. Систем ачаалж дууссаны дараа консолын нэвтрэлт хүлээх мөр харуулагддаг. Хоёр дахь орчин нь X11 ширээний графикийн орчин юм. X11 болон GNOME, KDE, эсвэл XFce зэрэг аль нэг ширээний орчнуудыг суулгасны дараа X11 ширээний орчныг startx тушаалыг ашиглан ажиллуулж болно.

Зарим хэрэглэгчид уламжлалт текст нэврэлт хүлээх мөрнөөс илүү X11 график нэвтрэлтийн дэлгэцийг илүүд үздэг. Xorg-д зориулсан XDM, GNOME-д зориулсан gdm болон KDE-д зориулсан kdm (болон портын цуглуулга дахь бусад) нь консол нэвтрэлт хүлээх мөрний оронд график нэвтрэх дэлгэцийн боломжийг үндсэндээ бүрдүүлдэг. Амжилттай нэвтэрсний дараа хэрэглэгчид график ширээний орчинг харуулдаг.

Тушаалын мөрний орчинд ачаалах үеийн дэлгэц нь нэвтрэлт хүлээх мөрийг үзүүлэхээсээ өмнө ачаалах үеийн бүх мэдэгдлүүд болон эхлүүлэлтийн мэдэгдлүүдийг нуух болно. X11 орчинд хэрэглэгчид нь тэдний танил (Microsoft Windows эсвэл unix биш төрлийн) системийн эхлэлийг харах болно.


13.3.3.4.1. Ачаалах үеийн дэлгэцийн функц

Ачаалах үеийн дэлгэцийн функц нь зөвхөн 256 өнгийн битмап (.bmp), ZSoft PCX (.pcx) эсвэл TheDraw (.bin) fфайлуудыг дэмждэг. Мөн зураг файлууд нь стандарт VGA адаптер дээр ажиллахын тулд 320-ийг харьцах 200 пикселийн нягтралтай байх ёстой.

1024-ийг харьцах 768 пикселийн максимум нягтрал хүртэлх илүү том зургийг ашиглахын тулд FreeBSD-д байдаг VESA дэмжлэгийг идэвхжүүлэх хэрэгтэй. VESA модулийг систем эхлэхэд ажиллуулж эсвэл VESA цөмийн тохиргоог нэмж өөрчлөн тохируулсан цөмийг бүтээж үүнийг идэвхжүүлж болно (Бүлэг 9-г үзнэ үү). VESA дэмжлэг нь бүх дэлгэцийг бүрхэх ачаалах үеийн дэлгэцийн зургийг харуулах боломжийг хэрэглэгчид олгодог.

Ачаалах үеийн дэлгэцийг харуулагдаж байх үед гарын аль ч товчлуурыг дарж болиулж болно.

Ачаалах үеийн дэлгэцийн зураг нь анхдагчаар X11-ээс гаднах дэлгэц амраагч болдог. Ашиглаагүй тодорхой хугацааны дараа дэлгэц нь уг ачаалах үеийн дэлгэцийн зураг руу шилжиж тодоос бүр харанхуй болон дахин дахин солигдон эргэлдэх болно. Энэ анхдагч дэлгэцийн зургийн (дэлгэц амраагч) төлвийг /etc/rc.conf файлд saver= мөрийг нэмэн өөрчилж болно. saver= тохиргоо нь хэд хэдэн сонгож болох дэлгэц амраагчтай бөгөөд тэдгээрийн бүрэн жагсаалтыг splash(4) гарын авлагын хуудаснаас олж болно. Анхдагч дэлгэц амраагч нь “warp” гэж нэрлэгддэг. /etc/rc.conf файлд заасан saver= тохиргоо нь зөвхөн виртуал консолд хамаатай гэдгийг санаарай. Энэ нь X11 дэлгэцийн менежерүүдэд ямар ч нөлөөгүй болно.

Ачаахал үеийн дэлгэцийг идэвхжүүлсэн ч гэсэн ачаалагчийн тохиргооны цэс болон тушаал хүлээн секунд гүйх үеийн мөр зэрэг ачаалагч дуудагчийн мэдэгдлүүд нь ачаалах үед харуулагдсан хэвээр байх болно.

Жишээ ачаалах үеийн дэлгэцийн файлуудыг http://artwork.freebsdgr.org хаяг дахь галерейгаас татаж авч болно. sysutils/bsd-splash-changer портыг суулгаснаар ачаалах үеийн дэлгэцийн зургийг ачаалах болгонд санамсаргүйгээр цуглуулгаас сонгож харуулах боломжтой болно.


13.3.3.4.2. Ачаалах үеийн дэлгэцийн функцыг идэвхжүүлэх

Ачаалах үеийн дэлгэцийн (.bmp, .pcx эсвэл .bin) файлыг root хуваалт дээр жишээ нь /boot санд байрлуулах ёстой.

Ачаалагчийн анхдагч дэлгэцийн (256 өнгө, 320-ийг харьцах 200 пиксел юм уу эсвэл түүнээс бага) нягтралын хувьд /boot/loader.conf файл дараахийг агуулсан байхаар засварлах хэрэгтэй:

splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bmp"

1024-ийг харьцах 768 пикселийн максимум хүртэлх илүү том видео нягтралуудын хувьд /boot/loader.conf файл дараахийг агуулсан байхаар засварлах хэрэгтэй:

vesa_load="YES"
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bmp"

Дээрх нь /boot/splash.bmp-ийг ачаалах үеийн дэлгэцдээ ашиглахыг зааж өгч байна. PCX файл шаардлагатай үед дараах илэрхийллийг vesa_load="YES" мөрийн хамтаар нягтралаас хамааруулан ашиглана.

splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.pcx"

8.3 хувилбарын хувьд TheDraw хэлбэрийн ascii зураг ашиглах өөр нэг сонголт бий.

splash_txt="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bin"

Файлын нэр нь дээрх жишээ дээрх шиг заавал “splash” гэдгээр хязгаарлагдахгүй. splash_640x400.bmp эсвэл bluewave.pcx зэрэг дурын төрлийн байхад болох юм.

loader.conf-ийн зарим нэг сонирхолтой тохиргоонуудыг дурдвал:

beastie_disable="YES"

Энэ нь ачаалагчийн тохиргооны цэсийг харуулахгүй болгоно. Гэхдээ секунд гүйсэн тушаал хүлээх мөрийг харуусан хэвээр байх болно. Ачаалагчийн тохиргооны цэсийг хаасан ч гэсэн секунд гүйсэн тушаал хүлээх мөрөнд сонгосон сонголтын дагуу систем ачаалах болно.

loader_logo="beastie"

Энэ нь ачаалагчийн тохиргооны цэсний баруун талд харуулагдах “FreeBSD” гэсэн анхдагч үгийг өмнөх хувилбаруудад байсан шиг өнгөт чөтгөрийн логогоор солих болно.

Дэлгэрэнгүй мэдээллийг splash(4), loader.conf(5), болон vga(4) гарын авлагын хуудаснуудаас үзнэ үү.


13.4. Ачаалах үе дэх цөмийн харилцан үйлдэл

Цөм дуудагч (ихэнхдээ) эсвэл boot2-ийн (дуудагчийг алгасан) тусламжтай дуудагдсаны дараа өөрийн ачаалалтын тугууд байгаа бол тэдгээрийг шалгаж өөрийн ажиллагааг шаардлагатай бол тохируулдаг.


13.4.1. Цөмйн ачаалалтын тугууд

Энд илүү нийтлэг ачаалалтын тугуудыг дурдав:

-a

цөмийг эхлүүлэх явцад root файлын систем болгон холбох төхөөрөмжийг асуух.

-C

CDROM-с ачаалах.

-c

Ачаалалтын үеийн цөмийн тохируулга UserConfig-г ажиллуулах

-s

нэг(ганц)-хэрэглэгчийн горим уруу ачаалах

-v

цөмийн эхлэх үед илүү дэлгэрэнгүй байх

Тэмдэглэл: Өөр бусад ачаалалтын тугууд байдаг бөгөөд тэдгээрийн талаар илүү мэдээллийг boot(8)-с уншина уу.


13.5. Төхөөрөмжийн Сануулгууд

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

Системийн эхний эхлүүлэлтийн үеэр ачаалагч loader(8) нь device.hints(5) файлыг уншдаг. Энэ файл нь заримдаа “device hints буюу төхөөрөмжийн сануулгууд” ч гэгддэг цөмийн ачаалах мэдээлэл хувьсагчуудыг хадгалдаг. Эдгээр “device hints буюу төхөөрөмжийн сануулгууд” нь төхөөрөмжийг тохируулах зориулалтаар төхөөрөмжийн драйверуудад ашиглагддаг.

Төхөөрөмжийн сануулгууд нь бас 3 дахь шатны ачаалагч дуудагчид бас заагдаж өгч болдог. Хувьсагчуудыг set тушаалыг ашиглан нэмж, unset тушаалаар хасаж show тушаалаар үзэж болно. /boot/device.hints файлд тохируулагдсан хувьсагчууд энд бас өөрчлөгдөж дарагдан бичигдэж болно. Ачаалагч дуудагчид оруулж өгсөн төхөөрөмжүүдийн сануулгууд нь тогтмол биш бөгөөд дараа дахин ачаалах үед мартагддаг.

Систем ачаалагдсаны дараа kenv(1) тушаалыг ашиглаж бүх хувьсагчуудыг харуулж болно.

/boot/device.hints файлын синтакс нь мөр бүрт нэг хувьсагч байх бөгөөд стандарт чагт “#”-г тайлбар тэмдэглэгчээр ашигладаг. Мөрүүдийг дараах байдлаар бүтээдэг:

hint.driver.unit.keyword="value"

3 дахь шатны ачаалагч дуудагчийн синтакс нь:

set hint.driver.unit.keyword=value

driver нь төхөөрөмжийн драйверийн нэр, unit нь төхөөрөмжийн драйверийн нэгжийн дугаар, keyword нь сануулга түлхүүр үг юм. Түлхүүр үг нь дараах тохируулгуудаас тогтож болно:

  • at: төхөөрөмж холбогдсон шугамыг заана.

  • port: ашиглагдах I/O-ны эхлэх хаягийг заана.

  • irq: ашиглагдах тасалдал хүсэлтийн дугаарыг заана.

  • drq: DMA сувгийн дугаарыг заана.

  • maddr: төхөөрөмжийн эзэлж байгаа физик санах ойн хаягийг заана.

  • flags: төхөөрөмжийн хувьд төрөл бүрийн тугийн битүүдийг тохируулна.

  • disabled: хэрэв 1 гэж тохируулагдсан бол төхөөрөмж хаагдаж идэвхгүй болно.

Төхөөрөмжийн драйверууд нь энд жагсаагдсанаас илүү сануулгуудыг хүлээн авч (эсвэл шаардаж) болно, иймд гарын авлагын хуудсыг үзэхийг зөвлөж байна. Дэлгэрэнгүй мэдээллийн талаар device.hints(5), kenv(1), loader.conf(5), болон loader(8) гарын авлагуудаас зөвлөгөө авна уу.


13.6. Init: Процесс хяналтын эхлүүлэлт

Цөм ачаалж дууссаны дараа /sbin/init эсвэл loaderinit_path хувьсагчид заагдсан програмын замд байрлах хэрэглэгчийн процесс init(8)-д хяналтаа дамжуулдаг.


13.6.1. Автомат дахин ачаалах дараалал

Автомат дахин ачаалах дараалал нь систем дэх файлын системүүд бүрэн бүтэн байгаа эсэхийг шалгадаг. Хэрэв тэдгээр нь тийм биш бөгөөд fsck(8) нь бүрэн бүтэн бус байдлыг засварлаж чадахгүй байгаа бол администраторуудад асуудлуудад шууд анхаарлаа хандуулах боломж олгох ганц-хэрэглэгчийн горим уруу системийг оруулдаг.


13.6.2. Ганц-хэрэглэгчийн горим

Энэ горимд автомат дахин ачаалах дарааллын дагуу эсвэл хэрэглэгч -s тохируулга ашиглан ачаалах эсвэл loaderboot_single хувьсагчийг тохируулж орж болдог.

Мөн shutdown(8)-ийг дахин ачаалах (-r) эсвэл зогсоох (-h) тохируулгуудгүйгээр олон-хэрэглэгчийн горимоос энэ горим уруу орж бас болно.

Хэрэв системийн консол нь insecure буюу аюултай гэж /etc/ttys-д тохируулагдсан бол систем ганц-хэрэглэгчийн горимыг эхлүүлэхээсээ өмнө root нууц үгийг асуудаг.

Жишээ 13-3. /etc/ttys дахь аюултай консол

# name  getty                           type    status          comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none                            unknown off insecure

Тэмдэглэл: Аюултай консол гэдэг нь та өөрийн консол дахь физик аюулгүй байдлыг аюултай гэж авч үзэн зөвхөн root нууц үгийг мэддэг хэн нэгэнд ганц хэрэглэгчийн горимыг ашиглуулахыг хүсч байгаа гэсэн үг бөгөөд та консолоо аюултайгаар ажиллуулахыг хүсч байна гэсэн үг биш юм. Тиймээс хэрэв та аюулгүй байдлыг хүсэж байгаа бол secure буюу аюулгүйг биш insecure буюу аюултайг сонгоорой.


13.6.3. Олон-хэрэглэгчийн горим

Хэрэв init(8) таны файлын системийг цэгцтэйг мэдвэл эсвэл хэрэглэгч ганц-хэрэглэгчийн горимд ажиллаад дууссаны дараа системийн эх үүсвэрийн тохиргоог эхлүүлдэг олон-хэрэглэгчийн горим уруу систем ордог.


13.6.3.1. Эх үүсвэрийн тохиргоо (rc)

Эх үүсвэрийн тохиргооны систем нь /etc/defaults/rc.conf файлаас тохиргооны анхдагчууд болон системийн тусгайлсан нарийн зүйлүүдийг /etc/rc.conf файлаас уншиж дараа нь /etc/fstab-д дурдагдсан системийн файлын системүүдийг холбон сүлжээний үйлчилгээнүүд, бусад системийн дэмонуудыг эхлүүлэн төгсгөлд нь локал суулгагдсан багцуудын эхлүүлэх скриптүүдийг ажиллуулдаг.

rc(8) гарын авлагын хуудас нь скриптүүдийг өөрсдийг нь шалгаж эх үүсвэрийн тохиргооны системийн сайн зөвлөмж болдог.


13.7. Унтраах дараалал

shutdown(8)-р хянагдсан унтраалт хийгдэхэд init(8) нь /etc/rc.shutdown скриптийг ажиллуулахыг оролдож дараа нь бүх процессууд уруу TERM дохио явуулах бөгөөд дараагаар нь хугацаандаа дуусаагүй процессууд уруу KILL дохио илгээдэг.

Тэжээлийн удирдлагыг дэмждэг архитектурууд болон системүүд дээрх FreeBSD машиныг унтраахдаа тэжээлийг даруй унтраахын тулд зүгээр л shutdown -p now тушаалыг ашиглаарай. FreeBSD системийг дахин ачаалахдаа shutdown -r now тушаалыг ашиглана. shutdown(8)-г ажиллуулахын тулд та root эсвэл operator бүлгийн гишүүн байх хэрэгтэй. halt(8) болон reboot(8) тушаалууд бас ашиглагдаж болох бөгөөд дэлгэрэнгүй мэдээллийн талаар тэдгээрийн гарын авлагын хуудсууд болон shutdown(8)-ы хуудсанд хандана уу.

Тэмдэглэл: Тэжээлийн удирдлага цөмд acpi(4) дэмжлэг эсвэл тухайн модуль ачаалагдсан байхыг шаарддаг.


Бүлэг 14. Хэрэглэгчид ба үндсэн бүртгэл зохицуулалт

Бичсэн Нэйл Блэки-Милнер. Орчуулсан Шагдарын Нацагдорж.

14.1. Ерөнхий агуулга

FreeBSD суусан компьютерийг нэг зэрэг олон хэрэглэгч хэрэглэж болдог. Мэдээж, тодорхой мөчид дэлгэцийн урд гар ашиглаж зөвхөн нэг хэрэглэгч суудаг ч [6], олон хэрэглэгчид сүлжээгээр холбогдож өөрсдийнхөө ажлыг гүйцэтгэж чадна. Системийг хэрэглэхийг хүссэн хэрэглэгч нь бүртгэлтэй байх ёстой.

Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:

  • FreeBSD систем дэх хэрэглэгчдийн төрөл бүрийн бүртгэлийн ялгаа.

  • Хэрэглэгчийн бүртгэл хэрхэн нэмэх.

  • Хэрэглэгчийн бүртгэлийг хэрхэн устгах.

  • Хэрэглэгчийн бүтэн нэр, эсвэл эрхэмлэдэг shell зэрэг бүртгэл мэдээллийг хэрхэн өөрчлөх.

  • Бүртгэлүүдийн бүлэг ба хэрэглэгч бүрд зарцуулагдах Процессор, мөн санах ойн хэмжээг хэрэглэх эрх зэрэгт хэрхэн хязгаарлалт хийх.

  • Бүртгэлийн зохицуулалтыг хялбар болгохын тулд бүлгийг хэрхэн хэрэглэх.

Энэ бүлгийг уншиж эхлэхээсээ өмнө та дараах зүйлсийг мэдсэн байх хэрэгтэй:

  • UNIX болон FreeBSD-н үндсэн ойлголт(Бүлэг 4).


14.2. Танилцуулга

Систем рүү хандах бүх хандалт, мөн хэрэглэгчээс гүйцэтгэгдэж байгаа үйлдлүүд нь бүгд бүртгэлээр зохицуулагдана. Тийм болохоор FreeBSD дээр бүртгэлийн зохицуулалт тун чухал.

FreeBSD системийн бүртгэл нь уг бүртгэлээ тодорхойлсон мэдээлэл агуулж байдаг.

Хэрэглэгчийн нэр

Энэ хэрэглэгчийн нэр нь login: хэсэгт нэвтрэхдээ бичдэг нэр. Хэрэглэгчийн нэр нь энэ компьютерт ийм нэрээр цорын ганц байх ёстой. Хоёр хэрэглэгч нэг ижил нэртэй байж болохгүй. passwd(5);-д заасны дагуу зөв хэрэглэгчийн нэр үүсгэх маш олон дүрэм бий. Ерөнхийдөө, та найман тэмдэгтээс хэтрэлгүй, цөөхөн байж болно, бүгд бага үсгээр бичигдэх нэр хэрэглэнэ.

Нууц үг

Бүх бүртгэл нь харгалзах нууц үгтэй. Нууц үг нь хоосон байж болох бөгөөд энэ тохиолдолд систем танаас нууц үг шаардахгүй. Энэ нь ердийн үед тийм сайн санаа биш бөгөөд бүх бүртгэл өөрийн нууц үгтэй байх хэрэгтэй.

Хэрэглэгчийн ID (UID)

UID бол ихэнхдээ 0 ээс 65535 хүртэлх тоо байдаг ба[7], системд хэрэглэгчийг уг ганц гоц тоогоор танихад хэрэглэгддэг. Дотоод ажиллагаандаа, FreeBSD нь UID дугаарыг хэрэглэж хэрэглэгчийг таниж--FreeBSD-н хэрэглэгчийн нэр ашигладаг бүх тушаалууд нь уг хэрэглэгчтэй ажиллахаасаа өмнө эхлээд энэ дугаар руу нь хувиргадаг. Тэгэхээр, хэд хэдэн бүртгэл нь янз бүрийн нэртэй мөртлөө нэг UID дугаартай байж болно гэсэн үг. Хэрэв тийм бол FreeBSD тэд нарыг нэг хэрэглэгч гэж тооцно. Мэдээж танд ингэж хийх шаардлага байхгүй.

Бүлгийн ID (GID)

GID бол ихэнхдээ 0 ээс 65535 хүртэлх тоо байдаг ба[7] , хэрэглэгчдийг бүлэглэсэн бүлгийг гоцолж танихад хэрэглэгддэг. Бүлэг нь хэрэглэгчдийн UID болгон руу хандалгүйгээр бүлэглэгдсэн хэсэг хэрэглэгчдийг бүлгийн дугаараар нь хандаж зохицуулахад хэрэглэдэг зарчим. Энэ нь зарим тохируулагч файлуудад маш их зай хэмнэхэд тус болдог. Нэг хэрэглэгч нь нэгээс илүү олон бүлэгт байж болно.

Нэвтрэх төрөл

Нэвтрэх төрөл нь бүлэглэх зарчмын нэмэгдэл бөгөөд систем дэх хэрэглэгчдийг ангилахад илүү дөхөм үзүүлдэг.

Нууц үг өөрчлөх давтамж

Анхны горимоороо FreeBSD нь хэрэглэгчдийг тодорхой давтамжтай нууц үгээ солихыг шаарддаггүй. Энэ шаардлагыг нэгж хэрэглэгчид хэрэгжүүлэхгүй байх, эсвэл хэсэг буюу бүх хэрэглэгчдийг тодорхой хугацаа өнгөрсөний дараа нууц үгээ солих ёстойгоор хэрэгжүүлж болно.

Бүртгэлийн хүчинтэй огноо

Анхны горимоороо FreeBSD нь бүртгэлд хязгаар тавьдаггүй. Хэрэв та бүртгэл үүсгэх үед уг бүртгэл нь тодорхой хугацаанд хүчинтэй байх ёстой гэдгийг мэдэж байвал, жишээлбэл, сургуульд оюутнуудад хэрэглэгч нээхдээ хэзээ дуусахыг нь мэдэж байх зэрэг ийм тохиолдолд бүртгэлд та хүчинтэй байх огноог нь зааж өгч болдог. Хүчинтэй огноо хэтрэх үед хэрэглэгч системд нэвтэрч чадахгүй бөгөөд харин уг бүртгэлд хамаарч байсан файл болон сангууд хэвээрээ байна.

Хэрэглэгчийн бүтэн нэр

Хэрэглэгчийн нэр нь FreeBSD дээр цор ганц гоц байх ёстой бөгөөд энэ нь заавал хэрэглэгчийн жинхэнэ нэр байх алба үгүй. Тийм учраас энэ нэр нь уг бүртгэлд тохирсон нэмэлт мэдээлэл байж болно.

Гэрийн сан

Гэрийн сан гэдэг нь систем дээр буй бүхлээр нь бичсэн сангийн байршил бөгөөд хэрэглэгч системд нэвтэрч оронгуут энэ санд эхэлж ордог. Энгийн тогтсон журманд, бүх хэрэглэгчийн гэрийн сангууд нь /home/хэрэглэгчийн-нэр эсвэл /usr/home/хэрэглэгчийн-нэр -д байрлуулсан байдаг. Хэрэглэгч нь гэрийн сан дотроо хувийн файлуудаа хадгалах бөгөөд мөн тэр дотроо дурын сан үүсгэх боломжтой.

Хэрэглэгчийн бүрхүүл

Бүрхүүл нь хэрэглэгчийг системтэй харьцахад хэрэглэгдэх анхны орчны бүрдлээр хангаж өгдөг. Маш олон төрлийн бүрхүүлүүд байдаг бөгөөд туршлагатай хэрэглэгчид өөрсдийнхөө бүртгэлийн тохиргоог өөрчилж эрхэмлэдэг бүрхүүлээ сонгож авдаг.

Бүртгэлийн гол гурван төрөл бий: Супер хэрэглэгч, систем хэрэглэгч, тэгээд хэрэглэгчийн бүртгэл. Супер хэрэглэгчийн бүртгэлийг голдуу root гэж нэрлэдэг бөгөөд, ямар ч эрхийн хязгаарлалтгүйгээр системийг зохицуулж чаддаг. Систем хэрэглэгчид нь үйлчилгээнүүдийг ажиллуулах эрхтэй. Эцэст нь, хэрэглэгчийн бүртгэл нь болохоор жирийн хүмүүст хэрэглэгддэг бөгөөд нэвтэрч орох, захиагаа шалгах зэрэг үйлдэлд ашиглагддаг.


14.3. Супер хэрэглэгчийн бүртгэл

Голдуу root гэж нэрлэгдэх супер хэрэглэгчийн бүртгэл нь системийг зохицуулах зорилгоор урьдчилан тохируулагдаж ирдэг бөгөөд захиа шалгах, програм ажиллуулах, системийн зарим үйлдлийг турших зэрэг үйлдэлд хэрэглэх хэрэггүй.

Жирийн хэрэглэгчээс ялгаатай нь, супер хэрэглэгч нь ямар ч хязгаарлалтгүйгээр системд үйлдэл хийж чаддаг болохоор, болгоомжгүй хийсэн үйлдэл тань маш том алдаанд хүргэж болзошгүй юм. Энгийн хэрэглэгчийн бүртгэлээр алдаатай үйлдэл хийсэн ч системийг эвдэх чадваргүй учраас онцгой шаардлага гарахгүй л бол энгийн хэрэглэгчийн бүртгэлийг байнга хэрэглэх нь сайн.

Та супер хэрэглэгч байх үедээ гүйцэтгэх гэж буй тушаалаа үргэлж давхар удаа эсвэл гурван удаа шалгаж байхгүй бол, нэмэлт зай авалт эсвэл тэмдэг дутсанаас болж нөхөж баршгүй өгөгдлийн гарз гарч болзошгүй билээ.

Ийм болохоор, энэ бүлгийг уншсаны дараа таны хийх хэрэгтэй хамгийн эхний зүйл тань, хэрэв үүсгээгүй бол ердийн хэрэглээндээ зориулж онцгой эрхгүй хэрэглэгчийн бүртгэл өөртөө нээх юм. Энэ арга нь олон хэрэглэгчтэй эсвэл ганц хэрэглэгчтэй машины аль алинд нь хэрэгжигдэх хэрэгтэй. Энэ бүлгийн сүүл хэсэгт нэмэлт бүртгэл үүсгээд, жирийн хэрэглэгч болон супер хэрэглэгчийн хооронд хэрхэн сольж болох талаар зааварлах болно.


14.4. Систем бүртгэл

Систем хэрэглэгчид нь DNS, захиа, вэб сервер гэх мэтчилэн үйлчилгээнүүдийг ажиллуулах эрхтэй байдаг. Гол шалтгаан нь аюулгүй байдал; хэрэв бүх үйлчилгээнүүд супер хэрэглэгч эрхээр ажиллавал хязгааргүй үйлдэл хийх эрхтэй болох аюултай.

Систем хэрэглэгчдийн нэг жишээ бол дэмон буюу далд чөтгөр, operator, bind (Домэйн нэрний үйлчилгээнд зориулсан), news, мөн www нар юм.

nobody бол системийн ердийн онцгой эрхгүй систем хэрэглэгч. Гэхдээ, хэрэв та хэдий чинээ файл болон үйлдлүүдэд хамаатай үйлчилгээнүүдийг энэ nobody хэрэглэгчээр ашиглана, төдий хэмжээний эрхтэй байна гэсэн үг.


14.5. Энгийн хэрэглэгчийн бүртгэл

Хэрэглэгчдийн энэ бүртгэл нь бодит хүмүүсийг систем рүү нэвтрэхэд хэрэглэгдэж, тухайн хэрэглэгч болон орчныг тусгаарлан, энгийн хэрэглэгчийг систем эвдэхээс сэргийлэх, мөн хэрэглэгчид өөрсдийнхөө орчныг бусдад нөлөөлөхгүйгээр өөрчилж болох зэрэгт зориулагдсан.

Таны систем рүү орж байгаа бүх хүн өөрийн гэсэн бүртгэлтэй байх хэрэгтэй. Ингэснээр та хэн юу хийж байгааг мэдэж болохоос гадна, хүн болгоны тохируулга бусдын тохируулгатай холилдох, эсвэл нэг нэгнийхээ захиаг унших зэрэг нөхцлүүдээс сэргийлж чадна.

Хэрэглэгч болгон өөрийнхөө эрхэмлэдэг бүрхүүл, засварлагч, гарын товчлуур, мөн хэл зэрэг тохируулгыг өөртөө зориулж системд тохируулж болно.


14.6. Бүртгэлд өөрчлөлт хийх

UNIX орчинд хэрэглэгчийн бүртгэлийг өөрчилж болох маш олон тушаалууд байдаг. Доорх хэсэгт хамгийн түгээмэл хэрэглэгддэг тушаалуудыг хэрэглэх жишээтэй нь хамт нэгтгэж харууллаа.

Тушаал Тайлбар
adduser(8) Шинэ хэрэглэгч нэмэхэд хэрэглэгддэг, санал болгогдсон, бичиж гүйцэтгэгддэг тушаал програм.
rmuser(8) Хэрэглэгчийг устгахад хэрэглэгддэг, санал болгогдсон, бичиж гүйцэтгэгддэг тушаал програм.
chpass(1) Хэрэглэгчийн өгөгдлийн мэдээллийг өөрчилдөг нийцтэй багаж.
passwd(1) Хэрэглэгчийн нууц үгийг сольдог, энгийн бичиж гүйцэтгэгддэг тушаах багаж.
pw(8) Хэрэглэгчийн бүх мэдээллийг өөрчилж чаддаг, хүчирхэг нийцтэй багаж.

14.6.1. adduser

adduser(8) нь шинэ хэрэглэгч нэмдэг энгийн програм. Энэ нь системийн passwd болон group файлуудад оруулга нэмдэг. Мөн энэ програм нь шинэ хэрэглэгчид зориулж гэрийн сан үүсгэж, анхдагч тохируулгын файлуудыг (“цэгтэй файлууд”) /usr/share/skel сангаас хуулан, хэрэв нэмэлт сонголт хийсэн бол шинэ хэрэглэгч рүү мэндчилгээний захиа илгээдэг.

Жишээ 14-1. FreeBSD дээр хэрэглэгч нэмэх нь

# adduser
Username: jru
Full name: J. Random User
Uid (Leave empty for default):
Login group [jru]:
Login group is jru. Invite jru into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh zsh nologin) [sh]: zsh
Home directory [/home/jru]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : jru
Password   : ****
Full Name  : J. Random User
Uid        : 1001
Class      :
Groups     : jru wheel
Home       : /home/jru
Shell      : /usr/local/bin/zsh
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (jru) to the user database.
Add another user? (yes/no): no
Goodbye!
#

Тэмдэглэл: Оруулсан нууц үг тань танд харуулагдахгүй бас одоор ч дүрсэлж харуулагддаггүй. Тийм болохоор нууц үгээ хянаж зөв оруулах хэрэгтэй.


14.6.2. rmuser

Та rmuser(8)-г хэрэглэн системээс хэрэглэгчийг нэг мөсөн устгаж болно. rmuser(8) нь дараах алхмуудыг гүйцэтгэдэг:

  1. Хэрэглэгчийн crontab(1) оруулгуудыг устгана (хэрэв байвал).

  2. Хэрэглэгчид хамаарах at(1) ажлуудыг устгана.

  3. Хэрэглэгчийн эзэмшдэг бүх процессуудыг устгана.

  4. Системийн дотоод нууц үгийн файлаас хэрэглэгчийг устгана.

  5. Хэрэглэгчийн гэрийн санг устгана (хэрэв хэрэглэгч эзэмшдэг бол).

  6. /var/mail доторх уг хэрэглэгчид ирсэн захиануудыг устгана.

  7. Хэрэглэгчийн эзэмшиж байсан файлуудыг /tmp гэх мэтийн түр хадгалагч сангаас устгана.

  8. Эцэст нь /etc/group дотор буй хэрэглэгчийн хамрагддаг бүх бүлгүүдээс уг хэрэглэгчийг устгана.

    Тэмдэглэл: Хэрэв бүлгийн нэр нь уг хэрэглэгчийн нэртэй ижил бөгөөд уг бүлэг нь хоосорч байвал уг бүлэг нь adduser(8) програмаар зөвхөн уг хэрэглэгчид гоцолж үүсгэгдсэн болохоор бас устгагдана.

Супер хэрэглэгчийн бүртгэлийг устгавал маш олон устгалга хийгдэх болохоор rmuser(8) програм хэрэглэгдэж чадахгүй.

Анхны горим нь, таныг юу хийж байгаад итгэлтэй байхын тулд лавлаж харилцах горим хэрэглэгддэг.

Жишээ 14-2. rmuser Лавлаж харилцан бүртгэл устгах

# rmuser jru
Matching password entry:
jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
Is this the entry you wish to remove? y
Remove user's home directory (/home/jru)? y
Updating password file, updating databases, done.
Updating group file: trusted (removing group jru -- personal group is empty) done.
Removing user's incoming mail file /var/mail/jru: done.
Removing files belonging to jru from /tmp: done.
Removing files belonging to jru from /var/tmp: done.
Removing files belonging to jru from /var/tmp/vi.recover: done.
#

14.6.3. chpass

chpass(1) нь хэрэглэгчийн өгөгдлийн бааз болох нууц үг, бүрхүүл, мөн хувийн мэдээлэл зэргүүдийг өөрчилдөг.

Зөвхөн систем зохицуулагчид нь супер хэрэглэгч болж chpass(1)-г хэрэглэн бусдын мэдээллийг өөрчлөх эрхтэй.

Хэрэглэгчийн нэрийг нэмэлт сонголт болгож өгөхөөс бусад үед, ямар нэгэн сонголт өгөөгүй тохиолдолд chpass(1) нь хэрэглэгчийн мэдээллийг агуулсан засварлагч нээж харуулдаг. Хэрэглэгч уг засварлагчаас гарах үед хэрэглэгчийн мэдээлэл шинэ мэдээллээр шинэчлэгддэг.

Тэмдэглэл: Засварлагчаас гарах үед хэрэв та супер хэрэглэгч биш бол нууц үгээ оруулахыг асуух болно.

Жишээ 14-3. Супер хэрэглэгчийн лавлаж асуух chpass хэрэглээ

#Changing user database information for jru.
Login: jru
Password: *
Uid [#]: 1001
Gid [# or name]: 1001
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /home/jru
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:

Энгийн хэрэглэгч нь өөрийнхөө энэ мэдээллийн зөвхөн жаахан хэсгийг л өөрчилж чадна.

Жишээ 14-4. Энгийн хэрэглэгчийн лавлаж асуух chpass хэрэглээ

#Changing user database information for jru.
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:

Тэмдэглэл: chfn(1) ба chsh(1) нар нь зөвхөн chpass(1)-н холбоосууд юм. Нэг ёсондоо ypchpass(1), ypchfn(1), болон ypchsh(1) нартай ижилхэн холбоос. NIS дэмжлэг автоматаар хийгдсэн байгаа. Тийм болохоор тушаалын урд нь yp угтвар залгах шаардлагагүй. Хэрэв энэ таныг эргэлзүүлж гайхуулах байдалд хүргэж байвал санаа зовсны хэрэггүй. NIS нь Бүлэг 30 хэсэгт тайлбарлагдах болно.


14.6.4. passwd

passwd(1) нь энгийн хэрэглэгч үедээ эсвэл бусдын нууц үгийг солихоор бол супер хэрэглэгч болж нууц үг сольдог энгийн арга.

Тэмдэглэл: Болчимгүй алдаа эсвэл зөвшөөрөөгүй өөрчлөлт оруулахаас сэргийлж, шинэ нууц үгийг суулгахаас өмнө анхны нууц үгийг асуудаг.

Жишээ 14-5. Өөрийнхөө нууц үгийг солих нь

% passwd
Changing local password for jru.
Old password:
New password:
Retype new password:
passwd: updating the database...
passwd: done

Жишээ 14-6. Супер хэрэглэгч бол бусдын нууц үгийг солих нь

# passwd jru
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: done

Тэмдэглэл: chpass(1), yppasswd(1) зэрэг нь ердөө passwd(1)-н холбоосууд юм. Тийм болохоор NIS дээр эдгээр нь бүгд ажилладаг.


14.6.5. pw

pw(8) нь хэрэглэгч нэмэх, устгах, өөрчлөх, мөн хэрэглэгч ба бүлгийг харуулдаг тушаалын мөрийн багаж юм. Системийн хэрэглэгч ба бүлгийн файлд хамгийн түрүүнд ханддаг багаж. pw(8) нь маш олон хүчтэй тушаалын сонголтуудтай байдаг болохоор бүрхүүлийн орчны скриптэд хэрэглэхэд тохиромжтой. Гэхдээ шинэ хэрэглэгчдэд энэ програм нь өмнө үзүүлсэн тушаалуудыг бодвол илүү хэцүү хүндрэлтэй гэж тооцогдож магадгүй.


14.7. Хэрэглэгчдэд хязгаарлалт хийх

Хэрэв та олон хэрэглэгчтэй бол, тэдгээрийн систем хэрэглэх боломжийг нь хязгаарлах санаа төрж магадгүй. Нэгж хэрэглэгчид зориулж системийн хэрэглээг удирдах хэд хэдэн аргыг FreeBSD хангаж өгдөг. Эдгээр хязгаарлалт нь хоёр хэсэгт хуваагддаг: дискний хуваарилалт, тэгээд бусад нөөцийн хязгаарлалтууд.

Дискийн хуваарилалт нь хэрэглэгчийн диск хэрэглэх хэмжээг зааглаж өгдөг бөгөөд тухай бүрд уг хэмжээг тооцож бодолгүй шуурхай шалгах боломж өгдөг. Хуваарилалт нь Хэсэг 19.15 бүлэгт авч хэлэлцэгдсэн.

Бусад нөөцийн хязгаарлалтуудад Процессор, санах ойн хэмжээ болон бусад хэрэглэгчийн хэрэглэх нөөцүүд ордог. Эдгээр нь нэвтрэх ангилал ашиглаж заагдаж өгдөг бөгөөд энд одоо ярих болно.

Нэвтрэх ангилал нь /etc/login.conf-д заагдсан байгаа. Нарийвчилсан ойлголт энэ бүлэгт ороогүй, гэхдээ login.conf(5) гарын авлагад тодорхой бичигдсэн байгаа. Хэрэглэгч бүрд нэвтрэх ангилал заагдсан байдаг гэж хэлэхэд хангалттай (анхдагч утга нь default), бөгөөд нэвтрэх ангилал бүр өөртөө тодорхой нэвтрэх чанаруудыг агуулсан байдаг. Нэвтрэх чанар гэдэг нь нэр=утга гэсэн хослол бөгөөд үүний нэр нь бидний мэдэх хэрэглэгчийн нэр ба утга нь нэртэй хамаатай боловсруулагдсан мөр байдаг. Нэвтрэх ангилал ба чанарыг тохируулах нь харьцангуй амархан бөгөөд мөн login.conf(5) дотор тодорхой бичигдсэн.

Тэмдэглэл: Систем ердийн үед шууд /etc/login.conf файлыг уншдаггүй, харин түргэн хайж харахад илүүгээр нь /etc/login.conf.db өгөгдлийн бааз файлыг уншдаг. /etc/login.conf файлаас /etc/login.conf.db файлыг үүсгэхийн тулд дараах тушаалыг гүйцэтгэх хэрэгтэй:

# cap_mkdb /etc/login.conf

Нөөцийн хязгаарлалт нь энгийн нэвтрэх чанараас хоёр замаар ялгардаг. Эхнийх нь, хязгаарлалт бүр зөөлөн (одоогийн) ба хатуу хязгаарлалт гэж байдаг. Зөөлөн хязгаарлалт нь хэрэглэгчээр юм уу програмаар тохируулагдаж болдог бөгөөд хатуу хязгаарлалтаас дээгүүр биш. Харин хатуу хязгаарлалт нь хэрэглэгчээр доошоо тохируулагдаж болох боловч хэзээ ч дээшлэгдэж чадахгүй. Хоёр дахь нь, ихэнх нөөцийн хязгаарлалт нь тусгай хэрэглэгчдийн процесс дээр хэрэгжигдэх бөгөөд харин хэрэглэгч дээр бүхлээрээ хэрэгжигдэхгүй. Тэмдэглэж хэлэхэд, хэдийгээр эдгээр ялгаанууд нь онцгой хязгаарлалт хийх үед голлох боловч нэвтрэх чанарын үндсэн хүрээнд хэрэгжигдэхгүй. (өөрөөр хэлбэл, эдгээр нь үнэхээр онцгой нэвтрэх чанарын тохиолдол биш).

Тэгэхээр, элдвийг нуршилгүйгээр, энгийн байнга хэрэглэгддэг нөөцийн хязгаарлалтуудыг доор жагсаав (үлдсэн хязгаарлалтуудыг мөн тэдгээрийн нэвтрэх чанаруудыг нь login.conf(5)-с харна уу).

coredumpsize

Програмаар үүсгэгдсэн үндсэн файлын хэмжээний хязгаар нь мэдээж дискний хэрэглэх хязгаарт багтана. (файлын хэмжээ, эсвэл диск хуваарилалт г.м). Тэгсэн хэдий ч, энэ нь дискний хэрэглэх хэмжээг хянахад хэрэглэгддэг нэг их чухал биш тохируулга: үндсэн файлыг хэрэглэгчид өөрсдөө үүсгэдэггүй бөгөөд тэдгээрийг дандаа устгаад байдаггүй учир үүгээр тохируулсан үед том програмаар хэрэглэгдэх дискний хэрэглээ хэтэрсний улмаас програм эвдэрч ( жишээ нь, emacs) зогсохоос сэргийлж болох юм.

cputime

Энэ нь хэрэглэгчийн процесс хэрэглэж болох хамгийн их процессорын давтамж юм. Хэтрүүлж хэрэглэсэн процесс цөмөөс устгагддаг.

Тэмдэглэл: Энэ нь процессорын давтамж дээр тавигдсан хэрэглээний хязгаар бөгөөд top(1) ба ps(1)-н зарим талбарт харагддаг процессорын хувийг заасан заалт биш. Хувиар хязгаарлана гэдэг нь энэ гарын авлагыг бичиж байх үед боломжгүй байсан ба боломжтой байсан ч хэрэглэх шаардлага байхгүй: хөрвүүлэгч--зарим ноцтой үйлдлүүд -- заримдаа процессорын давтамжийг 100% хувь хэрэглэж чаддаг.

filesize

Энэ хэмжээ нь хэрэглэгчийн хэрэглэж болох хамгийн их файлын хэмжээ. диск хуваарилалтаас ялгаатай нь, энэ хязгаарлалт нь файл бүрд тавигддаг бөгөөд хэрэглэгчийн эзэмшдэг бүх файлд биш.

maxproc

Энэ нь хэрэглэгчийн ажиллуулж болох хамгийн их процессийн тоо юм. Үүнд нүүрэн талын болон ар талын процессууд багтана. Мэдээж, энэ нь kern.maxproc-д заагдсан sysctl(8) системийн хязгаараас хэтэрч болохгүй. Мөн тэмдэглэж хэлэхэд, үүнийг хэтэрхий багаар тохируулбал хэрэглэгчийн олон дахин нэвтэрч орох, дамжуулах хоолой ашиглах зэрэг бүтээмжид нөлөөлөх болно. Том програмыг хөрвүүлэх гэх мэт зарим гүйцэтгэл нь мөн олон процесс шаарддаг (жишээ нь, make(1), cc(1), ба бусад дундын хөрвүүлэлтэнд хэрэглэгддэг процессорууд).

memorylocked

Энэ нь ямар нэг процесс санах ойд түгжсэн санамж шаардах үед хязгаарлах хамгийн их санах ойн хэмжээ. (жишээ нь, mlock(2)-г харна уу). Зарим amd(8) гэх мэт системийн ноцтой програмууд нь үндсэн санах ойг түгждэг бөгөөд түр шилжүүлэг хийх шаардлага гарах үед системийн зохицуулалтанд тусалдаггүй.

memoryuse

Энэ нь ямар нэг процесс ямар ч үед хэрэглэж болох хамгийн их санах ойн хэмжээ. Энэ нь үндсэн санах ой болон сэлгэх зайг хоёуланд хамаатай. Санах ойн хязгаарлалтын бүгдийг нь хийдэггүй ч эндээс эхлэх нь зөв эхлэлд тооцогдоно.

openfiles

Энэ нь процессийн нээж болох файлуудын хамгийн их хэмжээ. FreeBSD дээр сокет, мөн IPC сувгууд нь файл хэлбэрээр хэрэглэгддэг болохоор үүнийг маш багаар тохируулахаа тун болгоомжлох хэрэгтэй. Систем даяар хязгаарлахын тулд kern.maxfiles-д зааж өгнө sysctl(8).

sbsize

Энэ нь сүлжээнд хэрэглэгдэх санах ойн хязгаар. Тийм болохоор хэрэглэгчийн хэрэглэж болох mbufs юм. Энэ нь хуучин ДоС халдлагаас олон сокет нээх дайралтын эсрэг үүсгэсэн гаралтай бөгөөд сүлжээний холболтыг хязгаарлахад ерөнхийдөө хэрэглэгдэж болно.

stacksize

Энэ нь процессийн хэрэглэх стек санах ойн ихсэж болох хамгийн их хэмжээ. Энэ нь програмын хэрэглэж болох санах ойн хэмжээг хязгаарлахад хангалттай биш. Голдуу бусад хязгаарлалтуудтай хамтарч хэрэглэгдэх хэрэгтэй.

Нөөцийн хязгаарлалтыг тохируулж байхдаа бусад зарим зүйлсийг санаж байх хэрэг байдаг. Зарим энгийн зөвлөгөө, санал мөн төрөл бүрийн тайлбаруудыг доор жагсаав.

  • Систем эхлэх үед /etc/rc-с ажилладаг процессууд нь дэмон нэвтрэх төрөлд багтдаг.

  • Хэдийгээр ихэнх хязгаарлалтуудыг агуулсан /etc/login.conf файл системтэй цуг ирдэг ч гэсэн зөвхөн систем удирдагч та л таны системд ямар нь хамаатайг мэднэ. Тохируулгыг хэт их болговол системээ буруу хэрэглэгчдэд нээж өгөх бөгөөд хэрэв хэт багаар тохируулбал бүтээмжид хэт нарийдна.

  • X цонхны системийн (X11) хэрэглэгчид бусад хэрэглэгчдийг бодвол илүү их нөөцөөр хангагдах хэрэгтэй. X11 нь өөрөө маш их нөөц авдаг бөгөөд бас хэрэглэгчдэд олон програмыг зэрэг ажиллуулах боломж өгдөг.

  • Маш олон хязгаарлалт нь хэрэглэгч дээр бүхэлд нь биш харин нэгж процессууд дээр тавигддаг гэдгийг санах хэрэгтэй. Жишээлбэл, openfiles тохируулгыг 50 гэвэл, энэ нь хэрэглэгчийн ажиллуулж буй процесс болгон 50 файл нээж болно гэсэн үг. Тийм болохоор, хэрэглэгчийн нээж болох файлуудын нийт хэмжээ нь openfiles-н утгыг maxproc-н утгаар үржүүлж гарна. Энэ нь мөн санах ойн хэрэглээнд бас хэрэгжинэ.

Нөөцийн хязгаарлалт ба нэвтрэх ангилал, мөн ерөнхий нэвтрэх чанаруудын тухай нэмэлт мэдээллийг харгалзах гарын авлага: cap_mkdb(1), getrlimit(2), login.conf(5) нараас харна уу.


14.8. Бүлэг

Бүлэг гэдэг нь хэрэглэгчдийн бүлэглэж жагсаасан жагсаалт юм. Бүлгүүд нь бүлгийн нэр ба GID (бүлгийн ID)-аар танигддаг. FreeBSD (мөн ихэнх бусад UNIX төрлийн систем) дээр, цөмөөс хэрэглэгчийн процессийг юм хийхэд нь зөвшөөрөл өгөхдөө хоёр зүйлийг хэрэглэж шийддэгээс нэг нь хэрэглэгчийн ID, нөгөө нь тэр хэрэглэгчийн хамаардаг бүлэг байдаг. Хэрэглэгчийн ID аас ялгарах нь, процессод холбогдсон бүлгийн жагсаалт бас байдаг. Та магадгүй хэрэглэгчийн эсвэл процессийн “бүлгийн ID” гэж байнга сонсох байх. Ихэнхдээ энэ нь хэрэглэгчийн бүлгийг ярьж байдаг.

Бүлгийн нэрийг бүлгийн ID-д харгалзуулсан бичлэг /etc/group файлд бий. Энэ нь энгийн текст файл бөгөөд тодорхойлох хоёр цэгээр таслагдсан дөрвөн талбар байдаг. Эхний талбар нь бүлгийн нэр, хоёр дахь нь нууцлалын хөрвүүлэлт хийгдсэн нууц үг, гурав дахь нь бүлгийн ID, тэгээд сүүлийнх нь таслалаар тусгаарлагдсан гишүүдийн жагсаалт. Энэ нь гараар засварлагдаж болох бөгөөд (мэдээж та засварлах үедээ бичиглэлийн алдаа гаргахгүй байх шаардлагатай!). Бичиглэлийн дэлгэрэнгүй мэдээллийг group(5) хуудаснаас харна уу.

Хэрэв та /etc/group файлыг гараар засварлахыг хүсэхгүй бол, та pw(8) тушаалыг бүлэг нэмэх болон засварлахад хэрэглэж болно. Жишээлбэл, дараах жишээ нь teamtwo нэртэй бүлгийг нэмж байна:

Жишээ 14-7. pw(8) хэрэглэж бүлэг нэмэх

# pw groupadd teamtwo
# pw groupshow teamtwo
teamtwo:*:1100:

Дээрх 1100 гэсэн дугаар нь teamtwo нэртэй бүлгийн ID. Одоохондоо teamtwo бүлэгт гишүүд байхгүй байгаа болохоор хэрэгцээгүй байна гэсэн үг. Тийм болохоор jru нөхрийг teamtwo бүлэгт урьж оруулцгаая.

Жишээ 14-8. pw(8) ашиглан бүлгийн гишүүдийн жагсаалтыг тохируулах нь

# pw groupmod teamtwo -M jru
# pw groupshow teamtwo
teamtwo:*:1100:jru

-M тохируулгад өгөх утга нь бүлэгт байх таслалаар тусгаарлагдсан хэрэглэгчдийн жагсаалт байна. Өмнөх хэсэгт үзсэнээр, нууц үг хадгалдаг файлд хэрэглэгч бүрд бүлэг заагдсан байдгийг бид мэднэ. Систем сүүлд нь бичигдэх хэрэглэгчдийг автоматаар бүлгийн жагсаалтад нэмж өгдөг. pw(8) тушаалыг groupshow гэсэн сонголтоор ажиллуулахад хэрэглэгчид харуулагддаггүй бөгөөд, харин мэдээллүүд нь id(1) юм уу өөр ижил төрлийн тушаалаар харуулагддаг. Өөрөөр хэлбэл, pw(8) нь зөвхөн /etc/group файлыг өөрчилдөг болохоос нэмэлт мэдээллийг /etc/passwd файлаас уншдаггүй.

Жишээ 14-9. pw(8) ашиглан шинэ гишүүнийг бүлэгт нэмэх нь

# pw groupmod teamtwo -m db
# pw groupshow teamtwo
teamtwo:*:1100:jru,db

-m тохируулгад өгөх утга нь бүлэгт нэмэгдэх таслалаар тусгаарлагдсан хэрэглэгчдийн жагсаалт байна. Өмнөх жишээнээс ялгаатай нь эдгээр хэрэглэгчид нь бүлэгт нэмэгдэх бөгөөд бүлэг дэх хэрэглэгчдийн жагсаалтыг өөрчлөхгүй юм.

Жишээ 14-10. id(1) хэрэглэж уг гишүүний бүлгийн мэдээллийг мэдэх нь

% id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)

Энд харуулснаар, jru гэдэг гишүүн jru болон teamtwo бүлгийн гишүүн байна.

pw(8)-н талаар дэлгэрэнгүй мэдээллийг өөрийнх нь гарын авлагаас, мөн /etc/group файлын хэлбэршилтийн мэдээллийг group(5) гарын авлагаас харна уу.


Бүлэг 15. Аюулгүй байдал

Энэ бүлгийн ихэнх хэсгийг security(7) гарын авлагын хуудаснаас авсан бөгөөд security(7) гарын авлагын хуудсыг бичсэн Мэтью Диллон. Орчуулсан Цагаанхүүгийн Ганболд.

15.1. Ерөнхий агуулга

Энэ бүлэг нь системийн аюулгүй байдлын ухагдахуунуудын үндэс, зарим нэг нийтлэг практикийн сайн аргууд болон FreeBSD дэх зарим нэг дэвшилттэй сэдвүүдийг танилцуулах болно. Энд дурдагдсан олон сэдвүүдийг бас системийн болон Интернэтийн аюулгүй байдалд хэрэглэж болох юм. Интернэт нь хүн бүр таны найрсаг хөрш байхыг хүсдэг “найзархаг” газар байхаа аль хэдийн больсон. Өөрийн системийг аюулгүй болгох нь таны өгөгдөл, оюуны өмч, цаг хугацаа зэрэг олон зүйлсийг хакерууд зэргийн савраас хамгаалахад хойшлуулашгүй чухал юм.

FreeBSD нь таны систем болон сүлжээний аюулгүй байдал болон бүрэн бүтэн байдлыг хангаж байдаг хэрэгслүүд болон арга замуудын цуглуулгыг агуулдаг.

Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:

  • FreeBSD-ийн хувьд системийн аюулгүй байдлын үндсэн ухагдахуунууд.

  • FreeBSD-д байдаг DES болон MD5 зэрэг төрөл бүрийн нууцлах арга замуудын талаар.

  • Нэг удаагийн нууц үгийн нэвтрэлтийг хэрхэн тохируулах талаар.

  • TCP Wrappers буюу TCP Гүйцэтгэлийг хялбаршуулагчдыг inetd-д ашиглан хэрхэн тохируулах талаар.

  • FreeBSD дээр Kerberos5-г хэрхэн тохируулах талаар.

  • IPsec-г хэрхэн тохируулж FreeBSD/Windows машинуудын хооронд VPN үүсгэх талаар.

  • FreeBSD-ийн SSH шийдэл болох OpenSSH-г хэрхэн тохируулж ашиглах талаар.

  • Файлын системийн ACL-үүд гэж юу болох, тэдгээрийг хэрхэн ашиглах талаар.

  • Portaudit хэрэгслийг хэрхэн ашиглаж Портын цуглуулгаас суулгагдсан гуравдагч програм хангамжийн багцуудыг аудит хийх талаар.

  • FreeBSD-ийн аюулгүй байдлын зөвлөмжүүдийн сонордуулгуудыг хэрхэн хэрэглэх талаар.

  • Процессийн Бүртгэл хөтлөх гэж юу болох талаар ойлголттой болж түүнийг FreeBSD дээр хэрхэн идэвхжүүлэх талаар.

Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:

  • FreeBSD болон Интернэтийн үндсэн ухагдахуунуудыг ойлгох.

Энэ номонд нийтдээ аюулгүй байдлын нэмэлт сэдвүүд хамрагдсан болно. Жишээ нь Mandatory Access Control буюу Шаардлагатай Хандалтын Хяналт Бүлэг 17-д, Интернэт галт ханануудын талаар Бүлэг 31-д хэлэлцэгдсэн байгаа.


15.2. Танилцуулга

Аюулгүй байдал нь системийн администратораас эхэлж түүнтэй дуусдаг үйл ажиллагаа юм. BSD UNIX олон хэрэглэгчийн системүүд нь угаасаа зарим нэг аюулгүй байдлыг хангаж байдаг боловч тэдгээр хэрэглэгчдийг “үнэнч” байлгахыг эрмэлздэг аюулгүй байдлын нэмэлт арга замуудыг бүтээж түүний ажиллагааг хангах ажил нь сисадмины магадгүй ганц, хамгийн том үүргүүдийн нэг юм. Таныг аюулгүй болгосон зөвхөн тэр хэмжээгээр машинууд нь аюулгүй байдаг бөгөөд аюулгүй байдлын санаа зовнилууд нь хүний ая тухтай хялбар байлгах гэсэн хэрэгцээтэй үргэлж тэмцэлдэж байдаг. Ерөнхийдөө UNIX системүүд нь асар олон тооны зэрэгцээ процессуудыг ажиллуулах чадвартай бөгөөд эдгээр процессуудын ихэнх нь серверүүд болон ажилладаг -- энэ нь гаднын зүйлс тэдэнтэй холбогдож ярилцах боломжтой гэсэн үг юм. Өчигдрийн миникомпьютерууд, мэйнфрэймүүдээс өнөөгийн ширээний компьютерууд болж компьютерууд нь сүлжээнд холбогдож сүлжээнүүд нь хоорондоо холбогдох тусам аюулгүй байдал нь улам илүү том асуудал болсоор байна.

Системийн аюулгүй байдал нь сүйрүүлэхийг оролдсон эсвэл системийг ашиглагдахааргүй болгох гэсэн, гэхдээ root бүртгэлийг буулган авах (“root-г эвдэх”) оролдлого хийдэггүй, халдлагууд зэрэг төрөл бүрийн халдлагуудыг зогсоохтой бас хамааралтай юм. Аюулгүй байдлын санаа зовнилуудыг хэд хэдэн зэрэглэлд хувааж болно:

  1. Үйлчилгээг зогсоох халдлагууд.

  2. Хэрэглэгчийн бүртгэл буулган авалтууд.

  3. Хандаж болох серверүүдээр дамжин root-г буулган авах.

  4. Хэрэглэгчийн бүртгэлүүдээс дамжин root-г буулган авах.

  5. Арын хаалга үүсгэлт.

Үйлчилгээг зогсоох халдлага нь машиныг хэрэгцээтэй эх үүсвэрээс нь салгах үйлдэл юм. Ихэвчлэн DoS халдлагууд нь сүйрүүлэхийг оролдсон эсвэл машиныг түүн дээрх серверүүд болон сүлжээний стекийг эзэмдэн ашиглах боломжгүй болгодог балмадаар хүчлэх арга замууд юм. Зарим DoS халдлагууд нь сүлжээний стек дэх алдаануудыг ашиглан ганц пакетаар машиныг сүйрүүлэхийг оролддог. Үүнийг зөвхөн алдааны засварыг цөмд хийснээр засах боломжтой. Систем дээрх хөнөөлтэй нөхцөлд байх тэр серверийн дуудлагыг хязгаарладаг тохируулгуудыг зөв зааж серверүүд уруу хийсэн халдлагуудыг ихэвчлэн засаж болдог. Сүлжээний балмадаар хүчлэх халдлагуудын эсрэг арга хэмжээ авахад илүү төвөгтэй байдаг. Жишээ нь хууран мэхэлсэн пакетийн халдлагыг зогсоох бараг л боломжгүй, таны системийг Интернэтээс салгахад хүргэж болох юм. Энэ нь таны машиныг зогсоож чадахгүй байж болох боловч таны Интернэтийн холболтыг дүүргэж болно.

Хэрэглэгчийн бүртгэлийг буулган авах халдлага нь DoS халдлагаас илүү их тохиолддог. Одоо болтол олон сисадминууд стандарт telnetd, rlogind, rshd, болон ftpd серверүүдийг өөрсдийн машинууд дээр ажиллуулсаар байна. Анхдагчаар серверүүд нь шифрлэсэн холболт дээр ажилладаггүй. Ийм холболт дээр хэрэв та багагүй хэмжээний хэрэглэгчидтэй бөгөөд тэдгээр хэрэглэгчдээс нэг болон хэд хэд нь алсаас (энэ нь систем уруу нэвтрэн орох хамгийн нийтлэг тав тухтай арга юм) таны систем уруу нэвтрэн орж байгаа бол тэдгээр хэрэглэгчийн нууц үг дундаасаа сүлжээгээр шиншлэгдэн алдагдах боломжтой байдаг. Анхааралтай системийн админ тэр хэрэглэгчийн алсаас хандсан бүртгэлүүд дээрээс бүр амжилттай болсон нэвтрэлтүүдэд хүртэл сэжигтэй эхлэл хаягууд байгаа эсэхийг хайн шинжилдэг.

Халдагч хэрэглэгчийн бүртгэлд хандаж чадсаны дараа root-г бас эвдэж чадна гэдгийг үргэлж бодож байх хэрэгтэй. Гэхдээ жинхэнэ амьдрал дээр бол сайн аюулгүй байдлыг хангаж нууцлаг болгосон байнга ажиллагааг нь хянаж байдаг систем дээр хэрэглэгчийн бүртгэлд хандах нь халдагч заавал ч үгүй root эрхэд хандаж чадна гэсэн үг биш юм. Энэ ялгааг зөв салгаж ойлгох хэрэгтэй. Учир нь root уруу хандах боломжгүй халдагч ерөнхийдөө өөрийн мөрийг баллаж нууж чаддаггүй бөгөөд тухайн хэрэглэгчийн файлуудыг замбараагүйтүүлэх эсвэл машиныг сүйрүүлэхээс илүүтэйг хийж чаддаггүй. Хэрэглэгчид нь сисадминууд шиг аюулгүй байдлын арга хэмжээг тэр болгон авдаггүй болохоор хэрэглэгчийн бүртгэлийн буулган авалт нь маш элбэг байдаг юм.

Машин дээрх root бүртгэлийг эвдэх боломжит олон аргууд байдгийг системийн администраторууд санаж байх хэрэгтэй. Халдагч нь root-н нууц үгийг мэдэж болно. Эсвэл халдагч root эрхээр ажилладаг серверт алдаа олж сүлжээгээр тэр сервер уруу дамжин орж root-г эвдэж болно. Эсвэл халдагч нь suid-root програмд алдаа байгааг мэдэж хэрэглэгчийн бүртгэлийг эвдэн орсныхоо дараа тэр алдаагаар дамжин root-г эвдэн орж болох юм. Хэрэв халдагч машин дээрх root-г эвдэх аргаа олсон бол заавал арын хаалга суулгах шаардлагагүй болж болох юм. root-н цоорхойнуудын олонхийг тухайн үед аль хэдийн олоод хаачихсан байдаг бөгөөд энэ үед халдагчид өөрийн мөрөө цэвэрлэхэд ихээхэн ажиллагаа шаарддаг болохоор ихэнх халдагчид арын хаалга суулгадаг. Арын хаалга нь систем уруу хандах root хандалтыг халдагчид амархнаар дахин олж авах боломжийг олгодог боловч энэ нь ухаалаг системийн администраторт халдлагыг амархнаар илрүүлэх боломжийг бас олгодог юм. Халдагчийн хамгийн эхлээд эвдэн орсон цоорхойг хааж чаддаггүй болохоор арын хаалга суулгахыг боломжгүй болгох нь магадгүй таны аюулгүй байдалд ашиггүй байж болох юм.

Аюулгүй байдлын засварууд нь олон давхраатай “сонгины хальс” хандлагаар үргэлж шийдэгдэж байх шаардлагатай бөгөөд тэдгээрийг дараах маягаар зэрэглэж болно:

  1. root болон staff бүртгэлүүдийг нууцлаг/аюулгүй болгох.

  2. root-ажилладаг серверүүд болон suid/sgid хоёртын файлуудыг аюулгүй болгох.

  3. Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох.

  4. Нууц үгийн файлыг аюулгүй болгох.

  5. Цөмийн гол хэсэг, түүхий төхөөрөмжүүд болон файлын системүүдийг аюулгүй болгох.

  6. Системд хийгдсэн зохисгүй өөрчлөлтүүдийг түргэн илрүүлэх.

  7. Параной буюу хэт зовнил.

Энэ бүлгийн дараагийн хэсэг нь дээр дурдсан зүйлсүүдийг илүү гүнзгийгээр авч үзэх болно.


15.3. FreeBSD-н аюулгүй байдлыг хангах нь

Тушаалыг Протоколтой харьцуулахад (Command vs. Protocol): Энэ баримтын туршид бид тод текстээр програмыг monospaced фонтоор тусгай тушаалуудыг тэмдэглэх болно. Протоколууд ердийн фонт ашиглах болно. Тэмдэглэгээний энэ ялгаа нь ssh зэргийн хувьд ашигтай, учир нь энэ ssh нь протоколоос гадна бас тушаал юм.

Үүнээс хойшх хэсгүүд нь түрүүчийн бүлгийн сүүлийн хэсэгт дурдсан таны FreeBSD системийг аюулгүй болгох аргуудыг авч үзнэ.


15.3.1. root бүртгэл болон staff бүртгэлүүдийг аюулгүй болгох

Эхлээд хэрэв та root бүртгэлийг аюулгүй болгоогүй бол staff бүртгэлүүдийг аюулгүй болгоход санаа зовсны хэрэггүй. Ихэнх системүүд root бүртгэлд нууц үг өгсөн байдаг. Таны эхний хийх зүйл бол нууц үг үргэлж эвдэгдэж болно гэдгийг бодох хэрэгтэй. Энэ нь та нууц үгээ устгах хэрэгтэй гэсэн үг биш юм. Нууц үг нь машин уруу консол хандалт хийхэд үргэлж хэрэгтэй байдаг. Энэ нь юу гэсэн үг вэ гэхээр та нууц үгийг консолоос гадна эсвэл болж өгвөл бүр su(1) тушаалтай ашиглаж болохоор хийх ёсгүй гэсэн үг юм. Жишээ нь telnet эсвэл rlogin-р хийгдэх шууд root нэвтрэлтүүдийг хаах pty-уудын тохиргоог insecure буюу аюултай гэж /etc/ttys файлд заасан эсэхийг шалгаарай. Хэрэв бусад нэвтрэх үйлчилгээнүүд болох sshd зэргийг ашиглаж байгаа бол шууд root нэвтрэлтүүдийг бас хаасан эсэхийг шалгаарай. Та үүнийг /etc/ssh/sshd_config файлыг засварлан PermitRootLogin тохируулгыг no болгон зааж өгөөрэй. Хандах арга бүр -- FTP зэрэг үйлчилгээнүүдээр ихэвчлэн эвдлэн ордог болохыг бодолцох хэрэгтэй. Шууд root нэвтрэлтүүд зөвхөн системийн консолоор хийгдэхэд зөвшөөрөгдөх ёстой.

Мэдээж систем админы хувьд та root уруу орж чадаж байх ёстой болохоор бид хэдэн цоорхой үлдээдэг. Гэхдээ эдгээр цоорхойнууд нь нэмэлт нууц үг шалгаж ажилладаг байхаар бид хийдэг. root-г хандах боломжтой байлгах нэг арга нь тохирох staff бүртгэлүүдийг wheel бүлэгт (/etc/group файлд) нэмэх явдал юм. wheel бүлэгт оруулсан staff-ийн гишүүдэд root уруу su хийхийг зөвшөөрдөг. Та staff-ийн гишүүдийг тэдгээрийн нууц үгийн оруулгад wheel бүлэгт оруулан байрлуулж анхнаас нь wheel хандалт өгч хэзээ ч болохгүй. Staff бүртгэлүүдийг staff бүлэгт оруулах ёстой бөгөөд тэгээд дараа нь /etc/group файлын wheel бүлэгт нэмэх ёстой. Зөвхөн root хандалт заавал шаардлагатай тийм staff-ийн гишүүдийг wheel бүлэгт оруулах ёстой. Kerberos зэрэг жинхэнээ шалгуулж нэвтрэх аргыг ашиглаж байх тохиолдолд заавал wheel бүлэгт оруулалгүйгээр root бүртгэл дэх Kerberos-ийн .k5login файлыг ашиглаж root уруу ksu(1) хийхийг зөвшөөрөх бас боломжтой байдаг. Энэ нь магадгүй давуу шийдэл байж болох юм. Учир нь хэрэв халдагч таны нууц үгийн файлыг олж аван staff бүртгэлийг эвдлэн орж чадах бол wheel арга нь халдагчид root-г эвдэх боломжийг олгосон хэвээр байдаг юм. wheel аргатай байх нь огт аргагүй байхаас илүү боловч энэ нь заавал ч үгүй хамгийн аюулгүй сонголт бас биш юм.

Бүртгэлийг бүрэн түгжихийн тулд pw(8) тушаалыг ашиглах хэрэгтэй:

# pw lock staff

Энэ нь ssh(1)-ийг оролцуулаад хэрэглэгчийг ямар ч арга ашиглан нэвтрэн орохыг хориглоно.

Бүртгэлүүдэд хандахыг хориглох өөр нэг арга бол нууцлагдсан нууц үгийг ганц “*” тэмдэгтээр солих явдал юм. Энэ тэмдэгт нь нууцлагдсан нууц үгтэй хэзээ ч таарахгүй бөгөөд хэрэглэгчийн хандалтыг хаах болно. Жишээ нь доор дурдсан staff бүртгэлийг:

foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh

Ийм болгон өөрчлөх хэрэгтэй:

foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh

Энэ нь foobar хэрэглэгчийг ердийн аргууд ашиглан нэвтрэн орох боломжийг хаадаг. Энэ хандалт хязгаарлах арга нь Kerberos ашиглаж байгаа сайтууд эсвэл хэрэглэгч ssh(1) ашиглан түлхүүрүүд тохируулсан тохиолдлууд зэрэгт ажилладаггүй.

Эдгээр аюулгүй байдлын арга замууд нь бас таныг илүү хязгаарласан серверээс арай бага хязгаарласан машин уруу нэвтрэн орж байна гэж тооцдог. Жишээ нь хэрэв таны гол хайрцаг чинь бүх л төрлийн серверүүд ажиллуулж байвал таны ажлын компьютер чинь ямрыг ч ажиллуулах ёсгүй. Өөрийн компьютерийг боломжийн аюулгүй болгохын тулд та ерөөсөө сервергүй болтол аль болох цөөн сервер ажиллуулах хэрэгтэй бөгөөд та нууц үгээр хамгаалагдсан дэлгэц хоослогч ажиллуулах хэрэгтэй. Мэдээж ажлын компьютер уруу физик хандалт өгвөл халдагч ямар ч төрлийн аюулгүй байдлыг та хангасан байлаа гэсэн эвдэж чадна. Энэ нь таны бодох ёстой асуудлын нэг юм. Гэхдээ эвдлэн оролтуудын олонхи нь алсаас сүлжээгээр дамжин таны ажлын компьютер эсвэл серверүүдэд физик хандалт байхгүй хүмүүсээс ирдэг гэдгийг та бас л бодолцох хэрэгтэй юм.

Kereberos мэтийг ашиглах нь танд staff бүртгэлийн нууц үгийг нэг газар өөрчлөх эсвэл хаах боломжийг олгох бөгөөд staff-ийн гишүүдийн бүртгэл байж болох бүх машинууд дээр нэн даруй бас үйлчилдэг. Хэрэв staff-ийн гишүүний бүртгэл эвдэгдсэн бол түүний нууц үгийг бүх машинууд дээр нэн даруй өөрчлөх тэр боломжийг дутуу үнэлэх ёсгүй юм. Тусдаа байгаа нууц үгүүдийг N машинууд дээр өөрчлөх нь зовлонтой байдаг. Мөн та Kerberos-д нууц үг дахин өгөлтийг ноогдуулж болох бөгөөд Kerberos тасалбарыг хэсэг хугацааны дараа дуусдагаар хийж болохоос гадна Kerberos систем нь тодорхой хугацааны (жишээ нь сар бүр) дараа хэрэглэгчийг шинэ нууц үг сонгохыг шаарддагаар бас тохируулж болдог.


15.3.2. root-ажилладаг серверүүд болон suid/sgid хоёртын файлуудыг аюулгүй болгох

Хянамгай сисадмин илүү ч үгүй дутуу ч үгүй зөвхөн өөрийн хэрэгтэй серверүүдийг ажиллуулдаг. Гуравдагч талын серверүүд ихэвчлэн хамгийн алдаатай байх хандлагатай гэдгийг санаж байх хэрэгтэй. Жишээ нь imapd эсвэл popper серверийн хуучин хувилбарыг ажиллуулна гэдэг нь универсал root тасалбарыг бүх дэлхийд өгч байна гэсэн үг юм. Та няхуур шалгаагүй сервер битгий ажиллуул. Олон серверүүд заавал root эрхээр ажиллах шаардлагагүй байдаг. Жишээ нь ntalk, comsat, болон finger дэмонуудыг тусгай хэрэглэгчийн sandboxes буюу хамгаалагдсан хязгаарлагдмал орчинд ажиллуулах боломжтой байдаг. Хамгаалагдсан хязгаарлагдмал орчин нь асар их төвгүүдийг давж хийгээгүй л бол төгс биш бөгөөд өмнө дурдсан сонгины хандлагаар аюулгүй байдалд хандах нь хэвээр байна: хэрэв хэн нэгэн нь хамгаалагдсан хязгаарлагдмал орчинд ажиллаж байгаа серверт эвдэн орж чадсан ч гэсэн тэд хамгаалагдсан хязгаарлагдмал орчныг бас эвдэн гарах хэрэг болно. Аль болох олон давхаргыг халдагч эвдлэх ёстой болох тусам тэдгээрийн амжилттай болох нь улам багасах болно. Урьд нь root цоорхойнууд нь системийн үндсэн серверүүдээс авахуулаад бараг л бүх root ажилладаг сервер дээр олдож байсан. Хэрэв таны ажиллуулдаг машин уруу хүмүүс зөвхөн sshd ашиглан нэвтэрдэг бөгөөд telnetd, rshd эсвэл rlogind хэзээ ч ашиглан нэвтэрдэггүй бол эдгээр үйлчилгээнүүдийг хаагаарай!

Одоо FreeBSD нь ntalkd, comsat, болон finger үйлчилгээнүүдийг хамгаалагдсан хязгаарлагдмал орчинд анхдагчаар ажиллуулдаг. Хамгаалагдсан хязгаарлагдмал орчинд ажиллуулж болох өөр нэг програм нь named(8) юм. /etc/defaults/rc.conf нь named-г хамгаалагдсан хязгаарлагдмал орчинд ажиллуулахад шаардлагатай нэмэлт өгөгдлүүдийг тайлбар хэлбэрээр агуулсан байдаг. Таны шинэ систем эсвэл байгаа системээ шинэчилж байгаагаас хамааран тэдгээр хамгаалагдсан хязгаарлагдмал орчинд ашиглагдах тусгай хэрэглэгчийн бүртгэлүүд суулгагдаагүй байж болох юм. Хянамгай сисадмин судалгаа хийж серверүүдийг хамгаалагдсан хязгаарлагдмал орчинд аль болох ажиллуулдаг.

Хамгаалагдсан хязгаарлагдмал орчинд ерөнхийдөө ажилладаггүй хэд хэдэн серверүүд байдаг: sendmail, popper, imapd, ftpd, болон бусад. Эдгээрийн зарим шиг бас өөр серверүүд байдаг боловч тэдгээрийг суулгах нь таны хүсэж байгаагаас илүү (амархан байх гэсэн асуудал энд сөхөгдөж байна) их ажиллагаа шаардаж магадгүй юм. Та эдгээр серверүүдийг магадгүй root эрхээр ажиллуулж тэдгээрт учирч болох эвдрэн оролтуудыг илрүүлэх өөр арга замуудад найдах хэрэгтэй болж болох юм.

Системийн өөр нэг том боломжтой root цоорхойнууд бол системд суусан suid-root болон sgid хоёртын файлууд юм. rlogin зэрэг эдгээрийн ихэнх нь /bin, /sbin, /usr/bin, эсвэл /usr/sbin сангуудад байрладаг. Юу ч 100% аюулгүй байдаггүй боловч системийн анхдагч suid болон sgid хоёртын файлууд нь боломжийн хэрээр аюулгүй гэж тооцогддог. Гэсэн хэдий ч эдгээр хоёртын файлуудад root цоорхойнууд үе үе олддог. xterm-г (энэ нь ихэвчлэн suid байдаг) эмзэг болгосон root цоорхойнууд 1998 онд Xlib-д олджээ. Харамсахаасаа өмнө аюулгүй байж байсан нь дээр учраас хянамгай сисадмин зөвхөн staff ажиллуулах ёстойгоор staff зөвхөн хандаж чадах тусгай бүлэгт зөвшөөрч suid хоёртын файлуудыг хязгаарладаг бөгөөд хэн ч ашигладаггүй suid хоёртын файлуудыг ажиллуулж болохгүй болгодог (chmod 000). Дэлгэцгүй серверт ер нь xterm хоёртын файл хэрэгцээгүй юм. Sgid хоёртын файлууд нь бас л аюултай юм. Хэрэв халдагч sgid-kmem хоёртын файлыг эвдэж чадвал тэр /dev/kmem-г уншиж чадах бөгөөд ингэснээр нууц үгтэй дурын бүртгэлийг эвдэн орж шифрлэсэн нууц үгийн файлыг уншихад хүргэдэг. Бас kmem бүлгийг эвдсэн халдагч secure буюу аюулгүй аргаар дамжин нэвтрэн орсон хэрэглэгчдийн ашиглаж байгаа pty-уудаар илгээгдсэн гарын товчнуудын даралтуудыг хянаж чаддаг. tty бүлгийг эвдсэн халдагч бараг дурын хэрэглэгчийн tty-д бичиж чадна. Хэрэв хэрэглэгч гар дуурайх боломж бүхий терминал програм эсвэл эмулятор ажиллуулж байгаа бол хэрэглэгчийн терминалыг тушаал буцаан харуулахаар болгодог өгөгдлийн урсгалыг халдагч үүсгэж дараа нь тэр тушаалыг тэр хэрэглэгчийн эрхээр ажиллуулдаг.


15.3.3. Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох

Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох нь ихэвчлэн хамгийн хэцүү байдаг. Та өөрийн staff-д ширүүн хандалтын хязгаарлалтууд оногдуулж тэдгээрийн нууц үгүүдийг “од болгож” болох боловч та ердийн хэрэглэгчийн бүртгэлүүдийг яг ингэж хязгаарлаж чадахгүй байж болох юм. Хэрэв та хангалттай хяналттай байх юм бол таны аз болж хэрэглэгчийн бүртгэлүүдийг зөвөөр аюулгүй болгож чадна. Хэрэв үгүй бол та тэдгээр бүртгэлүүдийг хянахдаа ердөө л илүү сонор сэрэмжтэй байх хэрэгтэй. ssh болон Kerberos-г хэрэглэгчийн бүртгэлүүдэд ашиглах нь нэмэлт удирдлага болон техникийн дэмжлэг шаардлагатайгаас болоод илүү асуудалтай байдаг боловч энэ нь шифрлэсэн нууц үгийн файлыг бодох юм бол маш сайн шийдэл хэвээр байдаг.


15.3.4. Нууц үгийн файлыг аюулгүй болгох

Цорын ганц итгэлтэй арга бол аль болох олон нууц үгүүдийг од болгон тэдгээр бүртгэлүүдэд хандахын тулд ssh эсвэл Kerberos ашигла. Шифрлэгдсэн нууц үгийн файлыг (/etc/spwd.db) зөвхөн root уншиж чаддаг боловч халдагч root-бичих хандалт олж авч чадаагүй ч гэсэн тэр файлд унших эрх олж авах боломжтой байж болох юм.

Таны аюулгүй байдлын скриптүүд нууц үгийн файлд хийгдсэн өөрчлөлтүүдийг үргэлж шалгаж тайлагнах шаардлагатай (доорх Файлын бүрэн бүтэн байдлыг шалгах хэсгийг үзнэ үү).


15.3.5. Цөмийн гол хэсэг, түүхий төхөөрөмжүүд болон файлын системүүдийг аюулгүй болгох

Хэрэв халдагч root-г эвдсэн бол тэр юуг ч хийж чадах боловч зарим ашиг сонирхлууд байдаг. Жишээ нь орчин үеийн ихэнх цөмүүдэд пакет шиншлэх төхөөрөмжийн драйвер бүтээгдсэн байдаг. FreeBSD-д энэ нь bpf төхөөрөмж гэж нэрлэгддэг. Халдагч ердөө буулган авсан машин дээрээ пакет шиншлэгчийг ажиллуулахыг оролддог. Та халдагчид энэ боломжийг өгөх хэрэггүй бөгөөд ихэнх системүүдэд bpf төхөөрөмжийг эмхэтгэн оруулах шаардлагагүй юм.

Гэхдээ bpf төхөөрөмжийг хаасан ч гэсэн та /dev/mem болон /dev/kmem файлуудад бас санаа тавих хэрэгтэй. Энэнээс болоод халдагч түүхий (raw) төхөөрөмжүүдэд бичиж чадсан хэвээр байна. Мөн цөмийн бас нэг боломж болох модуль ачаалагч гэж нэрлэгддэг kldload(8) байдаг. Самбаатай халдагч KLD модуль ашиглаад өөрийн bpf төхөөрөмж эсвэл бусад шиншлэх төхөөрөмжийг ажиллаж байгаа цөмд суулгадаг. Эдгээр асуудлуудаас зайлсхийхийн тулд та цөмийг илүү өндөр аюулгүй байдлын түвшинд ядаж аюулгүйн түвшин 1-д ажиллуулах хэрэгтэй.

Цөмийн аюулгүй байдлын түвшинг янз бүрийн аргаар тохируулж болно. Ажиллаж байгаа цөмийн аюулгүй байдлын түвшинг нэмэгдүүлэх хялбар алга бол цөмийн kern.securelevel хувьсагчийг sysctl ашиглан өөрчлөх явдал юм:

# sysctl kern.securelevel=1

Анхдагчаар FreeBSD цөм аюулгүй байдлын -1 түвшинтэй ачаалдаг. Аюулгүй байдлын түвшинг администратор эсвэл эхлүүлэх скриптүүд дэх тохиргооноос болоод init(8)-ээр өөрчлөөгүй л бол -1 хэвээр байх болно. /etc/rc.conf файлд kern_securelevel_enable хувьсагчийг YES ба kern_securelevel хувьсагчийн утгыг аюулгүй байдлын хүссэн түвшин рүүгээ болгон тохируулж системийг эхлүүлэх үед аюулгүй байдлын түвшинг нэмэгдүүлж болно.

Эхлүүлэх скриптүүд дөнгөж дуусаад байх үед FreeBSD системийн аюулгүй байдлын анхдагч түвшин -1 байдаг. Үүнийг “insecure mode” буюу “аюулгүй байдлыг хангаагүй горим” гэдэг бөгөөд учир нь хувиршгүй байлын тугуудыг болиулах, бүх төхөөрөмжөөс уншиж эсвэл тэдгээр рүү бичих гэх зэргийг хориогүй байдаг.

Аюулгүй байдлын түвшинг 1 эсвэл илүү өндөр утгаар тохируулсны дараа зөвхөн нэмэх болон хувиршгүй файлууд идэвхжиж тэдгээрийг болиулах боломжгүй болон түүхийн төхөөрөмжүүдэд хандахыг хориглодог. Илүү өндөр түвшингүүд бүр илүү олон үйлдлүүдийг хязгаарладаг. Төрөл бүрийн аюулгүй байдлын түвшнүүдийн үйлчилгээний талаарх дэлгэрэнгүй тайлбарыг security(7) гарын авлагын хуудсыг уншина уу (FreeBSD 7.0-с хуучин хувилбаруудын хувьд init(8) гарын авлагын хуудсыг уншина уу).

Тэмдэглэл: Аюулгүйн түвшинг 1 эсвэл илүү өндөр түвшнээр дээшлүүлэх нь X11 (/dev/io руу хандах хандалт хаалттай байна) эсвэл FreeBSD-ийн бүтээлтийг эхээс суулгах (процессын installworld хэсэг зарим файлуудын зөвхөн нэмэгдэх болон хувиршгүй тугуудыг түр зуур өөрчлөхийг шаарддаг) болон бусад цөөн тохиолдлуудын хувьд асуудлууд гаргаж болох юм. Заримдаа, жишээ нь X11-ийн хувьд ачаалах явцад xdm(1)-ийг нэлээн эрт аюулгүйн түвшин бага байгаа үед нь ажиллуулж энэ асуудлыг тойрон гарах боломжтой байж болох юм. Үүнтэй адил тойрон гарах арга замууд нь бүх аюулгүй байдлын түвшингүүд эсвэл тэдгээрийн мөрдөж шаарддаг боломжит бүх хязгаарлалтуудын хувьд боломжтой биш байж болох юм. Урьдчилаад бага зэрэг төлөвлөх нь зүйтэй байдаг. Аюулгүйн түвшин бүр системийн хэрэглээг нэлээн багасгах боломжтой байдаг учир тэдгээртэй хамааралтай хязгаарлалтуудыг ойлгох нь чухал юм. Энэ нь бас анхдагч тохиргоог сонгохыг илүү хялбар болгож санамсаргүй явдлаас урьдчилан сэргийлэх болно.

Хэрэв цөмийн аюулгүйн түвшин 1 эсвэл түүнээс илүү утгаар дээшлүүлэгдсэн бол schg тугийг чухал эхлүүлэх хоёртын файлууд, сангууд болон скрипт файлууд (өөрөөр хэлбэл аюулгүйн түвшин тохируулагдах хүртэлх ажиллах бүх файлууд) дээр тохируулах нь ашигтай байж болох юм. Энэ нь хэтэрхий хийгдэж байж болох бөгөөд аюулгүйн өндөр түвшинд ажиллаж байхад системийг шинэчлэх үйл явцыг илүү хэцүү болгодог. Арай бага хязгаарлалттай өөр нэг боломж нь системийг илүү өндөр аюулгүйн түвшинд ажиллуулж гэхдээ schg тугийг системийн файл болон сан бүр дээр тохируулахгүй байх явдал юм. Өөр нэг боломж нь / болон /usr санг зөвхөн уншигдахаар холбох явдал юм. Юу зөвшөөрөгдсөн байх дээр хэтэрхий чанга байх нь халдлага илрүүлэлтийн бүх чухал зүйлсийг хязгаарлаж болох юм.


15.3.6. Файлын бүрэн бүтэн байдлыг шалгах нь: Хоёртын файлууд, Тохиргооны файлууд, гэх мэт.

Тэр мөч ирэхэд, та зөвхөн системийн гол тохиргоо болон хяналтын файлуудаа ая тухын хүчин зүйл урьтахаас хамаагүй өмнө хамгаалж чадна. Жишээ нь chflags тушаал ашиглан / болон /usr сангууд дахь ихэнх файлуудад schg битийг тохируулах нь магадгүй үр ашиггүй байж болох бөгөөд учир нь ингэснээр файлуудыг хамгаалахын хажуугаар бас илрүүлэх цонхыг хаадаг юм. Таны аюулгүй байдлын сонгины сүүлийн давхарга нь илрүүлэлт бөгөөд энэ нь хамгийн чухал юм. Хэрэв та боломжит халдагчдыг илрүүлж чадахгүй л бол аюулгүй байдлын бусад үлдсэн асуудлуудын талаар бодоод ч бараг хэрэггүй юм (эсвэл бүр дэмий юм, аюулгүй байдлыг танд буруу ойлгуулахад хүргэдэг). Сонгины ажлын хагас нь халдагчийг үйлдэл дээр нь барихын тулд түүнийг зогсоохын оронд харин удаашруулах явдал юм.

Халдлагыг илрүүлэх хамгийн сайн арга бол өөрчлөгдсөн, алга болсон, эсвэл гэнэтийн файлуудыг хайх явдал юм. Өөрчлөгдсөн файлуудыг хайх хамгийн сайн арга бол тэдгээрийг өөр (ихэвчлэн төвлөрсөн) хязгаарлагдмал хандалттай системээс хайх явдал юм. Өөрийн аюулгүй байдлын скриптийг нэмэлт аюулгүй байдал хангасан хязгаарлагдмал хандалттай систем дээр бичих нь тэдгээрийг боломжит халдагчдад бараг харагдуулдаггүй бөгөөд энэ нь чухал юм. Давуу талыг хамгийн ихээр авахын тулд ерөнхийдөө хязгаарлагдмал хандалттай хайрцагт бусад машинуудад хандах тэр ач холбогдолтой хандалтыг өгөх хэрэгтэй. Үүнийг ихэвчлэн бусад машинуудын зөвхөн унших NFS экспортыг хязгаарлагдмал хандалттай хайрцагт өгөх эсвэл ssh түлхүүр хослолыг тохируулж хязгаарлагдмал хандалттай хайрцгийг бусад машинууд уруу ssh хийхийг зөвшөөрөх замаар хийдэг. Өөрийн сүлжээний урсгалыг тооцохгүй юм бол NFS нь хамгийн харагддаггүй арга юм -- энэ нь клиент хайрцаг бүр дэх файлын системүүдийг монитор хийхийг танд зөвшөөрч бараг л илэрдэггүй. Хэрэв таны хязгаарлагдмал хандалттай сервер нь клиент хайрцагнууд уруу hub буюу салаалагч эсвэл чиглүүлэлтийн хэд хэдэн давхаргаар дамжин холбогдсон бол NFS арга нь хэтэрхий аюултай (сүлжээний хувьд) байж болох бөгөөд ssh-ийг ашиглах нь түүний гаргадаг аудит мөрийн замуудтай байсан ч гэсэн магадгүй илүү сонголт байж болох юм.

Монитор хийгдэх клиент систем уруу хандахад хамгийн багаар бодоход унших эрхийг та хязгаарлагдмал хандалттай хайрцагт өгсний дараа яг мониторыг хийхдээ скрипт бичих хэрэгтэй. Өгөгдсөн NFS холболтод find(1) болон md5(1) зэрэг энгийн системийн хэрэгслүүд ашиглан та скриптүүд бичиж болно. Клиент хайрцгийн файлуудад өдөрт нэг удаа физикээр md5 хийж /etc болон /usr/local/etc сангууд дахь хяналтын файлуудыг бүр илүү давтамжтайгаар шалгаж байх нь зүйтэй юм. Хязгаарлагдмал хандалттай машины зөв гэж тооцсон md5 мэдээлэлтэй харьцуулахад тарахгүй файлууд олдвол сисадминд үүнийг очиж шалгахыг хашгиран мэдээлэх ёстой. Аюулгүй байдлын сайн скрипт нь тохирохгүй suid хоёртын файлууд болон / болон /usr зэрэг системийн хуваалтууд дээрх шинээр үүссэн эсвэл устгагдсан файлуудыг бас шалгадаг.

NFS биш ssh-ийг ашиглаж байх үед аюулгүй байдлыг скрипт бичих нь бүр илүү хэцүү байдаг. Та скриптүүдийг харагдуулж ажиллуулахын тулд тэдгээрийг клиент хайрцаг уруу үндсэндээ scp хийх хэрэгтэй бөгөөд аюулгүй байдлаа бодох юм бол та тэдгээр скриптүүдийн ашигладаг хоёртын файлуудыг (find гэх зэрэг) бас scp хийх хэрэгтэй юм. Клиент хайрцаг дээрх ssh клиент аль хэдийн эвдэгдсэн байж болох юм. Аюултай холболтоор ажиллаж байгаа бол ssh-г ашиглах нь шаардлагатай байж болох боловч бас түүнтэй ажиллахад бүр илүү хэцүү байдаг юм.

Аюулгүй байдлын сайн скрипт нь .rhosts, .shosts, .ssh/authorized_keys гэх зэрэг MD5 шалгалтын хүрээний гадуур байх хэрэглэгч болон staff-ийн гишүүдийн хандалтын тохиргооны файлууд дахь өөрчлөлтүүдийг бас шалгадаг.

Хэрэв та асар их хэрэглэгчийн дискний зайтай бол тэдгээр хуваалтууд дээр байгаа файл бүр дээр ажиллахад хэт удаж болох юм. Энэ тохиолдолд suid хоёртын файлуудыг хаах холболтын тугуудыг зааж өгөх нь зүйтэй юм. nosuid нь таны хайж байгаа тэр тохируулга юм. Энэ давхаргын зорилго нь эвдлэн оролтын оролдлогуудыг амжилттай эсвэл амжилтгүй болсноос үл хамааран илрүүлэх явдал учраас ямар ч гэсэн ядаж долоо хоногт нэг удаа та тэдгээр файлуудыг магадгүй шалгаж байх хэрэгтэй юм.

Процессийн бүртгэл хийх нь (accton(8)-г үзнэ үү) эвдлэн оролтын дараах үнэлэх арга замууд болон тусалж болох харьцангуй бага ачаалал бүхий үйлдлийн системийн боломж юм. Энэ нь эвдлэн орсны дараа файлыг хөндөөгүй хэвээр гэж үзэн халдагч систем уруу хэрхэн эвдлэн орсныг мөрдөхөд ялангуяа ашигтай байдаг.

Эцэст нь аюулгүй байдлын скриптүүд нь бүртгэлийн файлуудыг процесс хийх ёстой бөгөөд бүртгэлүүд өөрсдөө аль болох аюулгүй байдлаар үүсгэгдэх ёстой бөгөөд алсын syslog нь их ашигтай байж болох юм. Халдагч өөрийн мөрийг арилгахыг оролдох бөгөөд эхний эвдлэн оролтын арга болон хугацааг мөрдөхөд сисадмины хувьд бүртгэлийн файлууд нь маш чухал байдаг юм. Бүртгэлийн файлуудын байнгын бичлэгийг хадгалах нэг арга нь системийн консолыг сериал порт уруу ажиллуулж консолуудыг хянаж аюулгүй машин дээр мэдээллийг цуглуулах явдал юм.


15.3.7. Параной буюу хэт зовнил

Бага зэргийн хэт зовнил буруудахгүй. Дүрэм болгож тав тухтай байдлыг алдагдуулдаггүй дурын тооны аюулгүй байдлын боломжуудыг сисадмин нэмж болох бөгөөд зарим анхаарлыг бодолцон тав тухтай байдалд нөлөөлөх аюулгүй байдлын боломжуудыг бас нэмж болох юм. Бүр илүү чухал нь аюулгүй байдлын администратор үүнийг бага зэрэг хольж хэрэглэж болно -- хэрэв та энэ баримтад дурдсан заавруудыг үгчлэн ашиглавал энэ баримтыг уншсан ирээдүйн халдагчид та өөрийн арга замуудыг заан өгч байна гэсэн үг юм.


15.3.8. Үйлчилгээг Зогсоох Халдлагууд

Энэ хэсэг нь Үйлчилгээг Зогсоох халдлагуудыг хамарна. DoS халдлага нь ихэвчлэн пакетийн халдлага байдаг. Таны сүлжээг дүүргэж байгаа орчин үеийн хууран мэхэлсэн пакетийн халдлагуудын эсрэг нэг их юм хийж чадахгүй ч гэсэн халдлагууд таны серверүүдийг унагахгүйн тулд та ерөнхийдөө хохирлыг хязгаарлаж болно:

  1. Серверийн fork хийлтийг хязгаарлах.

  2. Springboard буюу бусад халдлагуудыг хязгаарлах (ICMP хариу халдлагууд, ping цацалт, гэх мэт.).

  3. Цөмийн чиглүүлэлтийн кэшийг хэт ачаалах.

Нийтлэг DoS халдлагын дүр зураг бол fork хийгдэж байгаа серверт халдаж түүнээр асар их хүүхэд процесс үүсгүүлж эцсийн эцэст хост системийн хувьд санах ой, файлын тодорхойлогчууд гэх мэтүүд дуусч зогсоход хүргэдэг. inetd (inetd(8)-г үзнэ үү) нь энэ төрлийн халдлагыг хязгаарлах хэд хэдэн тохируулгатай. Машиныг зогсоохоос хамгаалах боломжтой боловч ерөнхийдөө үйлчилгээг халдлагад өртүүлэхгүй байх боломжгүйг энд тэмдэглэх нь зүйтэй юм. inetd гарын авлагын хуудсыг анхааралтай уншиж -c, -C, болон -R тохируулгуудад ялангуяа анхаарлаа хандуулаарай. Хууран мэхэлсэн IP халдлагууд нь inetd дахь -C тохируулгыг хуурах учраас ихэвчлэн тохируулгуудын хослолыг ашиглах шаардлагатай. Зарим дан серверүүд өөрийн fork хийгдэхийг хязгаарлах параметрүүдтэй байдаг.

Sendmail нь -OMaxDaemonChildren тохируулгатай байдаг бөгөөд энэ нь Sendmail-ийг ачаалал хязгаарлах тохируулгатай ажиллуулж ачааллын хоцрогдол үүсгэснээс хавьгүй илүүтэйгээр ажилладаг. Та Sendmail-г ажиллуулахдаа хүссэн ачааллыг даахаар гэхдээ компьютерийг унагахаар их хэмжээний тоогоор Sendmail-үүдийг ажиллуулах биш түүнээс багаар MaxDaemonChildren параметрийг хангалттай өндрөөр тавьж өгөх хэрэгтэй. Мөн sendmail-ийг дарааллын горимоор (-ODeliveryMode=queued) ажиллуулах болон дэмонг (sendmail -bd) дараалалтай (sendmail -q15m) ажиллуулдгаас тусад нь ажиллуулах нь чухал юм. Хэрэв та шууд илгээх горимыг хүсэж байгаа бол та дарааллыг -q1m зэргээр бүр бага интервалаар ажиллуулах боломжтой боловч MaxDaemonChildren тохируулгыг боломжийн утгаар хоорондоо холбоотой амжилтгүйтлүүдээс sendmail-ийг хамгаалахын тулд зааж өгсөн эсэхээ шалгаарай.

Syslogd-д шууд халдаж болох учраас аль болох -s тохируулгыг эсвэл -a тохируулгыг ашиглахыг танд зөвлөдөг.

Шууд халдлага хийгдэж болох TCP Wrapper-ийн буцах identd зэрэг буцан холбогддог үйлчилгээнүүдийн хувьд та маш хянамгай байх хэрэгтэй. Ийм учраас та TCP Wrapper-ийн буцах identd боломжийг ерөнхийдөө ашиглах хэрэггүй юм.

Та өөрийн захын чиглүүлэгчүүд дээрээ дотоод үйлчилгээнүүд уруугаа гаднаас хандуулахгүй болгож галт ханаар хамгаалах нь зүйтэй юм. Үүний цаадах санаа нь гаднаас ирж болзошгүй сүлжээ дүүргэх халдлагаас өөрийн LAN-г хамгаалах явдал бөгөөд сүлжээн дээр тулгуурласан root эрхийг буулгахаас дотоод үйлчилгээнүүдийг хамгаалах зүйлс тийм их биш юм. exclusive буюу хамааруулаагүй галт ханыг үргэлж тохируулах хэрэгтэй, өөрөөр хэлбэл “A, B, C, D болон M-Z портуудаас бусад бүгдийг галт ханаар хамгаалах хэрэгтэй”. Ингэснээр та named (хэрэв та бүсийн хувьд анхдагч бол), ntalkd, sendmail болон бусад Интернэтээс хандах үйлчилгээнүүд зэрэг зарим нэг тусгай үйлчилгээнүүдийн портуудаас бусад бүх бага дугаарын портуудыг галт ханаар хамгаалж чадах юм. Хэрэв та галт ханыг өөр аргаар -- inclusive буюу хамааруулсан эсвэл зөвшөөрсөн галт хана маягаар тохируулахыг оролдвол хэд хэдэн үйлчилгээнүүдийг “хаахаа” мартаж магадгүй юм, эсвэл та шинэ дотоод үйлчилгээ нэмээд галт ханаа шинэчлэхээ мартаж болох юм. Та галт хана дээр зөвшөөрсөнтэй адил үйлдлийг нэвтрүүлэхийн тулд бага дугаарын портуудыг нээлгүйгээр өндөр дугаарын портуудыг онгойлгож болох юм. Мөн FreeBSD нь динамик холболтод хэрэглэгддэг портуудыг sysctl-ийн төрөл бүрийн net.inet.ip.portrange хувьсагчуудаар (sysctl -a | fgrep portrange) хянах боломжийг танд олгодгийг бас тэмдэглэх нь зүйтэй юм. Энэ нь бас таны галт ханын тохиргооны төвөгтэй байдлыг амарчилдаг юм. Жишээ нь та ердийн 4000-аас 5000 хүртэлх портууд болон 49152-оос 65535 хүртэлх өндөр дугаарын портуудыг ашигладаг бол 4000-аас бага бүгдийг өөрийн галт хана дээр хаах хэрэгтэй (мэдээж Интернэтээс ханддаг хэдэн тусгай портуудаас бусад).

Өөр нийтлэг DoS халдлагуудын нэг нь springboard халдлага юм -- сервер, дотоод сүлжээ эсвэл бусад машиныг хариу үйлдэл хийхийг нь ихэсгэж хэт ачаалахад хүргэдэг халдлага юм. Ийм маягийн хамгийн нийтлэг халдлага нь ICMP ping broadcast буюу цацалт юм. Халдагч таны LAN-ий цацах хаяг уруу илгээсэн ping пакетийнхаа эхлэл IP хаягийг халдахыг хүсэж байгаа машиныхаа IP хаягаар сольж хуурдаг. Хэрэв таны захын чиглүүлэгчүүд цацах хаяг уруу илгээх ping пакетуудыг зогсоохоор тохируулагдаагүй бол таны LAN хангалттай хариу үүсгэн хууран мэхэлсэн эхлэл хаяг уруу илгээж, ялангуяа халдагч хэдэн арван цацах хаягууд уруу өөр өөр хэдэн арван сүлжээнүүдээр дамжин энэ башир аргаа ашигласан үед, хохирогчийг дүүргэдэг. 120 мегабайтаас илүү хэмжээний цацах халдлага одоогоор хэмжигдээд байна. Энэ төрлийн хоёр дахь нийтлэг халдлага нь ICMP-ийн алдаа тайлагнах системийн эсрэг халдлага юм. ICMP алдааны мэдэгдэл үүсгэдэг пакетуудыг бүтээж халдагч серверийн орж ирж байгаа сүлжээг дүүргэж ингэснээр серверийг өөрийн гарах сүлжээг ICMP хариунуудаар дүүргэхэд хүргэдэг. Энэ төрлийн халдлага нь ялангуяа хэрэв сервер үүсгэж байгаа ICMP хариунуудаа хангалттай хурднаар шавхан гаргаж чадахгүй байгаа бол серверийг санах ойгүй болгож сүйрүүлж бас болох юм. sysctl-ийн net.inet.icmp.icmplim хувьсагчийг ашиглан эдгээр халдлагуудыг хязгаарлах хэрэгтэй. Springboard төрлийн халдлагуудын сүүлийн гол ангилал нь udp цуурай үйлчилгээ зэрэг зарим дотоод inetd үйлчилгээнүүдтэй холбоотой юм. Халдагч UDP пакетийг хууран мэхэлж A болон B сервер нь хоёулаа таны LAN-д байгаа тийм A серверийн цуурай порт дээрх эхлэл хаягаар болон төгсгөл хаягийг B серверийн цуурай порт дээрх хаягаар сольдог. Уг хоёр сервер дараа нь энэ ганц пакетийг хоорондоо шидэлцдэг. Эдгээр серверүүд болон тэдгээрийн LAN-г энэ маягаар халдагч хэдхэн пакетуудыг хатган оруулан хэт ачаалж чаддаг. Үүнтэй адил асуудлууд дотоод chargen портод бас байдаг. Чадварлаг сисадмин эдгээр бүх дотоод inetd тест үйлчилгээнүүдийг хаадаг.

Хууран мэхэлсэн пакетийн халдлагуудыг цөмийн чиглүүлэлтийн кэшийг хэт ачаалахад хэрэглэж болдог. net.inet.ip.rtexpire, rtminexpire, болон rtmaxcache sysctl параметрүүдийг үзнэ үү. Дурын эхлэл IP хаягийг ашигласан хууран мэхэлсэн пакетийн халдлага нь чиглүүлэлтийн хүснэгтэд түр зуур кэш хийгдсэн чиглүүлэлтийг цөмөөр үүсгүүлэхэд хүргэдэг бөгөөд энэ нь netstat -rna | fgrep W3 тушаалаар харагддаг. Эдгээр чиглүүлэлтүүд нь ихэвчлэн 1600 секунд орчим хугацааны дотор дуусдаг. Хэрэв цөм кэш хийгдсэн чиглүүлэлтийн хүснэгт хэтэрхий том болсныг илрүүлэх юм бол rtexpire динамикаар багасгадаг боловч rtminexpire-с бага болтол хэзээ ч багасгадаггүй. Хоёр асуудал байдаг:

  1. Бага ачаалагдсан сервер гэнэт халдлагад өртөхөд цөм хангалттай хурдан хариу үйлдэл хийдэггүй.

  2. rtminexpire хувьсагч нь үргэлжилсэн халдлагыг цөм дааж чадахаар хангалттай бага байдаггүй.

Хэрэв таны серверүүд Интернэтэд T3 эсвэл илүү хурдаар холбогдсон бол sysctl(8)-оор rtexpire болон rtminexpire хувьсагчуудыг хоёуланг гараар дарж бичихдээ хянамгай байх хэрэгтэй. Аль ч параметрийг (машиныг сүйрүүлэхийг та хүсээгүй л бол) хэзээ ч битгий 0 болгоорой. Эдгээр параметрүүдийг хоёуланг нь 2 секунд болгох нь чиглүүлэлтийн хүснэгтийг халдлагаас хамгаалахад хангалттай байх ёстой.


15.3.9. Kerberos болон SSH-тэй холбоотой хандалтын асуудлууд

Хэрэв та Kerberos болон ssh-г хоёуланг ашиглахаар бол цөөн хэдэн асуудлуудыг дурдах хэрэгтэй. Kerberos 5 нь жинхэнийг шалгах маш сайн нэвтрэлтийн протокол боловч түүнийг ашигласан telnet болон rlogin-д байдаг алдаанууд нь энэ хоёр програмыг хоёртын урсгалтай ажиллахад тохиромжгүй болгодог. Мөн -x тохируулгыг ашиглахгүй л бол анхдагчаар Kerberos нь сессийг шифрлэдэггүй. ssh нь бүгдийг шифрлэдэг.

Ssh нь анхдагчаар шифрлэсэн түлхүүрүүдээ дамжуулдгаас бусад бүх л талаараа зэгсэн сайн ажилладаг. Энэ нь юу гэсэн үг вэ гэхээр та хэрэв системийн бусад хэсэгт хандах боломж олгодог түлхүүрүүд бүхий аюулгүй ажлын компьютертай бөгөөд та аюултай машин уруу ssh хийвэл таны түлхүүрүүд ашиглагдах боломжтой гэсэн үг юм. Яг түлхүүрүүд нь өөрсдөө ил гардаггүй боловч ssh нь таны нэвтэрсэн хугацааны туршид зориулж дамжуулах порт суулгадаг бөгөөд хэрэв халдагч аюулгүй машин дээрх root-г эвдсэн бол тэрхүү портыг таны түлхүүрүүдийг ашиглахын тулд хэрэглэн таны түлхүүрээр тайлагдах өөр бусад машинуудад хандах боломжийг олж авах боломжтой юм.

Бид staff нэвтрэлтүүдийн хувьд аль болох ssh-г Kerberos-той цуг ашиглахыг зөвлөдөг. Ssh нь Kerberos-ийн дэмжлэгтэй эмхэтгэгдэж болдог. Энэ нь ил гарсан байж болзошгүй ssh түлхүүрүүдэд найдах таны найдварыг багасгахын хамт нууц үгүүдийг Kerberos-оор хамгаалдаг. Ssh түлхүүрүүд нь аюулгүй машинуудын автоматчилагдсан ажлуудад (Kerberos-оор хийхэд таарахгүй) зөвхөн хэрэглэгдэх ёстой. Мөн бид таныг ssh-ийн тохиргоондоо key-forwarding буюу түлхүүр дамжуулалтыг болиулах эсвэл ssh-ийн authorized_keys файлдаа зөвхөн тусгайлсан машинуудаас нэвтрэхэд түлхүүрийг ашиглаж болохоор болгож зөвшөөрдөг from=IP/DOMAIN тохируулгыг ашиглахыг зөвлөдөг.


15.4. DES, MD5, болон Crypt

Хэсгүүдийг дахин бичиж шинэчилсэн Билл Свингл.

UNIX систем дээрх хэрэглэгч бүрийн хувьд нууц үг бүртгэлтэй нь холбоотой байдаг. Мэдээж эдгээр нууц үгүүд нь зөвхөн хэрэглэгч ба үйлдлийн системд мэдэгдэж байх ёстой. Эдгээр нууц үгүүдийг нууцлаг байлгахын тулд тэдгээрийг “one-way hash буюу үл буцах хэш” гэгддэг шифрлэхэд амархан боловч буцааж болдоггүй аргаар шифрлэдэг. Өөрөөр хэлбэл хормын өмнө мэдээж гэж хэлсэн бидний хэлсэн үг яг жинхэнэдээ үнэн биш юм: үйлдлийн систем өөрөө нууц үгийг жинхэнэдээ мэддэггүй. Энэ нь зөвхөн нууц үгийн шифрлэсэн хэлбэрийг мэддэг. “plain-text буюу ердийн уншигдах текст ” хэлбэрийн нууц үгийг авах цорын ганц арга нь боломжит нууц үгүүдийн орон зайгаас балмадаар хүчлэн хайх явдал юм.

Харамсалтай нь UNIX бий болсон тэр үед нууц үгийг аюулгүй аргаар шифрлэх цорын ганц арга нь DES, Data Encryption Standard буюу Өгөгдөл Шифрлэх Стандарт дээр үндэслэсэн байлаа. Энэ нь АНУ-д оршин сууж байсан хэрэглэгчдийн хувьд тийм ч асуудалтай биш байсан юм, гэхдээ DES-ийн эх код АНУ-аас гадагшаа экспорт хийгдэж болохгүй байсан учир FreeBSD нь АНУ-ын хуулийг дагахын хажуугаар DES-ийг ашигласан хэвээр байсан бусад бүх UNIX төрлүүдтэй нийцтэй байх арга замыг хайж олоход хүрсэн юм.

Үүний шийдэл нь АНУ-ын хэрэглэгчид DES сангуудыг суулгаж ашиглах боломжтой мөртлөө олон улсын хэрэглэгчид гадагш экспорт хийгдэж болох шифрлэх аргатай бас байхаар шифрийн сангуудыг хуваасан явдал байлаа. Ингэж FreeBSD нь MD5-ийг өөрийн анхдагч шифрлэх аргаа болгон ашиглах болсон юм. MD5 нь DES-ээс илүү аюулгүй нууцлаг гэгддэг бөгөөд DES-ийг суулгах нь үндсэндээ нийцтэй байх шалтгаануудын улмаас зориулагдсан юм.


15.4.1. Өөрийн Crypt арга замыг таних нь

Одоогоор шифрийн сан DES, MD5 болон Blowfish хэш функцуудыг дэмждэг. Анхдагчаар FreeBSD нь MD5 ашиглан нууц үгүүдийг шифрлэдэг.

FreeBSD аль шифрлэх аргыг тохируулж ашиглаж байгааг мэдэх хялбар байдаг. /etc/master.passwd файл дахь шифрлэсэн нууц үгийг шалгах нь нэг арга юм. MD5 хэшээр шифрлэгдсэн нууц үгүүд нь DES-р шифрлэгдсэнийгээ бодох юм бол урт бөгөөд $1$ тэмдэгтээр бас эхэлдэг. $2a$ тэмдэгтээр эхэлсэн нууц үгүүд Blowfish хэш функцаар шифрлэгдсэн байдаг. DES мөр нь ямар нэг тусгайлан таньж болох шинж тэмдэггүй байдаг боловч тэд MD5 нууц үгүүдээс богино бөгөөд $ тэмдэгт ордоггүй 64 тэмдэгттэй цагаан толгойгоор кодчилогддог, тиймээс долларын тэмдэгтээр эхлээгүй харьцангуй богино мөр ихэвчлэн DES нууц үг байдаг.

Шинэ нууц үгүүдэд ашиглагдах нууц үгийн хэлбэр нь нэвтрэлтийн passwd_format боломжийн тусламжтай /etc/login.conf файлд хянагддаг бөгөөд энэ хувьсагч нь des, md5 эсвэл blf утгуудыг авдаг. Нэвтрэлтийн боломжуудын талаар дэлгэрэнгүй мэдээллийг login.conf(5) гарын авлагын хуудаснаас үзнэ үү.


15.5. Нэг удаагийн нууц үгүүд

Анхдагчаар FreeBSD OPIE (One-time Passwords In Everything буюу Бүхэнд зориулсан нэг удаагийн нууц үгүүд) дэмжлэгтэй байдаг бөгөөд энэ нь MD5 хэшийг анхдагчаар ашигладаг.

Бид гурван өөр төрлийн нууц үгийг доор хэлэлцэх болно. Эхнийх нь таны ердийн UNIX загварын эсвэл Kerberos нууц үг юм; бид үүнийг “UNIX нууц үг” гэж нэрлэх болно. Хоёр дахь төрөл нь OPIE opiekey(1) програмаар үүсгэгдэж opiepasswd(1) програм болон нэвтрэлт хүлээх мөр хүлээн авах нэг удаагийн нууц үг юм; бид үүнийг “нэг удаагийн нууц үг” гэх болно. Сүүлийн төрөл нууц үг бол opiekey програмд (заримдаа opiepasswd програмууд) өгдөг нууцлаг нууц үг бөгөөд үүнийг ашиглан дээрх програмууд нэг удаагийн нууц үг үүсгэдэг; бид үүнийг “нууцлаг нууц үг” гэх буюу эсвэл зүгээр л шалгагдаагүй “нууц үг” гэх болно.

Нууцлаг нууц үг нь таны UNIX нууц үгтэй ямар ч холбоогүй юм; тэдгээр нь адил байж болох боловч ингэхийг зөвлөдөггүй. OPIE нууцлаг нууц үгүүд нь хуучин UNIX нууц үгүүд шиг 8 тэмдэгтэд хязгаарлагддаггүй [8] бөгөөд таны хүссэн хэмжээний урттай байж болдог. Зургаа эсвэл долоон үг бүхий өгүүлбэрээс тогтох нууц үгүүд нэлээн элбэг байдаг. Ихэнх хэсгийн хувьд OPIE систем UNIX-ийн нууц үгийн системээс бүр мөсөн ангид ажилладаг.

Нууц үгээс гадна OPIE-д чухал өгөгдлийн өөр хоёр хэсэг байдаг. Нэг нь “seed буюу үр” эсвэл “key буюу түлхүүр” гэгддэг бөгөөд 2 үсэг болон таван тооноос тогтдог. Нөгөөдөх нь “давталтын тоо” буюу 1-ээс 100 хүртэлх тоо юм. OPIE нэг удаагийн нууц үгийг үр болон нууцлаг нууц үгийг нийлүүлэн MD5 хэшийг давталтын тоогоор ашиглан үүсгэж үр дүнг нь зургаан богино Англи үг болгодог. Эдгээр зургаан Англи үг нь таны нэг удаагийн нууц үг юм. Нэвтрэлт шалгах систем (үндсэндээ PAM) ашигласан хамгийн сүүлийн нэг удаагийн нууц үгийг хадгалж байдаг бөгөөд хэрэглэгчийн өгсөн нууц үгийн хэш өмнөх нууц үгтэй таарч байвал хэрэглэгчийг нэвтрүүлдэг. Үл буцах хэш ашиглагддаг болохоор хэрэв амжилттайгаар ашиглагдсан нууц үгийг олж авсан бол дараа дараагийн нэг удаагийн нууц үгүүдийг үүсгэх боломжгүй байдаг; хэрэглэгч болон нэвтрэлтийн програмыг хамгийн сүүлийн хэлбэрт адилхан байлгаж байхын тулд давталтын тоо амжилттай нэвтрэлт хийгдэх бүрийн дараа багасаж байдаг. Давталтын тоо 1 хүрэх үед OPIE дахин хийгдэх хэрэгтэй болно.

Систем болгоны хувьд хэдэн програмууд байдаг бөгөөд тэдгээрийг бид энд хэлэлцэх болно. opiekey програм давталтын тоо, үр болон нууцлаг нууц үгийг хүлээн авч нэг удаагийн нууц үг эсвэл нэг удаагийн нууц үгүүдийн үргэлжилсэн жагсаалтыг үүсгэдэг. opiepasswd програмыг OPIE-г эхлүүлэх болон нууц үг, давталтын тоо эсвэл үр өөрчлөхөд ашигладаг; энэ нь нууцлаг нэвтрэх үгс аль эсвэл давталтын тоо, үр болон нэг удаагийн нууц үгийг авдаг. opieinfo програм тохирох итгэмжлэлүүдийн файлуудыг (/etc/opiekeys) шалгаж ажиллуулсан хэрэглэгчийн одоогийн давталтын тоо болон үрийг дэлгэцэд гаргадаг.

Бид дөрвөн өөр төрлийн үйлдлийн талаар хэлэлцэх болно. Эхнийх нь аюулгүй холболтоор opiepasswd ашиглаж нэг удаагийн нууц үгүүдийг эхний удаа тохируулах эсвэл өөрийн нууц үг эсвэл үрийг өөрчлөх үйлдэл юм. Хоёр дахь үйлдэл нь opiepasswd-г аюултай холболтоор, opiekey тушаалыг аюулгүй холболтоор ашиглаж адил үйлдлийг хийх явдал юм. Гурав дахь нь opiekey-г аюултай холболтоор ашиглан нэвтрэн орох үйлдэл юм. Дөрөв дэх нь opiekey-г ашиглан хэд хэдэн түлхүүрүүд үүсгэх үйлдэл бөгөөд гадагшаа аюулгүй холболтуудгүй газрууд уруу явахдаа тэдгээр түлхүүрүүдийг бичин авч эсвэл хэвлэн аваад өөртөө авч явж болох юм.


15.5.1. Аюулгүй холболт эхлүүлэх

OPIE-г эхний удаа эхлүүлэхдээ opiepasswd тушаалыг ажиллуул:

% opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c
Adding unfurl:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase:
Again new secret pass phrase:

ID unfurl OTP key is 499 to4268
MOS MALL GOAT ARM AVID COED

Enter new secret pass phrase: эсвэл Enter secret password: мөрүүд дээр та нууц үг эсвэл өгүүлбэр оруулах ёстой. Энэ нь таны нэвтрэхдээ ашиглах нууц үг биш гэдгийг санах хэрэгтэй, үүнийг ашиглаж таны нэг удаагийн нэвтрэх түлхүүрийг үүсгэдэг. “ID” мөр таны тухайн үеийн параметрүүд болох таны нэвтрэх нэр, давталтын тоо болон үрийг өгдөг. Нэвтрэн орох үед систем эдгээр параметрүүдийг санаж танд тэдгээрийг санах шаардлагагүйгээр буцаан үзүүлдэг. Сүүлийн мөр нь тэдгээр параметрүүд болон таны нууцлаг нууц үгт харгалзах нэг удаагийн нууц үгийг өгдөг; хэрэв та нэн даруй дахин нэвтэрвэл энэ нэг удаагийн нууц үг нь таны ашиглах тэр нууц үг юм.


15.5.2. Аюултай холболт эхлүүлэх

Өөрийн нууцлаг нууц үгийг аюултай холболтоор эхэлж өгөхдөө эсвэл өөрчлөхдөө opiekey ажиллуулж болох тийм газар уруу аюулгүй холболттой байж байх шаардлагатай; энэ нь таны итгэж байгаа машин дээр бүрхүүлийн тушаал хүлээх мөр хэлбэрээр байж болно. Та бас давталтын тоог (100 боломжийн утга байж болох юм) бодож өгөх хэрэгтэй бөгөөд та өөрөө үр бодож олох эсвэл дурын үүсгэснийг ашиглах хэрэгтэй. Аюултай холболтоор (таны эхлүүлж байгаа машин уруу) opiepasswd тушаалыг ашигла:

% opiepasswd

Updating unfurl:
You need the response from an OTP generator.
Old secret pass phrase:
        otp-md5 498 to4268 ext
        Response: GAME GAG WELT OUT DOWN CHAT
New secret pass phrase:
        otp-md5 499 to4269
        Response: LINE PAP MILK NELL BUOY TROY

ID mark OTP key is 499 gr4269
LINE PAP MILK NELL BUOY TROY

Анхдагч үрийг хүлээж авах бол Return дар. Дараа нь хандах нууц үгийг оруулахын өмнө аюулгүй холболт уруугаа орж адил параметрүүдийг өгөөрэй:

% opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT

Одоо аюултай холболт уруугаа шилжиж үүсгэсэн нэг удаагийн нууц үгээ тохирох програм уруу хуулаарай.


15.5.3. Нэг удаагийн нууц үг ганцыг үүсгэх нь

OPIE-г эхлүүлэн тохируулж нэвтэрсний дараа танд иймэрхүү тушаал хүлээх мөр харуулагдана:

% telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.

FreeBSD/i386 (example.com) (ttypa)

login: <username>
otp-md5 498 gr4269 ext
Password:

Энэ дашрамд тэмдэглэн хэлэхэд OPIE тушаал хүлээх мөрүүд ашигтай боломжтой байдаг: хэрэв та нууц үг хүлээх мөр дээр Return дарвал хүлээх мөр цуурайг идэвхжүүлж таны юу бичиж байгааг танд харуулдаг. Та хэвлэсэн зүйлээсээ харж магадгүй нууц үгийг гараараа бичиж оруулахыг оролдож байгаа бол энэ маш ашигтай байж болох юм.

Энэ үед нэвтрэлт хүлээх мөрөнд хариулахын тулд та өөрийн нэг удаагийн нууц үгийг үүсгэх хэрэгтэй болно. Үүнийг opiekey тушаал итгэн ажиллуулж чадах тийм систем дээрээ хийх хэрэгтэй. (DOS, Windows болон Mac OS-д зориулсан эдгээрийн хувилбарууд байдаг) Эдгээрт давталтын тоо болон үр тушаалын мөрийн тохируулга хэлбэрээр хэрэгтэй байдаг. Та нэвтрэн орж байгаа машиныхаа нэвтрэлт хүлээх мөрөөс эдгээрийг шууд хуулан тавьж болох юм.

Итгэсэн систем дээрээ:

% opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT

Одоо та өөрийн нэг удаагийн нууц үгтэй болсон болохоор нэвтрэлтээ үргэлжлүүлж болно.


15.5.4. Нэг удаагийн нууц үг олныг үүсгэх нь

Заримдаа та итгэсэн машин эсвэл аюулгүй холболт уруу хандах боломжгүй тийм газар очих хэрэгтэй болдог. Энэ тохиолдолд opiekey тушаал ашиглаж хэд хэдэн нэг удаагийн нууц үгүүдийг урьдчилан үүсгэж хэвлэн биедээ авч явах боломжтой юм. Жишээ нь:

% opiekey -n 5 30 zz99999
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <secret password>
26: JOAN BORE FOSS DES NAY QUIT
27: LATE BIAS SLAY FOLK MUCH TRIG
28: SALT TIN ANTI LOON NEAL USE
29: RIO ODIN GO BYE FURY TIC
30: GREW JIVE SAN GIRD BOIL PHI

-n 5 нь дараалсан таван түлхүүрийг үүсгэхийг, 30 нь сүүлийн давталтын тоог хэд байх ёстойг зааж өгч байгаа юм. Эдгээр нь ашиглах бололцоотойг урвуу дарааллаар дэлгэцэнд харуулдгийг тэмдэглэх нь зүйтэй. Хэрэв та хэт санаа зовниж байгаа бол та үр дүнг гараар бичиж авахыг хүсэж болох юм; эсвэл lpr уруу хуулан авч тавьж болох юм. Мөр бүр давталтын тоо болон нэг удаагийн нууц үгийг харуулж байгааг анхаараарай; та нууц үгүүдийг хэрэглэх бүртээ тэдгээрийг арилгаж энэ хэвлэсэн арга тань ашигтай хэвээр болохыг мэдэж болох юм.


15.5.5. UNIX® нууц үгүүдийг ашиглахыг хязгаарлах нь

OPIE нь UNIX нууц үгүүдийн ашиглалтыг нэвтрэлтийн сессийн IP хаяг дээр тулгуурлан хязгаарлаж чаддаг. Тохирох файл нь /etc/opieaccess бөгөөд энэ файл нь анхдагчаар байдаг. Энэ файлын талаар болон үүнийг ашигласнаар та аюулгүй байдлын ямар зүйлсүүдийг бодолцож анхаарах ёстой талаар дэлгэрэнгүй мэдээллийг opieaccess(5)-с шалгана уу.

Энд жишээ opieaccess файл байна:

permit 192.168.0.0 255.255.0.0

Энэ мөр нь UNIX нууц үгүүдийг ямар ч үед ашиглахын тулд эхлэл IP хаягийг (хууран мэхлэхэд хүрч болох тийм эмзэг) заагдсан утга болон багтай тааруулах боломжийг хэрэглэгчдэд олгодог.

opieaccess дахь аль ч дүрэм таарахгүй байгаа бол анхдагчаар OPIE биш нэвтрэлтүүдийг хааж үгүйсгэдэг.


15.6. TCP Гүйцэтгэлийг хялбаршуулагчид

Бичсэн Том Рөүдс.

inetd(8)-г мэддэг хэн бүхэн TCP Гүйцэтгэлийг хялбаршуулагчдын талаар заримдаа сонссон байх. Гэхдээ цөөн хүмүүс энэ боломжийн сүлжээний орчин дахь ашигтай талыг бүрэн ойлгодог юм шиг санагддаг. Хүн бүхэн сүлжээний холболтууд зохицуулах галт хана суулгахыг хүсдэг юм шиг санагддаг. Галт хана олон төрлийн хэрэглээтэй боловч холболт үүсгэгч уруу текст илгээх зэрэг зарим зүйлсийг галт хана хийж чаддаггүй. Энд дурдсан TCP Гүйцэтгэлийг хялбаршуулагчид энэ мэтийг болон үүнээс илүүг хийдэг. Дараагийн хэдэн хэсэгт TCP Гүйцэтгэлийг хялбаршуулагчдын олон боломжуудыг хэлэлцэх бөгөөд боломжтой үед нь жишээ тохиргооны мөрийг үзүүлэх болно.

TCP Гүйцэтгэлийг хялбаршуулагчид програм хангамж нь inetd-ийн чадваруудыг сервер бүрийн хувьд түүний доор хянагдаж болохоор дэмжин өргөтгөдөг. Энэ аргыг ашиглан бүртгэл хөтлөх дэмжлэг нэмэх, холболтууд уруу мэдэгдэл буцаах, дэмонд зөвхөн дотоод холболтуудыг хүлээн авахыг зөвшөөрөх гэх мэт үйлдлүүдийг хийх боломжтой. Эдгээр боломжуудын заримыг галт хана суулган тохируулж хийж болох боловч энэ нь зөвхөн хамгаалалтын нэмэлт давхарга болохоос гадна галт ханын үзүүлж чаддагаас илүү хяналтыг олгодог юм.

TCP Гүйцэтгэлийг хялбаршуулагчдын ийнхүү нэмэгдсэн ажиллагаа нь сайн галт ханыг солихоор зүйл гэж ойлгогдох ёсгүй юм. TCP Гүйцэтгэлийг хялбаршуулагчид нь галт хана эсвэл өөр бусад аюулгүй байдлыг нэмэгдүүлэгч програмуудын хамтаар ашиглагдаж системийн хувьд хамгаалалтын нэмэлт давхарга болон аятайхан үйлчлэх боломжтой юм.

Энэ нь inetd-ийн тохиргооны өргөтгөл болохоор энэхүү баримтыг уншигч таныг inetd тохиргоо хэсгийг уншсан гэдэгт найдаж байна.

Тэмдэглэл: inetd(8)-ээр ажиллуулагдсан програмууд яг жинхэнээрээ “дэмонууд” биш боловч тэдгээрийг уламжлалаар дэмонууд гэдэг.