diff --git a/mn_MN.UTF-8/books/handbook/disks/chapter.sgml b/mn_MN.UTF-8/books/handbook/disks/chapter.sgml index 827ee9d761..197ecd42af 100644 --- a/mn_MN.UTF-8/books/handbook/disks/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/disks/chapter.sgml @@ -1,4040 +1,4040 @@ Цагаанхүүгийн Ганболд Орчуулсан Хадгалалт Ерөнхий агуулга Энэ бүлэг нь FreeBSD дээр дискнүүдийг ашиглах талаар тайлбарлах болно. Эдгээрт санах ой дээр тулгуурласан дискнүүд, сүлжээнд залгагдсан дискнүүд, стандарт SCSI/IDE хадгалалтын төхөөрөмжүүд болон USB интерфэйс ашигладаг төхөөрөмжүүд багтах юм. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Физик диск (хуваалтууд болон зүсмэлүүд) дээрх өгөгдлийн зохион байгуулалтыг тайлбарладаг FreeBSD-ийн ашигладаг ухагдахуун. Өөрийн систем дээр нэмэлт хатуу дискнүүдийг хэрхэн нэмэх талаар. USB хадгалалтын төхөөрөмжүүдийг ашиглахын тулд &os;-г хэрхэн тохируулах талаар. Санах ойн диск зэрэг виртуал файлын системүүдийг хэрхэн тохируулах талаар. Дискний зайн хэрэглээг хязгаарлахын тулд ноогдлыг хэрхэн ашиглах талаар. Дискийг халдагчдаас хамгаалж нууцлахын тулд хэрхэн шифрлэх талаар. FreeBSD дээр CD болон DVD-г хэрхэн үүсгэж шарах талаар. Нөөцлөлтөд зориулсан хадгалалтын төрөл бүрийн тохируулгууд. FreeBSD дээр байдаг нөөцлөлтийн програмуудыг хэрхэн ашиглах талаар. Уян диск уруу хэрхэн нөөцлөх талаар. Файлын системийн хормын хувилбар гэж юу болох түүнийг хэрхэн үр дүнтэйгээр ашиглах талаар. Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй: Шинэ FreeBSD цөмийг хэрхэн тохируулж суулгах талаар мэдэх (). Төхөөрөмжийн нэрс Дараах нь FreeBSD-д дэмжигдсэн физик хадгалалтын төхөөрөмжүүд болон тэдгээртэй холбоотой төхөөрөмжийн нэрсийн жагсаалт юм. Физик диск нэрлэх заншил Хөтчийн төрөл Хөтчийн төхөөрөмжийн нэр IDE хатуу хөтчүүд ad IDE CDROM хөтчүүд acd SCSI хатуу хөтчүүд болон USB Mass хадгалалтын төхөөрөмжүүд da SCSI CDROM хөтчүүд cd Төрөлжүүлсэн стандарт бус CDROM хөтчүүд Mitsumi CD-ROM-ийн хувьд mcd ба Sony CD-ROM хөтчүүдийн хувьд scd Уян хөтчүүд fd SCSI соронзон хальсны хөтчүүд sa IDE соронзон хальсны хөтчүүд ast Flash хөтчүүд &diskonchip; Flash хөтчийн хувьд fla RAID хөтчүүд &adaptec; AdvancedRAID-н хувьд aacd, &mylex;-ийн хувьд mlxd ба mlyd, AMI &megaraid;-ийн хувьд amrd, Compaq Smart RAID-ийн хувьд idad, &tm.3ware; RAID-ийн хувьд twed.
Дэйвид О'Брайн Анхлан хувь нэмэр болгон оруулсан Диск нэмэх дискнүүд нэмэх нь Бид шинэ SCSI дискийг одоогоор зөвхөн нэг хөтөчтэй байгаа машин дээр нэмэхийг хүсэж байна гэж бодъё. Эхлээд компьютераа унтраагаад хөтчийг компьютер, хянагч болон хөтчийн үйлдвэрлэгчийн заавруудын дагуу суулгана. Үүнийг хийх маш олон төрлийн процедуруудаас болоод энэ тухай дэлгэрэнгүй мэдээлэл нь энэ баримтын хамрах хүрээнээс гадна юм. root хэрэглэгчээр нэвтрэх хэрэгтэй. Та хөтчийг суулгасны дараа шинэ диск олдсон эсэхийг /var/run/dmesg.boot-с шалгаарай. Шинээр нэмсэн хөтөч нь da1 байх бөгөөд бид үүнийг /1 дээр холбохыг хүснэ (хэрэв та IDE хөтөч нэмж байгаа бол төхөөрөмжийн нэр нь ad1 болно). хуваалтууд зүсмэлүүд fdisk FreeBSD нь IBM-PC-тэй нийцтэй компьютеруудтай ажилладаг учраас PC BIOS хуваалтуудыг бодолцох ёстой. Эдгээр нь уламжлалт BSD хуваалтуудаас өөр юм. PC диск нь дөрөв хүртэлх тооны BSD хуваалттай байдаг. Хэрэв диск нь жинхэнээрээ FreeBSD-д зориулагдах бол та dedicated буюу зориулагдсан горимыг ашиглаж болно. Үгүй бол FreeBSD нь PC BIOS хуваалтуудын аль нэгэн дээр байрлах болно. FreeBSD нь PC BIOS хуваалтуудыг уламжлалт BSD хуваалтуудтай эндүүрэхгүйн тулд зүсмэлүүд гэж нэрлэдэг. Та бас FreeBSD-д зориулагдсан боловч өөр үйлдлийн систем суулгагдсан компьютер дээр ашигласан диск дээрх зүсмэлүүдийг хэрэглэж болох юм. Энэ нь FreeBSD биш өөр үйлдлийн системийн fdisk хэрэгсэлтэй андуурахаас хамгаалах нэг сайн арга юм. Зүсмэлийн хувьд бол хөтөч нь /dev/da1s1e гэж нэмэгдэх болно. Үүнийг SCSI диск, нэгжийн дугаар 1 (хоёр дахь SCSI диск), зүсмэл 1 (PC BIOS хуваалт 1) болон e BSD хуваалт гэж уншина. Зориулагдсан тохиолдолд хөтөч нь ердөө л /dev/da1e гэж нэмэгдэнэ. Секторуудын тоог хадгалахын тулд 32 битийн бүхэл тоог ашигладгаас болоод &man.bsdlabel.8; нь нэг дискний хувьд 2^32-1 сектор буюу ихэнх тохиолдолд 2TB болж хязгаарлагддаг. &man.fdisk.8; хэлбэршүүлэлт нь 2^32-1-с ихгүй эхлэх сектор болон 2^32-1-с ихгүй уртыг зөвшөөрч хуваалтуудыг 2TB, дискнүүдийг ихэнх тохиолдолд 4TB болгож хязгаарладаг. &man.sunlabel.8; хэлбэршүүлэлт нь нэг хуваалтын хувьд 2^32-1 сектороор, нийтдээ 16TB-ийн 8 хуваалтаар хязгаарлагддаг. Илүү том дискнүүдийн хувьд &man.gpt.8; хуваалтууд ашиглагдаж болох юм. &man.sysinstall.8;-г ашиглах нь sysinstall дискнүүд нэмэх нь su <application>Sysinstall</application>-г жолоодох нь Та sysinstall-н хялбар ашиглаж болох цэснүүдийн тусламжтайгаар шинэ дискийг хуваан хаяглаж болох юм. root хэрэгчээр нэвтрэх буюу эсвэл su тушаалыг ашиглаарай. sysinstall-г ажиллуулж Configure цэс уруу орно. FreeBSD Configuration Menu дотор доош шилжиж Fdisk тохируулгыг сонгоно. <application>fdisk</application> хуваалт засварлагч fdisk-ийн дотор байхдаа A гэж бичвэл дискийг бүхэлд нь FreeBSD-д ашиглах болно. Асуух үед нь хэрэв та ирээдүйд суулгаж болзошгүй үйлдлийн системүүдтэй хамтран ажиллахаар үлдэхийг хүсвэл YES гэж хариулаарай. W-г ашиглан өөрчлөлтүүдийг диск уруу бичнэ. Одоо FDISK засварлагчаас q гэж бичин гараарай. Дараа нь танаас Master Boot Record буюу Мастер Ачаалагч Бичлэгийн талаар асуух болно. Та ажиллаж байгаа систем дээр диск нэмж байгаа болохоор None-г сонгох хэрэгтэй. Дискний Шошго засварлагч BSD хуваалтууд Дараа нь sysinstall-с гарч дахин түүнийг эхлүүлэх хэрэгтэй. Дээрх заавруудыг дагаарай, гэхдээ энэ удаад Label тохируулгыг сонгоорой. Энэ нь Disk Label Editor буюу дискний шошго засварлагч уруу орно. Энд та уламжлалт BSD хуваалтуудыг үүсгэдэг. Диск нь a-h гэж хаяглагдсан найм хүртэлх хуваалтуудтай байж болно. Хуваалтын шошгонуудын цөөн хэд нь тусгай хэрэглээтэй байдаг. a хуваалт нь root хуваалтанд (/) ашиглагддаг. Тиймээс зөвхөн таны системийн диск (өөрөөр хэлбэл таны ачаалалт хийсэн диск) a хуваалттай байх ёстой. b хуваалт нь swap хуваалтуудад хэрэглэгддэг бөгөөд та swap хуваалттай олон дисктэй байж болох юм. c хуваалт нь зориулагдсан горимд бүх дискийг, зүсмэлийн горимд бүхэл FreeBSD зүсмэлийг эсвэл заадаг. Бусад хуваалтууд нь ерөнхий хэрэглээнд зориулагдсан. sysinstall-ийн шошго засварлагч нь root биш, swap биш хуваалтуудад зориулж e хуваалтыг илүүтэй үздэг. Шошго засварлагч дотор байхдаа C гэж бичин ганц файлын систем үүсгэх хэрэгтэй. Асуух үед, хэрэв энэ нь FS (файлын систем) эсвэл swap байх юм бол FS-г сонгож холбох цэгийг (өөрөөр хэлбэл /mnt) бичээрэй. Хэрэв дискийг суулгацын дараах горимд нэмж байгаа бол sysinstall нь танд зориулж оруулгуудыг /etc/fstab файлд үүсгэхгүй, тиймээс таны зааж өгсөн холбох цэг нь чухал биш юм. Та одоо шинэ шошгыг диск уруу бичиж түүн дээр файлын систем үүсгэхэд бэлэн боллоо. Үүнийг W гэж бичин хийнэ. sysinstall-ын шинэ хуваалтыг холбож чадахгүй байна гэсэн алдааг өнгөрүүлэх хэрэгтэй. Шошго засварлагч болон sysinstall-с бүр мөсөн гараарай. Төгсгөл Хамгийн сүүлийн алхам нь /etc/fstab файлыг засварлаж өөрийн шинэ дискний оруулгыг нэмэх явдал юм. Тушаалын мөрийн хэрэгслүүдийг ашиглах нь Зүсмэлүүдийг ашиглах нь Энэ тохиргоо нь таны дискийг өөрийн чинь компьютер дээр суулгагдсан байж болох бусад үйлдлийн системтэй зөв ажиллаж өөр бусад үйлдлийн системийн fdisk хэрэгслүүдтэй эндүүрэхгүй байх боломжийг бүрдүүлдэг. Шинэ дискийг суулгахад энэ аргыг ашиглахыг зөвлөдөг. Хэрэв танд үнэхээр тохирох шалтгаан байгаа тохиолдолд зориулагдсан горимыг ашиглаарай! &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; fdisk -BI da1 #Initialize your new disk &prompt.root; bsdlabel -B -w da1s1 auto #Label it. &prompt.root; bsdlabel -e da1s1 # Edit the bsdlabel just created and add any partitions. &prompt.root; mkdir -p /1 &prompt.root; newfs /dev/da1s1e # Repeat this for every partition you created. &prompt.root; mount /dev/da1s1e /1 # Mount the partition(s) &prompt.root; vi /etc/fstab # Add the appropriate entry/entries to your /etc/fstab. Хэрэв танд IDE диск байвал daad гэж солиорой. Зориулагдсан OS/2 Хэрэв та шинэ хөтчийг өөр үйлдлийн системтэй цуг хуваалцахгүй бол зориулагдсан горимыг ашиглаж болох юм. Энэ горим нь Microsoft үйлдлийн системийн толгойг эргүүлж болохыг санаарай; гэхдээ тэдгээр нь ямар ч эвдрэл гэмтэл үүсгэхгүй. IBM-ийн &os2; нь харин олсон бүх ойлгохгүй байгаа ямар ч хуваалтыг хувьдаа завших болно. &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; bsdlabel -Bw da1 auto &prompt.root; bsdlabel -e da1 # create the `e' partition -&prompt.root; newfs -d0 /dev/da1e +&prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # add an entry for /dev/da1e &prompt.root; mount /1 Өөр нэг арга нь: &prompt.root; dd if=/dev/zero of=/dev/da1 count=2 &prompt.root; bsdlabel /dev/da1 | bsdlabel -BR da1 /dev/stdin &prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # add an entry for /dev/da1e &prompt.root; mount /1 RAID Програм хангамжийн RAID Кристофер Шамвэй Анхлан ажилласан Жим Браун Хянан тохиолдуулсан RAIDпрограм хангамж RAIDCCD Нийлүүлэгдсэн Дискний Драйвер (Concatenated Disk Driver буюу CCD) тохиргоо Бөөн хадгалалтын шийдлийг сонгохдоо бодолцох хамгийн чухал хүчин зүйлүүд нь хурд, найдвартай байдал болон өртөг юм. Энэ гурвыг гурвууланг нь тэнцүү байлгах нь ховор байдаг; ерөнхийдөө хурдан, найдвартай бөөн хадгалалтын төхөөрөмж нь үнэтэй бөгөөд үнийн хувьд хямдыг сонгох нь хурд эсвэл найдвартай байдлын аль нэгийг золиослох хэрэгтэй болдог. Доор тайлбарласан системийг дизайн хийхдээ өртгийг хамгийн чухал хүчин зүйл гэж сонгож авсан бөгөөд үүний дараа хурд, хурдын дараа найдвартай байдлыг сонгосон. Энэ системийн өгөгдөл дамжуулах хурд нь эцсийн эцэст сүлжээгээр шахагддаг. Найдвартай байдал нь маш чухал боловч доор тайлбарласан CCD хөтөч нь CD-R-ууд дээр аль хэдийн бүтнээрээ нөөцлөгдсөн, амархнаар солигдож болох өгөгдөлд шууд үйлчилдэг. Өөрийн шаардлагыг тодорхойлох нь бөөн хадгалалтын шийдлийг сонгох анхны алхам юм. Хэрэв таны шаардлага нь хурд эсвэл найдвартай байдлыг өртгөөс илүүтэй үзэж байгаа бол таны шийдэл энэ хэсэгт тайлбарласан шийдлээс өөр болох болно. Тоног төхөөрөмжийг суулгах нь IDE системийн дискнээс гадна гурван Western Digital 30GB, 5400 RPM IDE диск нь доор тайлбарласан CCD дискний гол цөм болж нийтдээ ойролцоогоор 90GB шууд хадгалалт болно. Туйлын хүслээр бол IDE диск бүр өөрийн IDE хянагч болон кабельтай байна, гэхдээ өртгийг багасгахын тулд нэмэлт IDE хянагчууд ашиглагдаагүй болно. Харин дискнүүд нь jumper буюу холбогчоор тохируулагдсан бөгөөд ингэснээр IDE хянагч бүр нэг мастер болон нэг боолтой байна. Дахин ачаалах үед системийн BIOS залгагдсан дискнүүдийг автоматаар олохоор тохируулагдсан байдаг. Илүү чухал зүйл нь FreeBSD тэдгээрийг дахин ачаалахад олсон явдал юм: ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33 ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33 ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33 ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33 Хэрэв FreeBSD дискнүүдийг бүгдийг нь олохгүй байгаа бол та тэдгээрийг зөвөөр холбосон эсэхээ шалгаарай. IDE хөтчүүдийн ихэнх нь бас Cable Select холбогчтой байдаг. Энэ нь мастер/боол харилцаанд зориулагдсан холбогч биш юм. Хөтчийн баримтаас зөв холбогчийг таних талаар лавлаарай. Дараа нь тэдгээрийг файлын системийн хэсэг болгон залгах талаар бодох хэрэгтэй. Та &man.vinum.8; () болон &man.ccd.4; хоёуланг судлах хэрэгтэй. Энэ тохиргооны хувьд &man.ccd.4;-г сонгосон. CCD-г тохируулах нь &man.ccd.4; хөтөч нь хэд хэдэн адил дискнүүдийг авч тэдгээрийг нэг логик файл систем болгон нийлүүлэх боломжийг олгодог. &man.ccd.4;-г ашиглахын тулд танд &man.ccd.4; дэмжлэг цуг бүтээгдсэн цөм хэрэгтэй. Энэ мөрийг цөмийн тохиргооны файлдаа нэмээд цөмөө дахин бүтээж суулгаарай: device ccd &man.ccd.4; дэмжлэг цөмийн дуудагдах модуль хэлбэрээр бас дуудагдаж болно. &man.ccd.4;-г тохируулахын тулд та эхлээд дискнүүдийг хаяглах &man.bsdlabel.8;-г ашиглах ёстой: bsdlabel -w ad1 auto bsdlabel -w ad2 auto bsdlabel -w ad3 auto Энэ нь бүх дискний дагуух ad1c, ad2c болон ad3c-д зориулж bsdlabel үүсгэдэг. Дараагийн алхам нь дискний шошгоны төрлийг өөрчлөх явдал юм. Та дискнүүдийг засварлахдаа &man.bsdlabel.8;-г ашиглаж болно: bsdlabel -e ad1 bsdlabel -e ad2 bsdlabel -e ad3 Энэ нь диск бүр дэх тухайн дискний шошгыг EDITOR орчны хувьсагчид заасан засварлагчаар, ихэнхдээ &man.vi.1;-ээр онгойлгодог. Өөрчлөлт хийгдээгүй дискний шошго иймэрхүү харагдах болно: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) &man.ccd.4;-д зориулж ашиглахаар шинэ e хуваалтыг нэмнэ. Үүнийг ихэвчлэн c хуваалтаас хуулж болох боловч нь 4.2BSD байх ёстой. Дискний шошго одоо иймэрхүү харагдах ёстой: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597) Файлын системийг бүтээх нь Та бүх дискнүүдээ хаягласны дараа &man.ccd.4;-г бүтээх ёстой. Үүнийг хийхийн тулд дараах тохируулгуудтай адилаар &man.ccdconfig.8;-г ашиглана: ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e Тохируулга бүрийн хэрэглээ болон утгыг доор харуулав: Эхний нэмэлт өгөгдөл нь тохируулах төхөөрөмж байх бөгөөд энэ тохиолдолд /dev/ccd0c байна. /dev/ хэсэг байхгүй ч байж болно. Файлын системд зориулсан interleave. interleave нь дискний блокууд дээрх судлын хэмжээг тодорхойлдог бөгөөд нэг бүр нь ихэвчлэн 512 байт байдаг. Тэгэхээр 32 interleave нь 16,384 байт байна. &man.ccdconfig.8;-д зориулсан тугнууд. Хэрэв та хөтчийг толин тусгал үүсгэж идэвхжүүлэхийг хүсвэл тугийг энд зааж өгч болно. Энэ тохиргоо нь &man.ccd.4;-н хувьд толин тусгал үүсгэлтийг хангадаггүй учир энэ нь 0 (тэг) гэж тохируулагдсан. &man.ccdconfig.8; уруу өгөгдөх сүүлийн нэмэлт өгөгдлүүд нь массивт оруулах төхөөрөмжүүд юм. Төхөөрөмж бүрийн хувьд бүрэн гүйцэд замын нэрийг ашиглах хэрэгтэй. &man.ccdconfig.8;-г ажиллуулсны дараа &man.ccd.4; тохируулагдана. Файлын систем суулгагдаж болно. Тохируулгуудын талаар &man.newfs.8;-с лавлана уу, эсвэл ердөө л ингэж ажиллуулна: newfs /dev/ccd0c Бүгдийг автомат болгох нь Ерөнхийдөө та &man.ccd.4;-г дахин ачаалах бүртээ холбохыг хүснэ. Үүнийг хийхийн тулд та эхлээд тохируулах хэрэгтэй. Өөрийн одоогийн тохиргоогоо дараах тушаал ашиглаж /etc/ccd.conf уруу бичих хэрэгтэй: ccdconfig -g > /etc/ccd.conf Дахин ачаалах үед скрипт /etc/rc нь хэрэв /etc/ccd.conf байвал ccdconfig -C тушаалыг ажиллуулна. Энэ нь &man.ccd.4;-г холбож болохоор болгож автоматаар тохируулна. Хэрэв та ганц хэрэглэгчийн горим уруу ачаалж байгаа бол &man.ccd.4;-г &man.mount.8; хийхээсээ өмнө массивыг тохируулахын тулд дараах тушаалыг ажиллуулах шаардлагатай: ccdconfig -C &man.ccd.4;-г автоматаар холбохын тулд &man.ccd.4;-н оруулгыг /etc/fstab файлд байрлуулах хэрэгтэй. Ингэсэн тохиолдолд энэ нь ачаалах үед холбогдох болно: /dev/ccd0c /media ufs rw 2 2 Vinum Эзлэхүүн Менежер RAIDпрограм хангамж RAID Vinum Vinum Эзлэхүүн Менежер нь виртуал диск хөтчийг хийдэг блок төхөөрөмжийн драйвер юм. Энэ нь дискний тоног төхөөрөмжийг блок төхөөрөмжийн интерфэйсээс тусгаарлаж уян хатан байдал, ажиллагаа болон найдвартай байдлыг дискний хадгалалтын уламжлалт зүсмэлийн харагдалтаас илүүтэйгээр хангах тийм аргаар өгөгдлийг дүрсэлдэг. &man.vinum.8; нь RAID-0, RAID-1 болон RAID-5 загваруудыг тус бүрт нь болон холбоотой байдлаар нь шийддэг. &man.vinum.8;-ийн талаар дэлгэрэнгүй мэдээллийг -с үзнэ үү. Тоног төхөөрөмжийн RAID RAID тоног төхөөрөмж FreeBSD нь бас төрөл бүрийн тоног төхөөрөмжийн RAID хянагчуудыг дэмждэг. Эдгээр төхөөрөмжүүд нь FreeBSD-д зориулсан тусгай програм хангамжаар массивыг удирдах шаардлагагүйгээр RAID дэд системийг хянадаг. Карт дээрх BIOS-г ашиглан карт нь дискний үйлдлүүдийн ихэнхийг өөрөө хянадаг. Дараах нь Promise IDE RAID хянагчийг ашиглах тохиргооны товч тайлбар юм. Энэ карт суулгагдаж систем эхлэх үед мэдээллийг хүсэх мөрийг харуулна. Картны тохиргооны дэлгэц уруу орохын тулд заавруудыг дагана. Эндээс залгагдсан бүх хөтчүүдийг нэгтгэх боломж танд байх болно. Ингэж хийснийхээ дараа диск(нүүд) нь FreeBSD-д нэг хөтөч шиг харагдах болно. Бусад RAID түвшингүүдийг бас тохируулж болно. ATA RAID1 массивуудыг дахин бүтээх нь FreeBSD нь массив дахь гэмтсэн, ажиллагаагүй болсон дискийг шууд солих боломжийг олгодог. Энэ нь дахин ачаалахаасаа өмнө таныг ийм асуудлыг мэдэхийг шаарддаг. Та магадгүй доор дурдсантай адилыг /var/log/messages эсвэл &man.dmesg.8; гаралт дээр харж болох юм: ad6 on monster1 suffered a hard error. ad6: READ command timeout tag=0 serv=0 - resetting ad6: trying fallback to PIO mode ata3: resetting devices .. done ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\ status=59 error=40 ar0: WARNING - mirror lost &man.atacontrol.8; ашиглан дэлгэрэнгүй мэдээллийг шалгана: &prompt.root; atacontrol list ATA channel 0: Master: no device present Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0 ATA channel 1: Master: no device present Slave: no device present ATA channel 2: Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ATA channel 3: Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED Та дискийг аюулгүйгээр салган авахын тулд эхлээд ata сувгийг ажиллахгүй байгаа дисктэй цуг салгана: &prompt.root; atacontrol detach ata3 Дискийг сольно. ata сувгийг дахин залгана: &prompt.root; atacontrol attach ata3 Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present Шинэ дискийг массивт нөөц маягаар нэмнэ: &prompt.root; atacontrol addspare ar0 ad6 Массивыг дахин бүтээнэ: &prompt.root; atacontrol rebuild ar0 Дараах тушаалыг ашиглаж үйл явцыг шалгаж болно: &prompt.root; dmesg | tail -10 [output removed] ad6: removed from configuration ad6: deleted from ar0 disk1 ad6: inserted into ar0 disk1 as spare &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed Энэ үйлдэл хийгдэж дуустал хүлээх хэрэгтэй. Марк Фонвил Хувь нэмэр болгон оруулсан USB хадгалалтын төхөөрөмжүүд USB дискнүүд Одоо үед маш олон гадаад хадгалалтын шийдлүүд байгаа бөгөөд Universal Serial Bus (USB): хатуу хөтчүүд, USB хуруун хөтчүүд, CD-R шарагчид зэргийг ашигладаг. &os; нь эдгээр төхөөрөмжүүдийн дэмжлэгийг хангадаг. Тохиргоо USB бөөн хадгалалтын төхөөрөмжүүдийн драйвер &man.umass.4; нь USB хадгалалтын төхөөрөмжүүдийн дэмжлэгийг хангадаг. Хэрэв та GENERIC цөм ашиглавал өөрийн тохиргоондоо юу ч өөрчлөх шаардлагагүй. Хэрэв та өөрчлөн тохируулсан цөм ашиглах бол таны цөмийн тохиргооны файлд дараах мөрүүд байгаа эсэхийг шалгаарай: device scbus device da device pass device uhci device ohci device usb device umass &man.umass.4; драйвер нь USB хадгалалтын төхөөрөмжүүдэд хандахын тулд SCSI дэд системийг хэрэглэдэг бөгөөд таны USB төхөөрөмж системд SCSI төхөөрөмж маягаар харагдах болно. Таны эх хавтан дээрх USB бичил схемээс хамаарч танд зөвхөн device uhci эсвэл device ohci хоёрын аль нэг хэрэгтэй болно, гэхдээ хоёуланг нь цөмийн тохиргоондоо байлгах нь гэмгүй юм. Хэрэв та ямар нэг мөр нэмсэн бол шинэ цөмөө эмхэтгэж суулгахаа битгий мартаарай. Хэрэв таны USB төхөөрөмж чинь CD-R эсвэл DVD шарагч бол SCSI CD-ROM драйвер &man.cd.4;-г цөмд дараах мөрийн тусламжтай нэмэх ёстой: device cd Шарагч нь SCSI хөтөч гэж харагддаг учир &man.atapicam.4; драйверийг цөмийн тохиргоонд ашиглах ёсгүй. USB 2.0 хянагчуудын дэмжлэг &os;-д байдаг; гэхдээ та дараах мөрийг: device ehci өөрийн тохиргооны файлдаа USB 2.0 дэмжлэгт зориулж нэмэх ёстой. Хэрэв танд USB 1.X дэмжлэг хэрэгтэй бол &man.uhci.4; болон &man.ohci.4; драйверууд нь хэрэгтэй хэвээр болохыг санаарай. Тохиргоог тест хийх нь Тохиргоог тест хийхэд бэлэн боллоо: өөрийн USB төхөөрөмжийг залгахад системийн мэдэгдлийн буферт (&man.dmesg.8;) хөтөч нь иймэрхүү харагдах ёстой: umass0: USB Solid state disk, rev 1.10/1.00, addr 2 GEOM: create disk da0 dp=0xc2d74850 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device da0: 1.000MB/s transfers da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C) Мэдээж хэрэг үйлдвэрлэгч, төхөөрөмжийн цэг (da0) болон бусад зүйлс таны тохиргооноос хамаараад өөр байж болно. USB төхөөрөмж нь SCSI төхөөрөмж гэж харагддаг болохоор camcontrol тушаалыг ашиглаж системд холбогдсон USB хадгалалтын төхөөрөмжүүдийн жагсаалтыг харуулж болно: &prompt.root; camcontrol devlist <Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0) Хэрэв хөтөч нь файлын системтэй ирвэл та түүнийг холбож чадна. хэсэг нь хэрэв шаардлагатай бол USB хөтчийг хэлбэршүүлж түүн дээр хуваалт үүсгэхэд танд туслах болно. Энэ төхөөрөмжийг энгийн хэрэглэгч холбож чаддагаар болгохын тулд тодорхой алхмуудыг хийх хэрэгтэй. Эхлээд USB хадгалалтын төхөөрөмж холбогдсон үед үүссэн төхөөрөмжүүдэд хэрэглэгч хандаж болохоор байх хэрэгтэй. Үүний шийдэл нь эдгээр төхөөрөмжүүдийн бүх хэрэглэгчдийг operator бүлгийн гишүүн болгох явдал юм. Үүнийг &man.pw.8;-ээр хийнэ. Хоёрдугаарт төхөөрөмжүүд нь үүсэх үед operator бүлэг тэдгээрийг уншиж бичиж чадаж байх ёстой. Тохирох мөрүүдийг /etc/devfs.rules файлд нэмснээр үүнийг хийж болно: [localrules=1] add path 'da*' mode 0660 group operator Хэрэв системд SCSI дискнүүд байгаа бол үүнийг арай өөрөөр хийх ёстой. Өөрөөр хэлбэл хэрэв систем нь аль хэдийн da0-ээс da2 хүртэлх холбогдсон дискнүүдийг агуулж байвал хоёр дахь мөрийг дараах маягаар солих хэрэгтэй: add path 'da[3-9]*' mode 0660 group operator Энэ нь байгаа дискнүүдийг operator бүлэгт хамааруулахгүй болгоно. Та бас өөрийн &man.devfs.rules.5; дүрмийн олонлогийг /etc/rc.conf файлд идэвхжүүлэх хэрэгтэй: devfs_system_ruleset="localrules" Дараа нь цөм нь ердийн хэрэглэгчдэд файлын системийг холбох боломжтойгоор тохируулагдах ёстой. Хамгийн хялбар арга бол /etc/sysctl.conf-д мөр нэмэх явдал юм: vfs.usermount=1 Дараагийн дахин ачаалалтын дараа энэ нь идэвхжихийг санаарай. Өөрөөр энэ хувьсагчийг тохируулахын тулд &man.sysctl.8;-г ашиглаж болох юм. Төгсгөлийн алхам нь файлын систем холбогдох санг үүсгэх явдал юм. Энэ санг файлын системийг холбох хэрэглэгч эзэмшсэн байх хэрэгтэй. Үүнийг хийх нэг арга нь root-ийн хувьд тэр хэрэглэгчийн эзэмшсэн дэд санг /mnt/$USER ($USER-г тухайн хэрэглэгчийнхээ нэвтрэх нэрээр солиорой) гэж үүсгэх явдал юм: &prompt.root; mkdir /mnt/$USER &prompt.root; chown $USER:$USER /mnt/$USER USB хуруун хөтөч залгагдаж /dev/da0s1 төхөөрөмж гарч иржээ гэж бодъё. Эдгээр төхөөрөмжүүд нь ихэвчлэн FAT файлын системээр хэлбэршүүлэгдсэн ирдэг бөгөөд эдгээрийг иймэрхүү маягаар холбож болно: &prompt.user; mount -t msdosfs -m 644 -M 755 /dev/da0s1 /mnt/ $USER Хэрэв та төхөөрөмжийг залгаснаа салгавал (дискийг урьдаар салгах ёстой) та системийн мэдэгдлийн буфераас доор дурдсантай төстэй мэдэгдлийг харах ёстой: umass0: at uhub0 port 1 (addr 2) disconnected (da0:umass-sim0:0:0:0): lost device (da0:umass-sim0:0:0:0): removing device entry GEOM: destroy disk da0 dp=0xc2d74850 umass0: detached Нэмэлт унших материалууд Диск нэмэх болон Файлын системүүдийг холбох болон салгах хэсгүүдээс гадна төрөл бүрийн гарын авлагын хуудаснуудыг унших нь хэрэгтэй байж болох юм: &man.umass.4;, &man.camcontrol.8;, болон &man.usbdevs.8;. Майк Мэйэр Хувь нэмэр болгон оруулсан Оптик зөөвөрлөгчийг (CD-үүд) үүсгэж ашиглах нь CDROM-ууд үүсгэх нь Танилцуулга CD-үүд нь тэдгээрийг ердийн дискнүүдээс ялгах хэд хэдэн боломжуудтай байдаг. Эхлээд хэрэглэгч CD дээр бичих боломжгүй байсан. Тэдгээр нь замуудын хооронд толгойг шилжүүлэхдээ сааталгүйгээр үргэлжлэн уншдагаар хийгджээ. Тэр үед байсан адил хэмжээтэй зөөвөрлөгчийг зөөхөөс тэдгээрийг систем хооронд зөөх нь хамаагүй хялбар байдаг. CD-үүд нь замтай байдаг боловч энэ нь дискний физик хэсэг биш харин үргэлжлэн уншигдах өгөгдлийн хэсгийг хэлдэг. FreeBSD дээр CD үүсгэхдээ CD дээр замууд үүсгэх өгөгдлийн файлуудыг бэлдэж дараа нь замуудыг CD уруу бичнэ. ISO 9660 файлын системүүд ISO 9660 ISO 9660 файлын систем нь эдгээр ялгаануудтай ажиллахаар хийгдсэн. Энэ нь тэр үед нийтлэг байсан файлын системийн хязгааруудыг харамсалтай нь кодчилдог. Азаар энэ нь зөв бичигдсэн CD-үүдэд тэдгээр хязгааруудыг давж гарахыг зөвшөөрөх өргөтгөлөөр хангадаг бөгөөд тэдгээр өргөтгөлүүдийг дэмждэггүй системүүдтэй ажиллаж чадсан хэвээр байдаг. sysutils/cdrtools sysutils/cdrtools портод ISO 9660 файлын системийг агуулах өгөгдлийн файлыг үүсгэдэг програм &man.mkisofs.8; байдаг. Энэ нь төрөл бүрийн өргөтгөлүүдийг дэмждэг тохируулгуудтай бөгөөд доор тайлбарлагдсан болно. CD шарагч ATAPI CD шарахдаа ямар хэрэгслийг ашиглах нь таны CD шарагч ATAPI юу аль эсвэл өөр үү гэдгээс шалтгаална. ATAPI CD шарагчид нь үндсэн системийн burncd програмыг ашигладаг. SCSI болон USB CD шарагчид нь sysutils/cdrtools портын cdrecord-г ашиглах ёстой. Мөн ATAPI тоног төхөөрөмж дээр SCSI хөтчүүдийн хувьд ATAPI/CAM модул ашиглан cdrecord-г хэрэглэх боломжтой байдаг. Хэрэв та график хэрэглэгчийн интерфэйстэй CD шарагч програм хангамжийг хүсэж байгаа бол X-CD-Roast эсвэл K3b-г үзээрэй. Эдгээр хэрэгслүүд нь багц хэлбэрээр эсвэл sysutils/xcdroast болон sysutils/k3b портуудад байдаг. X-CD-Roast болон K3b нь ATAPI тоног төхөөрөмж дээр ATAPI/CAM модулийг шаарддаг. mkisofs sysutils/cdrtools портын хэсэг &man.mkisofs.8; програм нь &unix;-ийн файлын системийн нэрийн талбар дахь сангийн модны дүрс болох ISO 9660 файлын системийг үүсгэдэг. Хамгийн хялбар хэрэглээ нь: &prompt.root; mkisofs -o imagefile.iso /path/to/tree файлын системүүд ISO 9660 Энэ тушаал нь /path/to/tree дахь модны хуулбар ISO 9660 файлын системийг агуулах imagefile.iso файлыг үүсгэх болно. Энэ процессод файлын нэрсийг ISO 9660 файлын системийн стандартын хязгаарлалтуудад багтах нэрсэд тааруулах бөгөөд ISO файлын системүүдэд байдаггүй нэрс бүхий файлуудыг оруулахгүй байх болно. файлын системүүд HFS файлын системүүд Joliet Тэдгээр хязгаарлалтуудыг давж гарах хэд хэдэн тохируулгууд байдаг. Ялангуяа тохируулга &unix; системүүдэд нийтлэг байдаг Rock Ridge өргөтгөлүүдийг идэвхжүүлдэг, нь Microsoft системүүдэд хэрэглэгддэг Joilet өргөтгөлүүдийг идэвхжүүлдэг бөгөөд нь &macos;-д хэрэглэгддэг HFS файлын системүүдийг үүсгэхэд ашиглагддаг. Зөвхөн FreeBSD системүүдэд ашиглагдах CD-үүдийн хувьд тохируулга бүх файлын нэрийн хязгаарлалтуудыг хаахад ашиглагдаж болно. тохируулгатай хэрэглэгдэх үед энэ нь таны эхэлсэн FreeBSD-ийн модтой ижил файлын системийн дүрсийг үүсгэдэг, гэхдээ энэ нь ISO 9660 стандартыг хэд хэдэн замаар зөрчиж болох юм. CDROM-ууд ачаалагддаг үүсгэх Ердийн хэрэглээний сүүлийн тохируулга нь юм. Энэ нь ачаалагдах El Torito CD-г үүсгэхэд хэрэглэгдэх ачаалагдах дүрсний байрлалыг заахад ашиглагддаг. Энэ тохируулга нь CD уруу бичигдэх модны дээд хэсгийн ачаалагдах дүрс хүрэх замыг заах нэмэлт өгөгдлийг авдаг. Анхдагчаар &man.mkisofs.8; нь floppy disk emulation буюу уян дискний эмуляц гэж нэрлэгддэг горимд ISO дүрсийг үүсгэдэг бөгөөд ачаалагдах дүрсийг яг 1200, 1440, эсвэл 2880 KB хэмжээтэй байна гэж тооцдог. FreeBSD түгээлтийн дискнүүдэд хэрэглэгддэг ачаалагч дуудагч зэрэг зарим ачаалагч дуудагчид нь эмуляц горимыг ашигладаггүй; энэ тохиолдолд тохируулгыг ашиглах шаардлагатай. Тэгэхээр хэрэв /tmp/myboot нь ачаалагдах FreeBSD системийг /tmp/myboot/boot/cdboot дэх ачаалагдах дүрстэй цуг агуулж байвал та ISO 9660 файлын системийн дүрсийг /tmp/bootable.iso-д иймэрхүү маягаар үүсгэж болох юм: &prompt.root; mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot Үүнийг хийснийхээ дараа хэрэв та цөмдөө md-г тохируулсан бол файлын системийг ингэж холбож болно: &prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0 &prompt.root; mount -t cd9660 /dev/md0 /mnt Энэ үед та /mnt болон /tmp/myboot нь ижил болохыг шалгаж болно. &man.mkisofs.8;-ийн ажиллагааг нарийн тааруулахын тулд та түүний бусад олон тохируулгуудыг ашиглаж болно. Ялангуяа ISO 9660-ийн байрлал болон Joilet ба HFS дискнүүдийн үүсгэлтэд өөрчлөлтүүд хийж болно. Дэлгэрэнгүйг &man.mkisofs.8;-ийн гарын авлагын хуудаснаас үзнэ үү. burncd CDROM-ууд шарах Хэрэв танд ATAPI CD шарагч байгаа бол та ISO дүрсийг CD уруу шарахдаа burncd тушаалыг ашиглаж болно. burncd нь үндсэн системийн хэсэг бөгөөд /usr/sbin/burncd гэж суулгагдсан байдаг. Энэ нь цөөн тохируулгуудтай болохоор хэрэглэхэд их хялбар байдаг: &prompt.root; burncd -f cddevice data imagefile.iso fixate Дээрх тушаал нь imagefile.iso-н хуулбарыг cddevice уруу шарах болно. Анхдагч төхөөрөмж нь /dev/acd0 юм. Бичих хурд, шарсны дараа CD-г гаргах болон аудио өгөгдөл бичихийг заах тохируулгуудын талаар &man.burncd.8;-с үзнэ үү. cdrecord Хэрэв танд ATAPI CD шарагч байхгүй бол та өөрийн CD-үүдийг шарахын тулд cdrecord-г ашиглах шаардлагатай. cdrecord нь үндсэн системд байдаггүй; та үүнийг sysutils/cdrtools дахь портоос эсвэл тохирох багцаас суулгах ёстой. Үндсэн системд хийгдсэн өөрчлөлт нь энэ програмын хоёртын хувилбарыг ажиллахгүй болгож, магадгүй асуудалд (coaster) хүргэж болох юм. Тийм болохоор та өөрийн системээ шинэчлэхдээ портоо бас шинэчлэх эсвэл хэрэв та -STABLE салбарыг дагаж байгаа бол портыг шинэ хувилбар гарахад нь шинэчлэх хэрэгтэй. cdrecord нь олон тохируулгатай байдаг боловч үндсэн хэрэглээ нь burncd-с бүр илүү хялбар байдаг. ISO 9660 дүрсийг шарахдаа: &prompt.root; cdrecord dev=device imagefile.iso cdrecord-г хэрэглэхэд гардаг нэг заль нь тохируулгыг олох явдал юм. Зөв тохиргоог олохын тулд cdrecord-ийн тугийг хэрэглэх хэрэгтэй бөгөөд энэ нь иймэрхүү үр дүнд хүргэж болох юм: CDROM-ууд шарах &prompt.root; cdrecord -scanbus Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk 0,2,0 2) * 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * scsibus1: 1,0,0 100) * 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner 1,7,0 107) * Энэ нь жагсаалтан дахь төхөөрөмжүүдийн хувьд тохирох утгыг жагсаадаг. Өөрийн CD шарагчийг олохын тулд тохируулгын утгад гурван дугаарыг таслалаар тусгаарлан хэрэглэнэ. Энэ тохиолдолд CRW төхөөрөмж нь 1,5,0, байх бөгөөд тохирох оролт нь болно. Энэ утгыг заах амархан аргууд байдаг; дэлгэрэнгүйг &man.cdrecord.1;-с үзнэ үү. Мөн тэндээс аудио замуудыг бичих, хурдыг хянах болон бусад зүйлүүдийн тухай мэдээллийг үзэж болно. Аудио CD-үүдийг хувилах Та аудио өгөгдлийг CD-ээс файлуудын цуваа болгон задалж дараа нь эдгээр файлуудыг хоосон CD дээр бичин аудио CD-г хувилж болно. Энэ процесс нь ATAPI болон SCSI хөтчүүдийн хувьд нэлээн өөр байдаг. SCSI хөтчүүд Аудиог cdda2wav ашиглан задлана. &prompt.user; cdda2wav -v255 -D2,0 -B -Owav cdrecord ашиглан .wav файлуудыг бичнэ. &prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wav хэсэгт тайлбарласны дагуу 2,0 гэж зөв заагдсан эсэхийг шалгаарай. ATAPI хөтчүүд ATAPI CD драйвер нь зам бүрийг /dev/acddtnn маягаар болгодог бөгөөд d нь хөтчийн дугаар ба nn нь шаардлагатай бол урдаа 0 тавьж хоёр оронтой тоогоор бичигдсэн замын дугаар юм. Тэгэхээр эхний диск дээрх эхний зам нь /dev/acd0t01, хоёр дахь нь /dev/acd0t02, гурав дахь нь /dev/acd0t03 гэх мэтчилэн байна. Тохирох файлууд /dev санд байгаа эсэхийг шалгаарай. Хэрэв оруулгууд байхгүй байгаа бол зөөвөрлөгчийг дахин үзэхээр системийг хүчлэх хэрэгтэй: &prompt.root; dd if=/dev/acd0 of=/dev/null count=1 Зам бүрийг &man.dd.1; ашиглан задална. Файлуудыг задлахдаа та тусгай блокийн хэмжээг бас ашиглах ёстой. &prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352 &prompt.root; dd if=/dev/acd0t02 of=track2.cdr bs=2352 ... Задалсан файлуудаа диск уруу burncd ашиглан шарна. Та эдгээрийг аудио файл гэж зааж өгөх хэрэгтэй бөгөөд burncd нь дуусахдаа дискийг бэхжүүлэх ёстой. &prompt.root; burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate Өгөгдлийн CD-үүдийг хувилах Та өгөгдлийн CD-г &man.mkisofs.8;-р үүсгэсэн дүрс файлтай ажиллагааны хувьд адилхан дүрс файл уруу хуулж болох бөгөөд та үүнийг ямар ч өгөгдлийн CD хувилахад ашиглаж болно. Энд өгөгдсөн жишээ нь таны CDROM төхөөрөмжийг acd0 гэж үзэх болно. Өөрийн зөв CDROM төхөөрөмжөөр солиорой. &prompt.root; dd if=/dev/acd0 of=file.iso bs=2048 Одоо та нэгэнт дүрстэй болсон болохоор үүнийг CD уруу дээр тайлбарласны дагуу шарж болно. Өгөгдлийн CD-үүдийг ашиглах Одоо та стандарт өгөгдлийн CDROM үүсгэсэн болохоор түүнийг холбож түүн дээрх өгөгдлийг уншихыг хүсэх байх. Анхдагчаар &man.mount.8; нь файлын системийг ufs төрлийнх гэж үздэг. Хэрэв та доорх шиг оролдвол: &prompt.root; mount /dev/cd0 /mnt Incorrect super block гэж гомдоллохыг та харах бөгөөд холболт хийгдэхгүй байх болно. CDROM нь UFS файлын систем биш, тэгэхээр ингэж холбохыг оролдох нь амжилтгүй болох болно. Та &man.mount.8;-д файлын системийн төрөл нь ISO9660 гэж зааж өгөхөд л бүгд ажиллах болно. Та тохируулгыг &man.mount.8;-д өгч үүнийг хийнэ. Жишээ нь хэрэв та CDROM төхөөрөмж /dev/cd0/mnt-д холбохыг хүсвэл дараах тушаалыг ажиллуулах болно: &prompt.root; mount -t cd9660 /dev/cd0 /mnt Таны төхөөрөмжийн нэр (энэ жишээн дээр /dev/cd0) таны CDROM ямар интерфэйс ашиглаж байгаагаас хамааран өөр байж болох юм. Мөн тохируулга нь ердөө л &man.mount.cd9660.8;-г ажиллуулдаг. Дээрх жишээг ингэж богиносгож болно: &prompt.root; mount_cd9660 /dev/cd0 /mnt Та ерөнхийдөө энэ аргаар ямар ч үйлдвэрлэгчийн өгөгдлийн CDROM-уудыг ашиглаж болно. Гэхдээ зарим нэг ISO 9660 өргөтгөлүүдтэй дискнүүд хачин ажиллаж болох юм. Жишээ нь Joilet дискнүүд нь бүх файлын нэрсийг хоёр байт Юникод тэмдэгтээр хадгалдаг. FreeBSD цөм нь Юникодоор ярьдаггүй, гэхдээ &os;-ийн CD9660 драйвер Юникод тэмдэгтүүдийг шууд хувиргаж чаддаг. Хэрэв зарим нэг Англи бус тэмдэгтүүд асуултын тэмдэг хэлбэрээр харагдвал та ашиглаж байгаа локал тэмдэгтийн олонлогоо тохируулгаар зааж өгөх хэрэгтэй. Дэлгэрэнгүй мэдээллийг &man.mount.cd9660.8; гарын авлагын хуудаснаас лавлана уу. Энэ тэмдэгтийн хувиргалтыг тохируулгын тусламжтай хийхийн тулд цөм cd9660_iconv.ko модулийг дуудсан байхыг шаардах болно. Энэ мөрийг loader.conf файлд нэмж үүнийг: cd9660_iconv_load="YES" гэж хийн машиныг дахин ачаалах буюу эсвэл модулийг &man.kldload.8;-н тусламжтай дуудан хийж болох юм. Хааяа таныг CDROM-г холбохыг оролдох үед Device not configured гэсэн алдаа гарч болох юм. Энэ нь ихэнхдээ CDROM хөтөч нь төхөөрөмжид диск байхгүй эсвэл хөтөч нь шугаманд (bus) харагдахгүй байна гэж үзэж байна гэсэн үг юм. CDROM хөтөч нь хоёр секундын дотор үүнийг мэддэг болохоор тэвчээртэй байгаарай. Шугамын дахин тогтоолтод хариу өгөх хангалттай хугацаа байхгүйн улмаас заримдаа SCSI CDROM-ийг олохгүй байж болох юм. Хэрэв та SCSI CDROM-той бол та дараах тохируулгыг цөмийн тохиргоондоо нэмж өөрийн цөмийг дахин бүтээнэ үү. options SCSI_DELAY=15000 Энэ нь таны SCSI шугамд ачаалах үедээ 15 секунд түр саатахыг хэлж өгөх бөгөөд ингэснээр шугамын дахин тогтоолтод таны CDROM хөтчөөр хариу өгүүлэхийн тулд бүх байж болох боломжийг түүнд өгч байна гэсэн үг юм. Түүхий өгөгдлийн CD-үүдийг шарах Та ISO 9660 файлын системийг үүсгэлгүйгээр файлыг CD уруу шууд шарахаар сонгож болно. Зарим хүмүүс үүнийг нөөцлөх зорилгоор хийдэг. Энэ нь стандарт CD-г шарахаас илүү хурдан ажилладаг: &prompt.root; burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate Тийм CD-д шарагдсан өгөгдлийг авахын тулд та түүхий төхөөрөмжийн цэгээс өгөгдлийг унших ёстой: &prompt.root; tar xzvf /dev/acd1 Та энэ дискийг ердийн CDROM-ийг холбодог шиг холбож чадахгүй. Ийм CDROM нь FreeBSD-ээс өөр ямар ч үйлдлийн систем дээр уншигдахгүй. Хэрэв та CD-гээ холбохыг эсвэл өөр үйлдлийн системтэй өгөгдлөө хуваалцах хүсэлтэй байгаа бол дээр тайлбарласны дагуу &man.mkisofs.8;-г ашиглах ёстой. Марк Фонвил Хувь нэмэр болгон оруулсан CD шарагч ATAPI/CAM драйвер ATAPI/CAM драйверийг ашиглах Энэ драйвер нь ATAPI төхөөрөмжүүдэд (CD-ROM, CD-RW, DVD хөтчүүд гэх мэт...) SCSI дэд системээр хандах боломжийг олгох бөгөөд ингэснээр sysutils/cdrdao эсвэл &man.cdrecord.1; зэрэг програмуудыг ашиглах боломжийг олгодог. Энэ драйверыг ашиглахын тулд та дараах мөрийг /boot/loader.conf файл уруу нэмэх хэрэгтэй болно: atapicam_load="YES" тэгээд өөрийн машинаа дахин ачаална. Хэрэв та өөрийн цөмдөө &man.atapicam.4; дэмжлэгийг статикаар эмхэтгэхийг хүсвэл энэ мөрийг өөрийн цөмийн тохиргооны файлдаа нэмэх хэрэгтэй болно: device atapicam Мөн та өөрийн цөмийн тохиргооны файлдаа дараах мөрүүдийг бас нэмэх хэрэгтэй болно: device ata device scbus device cd device pass Эдгээр нь аль хэдийн байж байх ёстой. Дараа нь дахин бүтээгээд өөрийн цөмийг суулгаж машинаа дахин ачаалах хэрэгтэй. Ачаалах процессийн үед таны шарагч иймэрхүү маягаар гарч ирэх ёстой: acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4 cd0 at ata1 bus 0 target 0 lun 0 cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed Одоо хөтчид /dev/cd0 төхөрөөмжийн нэрийг ашиглан хандаж болох бөгөөд жишээ нь CD-ROM-г /mnt-д холбохдоо дараах тушаалыг бичих хэрэгтэй: &prompt.root; mount -t cd9660 /dev/cd0 /mnt root хэрэглэгчээр дараах тушаалыг ажиллуулж та шарагчийн SCSI хаягийг авч болно: &prompt.root; camcontrol devlist <MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0) Тэгэхээр 1,0,0 нь &man.cdrecord.1; болон бусад SCSI програмтай ашиглах SCSI хаяг болох юм. ATAPI/CAM болон SCSI системийн талаар дэлгэрэнгүй мэдээллийг &man.atapicam.4; болон &man.cam.4; гарын авлагын хуудаснуудаас лавлана уу. Марк Фонвил Хувь нэмэр болгон оруулсан Энди Поляков Зарим зүйл оруулсан Оптик зөөвөрлөгчийг (DVD-үүд) үүсгэж ашиглах нь DVD шарах нь Танилцуулга CD-тэй харьцуулахад DVD нь оптик зөөвөрлөгч хадгалалтын технологийн дараачийн үе юм. DVD нь ямар ч CD-ээс илүү өгөгдлийг агуулдаг бөгөөд одоогийн видео хэвлэлтийн стандарт болжээ. Бичигддэг DVD гэж бидний нэрлэдэг DVD-үүдийн физик 5 бичигддэг хэлбэршүүлэлтийг тодорхойлж болно: DVD-R: Энэ нь бичигддэг DVD-ий анхны хэлбэршүүлэлт юм. DVD-R стандарт нь DVD хэлэлцүүлгээр тодорхойлогдсон бөгөөд энэ нь зөвхөн нэг удаа бичих хэлбэршүүлэлт юм. DVD-RW: Энэ нь DVD-R стандартын дахин бичигдэх хувилбар юм. DVD-RW нь ойролцоогоор 1000 удаа бичигдэх боломжтой. DVD-RAM: Энэ нь DVD хэлэлцүүлгийн дэмждэг бас дахин бичигддэг хэлбэршүүлэлт юм. DVD-RAM нь зөөгдөж болох хатуу хөтөч маягаар харагддаг. Гэхдээ энэ зөөвөрлөгч нь ихэнх DVD-ROM хөтчүүд болон DVD-Видео тоглуулагчуудтай нийцтэй биш байдаг; цөөн DVD бичигчид DVD-RAM хэлбэршүүлэлтийг дэмждэг. DVD-RAM-ийн хэрэглээний талаар илүү дэлгэрэнгүйг -с уншина уу. DVD+RW: Энэ нь DVD+RW холбооноос тодорхойлсон дахин бичигдэх хэлбэршүүлэлт юм. DVD+RW нь ойролцоогоор 1000 удаа бичигдэх боломжтой. DVD+R: Энэ хэлбэршүүлэлт нь DVD+RW хэлбэршүүлэлтийн нэг удаа бичих хувилбар юм. Бичигддэг DVD-ий нэг давхарга нь 4,700,000,000 байт буюу 4.38 GB эсвэл 4485 MB (1 килобайт нь 1024 байт) хүртэлх мэдээлэл агуулж чадна. Физик зөөвөрлөгч болон програмыг ялгаж ойлгох ёстой. Жишээ нь DVD-Видео нь дурын бичигддэг DVD физик зөөвөрлөгч DVD-R, DVD+R, DVD-RW гэх зэрэг уруу бичигдэж болох тусгай байршлын зураглал юм. Зөөвөрлөгчийн төрлийг сонгохын өмнө шарагч болон DVD-Видео тоглуулагч (дан тоглуулагч эсвэл компьютер дээрх DVD-ROM хөтөч) нь хэрэглэхээр төлөвлөж байгаа зөөвөрлөгчтэй нийцтэй эсэхийг шалгах хэрэгтэй. Тохиргоо DVD бичлэг хийхэд &man.growisofs.1; програм ашиглагдана. Энэ тушаал нь dvd+rw-tools хэрэгслүүдийн (sysutils/dvd+rw-tools) нэг хэсэг юм. dvd+rw-tools нь DVD зөөвөрлөгчийн бүх төрлийг дэмждэг. Эдгээр хэрэгслүүд нь төхөөрөмжүүд уруу хандахын тулд SCSI дэд системийг ашигладаг, тиймээс таны цөмд ATAPI/CAM дэмжлэг нэмэгдсэн байх ёстой. Хэрэв таны шарагч USB интерфэйс ашигладаг бол энэ нэмэлт нь хэрэггүй бөгөөд та USB төхөөрөмжүүдийн тохиргооны талаар илүү дэлгэрэнгүйг -с унших шаардлагатай. Та мөн ATAPI төхөөрөмжүүдийн хувьд DMA хандалтыг идэвхжүүлэх ёстой бөгөөд дараах мөрийг /boot/loader.conf файлд нэмж үүнийг хийнэ: hw.ata.atapi_dma="1" dvd+rw-tools-г ашиглахаасаа өмнө өөрийн DVD шарагчтай холбоотой мэдээллийг dvd+rw-tools' тоног төхөөрөмжийн нийцтэй байдал хаягаас лавлах хэрэгтэй. Хэрэв та график хэрэглэгчийн интерфэйсийг хүсэж байвал &man.growisofs.1; болон бусад олон шарагч хэрэгслүүдийг хэрэглэгчид ашиглахад амар интерфэйсээр хангадаг K3b (sysutils/k3b) програмыг үзэх хэрэгтэй. Өгөгдлийн DVD-үүдийг шарах нь &man.growisofs.1; тушаал нь mkisofs-ийн нүүр хэсэг юм, энэ нь шинэ файлын системийн байршлыг үүсгэхийн тулд &man.mkisofs.8;-г дуудах бөгөөд DVD дээр бичих үйлдлийг гүйцэтгэнэ. Энэ нь та шарах процессоос өмнө өгөгдлийн дүрсийг үүсгэх хэрэггүй гэсэн үг юм. DVD+R эсвэл DVD-R уруу өгөгдлийг /path/to/data сангаас шарахдаа дараах тушаалыг ашиглана: &prompt.root; growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/data Файлын системийг үүсгэхдээ тохируулгуудыг &man.mkisofs.8;-д дамжуулдаг (энэ тохиолдолд Joilet болон Rock Ridge өргөтгөлүүдтэй ISO 9660 файлын систем). Дэлгэрэнгүйг &man.mkisofs.8; гарын авлагын хуудаснаас лавлана уу. тохируулгыг ямар ч тохиолдолд (олон сессүүд эсвэл ганц сесс) эхний сессийг бичихдээ хэрэглэдэг. DVD төхөөрөмж /dev/cd0-г өөрийн тохиргооны дагуу өөрчлөх хэрэгтэй. параметр дискийг хаах бөгөөд бичилтийг нэмэх нь боломжгүй болох юм. Энэ нь DVD-ROM хөтчүүдтэй зөөвөрлөгчийн нийцтэй байдлыг илүүтэй хангах юм. Мөн урьдчилан урласан дүрсийг шарах бас боломжтой, жишээ нь imagefile.iso дүрсийг шарахын тулд бид дараах тушаалыг ажиллуулна: &prompt.root; growisofs -dvd-compat -Z /dev/cd0=imagefile.iso Бичих хурдыг олж зөөвөрлөгч ба ашиглагдаж байгаа хөтчөөс хамаарч автоматаар тохируулах болно. Хэрэв та бичих хурдыг өөрчлөх хүсэлтэй байгаа бол параметрийг ашиглах хэрэгтэй. Дэлгэрэнгүй мэдээллийг &man.growisofs.1; гарын авлагын хуудаснаас уншина уу. DVD DVD-Video DVD-Видео шарах нь DVD-Видео нь ISO 9660 болон микро-UDF (M-UDF тодорхойлолтууд дээр тулгуурласан тусгай файлын байршлын зураглал юм. DVD-Видео нь бас өгөгдлийн бүтцийн тусгай шатлалыг үзүүлдэг бөгөөд энэ нь DVD-г зохиохын тулд multimedia/dvdauthor зэрэг тусгай програмыг та яагаад ашиглах хэрэгтэй болдгийн шалтгаан юм. Хэрэв танд DVD-Видео файлын системийн дүрс байгаа бол ямар ч дүрсний нэгэн адил аргаар шарах хэрэгтэй. Өмнөх хэсгийн жишээнээс үзнэ үү. Хэрэв та DVD зохиолт хийсэн бөгөөд үр дүн нь жишээ нь /path/to/video санд байгаа бол DVD-Видеог шарахын тулд дараах тушаалыг ашиглах хэрэгтэй: &prompt.root; growisofs -Z /dev/cd0 -dvd-video /path/to/video тохируулга &man.mkisofs.8;-д дамжуулагдах бөгөөд энэ нь DVD-Видео файлын системийн байршлын зураглал үүсгэхийг тушаах болно. Үүнээс гадна тохируулга нь &man.growisofs.1;-ийн тохируулгыг агуулдаг. DVD DVD+RW DVD+RW ашиглах нь CD-RW-с ялгаатай нь шинэ DVD+RW нь ашиглагдахаа өмнө хэлбэршүүлэгдсэн байх ёстой. &man.growisofs.1; нь шаардлагатай үед автоматаар үүнийг хийх бөгөөд энэ аргыг зөвлөдөг юм. Гэхдээ та dvd+rw-format тушаалыг ашиглан DVD+RW-г хэлбэршүүлж болно: &prompt.root; dvd+rw-format /dev/cd0 Та энэ үйлдлийг зөвхөн нэг удаа хийх хэрэгтэй бөгөөд зөвхөн шинэ DVD+RW зөөвөрлөгчдийн хувьд хэлбэршүүлэх ёстойг санаарай. Дараа нь та DVD+RW-г дээрх хэсгүүдэд дурдсаны адил шарж болно. Хэрэв та шинэ өгөгдлийг (зарим өгөгдлийг нэмэх биш бүр мөсөн шинэ файлын систем шарах) DVD+RW уруу шарахыг хүсэж байгаа бол түүнийг хоосон болгох шаардлагагүй юм, иймэрхүүгээр өмнөх бичилтэн дээрээ (шинэ сесс үүсгээд) дараад л бичих хэрэгтэй юм: &prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/newdata DVD+RW хэлбэршүүлэлт нь өмнөх бичилтэд өгөгдлийг хялбараар нэмэх боломжийг олгодог. Энэ үйлдэл нь шинэ сессийг хуучин байгаатай нь нийлүүлэх бөгөөд энэ нь олон сесс бүхий бичилт биш юм. &man.growisofs.1; нь зөөвөрлөгч дээр байгаа ISO 9660 файлын системийг өсгөх (сунгах) болно. Жишээ нь хэрэв бид өөрсдийн урьдны DVD+RW уруу өгөгдөл нэмэхийг хүсвэл доор дурдсаныг ашиглах хэрэгтэй болно: &prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdata Эхний сессийг шарахдаа бидний хэрэглэдэг &man.mkisofs.8;-ийн адил тохируулгууд дараагийн бичилтүүдийн үеэр хэрэглэгдэх ёстой. Хэрэв та DVD-ROM хөтчүүдтэй зөөвөрлөгчийн хувьд илүүтэй нийцтэй байхыг хүсвэл тохируулгыг хэрэглэхийг хүсэж болох юм. DVD+RW тохиолдлын хувьд энэ нь таныг өгөгдөл нэмэхийг болиулж чадахгүй юм. Хэрэв та ямар нэг шалтгаанаар зөөвөрлөгчийг хоосон болгохыг хүсвэл доор дурдсаныг хийх хэрэгтэй: &prompt.root; growisofs -Z /dev/cd0=/dev/zero DVD DVD-RW DVD-RW ашиглах нь DVD-RW нь дискний хоёр хэлбэршүүлэлтийг авдаг: нэмэгдсэн дараалсан хэлбэршүүлэлт болон хязгаарлагдмал дарж бичих хэлбэршүүлэлт юм. Анхдагчаар DVD-RW дискнүүд нь дараалсан хэлбэршүүлэлтэд байдаг. Шинэ DVD-RW нь хэлбэршүүлэлт хийгдэлгүйгээр шууд бичигдэж болдог, гэхдээ шинэ биш дараалсан хэлбэршүүлэлтэд байх DVD-RW нь шинэ эхний сесс бичигдэхээс өмнө хоосон болгогдсон байх шаардлагатай байдаг. Дараалсан горим дахь DVD-RW-г хоослохдоо дараах тушаалыг ажиллуулна: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Бүр мөсөн хоослолт () 1x зөөвөрлөгч дээр нэг цаг орчим болно. Хэрэв DVD-RW нь Disk-At-Once (DAO) горимоор бичигдэх бол хурдан хоослолтыг тохируулга ашиглан хийж болно. DVD-RW-г DAO горимд шарахын тулд дараах тушаалыг ашиглана: &prompt.root; growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.iso тохируулгыг шаардах ёсгүй, учир нь &man.growisofs.1; нь (хурдан хоосолсон) зөөвөрлөгчийг илрүүлэхийг бага оролдож DAO бичилтийг захиалах болно. Яг үнэндээ дурын DVD-RW-ийн хувьд хязгаарлагдмал дарж бичих горимыг ашиглах хэрэгтэй бөгөөд энэ хэлбэршүүлэлт нь анхдагч нэмэгдсэн дараалсан хэлбэршүүлэлтээс илүү уян хатан байдаг. Дараалсан DVD-RW дээр өгөгдлийг бичихдээ бусад DVD хэлбэршүүлэлтийн нэгэн адил заавруудыг ашиглана: &prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/data Хэрэв та зарим өгөгдлийг өөрийн урьдны бичлэгт нэмэхийг хүсвэл &man.growisofs.1;-ийн тохируулгыг ашиглах хэрэгтэй болно. Гэхдээ хэрэв та нэмэгдсэн дараалсан горимд байгаа DVD-RW уруу өгөгдлийг нэмэх үйлдлийг хийвэл диск дээр шинэ сесс үүсгэгдэх бөгөөд үүний үр дүн нь олон сесс бүхий диск болох юм. DVD-RW нь хязгаарлагдмал дарж бичих хэлбэршүүлэлтэд шинэ эхний сессээс өмнө хоосон болгогдох шаардлагагүй, та ердөө л дискийг тохируулгатай дарж бичих хэрэгтэй бөгөөд энэ нь DVD+RW тохиолдолтой төстэй юм. Мөн диск дээр бичигдсэн байгаа ISO 9660 файлын системийг DVD+RW-тэй адил аргаар тохируулгын тусламжтай өсгөж (сунгаж) бас болно. Үр дүн нь нэг сесс бүхий DVD болох юм. DVD-RW-г хязгаарлагдмал дарж бичих хэлбэршүүлэлтэд оруулахдаа дараах тушаалыг ашиглах ёстой: &prompt.root; dvd+rw-format /dev/cd0 Дараалсан хэлбэршүүлэлт уруу буцааж өөрчлөхдөө дараах тушаалыг ашиглана: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Олон сесс Маш цөөн DVD-ROM хөтчүүд олон сесс бүхий DVD-үүдийг дэмждэг бөгөөд тэдгээр нь ихэнхдээ зөвхөн эхний сессийг уншдаг. DVD+R, DVD-R болон DVD-RW нь дараалсан хэлбэршүүлэлтдээ олон сессийг хүлээн авч чаддаг бөгөөд DVD+RW болон DVD-RW хязгаарлагдмал дарж бичих хэлбэршүүлэлтүүдийн хувьд олон сесс гэсэн ойлголт байдаггүй. Дараалсан хэлбэршүүлэлтэд DVD+R, DVD-R эсвэл DVD-RW дээрх эхний (хаагдаагүй) сессийн дараа дараах тушаалыг ашиглаж дискэнд шинэ сесс үүсгэнэ: &prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdata Энэ тушаалын мөрийг DVD+RW эсвэл DVD-RW-тэй цуг ашиглан хязгаарлагдмал дарж бичих горим дээр шинэ сессийг хуучин байгаатай нийлүүлэн өгөгдлийг нэмэх болно. Үр дүн нь нэг сесс бүхий диск болох юм. Энэ нь эдгээр зөөвөрлөгчүүд дээр эхний бичилтийн дараа өгөгдөл нэмэх арга юм. Зөөвөрлөгч дээрх зарим зай нь сесс бүрийн хооронд сессийн төгсгөл болон эхлэлд хэрэглэгддэг. Тиймээс зөөвөрлөгчийн зайг оновчтой ашиглахын тулд их өгөгдөлтэй сессүүдийг нэмэх ёстой юм. Сессийн тоо DVD+R-ийн хувьд 154, DVD-R-ийн хувьд 2000 орчим, DVD+R хос давхаргын хувьд 127-оор хязгаарлагдана. Дэлгэрэнгүй мэдээллийг DVD-ийн талаар илүү мэдээллийг авахын тулд dvd+rw-mediainfo /dev/cd0 тушаалыг хөтөч дотор диск байхад ажиллуулж болно. dvd+rw-tools-н тухай дэлгэрэнгүй мэдээлэл нь &man.growisofs.1; гарын авлагын хуудас, dvd+rw-tools вэб сайт болон cdwrite захидлын жагсаалтын архивуудаас олдож болно. Бичигдсэн үр дүн эсвэл асуудалтай зөөвөрлөгчийн dvd+rw-mediainfo гаралт нь ямар ч асуудлын тайлангийн чухал хэсэг юм. Энэ гаралтгүйгээр танд туслах бараг л боломжгүй юм. DVD-RAM ашиглах нь DVD DVD-RAM Тохиргоо DVD-RAM бичигчид нь SCSI аль эсвэл ATAPI интерфэйстэй цуг ирдэг. ATAPI төхөөрөмжүүдийн хувьд DMA хандалт идэвхтэй болсон байх ёстой, дараах мөрийг /boot/loader.conf файлд нэмж үүнийг хийнэ: hw.ata.atapi_dma="1" Зөөвөрлөгчийг бэлдэх нь Өмнө нь бүлгийн танилцуулгад дурдсанаар DVD-RAM нь зөөврийн хатуу хөтөч маягаар харагддаг. Бусад хатуу дискнүүдийн адил DVD- RAM нь ашиглагдаж эхлэхээсээ өмнө бэлдэгдсэн байх ёстой. Жишээн дээр дискний бүх зай стандарт UFS2 файлын системтэй ашиглагдана: - &prompt.root; dd if=/dev/zero of=/dev/acd0 count=2 + &prompt.root; dd if=/dev/zero of=/dev/acd0 bs=2k count=1 &prompt.root; bsdlabel -Bw acd0 &prompt.root; newfs /dev/acd0 DVD төхөөрөмж acd0-ийг өөрийн тохиргооны дагуу өөрчлөн ашиглах ёстой. Зөөвөрлөгчийг ашиглах нь Дээрх үйлдлүүд DVD-RAM дээр хийгдсэний дараа үүнийг энгийн хатуу хөтчийн нэгэн адил холбож болно: &prompt.root; mount /dev/acd0 /mnt Үүний дараа DVD-RAM нь уншигдах бичигдэх боломжтой болно. Жулио Мерино Анхлан хийсэн Мартин Карлсон Дахин бичсэн Уян дискнүүдийг үүсгэж ашиглах нь Өгөгдлийг уян дискнүүд уруу хадгалах нь заримдаа ашигтай байдаг. Жишээ нь хэн нэгэнд нь шилжүүлж болдог ямар ч хадгалалтын зөөвөрлөгч байхгүй тохиолдолд эсвэл бага хэмжээний өгөгдлийг өөр компьютер уруу зөөх хэрэгцээ гарсан үед уян диск нь хэрэг болдог. Энэ хэсэг нь FreeBSD дээр уян дискийг хэрхэн ашиглах талаар тайлбарлах болно. Энд 3.5 инчийн DOS уян дискнүүдийг хэлбэршүүлж ашиглах талаар үндсэндээ тайлбарлах бөгөөд гэхдээ энэ ойлголт нь бусад уян дискний хэлбэршүүлэлттэй төстэй юм. Уян дискнүүдийг хэлбэршүүлэх нь Төхөөрөмж Уян дискнүүдэд бусад төхөөрөмжүүдийн адил /dev сан дахь оруулгуудаар ханддаг. Түүхий уян дискэнд хандахын тулд /dev/fdN-г ердөө л ашиглах хэрэгтэй. Хэлбэршүүлэх нь Уян дискийг ашиглахаасаа өмнө доод түвшний хэлбэршүүүлэлт хийсэн байх хэрэгтэй. Үүнийг ихэвчлэн үйлдвэрлэгч хийдэг боловч хэлбэршүүлэлт нь зөөвөрлөгчийн бүрэн бүтэн байдлыг шалгах нэг сайн арга юм. Илүү том (эсвэл жижиг) дискний хэмжээг хүчлэн ашиглах боломжтой байдаг боловч 1440kB хэмжээнд зориулагдан ихэнх уян диск хийгдсэн байдаг. Уян дискэнд доод түвшний хэлбэршүүлэлт хийхийн тулд та &man.fdformat.1;-г ашиглах хэрэгтэй. Энэ хэрэгсэл нь төхөөрөмжийн нэрийг нэмэлт өгөгдөл маягаар оруулахыг хүлээж байдаг. Алдааны мэдэгдлийг тэмдэглэж аваарай, учир нь эдгээр нь дискийг сайн эсвэл муу эсэхийг тодорхойлоход туслах болно. Уян дискнүүдийг хэлбэршүүлэх нь /dev/fdN төхөөрөмжүүдийг ашиглан уян дискийг хэлбэршүүлэх хэрэгтэй. Шинэ 3.5 инч диск өөрийн хөтөч уруугаа хийгээд дараах тушаалыг ажиллуул: &prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0 Дискний шошго Дискэнд доод түвшний хэлбэршүүлэлт хийсний дараа танд диск дээр шошго тавих хэрэгтэй болно. Энэ дискний шошго нь дараа нь устгагдах боловч дискний хэмжээ болон геометрийг дараа нь тодорхойлоход системд хэрэг болдог. Шинэ дискний шошго нь бүхэл дискийг хамарч уян дискний геометрийн тухай бүх л зөв мэдээллийг агуулах болно. Дискний шошгоны геометрийн утгууд нь /etc/disktab файлд жагсаагдсан байдаг. Та одоо ингэж &man.bsdlabel.8;-г ажиллуулж болно: &prompt.root; /sbin/bsdlabel -B -w /dev/fd0 fd1440 Файлын систем Одоо уян дискэнд дээд түвшний хэлбэршүүлэлт хийхэд бэлэн боллоо. Энэ нь дискийг FreeBSD унших болон түүнд бичих боломжийг олгох шинэ файлын системийг диск дээр байрлуулах болно. Шинэ файлын системийг үүсгэсний дараа дискний шошго устгагдах бөгөөд хэрэв та дискийг дахин хэлбэршүүлэхийг хүсвэл дискний шошгыг дахин үүсгэх шаардлагатай болно. Уян дискний файлын систем нь UFS эсвэл FAT хоёрын аль нэг нь байна. FAT нь ерөнхийдөө уян дискнүүдийн хувьд илүү дээр сонголт байдаг. Уян диск дээр шинэ файлын системийг байрлуулахын талд дараах тушаалыг ажиллуулна: &prompt.root; /sbin/newfs_msdos /dev/fd0 Диск одоо ашиглахад бэлэн боллоо. Уян дискийг ашиглах нь Уян дискийг ашиглахын тулд &man.mount.msdosfs.8; тушаалаар холбох хэрэгтэй. Мөн портын цуглуулгаас emulators/mtools-г ашиглаж бас болох юм. Өгөгдлийн соронзон хальснууд үүсгэж ашиглах нь соронзон хальс зөөвөрлөгч Гол соронзон хальс зөөвөрлөгчүүд нь 4мм, 8мм, QIC, мини-хайрцаг болон DLT юм. 4мм (DDS: Digital Data Storage) соронзон хальс зөөвөрлөгч DDS (4mm) соронзон хальснууд соронзон хальс зөөвөрлөгч QIC соронзон хальснууд 4мм соронзон хальснууд нь QIC-г халж ажлын станцын нөөц зөөвөрлөгч болон сонгогдож байна. Conner компани нь QIC хөтчүүдийн тэргүүлэх үйлдвэрлэгч Archive-г худалдаж авч дараа нь QIC хөтчүүдийг үйлдвэрлэхээ зогсоосноор энэ чиг хандлага нь илүү хурдассан юм. 4мм хөтчүүд нь жижиг, чимээгүй боловч 8мм хөтчүүд шиг найдвартай ажиллагаагаараа алдартай биш юм. Хайрцагнууд нь үнэтэй биш бөгөөд 8мм-ийн хайрцагнуудаас бага (3 x 2 x 0.5 инч, 76 x 51 x 12 мм) юм. 4мм соронзон хальс нь 8мм-ийн нэгэн адил шалтгаанаар толгой нь богино настай бөгөөд хоёулаа мушгиа сканыг ашигладаг. Эдгээр хөтчүүд дээрх өгөгдлийн дамжуулах чадвар нь ~150 kB/s-с эхэлж ~500 kB/s хүрнэ. Өгөгдлийн багтаамж 1.3 GB-с эхэлж 2.0 GB хүрнэ. Тоног төхөөрөмжийн шахалт энэ хөтчүүдийн ихэнхэд байх бөгөөд энэ нь багтаамжийг ойролцоогоор хоёр дахин нэмэгдүүлдэг. Олон хөтөч бүхий соронзон хальсны сан (library) автомат соронзон хальс солигчтой нэг кабинетийн хувьд 6 хөтөчтэй байж болно. Сангийн багтаамж нь 240 GB хүрнэ. DDS-3 стандарт нь одоогоор 12 GB (эсвэл 24 GB шахагдсан) багтаамжтай соронзон хальсыг дэмждэг. 4мм хөтчүүд нь 8мм-ийн хөтчүүдийн нэгэн адил мушгиа хайлтыг хэрэглэдэг. Мушгиа хайлт хийхийн бүх ашигтай тал болон сул талууд нь 4мм болон 8мм-ийн хөтчүүдийн аль алинд нь хамаардаг. Соронзон хальснууд нь 2000 удаагийн ашиглалт эсвэл 100 бүрэн нөөцлөлтийн дараа хэрэглээнээс гарах ёстой. 8мм (Exabyte) соронзон хальс зөөвөрлөгч Exabyte (8мм) соронзон хальснууд 8мм соронзон хальснууд нь хамгийн нийтлэг SCSI соронзон хальсны хөтчүүд юм; тэдгээр нь соронзон хальснууд солих хамгийн сайн сонголт болдог. Бараг сайт бүр Exabyte 2 GB 8мм-ийн соронзон хальсны хөтөчтэй байдаг. 8мм-ийн хөтчүүд нь найдвартай, хэрэглэхэд амар, чимээгүй байдаг. Хайрцагнууд нь хямд, жижиг (4.8 x 3.3 x 0.6 инч; 122 x 84 x 15 мм) байдаг. 8мм-ийн соронзон хальсны нэг сул тал нь толгойнуудын дагуух соронзон хальсны харьцангуй хөдөлгөөний өндөр хувиас болоод харьцангуй богино толгой ба соронзон хальсны амьдрах хугацаатай байдаг явдал юм. Өгөгдөл дамжуулах чадвар нь ~250 kB/s-аас ~500 kB/s хүртэл байна. Өгөгдлийн хэмжээ нь 300 MB-аас эхэлж 7 GB хүрнэ. Тоног төхөөрөмжийн шахалт энэ хөтчүүдийн ихэнхэд байх бөгөөд энэ нь багтаамжийг ойролцоогоор хоёр дахин нэмэгдүүлдэг. Эдгээр хөтчүүд нь нэг буюу эсвэл нэг кабинетдаа 6 хөтөч болон 120 соронзон хальстай олон хөтөч бүхий соронзон хальсны сан (library) хэлбэрээр байдаг. соронзон хальснууд нь автоматаар солигддог. Сангийн багтаамж 840+ GB хүрнэ. Exabyte Mammoth загвар нь нэг соронзон хальс дээр 12 GB ((24 GB шахалттайгаар) дэмждэг бөгөөд ердийн соронзон хальсны хөтчөөс ойролцоогоор хоёр дахин үнэтэй байдаг. Өгөгдөл нь соронзон хальс уруу мушгиа скан ашиглагдан бичигддэг, толгойнууд нь зөөвөрлөгч уруу өнцгөөр байрладаг (ойролцоогоор 6 градус). Соронзон хальс нь толгойнуудыг барьж байдаг дамрын 270 градус орчим ороодог. Соронзон хальс дамар дээгүүр гулгаж байхад дамар нь эргэж байдаг. Үр дүнд нь өгөгдлийн өндөр нягтрал болон соронзон хальсны дагуу нэг ирмэгээс нөгөө уруу өнцөгдсөн ойрхон багцалсан замууд үүсэх болно. QIC соронзон хальс зөөвөрлөгч QIC-150 QIC-150 соронзон хальснууд болон хөтчүүд нь магадгүй хамгийн нийтлэг соронзон хальсны хөтөч, зөөвөрлөгч юм. QIC соронзон хальсны хөтчүүд нь хамгийн хямд нухацтай нөөцлөлтийн хөтчүүд юм. Сул тал нь зөөвөрлөгчийн үнэ байдаг. QIC соронзон хальснууд нь 8мм болон 4мм соронзон хальснуудтай харьцуулахад GB өгөгдлийн хадгалалтын хувьд 5 дахин үнэтэй байдаг. Гэхдээ таны хэрэглээнд цөөн (half-dozen) соронзон хальснууд хангалттай бол QIC нь магадгүй зөв сонголт болж болох юм. QIC нь хамгийн нийтлэг соронзон хальсны хөтөч юм. Сайт бүр ямар нэг хэмжээний QIC хөтөчтэй байдаг. QIC нь физикийн хувьд төстэй (заримдаа адил) соронзон хальснуудад их хэмжээний нягтралтай байдаг. QIC хөтчүүд нь чимээгүй биш юм. Эдгээр хөтчүүд нь өгөгдлийг бичиж эхлэхээсээ өмнө дуутайгаар хайдаг бөгөөд унших, бичих эсвэл хайхдаа мэдэгдэхүйц дуутай байдаг. QIC соронзон хальснууд нь 6 x 4 x 0.7 инч (152 x 102 x 17 мм) хэмжээтэй байдаг. Өгөгдлийн дамжуулах чадвар ~150 kB/s-с ~500 kB/s хүртэл байна. Өгөгдлийн багтаамж 40 MB-с 15 GB хүртэл байна. Шинэ QIC хөтчүүдийн ихэнхэд тоног төхөөрөмжийн шахалт байдаг. QIC хөтчүүд нь бага суулгагддаг; тэдгээр нь DAT хөтчүүдээр шахагдсан юм. Өгөгдөл нь соронзон хальс уруу замаар бичигддэг. Замууд нь соронзон хальсны зөөвөрлөгчийн нэг төгсгөлөөс нөгөө уруу урт тэнхлэгийн дагуу байдаг. Замуудын тоо болон замын өргөн соронзон хальсны багтаамжаас хамаарч өөр өөр байдаг. Бүх шинэ хөтчүүдийн ихэнх нь хамгийн багадаа бодоход уншилтын (ихэнхдээ бас бичилтийн хувьд) хуучинтайгаа нийцтэй байдаг. QIC нь өгөгдлийн аюулгүй байдлын хувьд нэлээн нэр хүндтэй байдаг (механизм нь хөтчүүдийг мушгиа скан хийснээс илүү хялбар бөгөөд хүчирхэг байдаг). 5,000 нөөцлөлтийн дараа соронзон хальснуудыг ашиглахаа болих шаардлагатай. DLT соронзон хальс зөөвөрлөгч DLT DLT нь энд жагсаагдсан бүх хөтчийн төрлүүдээс хамгийн хурдан өгөгдөл дамжуулах чадвартай байдаг. 1/2" (12.5мм) соронзон хальс нь ганц дамартай хайрцагт (4 x 4 x 1 инч; 100 x 100 x 25 мм) байдаг. Хайрцаг нь нэг талаараа ганхах хаалгатай байдаг. Хөтчийн механизм соронзон хальсны тэргүүнийг гаргаж авахын тулд энэ хаалгыг онгойлгодог. Соронзон хальсны тэргүүн нь зууван нүхтэй байх бөгөөд хөтөч соронзон хальсыг дэгээдэхдээ үүнийг ашигладаг. Авах (take-up) дамар нь соронзон хальсны хөтчийн дотор байрладаг. Энд жагсаагдсан бусад соронзон хальсны хайрцагнууд (9 замтай соронзон хальснууд нь жич юм) нь соронзон хальсны хайрцган дотор байрлах хангах болон take-up дамруудтай байдаг. Өгөгдөл дамжуулах чадвар нь ойролцоогоор 1.5 MB/s бөгөөд 4мм, 8м, QIC соронзон хальсны хөтчүүдийн дамжуулах чадвараас 3 дахин их байдаг. Өгөгдлийн багтаамж нь нэг хөтчийн хувьд 10 GB-аас 20 GB хүрдэг. Хөтчүүд нь олон соронзон хальс солигчид болон олон соронзон хальс хэлбэрээр байдаг, олон хөтөч бүхий соронзон хальсны сангууд нь нийтдээ 50 GB-с 9 TB хүртэл хадгалалт бүхий 5-аас 900 хүртэл соронзон хальснуудыг 1-ээс 20 хүртэлх хөтчүүд дээр агуулдаг. Шахалттай бол DLT Төрөл 4 хэлбэршүүлэлт нь 70 GB багтаамжийг дэмждэг. Өгөгдөл нь соронзон хальсны замууд дээр аялалын чиглэлийн дагуу (QIC соронзон хальснуудын адил) зэрэгцээгээр бичигддэг. Хоёр зам нэг удаа бичигддэг. Унших/бичих толгойны амьдрах хугацаа харьцангуй урт байдаг; соронзон хальс хөдлөхөө болиход толгой болон соронзон хальсны хоорондын хамаатай хөдөлгөөн байхгүй болно. AIT соронзон хальс зөөвөрлөгч AIT AIT нь Sony-гоос гаргасан шинэ хэлбэршүүлэлт бөгөөд нэг соронзон хальсны хувьд 50  GB хүртэл (шахалттайгаар) мэдээллийг агуулж чадна. Соронзон хальснууд нь санах ойн бичил схемүүдийг агуулдаг бөгөөд эдгээр нь соронзон хальсны агуулгын индексийг хадгалдаг. Бусад соронзон хальснуудын хувьд хэд хэдэн минут шаардагддаг бол харин энэ индексийг соронзон хальсны хөтөч соронзон хальс дээрх файлуудын байрлалыг тодорхойлохын тулд маш хурдан уншдаг. SAMS:Alexandria зэрэг програм нь соронзон хальсны санах ойн бичил схемтэй шууд холбогдон агуулгыг дэлгэцэд гаргаж, ямар файлууд аль соронзон хальс уруу нөөцлөгдсөнийг тодорхойлж, зөв соронзон хальсыг олон ачаалж соронзон хальснаас өгөгдлийг сэргээн дөч болон түүнээс дээш AIT соронзон хальсны сангуудыг ажиллуулж чаддаг. Үүнтэй адил сангууд $20,000 хавьцаа үнэ хүрч тэдгээрийг сонирхогчдын зах зээлээс бага зэрэг шахдаг байна. Шинэ соронзон хальсыг анх удаа ашиглах нь Анхны удаа шинэ, хов хоосон соронзон хальсыг уншихыг оролдвол амжилтгүй болно. Консолын мэдэгдлүүд үүнтэй төстэй байна: sa0(ncr1:4:0): NOT READY asc:4,1 sa0(ncr1:4:0): Logical unit is in process of becoming ready Соронзон хальс нь Identifier Block буюу Танигч Блокийг (block number 0) агуулаагүй байна. Бүх QIC соронзон хальснууд нь QIC-525 стандартыг хэрэглэж эхэлснээс хойш Танигч Блокийг соронзон хальсанд бичдэг. Хоёр шийдэл байдаг: mt fsf 1 тушаал нь Танигч Блокийг соронзон хальс уруу бичихийг соронзон хальсны хөтчид хэлнэ. Нүүрний товчлуурыг ашиглан соронзон хальсыг гаргаж авна. Соронзон хальсыг дахин хийгээд түүн уруу өгөгдлийг dump хийнэ. dump тушаал нь DUMP: End of tape detected гэж мэдэгдэх бөгөөд консол HARDWARE FAILURE info:280 asc:80,96 гэж харуулна. mt rewind тушаал ашиглан соронзон хальсыг буцаана. Дараа дараачийн соронзон хальсны үйлдлүүд амжилттай болно. Уян диск уруу нөөцлөх Өөрийн өгөгдлийг нөөцлөхийн тулд би уян дискнүүдийг ашиглаж болох уу? нөөц уян дискнүүд уян дискнүүд Уян дискнүүд нь нөөц хийхэд тийм ч тохиромжтой зөөвөрлөгч биш юм, учир нь: Энэ зөөвөрлөгч нь найдваргүй, ялангуяа урт хугацааны туршид найдваргүй байдаг. Нөөцлөх болон буцааж сэргээх нь их удаан байдаг. Тэдгээр нь маш хязгаарлагдмал багтаамжтай (бүхэл бүтэн хатуу дискийг хэдэн арван уян дискэнд нөөцлөх нь их олон өдөр шаардана). Гэхдээ хэрэв танд өөрийн өгөгдлийг нөөцлөх өөр ямар ч арга байхгүй бол уян дискнүүдэд нөөцлөх нь нөөц хийхгүй байснаас хамаагүй дээр юм. Хэрэв та уян дискнүүд ашиглах шаардлагатай болсон бол сайн чанарынхыг ашигласан эсэхээ шалгах хэрэгтэй. Оффис дээр чинь хоёр жил хэвтсэн уян дискнүүд муу сонголт болох юм. Нэр хүндтэй үйлдвэрлэгчээс гаргасан шинэ дискнүүдийг ашиглах нь зүйтэй юм. Тэгэхээр би өөрийн өгөгдлийг уян диск уруу хэрхэн нөөцлөх вэ? Уян диск уруу нөөцлөх хамгийн шилдэг арга нь &man.tar.1; тушаалыг (олон эзлэхүүн) тохируулгатайгаар ашиглах явдал юм. Энэ нь олон уян дискнүүдэд нөөцлөх боломжийг олгодог. Тухайн сан болон дэд сан доторх бүх файлуудыг нөөцлөхийн тулд үүнийг ашиглах хэрэгтэй (root хэрэглэгчээр): &prompt.root; tar Mcvf /dev/fd0 * Эхний уян диск дүүрсний дараа &man.tar.1; нь дараагийн эзлэхүүнийг оруулахыг хүсэх болно (учир нь &man.tar.1; нь зөөвөрлөгчөөс хамааралгүй бөгөөд эзлэхүүнүүдэд ханддаг; энд уян дискийг хэлж байна). Prepare volume #2 for /dev/fd0 and hit return: Энэ нь заагдсан файлууд архивлагдах хүртэл (эзлэхүүний дугаар нэмэгдэн) давтагдах болно. Би өөрийнхөө нөөцүүдийг шахаж болох уу? tar gzip шахалт Харамсалтай нь &man.tar.1; нь олон эзлэхүүн бүхий архивуудын хувьд тохируулгыг ашиглахыг зөвшөөрдөггүй. Мэдээж та бүх файлуудыг &man.gzip.1; хийж тэдгээрийг уян диск уруу &man.tar.1; хийж дараа нь файлуудыг дахин &man.gunzip.1; хийж болно! Би өөрийн нөөцүүдийг хэрхэн сэргээх вэ? Бүхэл архивыг сэргээхдээ дараах тушаалыг ашиглана: &prompt.root; tar Mxvf /dev/fd0 Зөвхөн заагдсан файлуудыг сэргээх хоёр арга байдаг бөгөөд та тэдгээрийг ашиглаж болно. Эхлээд та эхний дискнээс эхлээд дараах тушаалыг ашиглана: &prompt.root; tar Mxvf /dev/fd0 filename &man.tar.1; хэрэгсэл нь шаардлагатай файлыг олох хүртлээ дараа дараагийн уян дискнүүдийг хийхийг танаас хүсэх болно. Өөрөөр, хэрэв та файл нь яг аль уян диск дээр байгааг мэдэж байвал ердөө л тэр уян дискийг оруулж дээрхтэй адил тушаалыг ашиглах хэрэгтэй. Хэрэв уян диск дээрх эхний файл нь өмнөх диск дээрхийн үргэлжлэл бол таныг асуугаагүй байсан ч гэсэн &man.tar.1; үүнийг сэргээж чадахгүй гэж танд анхааруулах болно! Лоуэл Жилбэрт Анхлан хийсэн Нөөцлөх стратегууд Нөөцлөх төлөвлөгөөг боловсруулах эхний шаардлага нь дараах бүх асуудлуудыг хамарсан эсэхийг шалгах явдал юм: Дискний гэмтэл Санамсаргүй файл устгалт Санамсаргүй файлын эвдрэл Газар дээрх нөөцүүд байвал тэдгээрийг оруулаад машины бүрэн сүйрэл (өөрөө хэлбэл гал). Эдгээр асуудал бүрийг шал өөр техникээр шийдэснээр зарим системүүдийг илүүтэй ажиллуулах төгс боломж байж болох юм. Маш бага үнэ цэнэтэй өгөгдөл бүхий чанга хувийн системүүдийг тооцохгүй юм бол нэг техник нь бүх асуудлуудыг хамрах нь бараг боломжгүй юм. Хэрэгслийн хайрцаг дахь зарим нэг техникүүдийг дурдвал: Бүх системийн архивууд нь сайтаас гадна байнгын зөөвөрлөгчид нөөцлөгдөнө. Энэ нь дээр дурдсан бүх асуудлуудаас хамгаалах боловч сэргээх нь тохиромжгүй удаан байдаг. Та нөөцүүдийн хуулбаруудыг газар дээр нь ба/эсвэл шууд авч болохоор хадгалж болох боловч файлуудыг сэргээх нь ялангуяа зөвшөөрөгдөөгүй хэрэглэгчдэд бас л тохиромжгүй хэвээр байдаг. Файлын системийн хормын хувилбарууд. Энэ нь яг үнэндээ зөвхөн санамсаргүйгээр файлыг устгасан тохиолдолд тустай, гэхдээ энэ нь тийм тохиолдолд маш тус болохуйц байдаг бөгөөд хурдан, ажиллахад хялбар байдаг. Бүх файлын систем ба/эсвэл дискнүүдийн хуулбарууд (бүхэл машины үе үе давтагдах &man.rsync.1;). Энэ нь ерөнхийдөө онцгой шаардлага бүхий сүлжээнүүдэд хамгийн ашигтай байдаг. Дискний эвдрэл, гэмтлийн эсрэг ерөнхий хамгаалалтын хувьд энэ нь ихэвчлэн RAID-с чанарын хувьд муу байдаг. Санамсаргүйгээр устгасан файлуудыг сэргээхэд энэ нь UFS хормын хувилбартай дүйцэхээр боловч та алийг дээдэлдгээс хамаарах юм. RAID. Диск эвдрэх, гэмтэх үед зогсох хугацааг багасгаж зайлсхийдэг. Маш бага шаардлагатай хэдий ч дискний эвдрэлүүдтэй илүүтэй зууралдах (учир нь та олон дисктэй) хэрэгтэй болдог. Файлуудын байрлалыг (хурууны хээ) шалгах. Үүнд &man.mtree.8; хэрэгсэл их ашигтай байдаг. Энэ нь нөөцлөх техник биш боловч танд өөрийн нөөцүүддээ хандахаар болох үед та хэрэг болох болно. Энэ нь сайтаас гаднах шууд бус нөөцүүдийн хувьд ялангуяа чухал бөгөөд үе үе шалгагдаж байх ёстой. Үүнээс илүү олон техникийг бодож олох нь амархан бөгөөд тэдгээрийн ихэнх нь дээр дурдсан техникүүдийн өөр хувилбарууд юм. Тусгайлсан шаардлагууд нь ихэвчлэн тусгайлсан техникт хүргэдэг (жишээ нь шууд ажиллаж байгаа мэдээллийн баазыг нөөцлөх нь зөвхөн мэдээллийн санд зориулагдсан аргыг дундын шат болгон ихэвчлэн ашиглахыг шаарддаг). Ямар аюулуудаас та хамгаалахыг хүсэж байгаа болон тэдгээр тус бүртэй хэрхэн ажиллахаа мэдэх нь чухал юм. Нөөцлөлтийн үндсүүд Гурван гол нөөцлөх програм бол &man.dump.8;, &man.tar.1; болон &man.cpio.1; юм. Dump ба Restore нөөцлөх програм хангамж dump / restore dump restore Уламжлалт &unix; нөөцлөх програмууд нь dump ба restore юм. Тэдгээр нь файлын системүүдээр үүсгэгдсэн файлууд, холбоосууд болон сангуудын хийсвэр ойлголтуудын доор хөтчүүд дээр дискний блокуудын цуглуулга хэлбэрээр ажилладаг. dump нь төхөөрөмж дээрх бүхэл файлын системийг нөөцөлдөг. Файлын системийн зөвхөн хэсгийг эсвэл нэгээс илүү файлын систем дагуу байрлах сангийн модыг энэ нь нөөцөлж чаддаггүй. dump нь файлууд болон сангуудыг соронзон хальс уруу бичдэггүй, харин файлууд болон сангуудаас тогтох түүхий өгөгдлийн блокуудыг бичдэг. Хэрэв та өөрийн root сандаа dump-г хэрэглэвэл та /home, /usr эсвэл бусад олон сангуудыг нөөцлөхгүй бөгөөд үүний учир бол эдгээр нь ихэвчлэн бусад файлын системүүдийн холбох цэгүүд буюу эсвэл тэдгээр файлын системүүд уруу заасан симболын холбоосууд байдаг. dump нь өөрийн хөгжлийн эхний өдрүүд болох AT&T UNIX-ийн 6-р хувилбараас (1975 он орчим) үлдсэн кодтой байдаг. Анхдагч параметрүүд нь өнөөдөр байгаа өндөр нягтралтай (62,182 ftpi хүртэл) зөөвөрлөгчид биш 9 зам (6250 bpi) бүхий соронзон хальсанд тохирдог. Одоогийн соронзон хальсны хөтчүүдийн багтаамжийг хэрэглэхийн тулд эдгээр анхдагчуудыг тушаалын мөрөөс дарж өөрчлөх ёстой. .rhosts Мөн сүлжээгээр өөр компьютерт холбогдсон соронзон хальсны хөтөч уруу өгөгдлийг rdump болон rrestore тушаал ашиглан нөөцлөх боломжтой байдаг. Энэ хоёр програм нь алсын соронзон хальсны хөтчид хандахдаа &man.rcmd.3; болон &man.ruserok.3;-д тулгуурладаг. Тиймээс нөөцлөлтийг хийж байгаа хэрэглэгч алсын компьютерийн .rhosts файл дотор жагсаагдсан байх ёстой. rdump болон rrestore тушаалуудад өгөх нэмэлт өгөгдлүүд нь алсын компьютер дээр ашиглаж болохоор байх ёстой. komodo гэж нэрлэгдсэн Sun уруу холбогдсон Exabyte соронзон хальсны хөтөч уруу FreeBSD компьютераас rdump хийхдээ дараах тушаалыг ашиглана: &prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1 Болгоомжлоорой: .rhosts танин нэвтрэлтийг зөвшөөрөх нь аюулгүй байдлын асуудлууд үүсгэдэг. Өөрийн нөхцөл байдлыг анхааралтай үнэлэх хэрэгтэй. Мөн dump болон restore тушаалыг илүү аюулгүй загвараар ssh дээгүүр ашиглах бас боломжтой байдаг. <application>ssh</application>-ээр <command>dump</command>-г ашиглах нь &prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz Эсвэл dump-ийн дотор байдаг нэг арга болох RSH орчны хувьсагчийг тохируулан ашиглаж болно: <application>ssh</application>-ээр <envar>RSH</envar> тохируулан <command>dump</command>-г ашиглах нь &prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usr <command>tar</command> нөөцлөх програм хангамж tar &man.tar.1; нь бас AT&T UNIX-ийн 6-р хувилбараас (1975 он орчим) эхтэй. tar нь файлын системтэй хамт ажилладаг; энэ нь файлууд болон сангуудыг соронзон хальс уруу бичдэг. tar нь &man.cpio.1;-д байдаг бүрэн хэмжээний тохируулгуудыг дэмждэггүй боловч энэ нь cpio-ийн хэрэглэдэг ховор тушаалын дамжуулах хоолойг шаарддаггүй. tar FreeBSD 5.3 болон түүнээс хойшх хувилбарт GNU tar болон анхдагч bsdtar тушаалууд байдаг. GNU хувилбарыг gtar гэж ажиллуулж болдог. Энэ нь rdump-тай адил дүрмийг ашиглаж алсын төхөөрөмжүүдийг дэмждэг. komodo гэж нэрлэгдсэн Sun уруу холбогдсон Exabyte соронзон хальсны хөтөч уруу tar хийхдээ дараах тушаалыг ашиглана: &prompt.root; /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1 Алсын соронзон хальсны хөтөч уруу өгөгдлийг илгээхдээ rsh болон дамжуулах хоолой ашиглан bsdtar тушаалаар үүнийг бас хийж болно. &prompt.root; tar cf - . | rsh hostname dd of=tape-device obs=20b Хэрэв та сүлжээгээр нөөцлөхийн аюулгүй байдалд санаа зовж байгаа бол rsh-ийн оронд ssh тушаалыг ашиглах хэрэгтэй. <command>cpio</command> нөөцлөх програм хангамж cpio &man.cpio.1; нь соронзон зөөвөрлөгчид зориулагдсан &unix;-ийн анхны файл солилцох соронзон хальсны програм юм. cpio нь (бусад олон тохируулгуудын дотроос) байт солилцохыг хийх, хэд хэдэн төрлийн архивын хэлбэршүүлэлтүүдийг бичих болон өгөгдлийг өөр програм уруу хоолойгоор гаргах зэрэг тохируулгуудтай байдаг. Сүүлийн боломж нь cpio-г суулгацын зөөвөрлөгчийн хувьд сайн сонголт болгодог. cpio нь сангийн модоор хэрхэн явахаа мэддэггүй бөгөөд файлуудын жагсаалтыг stdin-ээс хангаж өгөх ёстой. cpio cpio нь сүлжээгээр нөөцлөхийг дэмждэггүй. Та дамжуулах хоолой болон rsh-ийг ашиглаж өгөгдлийг алсын соронзон хальсны хөтөч уруу илгээж болно. &prompt.root; for f in directory_list; do find $f >> backup.list done &prompt.root; cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device" directory_list нь таны нөөцлөхийг хүссэн сангуудын жагсаалт бол user@host нь нөөцлөлтийг хийж байгаа хэрэглэгч/хостын нэрийн хослол бөгөөд backup_device нь нөөцлөлт хийгдэх төхөөрөмж (өөрөөр хэлбэл /dev/nsa0) юм. <command>pax</command> нөөцлөх програм хангамж pax pax POSIX IEEE &man.pax.1; нь tar болон cpio тушаалын IEEE/&posix;-ийн хариулт юм. Жил ирэх тутам tar болон cpio тушаалуудын төрөл бүрийн хувилбарууд нь хоорондоо мэдэгдэхүйц нийцгүй болж ирсэн юм. Тэдгээртэй тэмцэж бүр мөсөн стандартчилахын оронд &posix; нь архивын шинэ хэрэгсэл үүсгэсэн юм. pax нь өөрийн шинэ хэлбэршүүлэлтээс гадна cpio болон tar тушаалуудын төрөл бүрийн хэлбэршүүлэлтийн ихэнхийг уншиж бичихийг оролддог. Энэ тушаалын олонлог нь tar тушаалынхтай биш харин cpio тушаалынхтай илүү төстэй байдаг. <application>Amanda</application> нөөцлөх програм хангамж Amanda Amanda Amanda (Advanced Maryland Network Disk Archiver) нь нэг програм биш клиент/сервер програм юм. Amanda сервер нь ганц соронзон хальсны хөтөч уруу Amanda клиенттэй, Amanda сервер уруу сүлжээгээр холбогдсон дурын тооны компьютерийг нөөцлөх болно. Хэд хэдэн том дискнүүд бүхий сайтууд дээр байдаг нийтлэг асуудлууд нь өгөгдлийг соронзон хальс уруу нөөцлөхөд шаардагдах хугацаа нь уг үйлдлийн хувьд зориулагдсан хугацаанаас илүү гарах явдал юм. Amanda нь энэ асуудлыг шийддэг. Amanda нь хэд хэдэн файлын системүүдийг нэг зэрэг нөөцлөхдөө holding disk буюу хүлээгдэх дискийг ашигладаг. Amanda нь архивын олонлогууд буюу Amanda-ийн тохиргооны файлд жагсаагдсан бүх файлын системүүдийн бүрэн нөөцлөлтүүдийг үүсгэхэд хэсэг хугацаанд хэрэглэгдсэн бүлэг соронзон хальснуудыг үүсгэдэг. Архивын олонлогууд нь бас файлын системүүдийн шөнө болгоны нэмэгдсэн (эсвэл ялгаатай) нөөцлөлтүүдийг агуулдаг. Эвдэрсэн файлын системийг сэргээх нь хамгийн сүүлийн бүрэн нөөцлөлт болон нэмэгдсэн нөөцлөлтүүдийг шаарддаг. Тохиргооны файл нь нөөцлөлтүүд болон Amanda-ийн үүсгэдэг сүлжээний урсгалыг нарийн хянах боломжийг хангадаг. Amanda нь өгөгдлийг соронзон хальс уруу бичихийн тулд дээр дурдсан нөөцлөлтийн програмуудыг ашиглана. Amanda нь порт эсвэл багц хэлбэрээр байдаг бөгөөд анхдагчаар суулгагдаагүй байдаг. Юу ч хийхгүй байх Юу ч хийхгүй байх нь компьютерийн програм биш боловч энэ нь хамгийн их ашиглагддаг нөөцлөлтийн стратеги юм. Ямар ч эхний зардал байхгүй. Мөрдөх нөөцлөлтийн төлөвлөгөө байхгүй. Зүгээр л үгүй гэх хэрэгтэй. Хэрэв таны өгөгдөлд ямар нэг асуудал тохиолдвол шүд зуугаад л тэвчих хэрэгтэй! Хэрэв таны цаг болон өгөгдөл нь тийм ч чухал биш эсвэл юу ч биш бол Do nothing буюу юу ч хийхгүй байх нь таны компьютерийн хувьд хамгийн тохиромжтой нөөцлөлтийн програм болох юм. Гэхдээ &unix; нь ашигтай хэрэгсэл юм, та зургаан сарын дотор үнэтэй файлуудын цуглуулгатай болж үүнийг мэдрэх болно. Юу ч хийхгүй байх нь /usr/obj болон таны компьютераар яг үүсгэгдэж болох бусад сангийн моднуудын хувьд зөв нөөцлөх арга болдог. Үүний жишээ нь энэ гарын авлагын HTML эсвэл &postscript;-с тогтох хувилбарын файлууд байж болох юм. Эдгээр баримтын хэлбэршүүлэлтүүд нь SGML оролтын файлуудаас үүсгэгддэг. HTML эсвэл &postscript; файлуудын нөөцлөлтийг үүсгэх нь шаардлагагүй юм. SGML файлууд нь байнга нөөцлөгддөг. Аль нөөцлөлтийн програм хамгийн шилдэг нь вэ? LISA &man.dump.8; Үе. Элизабет Д. Звики энд дурдагдсан бүх нөөцлөлтийн програмуудыг зовоосон тест хийсэн. Өөрийн бүх өгөгдөл болон &unix; файлын системүүдийн онцлогуудыг хадгалах цэвэр сонголт бол dump болсон байна. Элизабет маш их төрөл бүрийн ховор нөхцөлүүдийг (зарим нь тийм ч ховор биш) агуулсан файлын системүүдийг үүсгэж тэдгээр файлын системүүдийг нөөцлөн дараа нь сэргээж програм бүрийг тест хийсэн байна. Онцгой зүйлүүдэд цоорхойтой файлууд, хоосон блоктой болон цоорхойтой файлууд, сонин тэмдэгт бүхий нэрээс тогтсон файлууд, бичигдэх боломжгүй уншигдах боломжгүй файлууд, төхөөрөмжүүд, нөөцлөлтийн үед хэмжээгээ өөрчлөх файлууд, нөөцлөлтийн үед үүсгэгдэж/устгагдсан файлууд зэргийг дурдаж болох юм. Тэрээр үр дүнгээ 1991 оны 10 сард LISA дээр үзүүлсэн байна. Нөөцлөлт болон Архивын програмуудыг зовоох тест холбоосыг үзнэ үү. Яаралтай сэргээх процедур Гамшгийн өмнө Учирч болзошгүй гамшигт бэлтгэхийн тулд таны хийх ёстой дөрвөн үе шат байдаг. bsdlabel Эхлээд өөрийн диск бүрийн bsdlabel (өөрөөр хэлбэл bsdlabel da0 | lpr), өөрийн файлын системийн хүснэгт (/etc/fstab) болон бүх ачаалалтын мэдэгдлүүдийг тус бүр хоёр хувь хэвлэх хэрэгтэй. fix-it уян дискнүүд Дараа нь ачаалах болон уян дискнүүд (boot.flp болон fixit.flp) таны бүх төхөөрөмжүүдийг агуулсан эсэхийг тодорхойлно. Хамгийн хялбараар шалгах арга нь уян дискний хөтөчдөө ачаалах уян дискийг хийж дахин ачаалж ачаалалтын мэдэгдлүүдийг шалгах явдал юм. Хэрэв таны бүх төхөөрөмжүүд байгаад ажиллаж байвал гуравдугаар алхам уруу алгасаарай. Эсрэг тохиолдолд та өөрийн бүх дискийг холбож таны соронзон хальсны хөтчид хандаж чадах цөм бүхий тусгайлсан хоёр ачаалагдах уян диск бэлдэх хэрэгтэй. Эдгээр уян дискнүүд нь fdisk, bsdlabel, newfs, mount болон таны ашигладаг програмуудыг агуулсан байх ёстой. Эдгээр програмууд нь статикаар холбогдсон байх ёстой. Хэрэв та dump-г ашигласан бол уян диск нь restore-г агуулсан байх ёстой. Гуравдугаарт нөөц соронзон хальснуудыг байнга үүсгэж байх хэрэгтэй. Таны сүүлийн нөөцлөлтөөс хойш хийгдсэн өөрчлөлтүүд буцааж авагдах боломжгүйгээр алга болж болох юм. Нөөц соронзон хальснууд уруу хийж болзошгүй бичилтийг хамгаалах хэрэгтэй. Дөрөвдүгээрт уян дискнүүд (boot.flp болон fixit.flp аль эсвэл хоёрдугаар үе дээр таны хийсэн тусгайлсан хоёр ачаалагдах уян дискнүүд.) болон нөөц соронзон хальснуудыг тест хийнэ. Процедурынхаа талаар тэмдэглэгээ хийх хэрэгтэй. Эдгээр тэмдэглэгээнүүдээ ачаалагдах уян дискнүүд, хэвлэсэн зүйл болон нөөц соронзон хальснуудтайгаа цуг хадгалах хэрэгтэй. Сэргээж байх үед таны анхаарал их сарнисан байж болох бөгөөд тэдгээр тэмдэглэгээнүүд чинь таныг өөрийн нөөц соронзон хальснуудаа устгахаас сэргийлэх болно (Яаж? tar xvf /dev/sa0 тушаалын оронд та санамсаргүйгээр tar cvf /dev/sa0 гэж бичээд өөрийн нөөц соронзон хальсыг дарж бичиж болох юм). Аюулгүй байдлын нэмэгдэл арга хэмжээ болгож тухайг бүрт нь ачаалагдах уян дискнүүд болон нөөц соронзон хальс хоёрыг бэлдэж байх хэрэгтэй. Тус бүрийг нь тусад нь алсад өөр газар хадгалах хэрэгтэй. Тэр өөр газар нь яг тэр оффисийн байрны подвал байх ЁСГҮЙ. Дэлхийн Худалдааны Төвийн хэд хэдэн фирм үүнийг хэцүү замаар мэдэрсэн юм. Тэр өөр газар нь таны компьютерууд болон дискний хөтчүүдээс тусгаарлагдсан физикийн хувьд нэлээд зайтай газар байх ёстой. Ачаалагдах уян диск үүсгэх скрипт /mnt/sbin/init gzip -c -best /sbin/fsck > /mnt/sbin/fsck gzip -c -best /sbin/mount > /mnt/sbin/mount gzip -c -best /sbin/halt > /mnt/sbin/halt gzip -c -best /sbin/restore > /mnt/sbin/restore gzip -c -best /bin/sh > /mnt/bin/sh gzip -c -best /bin/sync > /mnt/bin/sync cp /root/.profile /mnt/root chmod 500 /mnt/sbin/init chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt chmod 555 /mnt/bin/sh /mnt/bin/sync chmod 6555 /mnt/sbin/restore # # create minimum file system table # cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd < Гамшгийн дараа Түлхүүр асуулт бол: таны тоног төхөөрөмж амьд гарч чадсан уу? Байнгын нөөцлөлт хийж байсан болохоор програм хангамжийн талаар та санаа зовох хэрэггүй юм. Хэрэв тоног төхөөрөмж эвдэрсэн бол компьютерийг ашиглахаасаа өмнө эвдэрсэн хэсгүүдийг солих шаардлагатай. Хэрэв таны тоног төхөөрөмж зүгээр байгаа бол уян дискнүүдээ шалгаарай. Хэрэв та тусгайлан өөрчилсөн ачаалах уян диск ашиглаж байгаа бол ганц хэрэглэгчийн горим уруу ачаалах хэрэгтэй (boot: хүлээх мөрөн дээр -s гэж бичнэ). Дараагийн хэсгийг алгасаарай. Хэрэв та boot.flp болон fixit.flp уян дискнүүдийг ашиглаж байгаа бол цааш нь уншаарай. boot.flp уян дискээ эхний уян дискний хөтөчдөө хийгээд компьютераа ачаалах хэрэгтэй. Эхний суулгах цэс дэлгэц дээр гарах болно. Fixit--Repair mode with CDROM or floppy. тохируулгыг сонгоно. fixit.flp-г асуухад нь хийнэ. Танд хэрэгтэй restore болон бусад програмууд /mnt2/rescue санд байрлана (5.2 хувилбараас хуучин &os;-ийн хувьд /mnt2/stand). Файлын систем бүрийг тус тусад нь сэргээнэ. mount root хуваалт bsdlabel newfs Өөрийн эхний дискний root хуваалтыг mount (өөрөөр хэлбэл mount /dev/da0a /mnt) хийхийг оролдоорой. Хэрэв bsdlabel эвдэрсэн бол bsdlabel тушаалыг ашиглан дискийг дахин хувааж таны хэвлэж хадгалсан шошготой адил тааруулж хаяглах хэрэгтэй. newfs тушаал ашиглан файлын системүүдийг дахин үүсгэнэ. Уян дискний root хуваалтыг унших-бичихээр дахин холбох хэрэгтэй (mount -u -o rw /mnt). Энэ файлын системийн хувьд өгөгдлийг сэргээхийн тулд өөрийн нөөцлөх програм болон соронзон хальснуудыг ашиглана (өөрөөр хэлбэл restore vrf /dev/sa0). Файлын системийг салгана (өөрөөр хэлбэл umount /mnt). Эвдэрсэн файлын систем бүрийн хувьд давтана. Таны систем ажилласны дараа өөрийн өгөгдлийг шинэ соронзон хальс уруу нөөцлөх хэрэгтэй. Сүйрэл эсвэл өгөгдлийн алдагдалд хүргэсэн тэр явдал дахин болж болох юм. Одоо зарцуулсан нэг цаг таныг зовлонд учрахаас хожим аварч болох юм. * I Did Not Prepare for the Disaster, What Now? ]]> Марк Фонвил Дахин зохион байгуулж өргөжүүлсэн Сүлжээ, санах ой болон файл дээр тулгуурласан файлын системүүд виртуал дискнүүд дискнүүд виртуал Өөрийн компьютер уруу физикээр хийж болдог уян диск, CD-үүд, хатуу хөтчүүд гэх зэрэг дискнүүдээс гадна бусад хэлбэрийн дискнүүд буюу виртуал дискнүүдийг FreeBSD ойлгодог. NFS Coda дискнүүд санах ой Эдгээрт Network File System буюу сүлжээний файлын систем болон Coda зэрэг сүлжээний файлын системүүд, санах ой дээр тулгуурласан файлын системүүд болон файл дээр тулгуурласан файлын системүүд орно. FreeBSD-ийн ямар хувилбарыг ажиллуулж байгаагаас хамаарч та файл дээр болон санах ой дээр тулгуурласан файлын системүүдийг үүсгэж ашиглахдаа өөр өөр хэрэгслүүдийг хэрэглэх шаардлагатай болно. Хэрэглэгчийн хувьд мэдэгдэлгүйгээр төхөөрөмжийн цэгүүдийг хуваарилахын тулд &man.devfs.5;-г ашиглана. Файл дээр тулгуурласан файлын систем дискнүүд файл дээр тулгуурласан &man.mdconfig.8; хэрэгсэл нь FreeBSD дээр санах ой дээр тулгуурласан дискнүүд, &man.md.4;-г тохируулж идэвхжүүлэхэд хэрэглэгддэг. &man.mdconfig.8;-г ашиглахын тулд та &man.md.4; модулийг ачаалах хэрэгтэй, эсвэл өөрийн цөмийн тохиргооны файлдаа дэмжлэгийг нэмэх хэрэгтэй болно: device md &man.mdconfig.8; тушаал нь гурван төрлийн санах ой дээр тулгуурласан виртуал дискийг дэмждэг: эдгээр нь &man.malloc.9;-р хуваарилагдсан санах ойн дискнүүд, файл эсвэл swap зай ашигласан санах ойн дискнүүд юм. Нэг боломжтой хэрэглээ нь файлд хадгалагдсан уян эсвэл CD дүрсийг холбох явдал юм. Байгаа файлын системийн дүрсийг холбохдоо: <command>mdconfig</command> ашиглан байгаа файлын системийн дүрсийг холбох нь &prompt.root; mdconfig -a -t vnode -f diskimage -u 0 &prompt.root; mount /dev/md0 /mnt &man.mdconfig.8; ашиглан шинэ файлын системийн дүрсийг үүсгэхдээ: <command>mdconfig</command> тушаал ашиглан шинэ файл дээр тулгуурласан диск үүсгэх нь &prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdconfig -a -t vnode -f newimage -u 0 &prompt.root; bsdlabel -w md0 auto &prompt.root; newfs md0a /dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes. super-block backups (for fsck -b #) at: 160, 2720, 5280, 7840 &prompt.root; mount /dev/md0a /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0a 4710 4 4330 0% /mnt Хэрэв та тохируулгаар нэгжийн дугаарыг зааж өгөхгүй юм бол &man.mdconfig.8; нь хэрэглэгдээгүй төхөөрөмжийг сонгохын тулд &man.md.4; автомат хуваарилалтыг ашиглах болно. Хуваарилагдсан нэгжийн нэр нь stdout уруу md4 мэтээр гарах болно. &man.mdconfig.8;-ийн тухай дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас лавлана уу. &man.mdconfig.8; хэрэгсэл нь их ашигтай, гэхдээ энэ нь файл дээр тулгуурласан файлын систем үүсгэхийн тулд олон тушаалын мөрийг асуудаг. FreeBSD нь бас &man.mdmfs.8; гэж нэрлэгддэг хэрэгсэлтэй ирдэг, энэ програм нь &man.md.4;-г &man.mdconfig.8; тушаал ашиглан тохируулж &man.newfs.8; ашиглан UFS файлын систем түүн дээр тавьж &man.mount.8; ашиглан түүнийг холбодог. Жишээ нь хэрэв та дээрхтэй ижил файлын системийн дүрсийг үүсгэж холбохыг хүсвэл ердөө л дараах тушаалыг бичээрэй: <command>mdmfs</command> тушаал ашиглан файл дээр тулгуурласан дискийг тохируулж холбох нь &prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdmfs -F newimage -s 5m md0 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4718 4 4338 0% /mnt Хэрэв та тохируулгыг нэгжийн дугааргүй ашиглавал &man.mdmfs.8; нь ашиглагдаагүй төхөөрөмжийг автоматаар сонгохдоо &man.md.4; авто-нэгж боломжийг ашиглах болно. &man.mdmfs.8;-ийн тухай дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас лавлана уу. Санах ой дээр тулгуурласан файлын систем дискнүүд санах ойн файлын систем Санах ой дээр тулгуурласан файлын системийн хувьд swap backing буюу swap дээрх тулгуурлалтыг ихэнхдээ ашиглах хэрэгтэй. swap дээрх тулгуурлалтыг ашиглах нь санах ойн диск нь анхдагчаар диск уруу swap хийгдэнэ гэсэн үг биш бөгөөд харин ердөө л санах ойн диск нь санах ойн цөөрмөөс хуваарилагдаж хэрэв хэрэгцээтэй бол диск уруу swap хийгдэж болно гэсэн үг юм. Мөн &man.malloc.9; дээр тулгуурласан санах ойн дискийг үүсгэх боломжтой байдаг. Гэхдээ malloc дээр тулгуурласан санах ойн дискнүүдийг, ялангуяа том хэмжээтэйг нь ашиглах нь цөм санах ойгүй болох тохиолдолд системийг сүйрэлд хүргэж болох юм. <command>mdconfig</command> тушаал ашиглан шинэ санах ой дээр тулгуурласан диск үүсгэх нь &prompt.root; mdconfig -a -t swap -s 5m -u 1 &prompt.root; newfs -U md1 /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes. with soft updates super-block backups (for fsck -b #) at: 160, 2752, 5344, 7936 &prompt.root; mount /dev/md1 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4718 4 4338 0% /mnt <command>mdmfs</command> тушаал ашиглан шинэ санах ой дээр тулгуурласан диск үүсгэх нь &prompt.root; mdmfs -s 5m md2 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt Системээс санах ойн дискийг салгах нь дискнүүд санах ойн дискийг салгах нь Санах ой дээр тулгуурласан эсвэл файл дээр тулгуурласан файлын систем ашиглагдахгүй байгаа бол та бүх эх үүсвэрүүдийг системд суллаж өгөх шаардлагатай. Эхний хийх ёстой зүйл нь файлын системийг салгаад дараа нь &man.mdconfig.8; ашиглан дискийг системээс салгаж эх үүсвэрүүдийг суллана. Жишээ нь /dev/md4-г салгаж түүний хэрэглэсэн бүх эх үүсвэрүүдийг чөлөөлөхийн тулд дараах тушаалыг ажиллуулна: &prompt.root; mdconfig -d -u 4 Тохиргоо хийгдсэн &man.md.4; төхөөрөмжүүдийн тухай мэдээллийг mdconfig -l тушаал ашиглан жагсааж болно. Том Рөүдс Хувь нэмэр болгон оруулсан Файлын системийн хормын хувилбарууд файлын системүүд хормын хувилбарууд FreeBSD нь Soft Updates буюу зөөлөн шинэчлэлтүүдийн хамт Файлын системийн хормын хувилбарууд боломжийг санал болгодог. Хормын хувилбарууд нь заасан файлын системүүдийн дүрсийг үүсгэж тэдгээртэй файлтай ханддаг шиг хандах боломжийг хэрэглэгчид зөвшөөрдөг. Хормын хувилбарын файлууд нь үйлдэл хийгдсэн файлын систем дээр үүсгэгдэх ёстой бөгөөд нэг файлын системийн хувьд 20-с ихгүй хормын хувилбаруудыг хэрэглэгч үүсгэж болно. Идэвхтэй хормын хувилбарууд нь супер блокт бичигддэг бөгөөд ингэснээр тэдгээр нь системийн дахин ачаалалтуудын үед салгах болон дахин холбох явцад тэсвэртэй байдаг. Хормын хувилбар нь хэрэггүй болсон үед энэ нь стандарт &man.rm.1; тушаалаар устгагдаж болно. Хормын хувилбарууд нь ямар ч дарааллаар устгагдаж болох бөгөөд гэхдээ ашиглагдсан бүх зайг дахин олж авахгүй байж болох юм. Учир нь өөр нэг хормын хувилбар чөлөөлөгдсөн блокуудын заримыг шаардаж болзошгүй юм. Өөрчлөгдөхгүй файл тохируулга нь хормын хувилбарыг эхлээд үүсгэсний дараа &man.mksnap.ffs.8; тушаалаар заагддаг. &man.unlink.1; тушаал нь хормын хувилбарын файлуудын хувьд орхидог бөгөөд учир нь энэ нь тэдгээрийг устгахыг зөвшөөрдөг байна. Хормын хувилбарууд нь &man.mount.8; тушаалаар үүсгэгддэг. /var-ийн хормын хувилбарыг /var/snapshot/snap файлд байрлуулахын тулд дараах тушаалыг ашиглана: &prompt.root; mount -u -o snapshot /var/snapshot/snap /var Өөрөөр та хормын хувилбар үүсгэхийн тулд &man.mksnap.ffs.8;-г ашиглаж болно: &prompt.root; mksnap_ffs /var /var/snapshot/snap Файлын систем (өөрөөр хэлбэл /var) дээр хормын хувилбарын файлуудыг &man.find.1; тушаал ашиглан олж болно: &prompt.root; find /var -flags snapshot Хормын хувилбар үүсгэгдсэний дараа энэ нь хэд хэдэн хэрэглээтэй байдаг: Зарим администраторууд хормын хувилбарын файлыг нөөцийн зорилгоор ашигладаг, учир нь хормын хувилбар нь CD-үүд эсвэл соронзон хальс уруу дамжуулагдаж болдог. Файлын системийн бүрэн бүтэн байдлыг шалгадаг &man.fsck.8; нь хормын хувилбар дээр ажиллаж болдог. Файлын систем нь холбогдсон үедээ цэвэр байсан гэж үзвэл та үргэлж цэвэр (өөрчлөгдөөгүй) үр дүнг авах болно. Үүнийг гол нь арын &man.fsck.8; процесс хийдэг. &man.dump.8; хэрэгслийг хормын хувилбар дээр ажиллуулдаг. Хормын хувилбарын файлын систем болон цагтай нэг янз хуулбар хийгддэг. &man.dump.8; нь бас хормын хувилбарыг авч нөөц дүрсийг үүсгэж чаддаг бөгөөд дараа нь хормын хувилбарыг нэг тушаалаар тугийг ашиглан устгаж чаддаг. Хормын хувилбарыг файлын системийн хөлдөөгдсөн дүрс маягаар &man.mount.8; хийдэг. /var/snapshot/snap хормын хувилбарыг &man.mount.8; хийхийн тулд доор дурдсаныг ажиллуулна: &prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4 &prompt.root; mount -r /dev/md4 /mnt Та одоо /mnt-д холбогдсон өөрийн хөлдөөгдсөн /var файлын системийн шатлалаар аялж болно. Хормын хувилбар үүсгэх үе дэх төлвийн адил төлөвт бүгд эхлээд байна. Цорын ганц өөр зүйл нь өмнөх хормын хувилбарууд нь тэг урттай файлууд маягаар гарч ирэх болно. Хормын хувилбарын хэрэглээг хязгаарлах үед үүнийг дараах тушаалыг ажиллуулан салгаж болно: &prompt.root; umount /mnt &prompt.root; mdconfig -d -u 4 буюу зөөлөн шинэчлэлтүүд болон файлын системийн хормын хувилбаруудын талаар дэлгэрэнгүй мэдээллийг техникийн баримтуудыг оролцуулаад та Маршал Кирк МкКюзикийн вэб хуудас уруу зочлон орж үзэж болно. Файлын системийн ноогдлууд бүртгэл хийх дискний зай дискний ноогдлууд Quota буюу ноогдол нь хэрэглэгч эсвэл бүлгийн гишүүдийн хувьд дискний зай ба/эсвэл файлуудын тоог файлын систем тус бүрийн хувьд хуваарилж хязгаарлах боломжийг бүрдүүлэх үйлдлийн системийн нэг нэмэлт боломж юм. Энэ нь дурын нэг хэрэглэгч эсвэл бүлэг хэрэглэгчдийн хуваарилж болох эх үүсвэрүүдийг хязгаарлах шаардлагатай цаг хуваалцах систем дээр ихэвчлэн хэрэглэгддэг. Энэ нь нэг хэрэглэгч эсвэл бүлэг хэрэглэгчид бүх байгаа дискний зайг хэрэглэхээс хамгаалдаг юм. Дискний ноогдлуудыг идэвхтэй болгохын тулд өөрийн системийг тохируулах нь Дискний ноогдлыг ашиглаж эхлэхээсээ өмнө ноогдлууд нь цөмд тохируулагдсан эсэхийг шалгах шаардлагатай. Дараах мөрийг өөрийн цөмийн тохиргооны файлд нэмж үүнийг хийнэ: options QUOTA Анхны GENERIC цөм нь үүнийг анхнаасаа идэвхжүүлээгүй байдаг болохоор та дискний ноогдлуудыг ашиглахын тулд тусгайлсан цөмийг тохируулж бүтээн суулгах хэрэгтэй болох юм. Цөмийн тохиргооны талаар дэлгэрэнгүй мэдээллийг -с лавлана уу. Дараа нь та дискний ноогдлуудыг /etc/rc.conf файлд идэвхжүүлэх хэрэгтэй. Дараах мөрийг нэмж үүнийг хийнэ: enable_quotas="YES" дискний ноогдлууд шалгах нь Өөрийн ноогдлын эхлүүлэлтэд сайн хяналт тавихад хэрэгтэй нэмэлт тохиргооны хувьсагчууд байдаг. Ердийн үед ачаалалтын үеэр файлын систем бүрийн ноогдлын бүрэн бүтэн байдал &man.quotacheck.8; програмаар шалгагддаг. &man.quotacheck.8; боломж нь ноогдлын мэдээллийн бааз дахь өгөгдөл файлын систем дээрх өгөгдлийг зөв тусгаж байгаа эсэхийг шалгаж байдаг. Энэ нь хугацаа их шаардсан процесс бөгөөд таны систем ачаалах хугацаанд мэдэгдэхүйц нөлөөлдөг. Хэрэв та энэ алхмыг алгасахыг хүсвэл энэ зорилгоор хувьсагчийг /etc/rc.conf файлд тохируулах хэрэгтэй: check_quotas="NO" Төгсгөлд нь та файлын систем бүрийн хувьд дискний ноогдлуудыг идэвхжүүлэхийн тулд /etc/fstab файлыг засварлах хэрэгтэй. Энд та хэрэглэгч эсвэл бүлгийн ноогдлууд эсвэп хоёуланг нь өөрийн бүх файлын системийн хувьд идэвхжүүлэх боломжтой юм. Файлын систем дээр хэрэглэгч бүрийн хувьд ноогдлуудыг идэвхжүүлэхийн тулд өөрийн ноогдлууд идэвхжүүлэхийг хүсэж байгаа файлын системийн хувьд /etc/fstab файлын харгалзах оруулгын options буюу тохируулгыг заах талбарт тохируулгыг нэмж өгөх хэрэгтэй. Жишээ нь: /dev/da1s2g /home ufs rw,userquota 1 2 Үүнтэй төстэйгээр бүлгийн ноогдлуудыг идэвхжүүлэхийн тулд тохируулгын оронд тохируулгыг ашиглах хэрэгтэй. Хэрэглэгч болон бүлгийн ноогдлуудыг хоёуланг нь идэвхжүүлэхийн тулд оруулгыг ингэж өөрчилнө: /dev/da1s2g /home ufs rw,userquota,groupquota 1 2 Анхдагчаар ноогдлын файлууд файлын системийн root санд хэрэглэгчийн ноогдлын хувьд quota.user, бүлгийн ноогдлын хувьд quota.group нэрээр хадгалагддаг. Дэлгэрэнгүй мэдээллийг &man.fstab.5;-с үзнэ үү. &man.fstab.5; гарын авлагын хуудас ноогдлын файлуудын хувьд өөр байрлалыг зааж өгч болохыг хэлдэг боловч ноогдлын төрөл бүрийн хэрэгслүүд үүнтэй зөв ажиллаж чаддаггүй болохоор ингэхийг зөвлөдөггүй юм. Энэ үед хүрээд та өөрийн системийг шинэ цөмтэй дахин ачаалах хэрэгтэй. /etc/rc нь таны /etc/fstab файлд идэвхжүүлсэн бүх ноогдлуудын хувьд эхний ноогдлын файлуудыг үүсгэдэг тохирох тушаалуудыг автоматаар ажиллуулах бөгөөд ингэснээр ямар ч тэг урттай ноогдлын файлуудыг гараар үүсгэх шаардлагагүй юм. Ердийн үйлдлүүдийн үед &man.quotacheck.8;, &man.quotaon.8;, эсвэл &man.quotaoff.8; тушаалуудыг та заавал ажиллуулах ёсгүй юм. Гэхдээ тэдгээрийн хийдэг үйлдлүүдтэй танилцахын тулд тэдгээрийн гарын авлагын хуудаснуудыг уншихыг хүсэж болох юм. Ноогдлын хязгаарлалтуудыг тохируулах нь дискний ноогдлууд хязгаарлалтууд Та ноогдлыг идэвхжүүлж өөрийн системийг тохируулсны дараа тэдгээр нь яг жинхэнэдээ идэвхтэй болсон эсэхийг шалгаарай. Үүнийг хийх хялбар арга нь дараах тушаалыг ажиллуулах явдал юм: &prompt.root; quota -v Та ноогдлууд идэвхжүүлэгдсэн файлын систем бүрийн хувьд дискний хэрэглээ болон тухайн үеийн ноогдлын хязгаарлалтуудын ерөнхий нэг мөр үр дүнг харах ёстой. Та одоо &man.edquota.8; тушаал ашиглан ноогдлын хязгаарлалтуудыг зааж өгч эхлэхэд бэлэн боллоо. Хэрэглэгч эсвэл бүлгийн хуваарилж болох дискний зай болон тэд хичнээн файл үүсгэж болох хэмжээний хязгаарлалтуудыг хүчлэн зааж өгч болох хэд хэдэн сонголт танд байдаг. Та хуваарилалтыг дискний зай (блок ноогдлууд) эсвэл файлын тоо (inode ноогдлууд) эсвэл хоёулангийн хослолоор хязгаарлан өгч болно. Эдгээр хязгаарлалт бүр дараа нь хоёр зэрэглэлт хуваагддаг: энэ нь хатуу ба зөөлөн хязгаарлалтууд юм. хатуу хязгаарлалт Хатуу хязгаарлалтаас илүү гарч болохгүй. Хэрэглэгч өөрийн хатуу хязгаарлалтад хүрэхэд асуудалтай байгаа файлын систем дээр хэрэглэгч ямар ч хуваарилалт хийж чадахгүй болно. Жишээ нь хэрэв хэрэглэгч файлын систем дээр 500 кбайт хатуу хязгаарлалттай бөгөөд 490 кбайтыг одоогоор ашиглаж байгаа бол хэрэглэгч зөвхөн 10 кбайтыг нэмж хуваарилж чадна. 11 кбайт нэмж хуваарилахыг оролдох нь амжилтгүй болох болно. зөөлөн хязгаарлалт Нөгөө талаас зөөлөн хязгаарлалтууд нь тодорхой хугацааны туршид илүү гарч болно. Энэ хугацааг энэрэнгүй хугацаа гэдэг бөгөөд анхдагчаар нэг долоо хоног байдаг. Хэрэв хэрэглэгч өөрийн зөөлөн хязгаарлалтаас илүү гарсан хэвээр энэрэнгүй хугацааг өнгөрөх юм бол зөөлөн хязгаарлалт нь хатуу хязгаарлалт болж дахин хуваарилалтыг зөвшөөрдөггүй. Хэрэглэгч зөөлөн хязгаарлалтаас доош орвол энэрэнгүй хугацаа дахин тавигдах болно. Дараах нь &man.edquota.8; тушаалыг ажиллуулах үед таны харж болох гаралтын жишээ юм. &man.edquota.8; тушаалыг ажиллуулахад EDITOR орчны хувьсагчид заагдсан засварлагч уруу эсвэл EDITOR хувьсагч заагдаагүй бол vi засварлагч уруу таныг оруулах бөгөөд энэ нь ноогдлын хязгаарлалтуудыг засварлах боломжийг танд олгоно. &prompt.root; edquota -u test Quotas for user test: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: kbytes in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60) Та ноогдлууд идэвхжүүлэгдсэн файлын систем бүрийн хувьд хоёр мөрийг ердийн үед харах болно. Нэг мөр нь блокийн хязгаарлалтад, нөгөө мөр нь inode хязгаарлалтад зориулагддаг. Ноогдлын хязгаарлалтуудыг өөрчлөхийн тулд та ердөө л утгыг шинэчлэхийг хүсэж байгаа утгаараа солих хэрэгтэй. Жишээ нь энэ хэрэглэгчийн блок хязгаарлалтыг зөөлөн хязгаарлалт 50, хатуу хязгаарлалт 75 байсныг зөөлөн хязгаарлалт 500 болон хатуу хязгаарлалт 600 болгон өсгөхийн тулд дараах: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) мөрийг доорх шиг болгож өөрчлөх хэрэгтэй: /usr: kbytes in use: 65, limits (soft = 500, hard = 600) Таныг засварлагчаас гарсны дараа шинэ ноогдлын хязгаарлалтууд байрандаа орох болно. Заримдаа ноогдлын хязгаарлалтуудыг зарим UID-ийн хүрээний хувьд зааж өгөх шаардлага гардаг. Үүнийг &man.edquota.8; тушаалд тохируулгыг ашиглан хийдэг. Эхлээд хэрэглэгчид хүссэн ноогдлын хязгаарлалтаа зааж өгөөд дараа нь edquota -p protouser startuid-enduid тушаалыг ажиллуулна. Жишээ нь хэрэв хэрэглэгч test хүссэн ноогдлын хязгаарлалттай байгаа бол энэ ноогдлын хязгаарлалтыг 10,000-с 19,999 хүртэлх UID-уудад хувилж хамааруулахын тулд дараах тушаалыг ажиллуулна: &prompt.root; edquota -p test 10000-19999 Дэлгэрэнгүй мэдээллийг &man.edquota.8; гарын авлагын хуудаснаас үзнэ үү. Ноогдлын хязгаарлалтууд болон дискний хэрэглээг шалгах нь дискний ноогдлууд шалгах нь Ноогдлын хязгаарлалтууд болон дискний хэрэглээг шалгахын тулд та &man.quota.1; эсвэл &man.repquota.8; тушаалын нэгийг ашиглаж болно. &man.quota.1; тушаалыг хэрэглэгч эсвэл бүлгийн ноогдлууд болон дискний зайг шалгахад хэрэглэж болно. Хэрэглэгч нь зөвхөн өөрийн ноогдол болон өөрийн гишүүн бүлгийн ноогдлыг шалгаж чадна. Зөвхөн супер хэрэглэгч бүх хэрэглэгч болон бүлгийн ноогдлуудыг харж болно. &man.repquota.8; тушаалыг ноогдлууд идэвхжүүлэгдсэн файлын системүүдийн хувьд бүх ноогдлууд болон дискний хэрэглээний ерөнхий дүнг авахад хэрэглэж болно. Дараах нь хоёр файлын систем дээр ноогдлын хязгаарлалттай хэрэглэгчийн хувьд quota -v тушаалын жишээ гаралт юм. Disk quotas for user test (uid 1002): Filesystem usage quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60 энэрэнгүй хугацаа Дээрх жишээний /usr файлын систем дээр хэрэглэгч 50 кбайтын зөөлөн хязгаарлалтыг 15 кбайтаар илүүдүүлсэн байгаа бөгөөд 5 хоногийн энэрэнгүй хугацаа үлдсэн байна. Од * тэмдэгт нь хэрэглэгч өөрийн ноогдлын хязгаарлалтаас илүү гарсныг харуулж байна. Ердийн үед хэрэглэгч ямар ч дискний зай ашиглаагүй байгаа тийм файлын системүүд, файлын системийн хувьд ноогдлын хязгаарлалт байсан ч гэсэн &man.quota.1; тушаалын гаралтад харагддаггүй байна. тохируулга нь тэдгээр файлын системүүдийг харуулах бөгөөд дээрх жишээн дээр /usr/var файлын системийг харуулж байна. NFS дээгүүрх ноогдлууд NFS Ноогдлууд нь NFS сервер дээр ноогдлын дэд системээр хянагддаг. &man.rpc.rquotad.8; демон нь NFS клиентүүд дээр өөрсдийн ноогдлын статистикуудыг хэрэглэгчдэд үзэх боломжийг олгож ноогдлын мэдээллийг тэдгээр машинууд дээр &man.quota.1; тушаалд бэлэн болгож өгдөг. rpc.rquotad/etc/inetd.conf файлд ингэж идэвхжүүлнэ: rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad Одоо inetd-г дахин ачаал: &prompt.root; kill -HUP `cat /var/run/inetd.pid` Лаки Грийн Хувь нэмэр болгон оруулсан
shamrock@cypherpunks.to
Дискний хуваалтуудыг шифрлэх нь дискнүүд шифрлэх нь FreeBSD нь өгөгдөлд зөвшөөрөгдөөгүй хандах хандалтын эсрэг маш сайн шууд хамгаалалтуудыг санал болгодог. Файлын зөвшөөрлүүд болон Mandatory Access Control (MAC) буюу Албадмал Хандалт Хяналт (-г үзнэ үү) нь компьютер ассан, үйлдлийн систем идэвхтэй байх үед зөвшөөрөлгүй гуравдагч нөхдүүдийг өгөгдөлд хандахаас хамгаалахад тусалдаг. Гэхдээ хэрэв халдагч компьютерт физик хандалт олж аван компьютерийн хатуу хөтчийг өөр систем уруу зөөн эмзэг өгөгдлийг хуулж шинжилгээ хийж чадах бол үйлдлийн системийн мөрдүүлдэг зөвшөөрлүүд нь хамааралгүй болох юм. Халдагч хэрхэн хатуу диск эсвэл унтраасан компьютерийг эзэмшсэнээс үл хамаарч &os; дээрх GEOM Based Disk Encryption (gbde) буюу GEOM дээр тулгуурласан дискний шифрлэлт болон geli криптограф дэд системүүд нь компьютерийн файлын системүүд дээрх өгөгдлийг бүр чухал эх үүсвэрүүд бүхий, зорилгодоо хүрэхээр ихээхэн чармайсан халдагчдаас хамгаалж чадах юм. Зөвхөн тухайн файл бүрийг шифрлэдэг ярвигтай шифрлэлтийн аргуудаас ялгаатай нь gbde болон geli нь бүх файлын системүүдийг харагдаж мэдэгдэхгүйгээр шифрлэдэг. Хатуу дискний хавтгайд цэвэр текст хэзээ ч бичигддэггүй. <application>gbde</application>-ээр диск шифрлэх <username>root</username> болно gbde-г тохируулахад супер хэрэглэгчийн эрхүүдийг шаарддаг. &prompt.user; su - Password: Цөмийн тохиргооны файлдаа &man.gbde.4; дэмжлэгийг нэмнэ Дараах мөрийг цөмийн тохиргооны файлдаа нэмнэ: options GEOM_BDE Цөмөө -д тайлбарласны дагуу дахин бүтээнэ. Шинэ цөм уруугаа дахин ачаална. Цөмийг дахин бүтээхээс өөр нэг арга нь kldload ашиглаж &man.gbde.4;-г ачаалах явдал юм: &prompt.root; kldload geom_bde Шифрлэгдсэн хатуу хөтчүүдийг бэлдэх нь Дараах жишээ нь таныг өөрийн систем уруу шинэ хатуу хөтөч нэмж ганц шифрлэгдсэн хуваалтыг агуулна гэж тооцдог. Энэ хуваалт нь /private гэж холбогдох болно. gbde нь /home болон /var/mail-г бас шифрлэхэд ашиглагддаг боловч энэ нь энэ танилцуулгын хүрээнээс хальж илүү төвөгтэй заавруудыг шаарддаг. Шинэ хатуу хөтчийг нэмнэ Шинэ хөтчийг систем уруу -д тайлбарласны дагуу нэмнэ. Энэ жишээн дээр шинэ хатуу хөтчийн хуваалт /dev/ad4s1c гэж нэмэгдсэн байгаа. /dev/ad0s1* төхөөрөмжүүд нь жишээ систем дээр байгаа стандарт FreeBSD хуваалтуудыг харуулж байна. &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 gbde цоож файлуудыг агуулах санг үүсгэнэ &prompt.root; mkdir /etc/gbde gbde цоож файл нь шифрлэгдсэн хуваалтуудад хандахад gbde-д шаардагдах мэдээллийг агуулдаг. Цоож файлд хандах боломжгүй бол gbde нь шифрлэгдсэн хуваалтын агуулсан өгөгдлийг хөндлөнгийн их хүч шаардсан оролцоогүйгээр буцааж тайлж чадахгүй юм. Үүнийг програм хангамж дэмждэггүй. Шифрлэгдсэн хуваалт бүр тусдаа цоож файл ашигладаг. gbde хуваалтыг эхлүүлнэ gbde хуваалт ашиглагдаж эхлэхээсээ өмнө эхэлж тохируулагдсан байх шаардлагатай. Энэ эхний тохируулга нь зөвхөн нэг удаа хийгдэх ёстой: &prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock &man.gbde.8; нь загварт төрөл бүрийн тохиргооны сонголтуудыг зааж өгөх боломжийг танд өгч таны засварлагчийг онгойлгох болно. UFS1 эсвэл UFS2-той ашиглахын тулд sector_size-г 2048 гэж заана: $FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $ # # Sector size is the smallest unit of data which can be read or written. # Making it too small decreases performance and decreases available space. # Making it too large may prevent filesystems from working. 512 is the # minimum and always safe. For UFS, use the fragment size # sector_size = 2048 [...] &man.gbde.8; нь өгөгдлийг аюулгүй болгоход хэрэглэгдэх ёстой нэвтрэх үгийг хоёр удаа бичихийг танаас хүснэ. Нэвтрэх үг нь хоёуланд нь адил байх ёстой. gbde-ийн таны өгөгдлийг хамгаалах чадвар таны сонгосон нэвтрэх үгийн чанараас бүхэлдээ хамаарна. Амархан тогтоож болох аюулгүй нэвтрэх үгийг хэрхэн сонгох талаар зөвлөгөөнүүдийг Diceware Passphrase вэб хуудаснаас үзнэ үү. gbde init тушаал нь таны gbde хуваалтад зориулж цоож файлыг үүсгэх бөгөөд энэ жишээн дээр /etc/gbde/ad4s1c.lock гэж хадгалагдсан байна. gbde цоож файлууд нь /etc/rc.d/gbde эхлүүлэх скриптээр зөв танигдахын тулд .lock гэж төгсөх ёстой. gbde цоож файлууд нь шифрлэгдсэн хуваалтуудын агуулгатай цуг нөөцлөгдөх ёстой. Зөвхөн цоож файлыг устгах нь шийдсэн халдагч gbde хуваалтыг буцааж тайлахаас хамгаалж чаддаггүй бөгөөд цоож файлгүйгээр хууль ёсны эзэмшигч нь шифрлэгдсэн хуваалт дээрх өгөгдөлд &man.gbde.8; болон түүнийг зохиогчийн ерөөсөө дэмждэггүй, их хүч шаардсан ажиллагаагүйгээр хандаж чадахгүй болох юм. Шифрлэгдсэн хуваалтыг цөмд залгана &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock Шифрлэгдсэн хуваалтыг эхэлж тохируулж байх үед таны сонгосон нэвтрэх үгийг оруулахыг танаас асуух болно. Шинэ шифрлэгдсэн төхөөрөмж /dev дотор /dev/device_name.bde гэж гарч ирнэ: &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde Шифрлэгдсэн төхөөрөмж дээр файлын систем үүсгэнэ Шифрлэгдсэн төхөөрөмж цөмд залгагдсаны дараа та энэ төхөөрөмж дээр файлын систем үүсгэж болно. Шифрлэгдсэн төхөөрөмж дээр файлын систем үүсгэхийн тулд &man.newfs.8;-г ашиглана. Хуучин UFS1 файлын системийг эхлүүлснээс шинэ UFS2 файлын системийг эхлүүлэх нь хамаагүй хурдан учраас &man.newfs.8;-г тохируулгатай хэрэглэхийг зөвлөдөг. &prompt.root; newfs -U -O2 /dev/ad4s1c.bde &man.newfs.8; тушаал нь төхөөрөмжийн нэрэндээ *.bde гэж өргөтгөлөөр танигдах залгагдсан gbde хуваалт дээр хийгдэх ёстой. Шифрлэгдсэн хуваалтыг холбоно Шифрлэгдсэн файлын системд зориулж холбох цэгийг үүсгэнэ. &prompt.root; mkdir /private Шифрлэгдсэн файлын системийг холбоно. &prompt.root; mount /dev/ad4s1c.bde /private Шифрлэгдсэн файлын систем байгаа эсэхийг шалгана Шифрлэгдсэн файлын систем одоо &man.df.1;-д харагдаж ашиглахад бэлэн болох ёстой. &prompt.user; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 1037M 72M 883M 8% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 8.1G 55K 7.5G 0% /home /dev/ad0s1e 1037M 1.1M 953M 0% /tmp /dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr /dev/ad4s1c.bde 150G 4.1K 138G 0% /private Байгаа шифрлэгдсэн файлын системүүдийг холбох нь Ачаалалт бүрийн дараа ямар ч шифрлэгдсэн файлын системүүдийг ашиглаж эхлэхээсээ өмнө цөмд дахин залгаж, алдааг нь шалгаж холбож болно. Шаардлагатай тушаалуудыг root хэрэглэгч ажиллуулах ёстой гэж үздэг. gbde хуваалтыг цөмд залгана &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock Шифрлэгдсэн gbde хуваалтыг эхэлж тохируулж байх үед таны сонгосон нэвтрэх үгийг оруулахыг танаас асуух болно. Файлын систем дээр алдааг шалгана Шифрлэгдсэн файлын системүүд нь автоматаар холбогдохын тулд /etc/fstab файлд одоохондоо жагсаагдах боломжгүй учир файлын системүүд дээр алдаа байгаа эсэхийг шалгаж тэдгээрийг холбохоос өмнө &man.fsck.8;-г гараар ажиллуулах ёстой. &prompt.root; fsck -p -t ffs /dev/ad4s1c.bde Шифрлэгдсэн файлын системийг холбоно &prompt.root; mount /dev/ad4s1c.bde /private Шифрлэгдсэн файлын систем одоо ашиглахад бэлэн боллоо. Шифрлэгдсэн хуваалтуудыг автоматаар холбох нь Шифрлэгдсэн хуваалтыг автоматаар залган шалгаж холбох скриптийг үүсгэж болох боловч аюулгүй байдлын шалтгаанаас болоод скрипт нь &man.gbde.8; нууц үгийг агуулсан байх ёсгүй. Харин эдгээр скриптүүдийг гараар ажиллуулж нууц үгийг консол эсвэл &man.ssh.1;-ээр оруулахыг зөвлөдөг. Өөр нэг арга нь rc.d скрипт байдаг. Энэ скриптийн нэмэлт өгөгдлүүдийг &man.rc.conf.5;-оор дамжуулж болно, жишээ нь: gbde_autoattach_all="YES" gbde_devices="ad4s1c" gbde_lockdir="/etc/gbde" Энэ нь gbde нэвтрэх үгийг ачаалах үед оруулахыг шаарддаг. Зөв нэвтрэх үгийг бичсэний дараа gbde шифрлэгдсэн хуваалт автоматаар холбогдох болно. Энэ нь gbde-г зөөврийн компьютер дээр хэрэглэж байгаа үед их ашигтай байдаг. gbde-ийн ажиллуулдаг криптограф хамгаалалтууд &man.gbde.8; нь 128-bit AES-ийг CBC горимд ашиглан сектор ачааг шифрлэдэг. Диск дээрх сектор бүр өөр өөр AES түлхүүрээр шифрлэгддэг. Секторын түлхүүрүүд хэрэглэгчийн оруулсан нэвтрэх үгээс хэрхэн гаргагддаг зэрэг gbde-ийн криптограф дизайны талаар дэлгэрэнгүйг &man.gbde.4;-ээс үзнэ үү. Нийцтэй байдлын асуудлууд &man.sysinstall.8; нь gbde-шифрлэгдсэн төхөөрөмжүүдтэй нийцгүй байдаг. Бүх *.bde төхөөрөмжүүдийг &man.sysinstall.8; эхлүүлэхээс өмнө цөмөөс салгасан байх ёстой бөгөөд ингэхгүй бол энэ нь төхөөрөмжүүдийг шалгаж эхлэхдээ сүйрэх болно. Бидний жишээн дээр ашиглагдсан шифрлэгдсэн төхөөрөмжийг салгахдаа дараах тушаалыг ашиглана: &prompt.root; gbde detach /dev/ad4s1c Мөн &man.vinum.4; нь &man.geom.4; дэд системийг ашигладаггүйг анхаараарай, та gbdevinum эзлэхүүнүүдтэй ашиглаж болохгүй. Даниэл Гэрзо Хувь нэмэр болгон оруулсан <command>geli</command>-ээр диск шифрлэх нь Шинэ криптограф GEOM ангилал &os; 6.0-с эхлэн geli гэж орж иржээ. Үүнийг одоогоор &a.pjd; хөгжүүлж байгаа болно. geli нь gbde-ээс өөр бөгөөд энэ нь өөр боломжуудыг санал болгож криптограф үйлдэлдээ өөр схемийг ашигладаг. &man.geli.8;-ийн хамгийн чухал боломжууд бол: &man.crypto.9; тогтолцоог ашигладаг — криптограф тоног төхөөрөмж бэлэн болоход geli түүнийг автоматаар ашигладаг. Олон криптограф алгоритмуудыг дэмждэг (одоогоор AES, Blowfish, болон 3DES). root хуваалтыг шифрлэх боломжийг олгодог. Шифрлэгдсэн root хуваалтад хандахад хэрэглэгддэг нэвтрэх үгийг систем ачаалахад асуудаг. Бие биеэндээ хамааралгүй хоёр түлхүүрүүдийг ашиглахыг зөвшөөрдөг (өөрөөр хэлбэл key болон company key). geli нь хурдан байдаг. Энгийн сектороос сектор уруу шифрлэлтийг хийдэг. Мастер түлхүүрүүдийг нөөцлөх ба сэргээхийг зөвшөөрдөг. Хэрэглэгч өөрийн түлхүүрүүдийг устгах хэрэгтэй болоход нөөцөөс түлхүүрүүдийг сэргээж өгөгдөлд дахин хандах боломжтой болох юм. Дискийг санамсаргүй, нэг удаагийн түлхүүрээр залгахыг зөвшөөрдөг — энэ нь swap хуваалтууд болон түр зуурын файлын системүүдэд ашигтай байдаг. geli-ийн илүү боломжуудыг &man.geli.8;-ийн гарын авлагын хуудаснаас олж болно. Дараагийн алхмууд нь geli-ийн дэмжлэгийг &os; цөмд хэрхэн идэвхжүүлэхийг тайлбарлах бөгөөд шинэ geli шифрлэлт үзүүлэгчийг хэрхэн үүсгэх болон ашиглах талаар өгүүлэх болно. geli-г ашиглахын тулд та &os; 6.0-RELEASE болон түүнээс дээшхи хувилбарыг хэрэглэж байх ёстой. Цөмд өөрчлөлтүүд шаардлагатай учраас супер хэрэглэгчийн эрхүүд хэрэгтэй болно. Цөмд <command>geli</command> дэмжлэгийг нэмэх нь Дараах мөрийг цөмийн тохиргооны файлд нэмнэ: options GEOM_ELI device crypto Цөмөө -д тайлбарласны дагуу дахин бүтээнэ. Мөн geli модулийг ачаалах үед дуудаж болно. Дараах мөрийг /boot/loader.conf файлд нэмнэ: geom_eli_load="YES" &man.geli.8; нь одоо цөмд дэмжигдсэн байх ёстой. Мастер түлхүүр үүсгэх нь Дараах жишээ нь түлхүүр файлыг хэрхэн үүсгэх талаар тайлбарлах бөгөөд энэ нь /private доор холбогдсон шифрлэгдсэн үзүүлэгчийн Мастер түлхүүрийн хэсэг болон ашиглагдах болно. Түлхүүр файл нь Мастер түлхүүрийг шифрлэхэд хэрэглэгдэх зарим санамсаргүй өгөгдлийг өгөх болно. Мастер түлхүүр нь нэвтрэх үгээр бас хамгаалагдах болно. Үзүүлэгчийн секторын хэмжээ 4kB том байх болно. Мөн энэ хэлэлцүүлэг нь geli үзүүлэгчийг хэрхэн залгаж түүн дээр файлын систем үүсгэх, хэрхэн түүнийг холбож ажиллах болон төгсгөлд нь хэрхэн салгах талаар тайлбарлах болно. Илүү сайн ажиллагааг хангахын тулд секторын том хэмжээг (4kB ч юм уу) ашиглахыг зөвлөдөг. Мастер түлхүүр нь нэвтрэх үгээр хамгаалагдах бөгөөд түлхүүр файлд зориулагдсан өгөгдлийн эх нь /dev/random байх болно. Бидний үзүүлэгч гэж нэрлэдэг /dev/da2.eli-ийн секторын хэмжээ 4kB байх болно. &prompt.root; dd if=/dev/random of=/root/da2.key bs=64 count=1 &prompt.root; geli init -s 4096 -K /root/da2.key /dev/da2 Enter new passphrase: Reenter new passphrase: Нэвтрэх үг болон түлхүүр файлыг хоёуланг нь заавал ашиглах шаардлагагүй; Мастер түлхүүрийг нууцлах аль ч аргыг тусад нь ашиглаж болно. Хэрэв түлхүүр файл - гэж өгөгдсөн бол стандарт оролтыг ашиглана. Энэ жишээ нь нэгээс олон түлхүүр файлыг хэрхэн ашиглаж болох талаар харуулж байна. &prompt.root; cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2 Үзүүлэгчийг үүсгэсэн түлхүүрийн тусламжтай залгах нь &prompt.root; geli attach -k /root/da2.key /dev/da2 Enter passphrase: Шинэ цэвэр текст төхөөрөмж /dev/da2.eli гэж нэрлэгдэх болно. &prompt.root; ls /dev/da2* /dev/da2 /dev/da2.eli Шинэ файлын системийг үүсгэх нь &prompt.root; dd if=/dev/random of=/dev/da2.eli bs=1m &prompt.root; newfs /dev/da2.eli &prompt.root; mount /dev/da2.eli /private Шифрлэгдсэн файлын систем &man.df.1;-д харагдаж ашиглахад бэлэн болох ёстой: &prompt.root; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 248M 89M 139M 38% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr /dev/ad0s1d 989M 1.5M 909M 0% /tmp /dev/ad0s1e 3.9G 1.3G 2.3G 35% /var /dev/da2.eli 150G 4.1K 138G 0% /private Үзүүлэгчийг холбосныг салгаж залгасныг болиулах Шифрлэгдсэн хуваалт дээрх ажил хийгдэж дуусаад /private хуваалт хэрэггүй болох үед geli шифрлэгдсэн хуваалтыг холбосноо салган цөмд залгаснаа бас салгах нь зүйтэй юм. &prompt.root; umount /private &prompt.root; geli detach da2.eli &man.geli.8;-ийг хэрэглэх тухай дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас олж болно. <filename>geli</filename> <filename>rc.d</filename> скриптийг ашиглах нь geli нь geli-ийн хэрэглээг хялбаршуулахад ашиглаж болох rc.d скрипттэй цуг ирдэг. geli-г &man.rc.conf.5;-оор тохируулах жишээг дараахаас харж болно: geli_devices="da2" geli_da2_flags="-p -k /root/da2.key" Энэ нь /dev/da2-г Мастер түлхүүр файл нь /root/da2.key-д байрлах geli үзүүлэгч гэж тохируулах бөгөөд үзүүлэгчийг залгаж байхдаа geli нь нэвтрэх үгийг ашиглахгүй (хэрэв сонголт geli init хийгдэх үед өгөгдсөн тохиолдолд энэ нь ашиглагдах боломжтой). Систем нь geli үзүүлэгчийг цөмөөс систем унтрахаас өмнө салгах болно. rc.d-г тохируулах талаар дэлгэрэнгүй мэдээлэл энэхүү гарын авлагын rc.d хэсэгт байгаа болно.
Крисчан Брюффэр Бичсэн Swap зайг шифрлэх swap шифрлэх &os; дээрх swap-ийн шифрлэлт нь тохируулахад амархан байдаг бөгөөд &os; 5.3-RELEASE-с эхлээд ийм боломжтой болсон юм. &os;-ийн аль хувилбарыг ашиглаж байгаагаас хамаараад өөр өөр тохируулгууд байдаг бөгөөд тохиргоо нь нэлээн өөр өөр байдаг. &os; 6.0-RELEASE-с эхлээд &man.gbde.8; эсвэл &man.geli.8; шифрлэх системүүдийг swap-ийг шифрлэхэд ашиглаж болно. Өмнөх хувилбаруудад зөвхөн &man.gbde.8; байдаг. Энэ хоёр систем нь хоёулаа encswap rc.d скриптийг ашигладаг. Өмнөх Дискний хуваалтуудыг шифрлэх хэсэг нь өөр өөр шифрлэх системүүдийн тухай богино хэлэлцүүлгийг агуулдаг. Swap яагаад шифрлэгдэх ёстой вэ? Дискний хуваалтуудын шифрлэлтийн нэгэн адил swap зайн шифрлэлт нь эмзэг мэдээллийг хамгаалахын тулд хийгддэг. Нууц үгстэй ажилладаг програм байлаа гэж бодъё. Эдгээр нууц үгс нь физик санах ойд байгаа үед бүгд зүгээр байна. Гэхдээ хэрэв үйлдлийн систем нь бусад програмуудад зориулж зайг чөлөөлөхийн тулд санах ойн хуудаснуудыг swap хийж эхэлбэл нууц үгс нь дискний хавтгай дээр шифрлэгдэлгүй бичигдэж болох бөгөөд энэ нь өрсөлдөгчийн хувьд олж авахад амархан болох юм. Swap зайг шифрлэх нь энэ тохиолдолд шийдэл болж болох юм. Бэлтгэл Энэ хэсгийн үлдсэн хэсэгт ad0s1b нь swap хуваалт байх болно. Энэ хүртэл swap нь шифрлэгдээгүй байгаа билээ. Аль хэдийн нууц үгс эсвэл бусад эмзэг өгөгдөл дискний хавтгайнууд дээр цэвэр текстээр байж болзошгүй юм. Үүнийг засварлахын тулд swap хуваалт дээрх өгөгдлийг санамсаргүй хаягдлаар дарж бичих хэрэгтэй: &prompt.root; dd if=/dev/random of=/dev/ad0s1b bs=1m &man.gbde.8; ашиглан swap шифрлэлт хийх Хэрэв &os; 6.0-RELEASE болон түүнээс шинэ хувилбар ашиглагдаж байгаа бол .bde дагаварыг /etc/fstab-ийн тохирох swap мөр дэх төхөөрөмжид нэмэх шаардлагатай: # Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.bde none swap sw 0 0 &os; 6.0-RELEASE хувилбараас өмнөх системүүдэд дараах мөр нь /etc/rc.conf файлд бас хэрэгтэй: gbde_swap_enable="YES" &man.geli.8; ашиглан swap шифрлэлт хийх Өөрөөр, swap шифрлэлтэд зориулж &man.geli.8;-г ашиглах процедур нь &man.gbde.8; ашиглахтай төстэй. .eli дагаварыг /etc/fstab-ийн тохирох swap мөр дэх төхөөрөмжид нэмэх шаардлагатай: # Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.eli none swap sw 0 0 &man.geli.8; нь AES алгоритмийг анхдагчаар 256 битийн урттай түлхүүртэй ашигладаг. Мөн эдгээр анхдагчуудыг /etc/rc.conf файлд geli_swap_flags тохируулгыг ашиглан өөрчилж болно. Дараах мөр нь encswap rc.d скриптийг detach on last close тохируулгыг зааж 4 килобайтын секторын хэмжээтэй, 128 бит түлхүүрийн урттайгаар Blowfish алгоритм ашиглан &man.geli.8; swap хуваалт үүсгэ гэж хэлж байна: geli_swap_flags="-e blowfish -l 128 -s 4096 -d" &os; 6.2-RELEASE хувилбараас өмнөх системүүд дээр доор дурдсан мөрийг ашиглана: geli_swap_flags="-a blowfish -l 128 -s 4096 -d" &man.geli.8; гарын авлагын хуудсан дахь onetime тушаалын тайлбараас боломжит тохируулгуудын жагсаалтыг лавлана уу. Ажиллаж байгаа эсэхийг шалгах Систем дахин ачаалагдсаны дараа шифрлэгдсэн swap-ийн зөв үйлдлийг swapinfo тушаал ашиглан шалгаж болно. Хэрэв &man.gbde.8; ашиглагдаж байвал: &prompt.user; swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.bde 542720 0 542720 0% Хэрэв &man.geli.8; ашиглагдаж байвал: &prompt.user; swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.eli 542720 0 542720 0%
diff --git a/mn_MN.UTF-8/books/handbook/jails/chapter.sgml b/mn_MN.UTF-8/books/handbook/jails/chapter.sgml index 6eb03e318f..1aa10c02cc 100644 --- a/mn_MN.UTF-8/books/handbook/jails/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/jails/chapter.sgml @@ -1,932 +1,932 @@ Матео Риондато Хувь нэмэр болгон оруулсан Цагаанхүүгийн Ганболд Орчуулсан Jails буюу Шоронгууд шоронгууд Ерөнхий агуулга Энэ бүлэг нь &os;-ийн шоронгууд гэж юу болох, тэдгээрийг хэрхэн ашиглах талаар тайлбарлах болно. Шоронгууд буюу заримдаа chroot орчнуудын өргөжүүлсэн орлуулалт гэгддэг энэ боломж нь системийн администраторуудад зориулагдсан маш хүчтэй хэрэгсэл боловч тэдгээрийн үндсэн хэрэглээ нь илүү дэвшилтэт хэрэглэгчдэд бас үр ашигтай байдаг. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Шорон гэж юу болох, &os;-ийн суулгалтуудад ямар зорилгоор ашиглагдаж болох талаар. Шоронг хэрхэн бүтээх, эхлүүлэх, болон зогсоох талаар. Шоронгийн гадна болон дотор талаас хийгдэж болох удирдлагын үндсүүд. Шоронгийн тухай ашигтай мэдээллийн өөр бусад эхүүдийг дурдвал: &man.jail.8; гарын авлагын хуудас. Энэ нь jail хэрэгслийн бүрэн гүйцэд авлага юм — jail нь &os; дээр &os; шоронгуудыг эхлүүлэх, зогсоох, болон хянахад ашиглагдаж болох удирдлагын хэрэгсэл юм. Захидлын жагсаалтууд болон тэдгээрийн архивууд. &a.questions; болон бусад захидлын жагсаалтуудын архивууд нь &a.mailman.lists; дээр байрладаг бөгөөд шоронгуудын талаар маш баялаг материалуудыг агуулсан байдаг. Архивуудаас хайх юм уу эсвэл &a.questions.name; захидлын жагсаалт уруу шинэ асуултаа илгээх нь үргэлж сонирхолтой байдаг. Шоронгуудтай холбоотой ойлголтууд Шоронгуудтай холбоотой &os; системийн хэсгүүд, тэдгээрийн дотоод хэсгүүд болон &os;-ийн бусад хэсэгтэй хэрхэн харилцдаг арга замыг илүүтэй ойлгохыг хөнгөвчлөхийн тулд энэ бүлэгт дараах ойлголтуудыг ашиглах болно: &man.chroot.2; (тушаал) Процесс болон түүний бүх үр удмуудын root санг өөрчилдөг &os;-ийн системийн дуудлага. &man.chroot.2; (орчин) chroot-д ажиллаж байгаа процессуудын орчин. Үүнд харагдаж байгаа файлын системийн хэсэг, байгаа хэрэглэгч болон бүлэг, сүлжээний интерфэйсүүд болон бусад IPC арга замууд гэх мэт эх үүсвэрүүд ордог. &man.jail.8; (тушаал) Шоронгийн орчин дотор процессуудыг ажиллуулах боломжийг олгох системийн удирдлагын хэрэгсэл. хост (систем, процесс, хэрэглэгч, гэх мэт.) Шоронгийн системийн хяналтын систем. Хост систем нь байгаа бүх тоног төхөөрөмжийн эх үүсвэрүүдэд хандах боломжтой байдаг бөгөөд шоронгийн орчны болон түүний гаднах процессуудыг хянаж чаддаг. Хост системийн шоронгоос ялгарах нэг чухал ялгаа нь шорон доторх супер хэрэглэгчийн процессуудад хамаарах хязгаарлалтууд хост системийн процессуудын хувьд үйлчилдэггүй явдал юм. хост хийгдсэн (систем, процесс, хэрэглэгч, гэх мэт.) &os; шоронгоор эх үүсвэрүүдэд ханддаг хандалт нь хязгаарлагддаг процесс, хэрэглэгч эсвэл бусад зүйлс. Танилцуулга Системийн удирдлага нь хэцүү, самууруулмаар ажил болохоор администраторын амьдралыг хялбар болгох үүднээс олон хүчирхэг хэрэгслүүд хийгдэж хөгжүүлэгдсэн байдаг. Эдгээр хэрэгслүүд нь системийг суулгах, тохируулах, болон арчлахад нэгэн төрлийн өргөтгөлүүдийг ихэвчлэн хангаж өгдөг. Администраторуудын хийх ёстой эдгээр ажлуудын нэг хэсэг нь системийн аюулгүй байдлыг зөв тохируулах явдал юм. Ингэснээр аюулгүй байдлын зөрчлүүдгүйгээр систем өөрийн жинхэнэ зорилгоороо үйлчлэх болно. &os; системийн аюулгүй байдлыг сайжруулахад ашиглагдаж болох хэрэгслүүдийн нэг нь jails буюу шоронгууд юм. Шоронгуудыг &os; 4.X дээр &a.phk; анх танилцуулсан юм. Гэхдээ тэдгээрийг хүчирхэг, уян хатан дэд систем болгохын тулд &os; 5.X дээр илүү ихээр сайжруулсан билээ. Тэдгээрийн ашигтай тал, ажиллагаа болон найдвартай байдлыг өргөжүүлэн тэдгээрийн хөгжүүлэлт үргэлжилсэн хэвээр болой. Шорон гэж юу вэ BSD-тэй төстэй үйлдлийн системүүд нь 4.2BSD-ийн үеэс эхлэн &man.chroot.2; боломжтой болсон билээ. &man.chroot.8; хэрэгсэл нь процессуудын олонлогийн root санг өөрчлөхөд ашиглагдаж аюулгүй орчин үүсгэн системийн бусад хэсгээс тэдгээрийг тусгаарладаг. chroot хийгдсэн орчинд үүсгэгдсэн процессууд нь өөрийн орчноос гаднах файлууд болон эх үүсвэрүүдэд хандаж чаддаггүй. Энэ шалтгаанаар chroot хийгдсэн орчинд ажиллаж байгаа үйлчилгээг эвдэх нь халдагчид бүхэл системийг эвдэх боломжийг олгох ёсгүй юм. &man.chroot.8; хэрэгсэл нь маш их уян хатан чанар эсвэл төвөгтэй, дэвшилтэт боломжуудыг шаарддаггүй хялбар ажлуудад сайн байдаг. Мөн chroot ойлголтын эхлэлээс эхлээд л chroot хийгдсэн орчноос зугтах олон арга замууд олдсон бөгөөд хэдийгээр тэдгээр нь &os; цөмийн орчин үеийн хувилбаруудад засагдсан боловч &man.chroot.2; нь үйлчилгээнүүдийг аюулгүй болгоход зориулагдсан туйлын шийдэл биш нь тодорхой байсан юм. Үүнтэй холбоотой шинэ дэд систем хийгдэх шаардлагатай болсон байна. Энэ нь шоронгууд яагаад хөгжүүлэгдсэн гол шалтгаануудын нэг юм. Шоронгууд нь уламжлалт &man.chroot.2; орчны ойлголтуудыг хэд хэдэн аргаар сайжруулдаг. Уламжлалт &man.chroot.2; орчинд процессууд нь өөрийн хандаж болох файлын системийн нэг хэсэгт хязгаарлагдаж байдаг. Системийн бусад эх үүсвэрүүд (системийн хэрэглэгчид, ажиллаж байгаа процессууд, эсвэл сүлжээний дэд систем зэрэг) нь chroot хийгдсэн процессууд болон хост системийн процессуудын хооронд хуваалцан хэрэглэгддэг. Шоронгууд нь зөвхөн файлын систем уруу хандах хандалт биш бас хэрэглэгчид, &os; цөмийн сүлжээний дэд систем болон бусад хэд хэдэн зүйлсүүдийг виртуалчлан энэ загварыг өргөтгөдөг байна. Шорон болгосон орчны хандалтыг тааруулахад зориулсан илүү бүрэн гүйцэд нарийн тааруулсан хяналтуудын олонлог байдаг нь хэсэгт тайлбарлагдсан байгаа. Шорон дөрвөн элементээр тодорхойлогддог: Сангийн дэд мод — шоронгийн орж ирдэг эхлэл цэг. Шорон дотор орсны дараа процессийг энэ дэд модноос гадна зугтахыг зөвшөөрдөггүй. Анхдагч &man.chroot.2; дизайныг зовоосон аюулгүй байдлын уламжлалт асуудлууд нь &os; шоронгуудад байдаггүй. Хостын нэр — шорон дотор ашиглагдах хостын нэр. Шоронгууд нь сүлжээний үйлчилгээнүүдийг хост хийхэд (байрлуулах) ихэвчлэн ашиглагддаг болохоор шорон бүрийн хувьд тодорхойлсон нэртэй байх нь системийн администраторт ихээхэн тус болж чадах юм. IP хаяг — энэ нь шорон бүрт өгөгдөх бөгөөд шоронгийн оршин тогтнох хугацаанд ямар ч талаараа өөрчлөгдөх ёсгүй. Шоронгийн IP хаяг нь ихэвчлэн байгаа сүлжээний интерфэйсийн alias хаяг байх боловч заавал тийм байх шаардлагагүй юм. Тушаал — шорон дотор ажиллах програм/тушаалын зам. Энэ нь шоронгийн орчны root сантай харьцангуй байх бөгөөд шоронгийн тусгай очны төрлөөс хамаараад асар өөр өөр байж болох юм. Эдгээрээс гадна шоронгууд нь өөрийн гэсэн хэрэглэгчид болон өөрийн root хэрэглэгчтэй байж болдог. Мэдээжийн хэрэг root хэрэглэгчийн хүч чадал шоронгийн орчин дотор хязгаарлагддаг бөгөөд хост системийн үүднээс авч үзвэл шоронгийн root хэрэглэгч нь бүхнийг чадагч хэрэглэгч биш юм. Мөн шоронгийн root хэрэглэгчид өөрийнх нь харгалзах &man.jail.8; орчноос гадна осолтой үйлдлүүдийг систем дээр хийлгэхийг зөвшөөрдөггүй. root хэрэглэгчийн боломжууд болон хязгаарлалтуудын тухай дэлгэрэнгүй мэдээллийг хэсэгт доор хэлэлцэх болно. Шоронг үүсгэж хянах нь Зарим администраторууд шоронг дараах хоёр төрөлд хуваадаг: эдгээр нь жинхэнэ &os; системтэй адил төстэй бүрэн шоронгууд болон нэг програм юм уу эсвэл үйлчилгээнд зориулагдсан, магадгүй зөвшөөрлүүдтэй ажиллах үйлчилгээ шоронгууд юм. Энэ нь зөвхөн ухагдахууны хуваагдал бөгөөд шоронг бүтээх процесс үүнд хамаагүй юм. &man.jail.8; гарын авлагын хуудас шоронг бүтээх аргачлалын талаар маш тодорхой зааварласан буй: &prompt.root; setenv D /here/is/the/jail &prompt.root; mkdir -p $D &prompt.root; cd /usr/src &prompt.root; make world DESTDIR=$D &prompt.root; cd etc/ Энэ алхам нь &os; 6.0 болон түүнээс хойшх хувиилбаруудад шаардлагагүй. &prompt.root; make distribution DESTDIR=$D -&prompt.root; mount_devfs devfs $D/dev +&prompt.root; mount -t devfs devfs $D/dev Шоронгийн байрлалыг сонгох нь хамгийн шилдэг эхлэх цэг юм. Энэ нь шорон физикээр өөрийн хостын файлын систем дотор байрлах байрлал юм. Сайн сонголт нь /usr/jail/jailname байж болох бөгөөд энд байгаа jailname нь шоронг таниулж байгаа хостын нэр юм. /usr/ файлын систем нь шоронгийн файлын системийн хувьд ихэвчлэн хангалттай зайтай байдаг. Үндсэндээ бүрэн шоронгуудын хувьд энэ шоронгийн файлын систем нь үндсэн &os; системийн андагч суулгацад байдаг бүх файлуудын хуулбар байдаг. Энэ тушаал нь шоронгийн физик байрлал болгон сонгосон сангийн дэд модыг файлын систем дээр шаардлагатай хоёртын файлууд, сангууд, гарын авлагын хуудаснууд гэх зэргүүдийг тараан байрлуулах болно. Бүгд хэвшмэл &os; загвараар хийгдэнэ — эхлээд бүгд бүтээгдэнэ/эмхэтгэгдэнэ, дараа нь хүрэх замд суулгагдана. make тушаалд зориулагдсан distribution тохируулга нь бүх шаардлагатай тохиргооны файлыг суулгана, өөрөөр хэлбэл энэ нь /usr/src/etc/ сангийн бүх суулгаж болох файлуудыг шоронгийн орчны /etc сан болох $D/etc/ руу хуулдаг. Шорон дотор &man.devfs.8; файлын системийг холбох шаардлагагүй. Нөгөө талаас авч үзвэл дурын, бараг бүх програм өөрийн зорилгоосоо хамааран хамгийн багаар бодоход ядаж ганц төхөөрөмжид хандах шаардлагатай байдаг. Шорон дотроос төхөөрөмжид хандах хандалтыг хянах нь маш чухал байдаг. Учир нь буруу тохируулгууд халдагчид шорон дотор муухай зүйлс хийх боломжийг олгож болох юм. &man.devfs.8; дээрх хяналтыг &man.devfs.8; болон &man.devfs.conf.5; гарын авлагын хуудаснуудад тайлбарласан дүрмийн олонлогуудаар удирддаг. Шорон суулгагдсаны дараа &man.jail.8; хэрэгсэл ашиглан түүнийг эхлүүлж болно. &man.jail.8; хэрэгсэл дөрвөн зайлшгүй шаардлагатай нэмэлт өгөгдлийг авдаг бөгөөд эдгээр нь хэсэгт тайлбарлагдсан байгаа болно. Өөр бусад нэмэлт өгөгдлүүдийг бас зааж өгч болох бөгөөд өөрөөр хэлбэл шорон хийгдсэн процессийг тухайн нэг хэрэглэгчийн итгэмжлэлүүдтэй ажиллуулж болох юм. -н нэмэлт өгөгдөл нь шоронгийн төрлөөс хамаарна; виртуал системийн хувьд /etc/rc нь боломжийн сонголт байна. Энэ нь жинхэнэ &os; системийн эхлүүлэх дарааллыг хуулбарлах учраас тэр юм. Үйлчилгээ шоронгийн хувьд шорон дотор ажиллах үйлчилгээ эсвэл програмаас энэ нь хамаарна. Шоронгууд нь ихэвчлэн ачаалах үед эхлүүлэгддэг бөгөөд &os; rc арга зам нь үүнийг хийх хялбар аргаар хангадаг. Ачаалах үед эхлэхээр идэвхжүүлэгдсэн шоронгуудын жагсаалтыг &man.rc.conf.5; файлд нэмэх ёстой: jail_enable="YES" # Set to NO to disable starting of any jails jail_list="www" # Space separated list of names of jails Шорон бүрийг тайлбарласан &man.rc.conf.5; тохируулгуудын бүлэг jail_list-д жагсаагдсан шорон бүрийн хувьд доор дурдсаныг нэмэх ёстой: jail_www_rootdir="/usr/jail/www" # jail's root directory jail_www_hostname="www.example.org" # jail's hostname jail_www_ip="192.168.0.10" # jail's IP address jail_www_devfs_enable="YES" # mount devfs in the jail jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail &man.rc.conf.5;-д тохируулагдсан шоронгуудын анхдагч эхлүүлэлт нь шоронг бүрэн виртуал систем гэж тооцдог шоронгийн /etc/rc скриптийг ажиллуулах болно. Үйлчилгээний шоронгуудын хувьд jail_jailname_exec_start тохируулгыг зохистойгоор тохируулан шоронгийн анхдагч эхлүүлэх тушаалыг өөрчлөх ёстой. Тохируулгуудын бүрэн жагсаалтыг &man.rc.conf.5; гарын авлагын хуудаснаас үзнэ үү. Шоронд зориулагдсан оруулга rc.conf файлд байгаа тохиолдолд /etc/rc.d/jail скрипт шоронг гараар эхлүүлэх эсвэл зогсооход ашиглагдаж болох юм: &prompt.root; /etc/rc.d/jail start www &prompt.root; /etc/rc.d/jail stop www Одоогоор &man.jail.8;-г зогсоох цэвэр зам байхгүй байгаа. Цэвэр системийн зогсолтыг хийх тушаалуудыг шорон дотор ашиглах боломжгүй байдаг болохоор тэр юм. Шоронг зогсоох хамгийн шилдэг арга бол дараах тушаалыг шорон дотроос ажиллуулах эсвэл шоронгийн гадна &man.jexec.8; хэрэгслийг ашиглах явдал юм: &prompt.root; sh /etc/rc.shutdown Үүний талаар дэлгэрэнгүй мэдээллийг &man.jail.8; гарын авлагын хуудаснаас олж болно. Нарийн тааруулалт болон удирдлага Аль ч шоронд зориулж тохируулж болох хэд хэдэн тохируулгууд байдаг бөгөөд өндөр түвшний програмуудыг хийхийн тулд хост &os; системийг шоронгуудтай цуг хослуулах төрөл бүрийн аргууд бас байдаг. Энэ хэсэг нь дараах зүйлсийг үзүүлнэ: Ажиллагаа болон шоронгийн суулгалтаар хийгдсэн аюулгүй байдлын хязгаарлалтуудыг тааруулахад зориулагдсан зарим тохируулгууд. &os;-ийн портын цуглуулгад байх, шорон дээр суурилсан шийдлүүдийг хийхэд ашиглагдаж болох шорон удирдах зарим нэг өндөр түвшний програмууд. &os; дээр шорон тааруулах системийн хэрэгслүүд Шоронгийн тохиргооны нарийн сайн тааруулалтыг &man.sysctl.8; хувьсагчуудыг тохируулснаар ихэвчлэн хийдэг. Бүх хамаатай тохируулгуудыг зохион байгуулах үндэс болон sysctl-ийн тусгай дэд мод байдаг: энэ нь &os; цөмийн тохируулгуудын security.jail.* шатлал юм. Энд шоронтой холбоотой гол sysctl-уудын жагсаалтыг тэдгээрийн анхдагч утгуудтайгаар харуулав. Нэрс нь өөрийгөө тайлбарласан байгаа, гэхдээ тэдгээрийн талаар илүү мэдээллийг &man.jail.8; болон &man.sysctl.8; гарын авлагын хуудаснуудаас лавлана уу. security.jail.set_hostname_allowed: 1 security.jail.socket_unixiproute_only: 1 security.jail.sysvipc_allowed: 0 security.jail.enforce_statfs: 2 security.jail.allow_raw_sockets: 0 security.jail.chflags_allowed: 0 security.jail.jailed: 0 root хэрэглэгчид анхдагчаар ноогдуулсан хязгаарлалтуудын заримыг нэмэх эсвэл хасахын тулд эдгээр хувьсагчуудыг хост системийн администратор ашиглаж болно. Зарим нэг хязгаарлалтуудыг хасаж болохгүйг тэмдэглэе. root хэрэглэгчид &man.jail.8; дотор файлын системүүдийг холбох эсвэл салгахыг зөвшөөрдөггүй. Шорон доторх root хэрэглэгч &man.devfs.8; дүрмийн олонлогуудыг дуудах эсвэл буцааж болиулах, галт ханын дүрмүүдийг тохируулах, эсвэл цөмийн securelevel хувьсагчийг тохируулах зэрэг цөм дэх өгөгдлийн өөрчлөлтүүдийг шаарддаг өөр олон бусад удирдлагын ажлуудыг хийж чадахгүй байж болох юм. &os;-ийн үндсэн систем нь идэвхтэй шоронгуудын тухай мэдээллийг үзүүлэх болон удирдлагын тушаалуудыг ажиллуулахын тулд шоронд залгагдаж болох хялбар хэрэгслүүдийн цуглуулгыг агуулдаг. &man.jls.8; болон &man.jexec.8; тушаалууд нь &os;-ийн үндсэн системийн хэсэг бөгөөд дараах хялбар ажлуудыг хийж гүйцэтгэхэд ашиглагдаж болно: Идэвхтэй байгаа шоронгуудын жагсаалт болон тэдгээрийн харгалзах шорон танигч (JID), IP хаяг, хостын нэр болон замыг үзүүлнэ. Өөрийнх нь хост системээс ажиллаж байгаа шоронд залгагдаж шорон дотор тушаал ажиллуулах юм уу эсвэл шоронгийн удирдлагын ажлуудыг шорон дотор ажиллуулна. root хэрэглэгч шоронг цэвэрхэн зогсоож унтраахыг хүсэх үед энэ нь ялангуяа ашигтай байдаг. Шорон дотор удирдлага хийхийн тулд түүн дотор бүрхүүл эхлүүлэхэд &man.jexec.8; хэрэгсэл бас ашиглагдаж болдог; жишээ нь: &prompt.root; jexec 1 tcsh &os;-ийн портын цуглуулга дахь өндөр түвшний удирдлагын хэрэгслүүд Шорон удирдлагад зориулагдсан гуравдагч талуудын олон хэрэгслүүдийн дундаас хамгийн бүрэн гүйцэд, ашигтай нь sysutils/jailutils юм. Энэ нь &man.jail.8;-ийн удирдлагад хувь нэмэр болсон жижиг програмуудын цуглуулга юм. Дэлгэрэнгүй мэдээллийн талаар түүний вэб хуудсанд хандана уу. Шоронгийн хэрэглээ Даниэл Гэрзо Хувь нэмэр болгон оруулсан Үйлчилгээ шоронгууд Энэхүү хэсэг нь &a.simon; хөгжүүлэгчийн хуудас болон Кен Том locals@gmail.com-ийн бичсэн шинэчилсэн нийтлэл дээр гаргасан санаа дээр тулгуурласан юм. Энэ хэсэг нь &man.jail.8; боломжийг ашиглан аюулгүй байдлын нэмэлт давхарга бүхий &os; систем хэрхэн тохируулах талаар тайлбарлах болно. Өгөгдсөн систем нь ядаж RELENG_6_0 бөгөөд энэ бүлгийн өмнө дурдсан мэдээллийг уншигч авхай сайн ойлгосон гэж тооцдог. Шийдэл Шоронгуудын гол асуудлуудын нэг нь тэдгээрийн шинэчлэлтийн процессийн удирдлага юм. Шорон бүр нь шинэчлэгдэх болгондоо дахин бүр эхнээсээ бүтээгдэх хэрэгтэй болдог учраас тэр юм. Нэг шоронгийн хувьд энэ нь ихэвчлэн асуудал болдоггүй, шинэчлэлтийн процесс их хялбар байдаг боловч олон шоронгууд үүсгэсэн бол их хугацаа шаардсан, төвөгтэй ажиллагаа байдаг. Энэхүү тохиргоо нь &os;-ийн маш сайн туршлага болон түүний боломжуудын хэрэглээг шаарддаг. Хэрэв доор үзүүлсэн алхмууд нь хэтэрхий төвөгтэй санагдвал &os; шоронгуудыг удирдах илүү хялбар боломжийг олгодог бөгөөд энэ тохиргооных шиг төвөгтэй биш sysutils/ezjail зэрэг хялбар системийг үзэхийг зөвлөж байна. Гол санаа нь иймэрхүү асуудлуудыг шоронгууд хооронд аль болох ихээр аюулгүй аргаар хуваалцах замаар шийдэх явдал юм — шинэчлэлт хялбар байхаар зөвхөн уншигдах &man.mount.nullfs.8; холболтуудыг ашиглах болон ганц үйлчилгээнүүдийг тусдаа шоронд хийх нь илүүтэй болох юм. Мөн энэ нь шоронгуудыг нэмэх эсвэл устгах болон тэдгээрийг шинэчлэх хялбар боломжийг олгодог юм. Ийм зорилгоор ашиглаж болох үйлчилгээнүүдийг дурдвал: HTTP сервер, DNS сервер, SMTP сервер гэх мэт байж болох юм. Энэ хэсэгт тайлбарласан тохиргооны зорилгуудыг дурдвал: Шоронгийн хялбар, ойлгоход амархан бүтцийг үүсгэх. Энэ нь шорон бүрийн хувьд болон тэдгээр дээр бүрэн хэмжээний installworld үйлдлийг ажиллуулахгүй байх гэсэн үг юм. Шинэ шоронгууд нэмэх эсвэл байгааг нь устгах процессийг хялбар болгох. Байгаа шоронгуудыг шинэчлэх эсвэл сайжруулах процессийг хялбар болгох. Өөрчлөн тохируулсан &os; салбарыг ажиллуулах боломжтой болгох. Нэвтрэн орох, эвдлэн орох боломжийг аль болох ихээр багасгаж аюулгүй байдлын хувьд паранойд байх. Зай болон inode-уудыг аль болох ихээр хэмнэх. Урьд нь дурдагдсаны адил энэ шийдэл нь шорон бүрт зөвхөн уншигдахаар (nullfs гэгддэг) холбогдох ганц мастер загвар болон шорон бүрийн хувьд нэг уншигдах, бичигдэх төхөөрөмжтэй байх бүтэц дээр үндсэндээ тулгуурласан юм. Төхөөрөмж нь тусдаа физик диск, хуваалт, эсвэл vnode дээр тулгуурласан &man.md.4; төхөөрөмж байж болох юм. Энэ жишээн дээр бид уншигдах, бичигдэх nullfs холболтуудыг ашиглах болно. Файлын системийн дүр зураг доор дурдсан хэсэгт тайлбарласан буй: Шорон бүр /home/j сангийн доор холбогдох болно. /home/j/mroot нь шорон бүрийн хувьд загвар ба бүх шоронгуудын хувьд зөвхөн уншигдах хуваалт юм. /home/j сангийн доор шорон бүрийн хувьд хоосон сан үүсгэгдэнэ. Шорон бүр системийн уншигдах, бичигдэх хэсэг уруу холбогдох /s сантай байна. Шорон бүр /home/j/skel дээр тулгуурласан өөрийн уншигдах, бичигдэх системтэй байх болно. Шоронгийн талбар бүр (шорон бүрийн уншигдах, бичигдэх хэсэг) /home/js-д үүсгэгдэх болно. Энэ нь шоронгууд /home хуваалтын доор үндэслэсэн гэж үзнэ. Үүнийг мэдээж өөрчилж болох боловч ингэх тохиолдолд доор дурдсан жишээ бүрийн хувьд өөрчлөгдөх ёстой болно. Загвар үүсгэх нь Энэ хэсэг нь шоронд зориулагдан ашиглагдах, зөвхөн уншигдах хэсэг болох мастер загварыг үүсгэхэд хэрэгтэй алхмуудыг тайлбарлах болно. &os; системийг сүүлийн -RELEASE салбар уруу шинэчлэх нь үргэлж зөв санаа байдаг. Үүнийг хийхийн тулд гарын авлагын бүлгээс лавлах хэрэгтэй. Шинэчлэл хийх шаардлагагүй бол гүйцэтгэлийг гүйцээхийн тулд buildworld хийх шаардлагатай. Мөн sysutils/cpdup багц хэрэгтэй. &os;-ийн портын цуглуулгыг татаж авахдаа бид &man.portsnap.8; хэрэгслийг ашиглах болно. Эхлэн суралцагчид гарын авлагын Portsnap бүлгийг унших нь зүйтэй юм. Эхлээд бидний шоронгуудад зориулсан &os;-ийн хоёртын файлуудыг агуулах зөвхөн уншигдах файлын системийн сангийн бүтцийг үүсгэх хэрэгтэй бөгөөд дараа нь &os;-ийн эх модны сан уруу сангаа сольж ороод зөвхөн уншигдах файлын системийг шоронгийн загвар уруу суулгах хэрэгтэй: &prompt.root; mkdir /home/j /home/j/mroot &prompt.root; cd /usr/src &prompt.root; make installworld DESTDIR=/home/j/mroot Дараа нь шоронгуудад зориулж &os;-ийн портын цуглуулга болон mergemaster-т шаардлагатай, &os;-ийн эх модыг бэлдэх хэрэгтэй: &prompt.root; cd /home/j/mroot &prompt.root; mkdir usr/ports &prompt.root; portsnap -p /home/j/mroot/usr/ports fetch extract &prompt.root; cpdup /usr/src /home/j/mroot/usr/src Системийн уншигдах, бичигдэх хэсэгт зориулж араг ясыг үүсгэх хэрэгтэй: &prompt.root; mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles &prompt.root; mv etc /home/j/skel &prompt.root; mv usr/local /home/j/skel/usr-local &prompt.root; mv tmp /home/j/skel &prompt.root; mv var /home/j/skel &prompt.root; mv root /home/j/skel Байхгүй байгаа тохиргооны файлуудыг суулгахын тулд mergemaster-г ашиглах хэрэгтэй. Дараа нь mergemaster-ийн үүсгэсэн илүү сангуудыг арилгах хэрэгтэй: &prompt.root; mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i &prompt.root; cd /home/j/skel &prompt.root; rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev Одоо уншигдах, бичигдэх файлын системийг зөвхөн уншигдах файлын систем уруу заасан симболын холбоос үүсгэх хэрэгтэй. Симболын холбоосууд нь зөв s/ байрлалуудад үүсгэгдсэн эсэхийг шалгаарай. Жинхэнэ сангууд юм уу эсвэл сангуудын үүсгэлт буруу байрлалуудад хийгдсэн бол суулгалт амжилтгүй болоход хүргэнэ. &prompt.root; cd /home/j/mroot &prompt.root; mkdir s &prompt.root; ln -s s/etc etc &prompt.root; ln -s s/home home &prompt.root; ln -s s/root root &prompt.root; ln -s ../s/usr-local usr/local &prompt.root; ln -s ../s/usr-X11R6 usr/X11R6 &prompt.root; ln -s ../../s/distfiles usr/ports/distfiles &prompt.root; ln -s s/tmp tmp &prompt.root; ln -s s/var var Сүүлийн шатанд доор дурдсан агуулга бүхий ерөнхий /home/j/skel/etc/make.conf файлыг үүсгэх хэрэгтэй: WRKDIRPREFIX?= /s/portbuild WRKDIRPREFIX-г ийм байдлаар тохируулах нь шорон бүрт &os;-ийн портуудыг эмхэтгэх боломжтой болгох юм. Портуудын сан нь зөвхөн уншигдах системийн хэсэг гэдгийг санаарай. WRKDIRPREFIX-д зориулсан өөр зам нь шорон бүрийн уншигдах, бичигдэх хэсэгт бүтээлтүүдийг хийх боломжийг олгох юм. Шорон үүсгэх нь Одоо бид бүрэн гүйцэд &os;-ийн шоронгийн загвартай болсон болохоор /etc/rc.conf файлд бид шоронгуудыг суулган тохируулах боломжтой болно. Энэ жишээ нь NS, MAIL болон WWW гэсэн 3 шоронгийн үүсгэлтийг харуулж байна. Доор дурдсан мөрүүдийг /etc/fstab файлд нэмэх хэрэгтэй. Ингэснээр шоронгуудад зориулсан зөвхөн уншигдах загвар болон уншигдах, бичигдэх зай тохирох шоронгуудад ашиглах боломжтой болох юм: /home/j/mroot /home/j/ns nullfs ro 0 0 /home/j/mroot /home/j/mail nullfs ro 0 0 /home/j/mroot /home/j/www nullfs ro 0 0 /home/js/ns /home/j/ns/s nullfs rw 0 0 /home/js/mail /home/j/mail/s nullfs rw 0 0 /home/js/www /home/j/www/s nullfs rw 0 0 0 pass буюу өнгөрөх дугаараар тэмдэглэгдсэн хуваалтууд нь ачаалах үед &man.fsck.8; хэрэгслээр шалгагддаггүй бөгөөд 0 dump дугаараар тэмдэглэгдсэн хуваалтууд нь &man.dump.8; хэрэгслээр нөөцлөгддөггүй. Бид fsck хэрэгслээр nullfs холболтуудыг шалгах эсвэл dump хэрэгслээр шоронгуудын зөвхөн уншигдах nullfs холболтуудыг нөөцлөхийг хүсэхгүй байгаа билээ. Дээр дурдсан fstab оруулга бүрийн сүүлийн хоёр багана 0 0 гэж тэмдэглэгдсэн учир нь энэ юм. Шоронгуудыг /etc/rc.conf-д тохируулах хэрэгтэй: jail_enable="YES" jail_set_hostname_allow="NO" jail_list="ns mail www" jail_ns_hostname="ns.example.org" jail_ns_ip="192.168.3.17" jail_ns_rootdir="/usr/home/j/ns" jail_ns_devfs_enable="YES" jail_mail_hostname="mail.example.org" jail_mail_ip="192.168.3.18" jail_mail_rootdir="/usr/home/j/mail" jail_mail_devfs_enable="YES" jail_www_hostname="www.example.org" jail_www_ip="62.123.43.14" jail_www_rootdir="/usr/home/j/www" jail_www_devfs_enable="YES" jail_name_rootdir хувьсагчийн утга /home-ийн оронд /usr/home гэсэн шалтгаан нь &os;-ийн үндсэн суулгац дээр /home сангийн физик зам нь /usr/home гэж байдагт оршиж байгаа юм. jail_name_rootdir хувьсагчийн утга симбол холбоос бүхий зам байхаар тохируулагдсан байх ёсгүй бөгөөд хэрэв ингэвэл шоронгууд ажиллаж эхлэхгүй байх болно. Энэ хувьсагчийн утгад тавьж болох утгыг олохдоо &man.realpath.1;-г ашиглах хэрэгтэй. Дэлгэрэнгүй мэдээллийг &os;-SA-07:01.jail Аюулгүй байдлын Зөвлөгөөнөөс үзнэ үү. Шорон бүрийн зөвхөн уншигдах файлын системд зориулсан, шаардлагатай холбох цэгүүдийг үүсгэнэ: &prompt.root; mkdir /home/j/ns /home/j/mail /home/j/www Шорон бүрт уншигдах, бичигдэх загварыг суулгах хэрэгтэй. sysutils/cpdup хэрэгслийн хэрэглээг энд тэмдэглэх нь зүйтэй юм. Энэ нь сан бүрийн зөв хуулбарыг хийхэд тусалдаг: &prompt.root; mkdir /home/js &prompt.root; cpdup /home/j/skel /home/js/ns &prompt.root; cpdup /home/j/skel /home/js/mail &prompt.root; cpdup /home/j/skel /home/js/www Энэ үед шоронгууд нь бүтээгдэж ажиллахад бэлтгэгдсэн байна. Эхлээд шорон бүрийн хувьд шаардлагатай файлын системийг холбож дараа нь тэдгээрийг /etc/rc.d/jail скрипт ашиглан эхлүүлэх хэрэгтэй: &prompt.root; mount -a &prompt.root; /etc/rc.d/jail start Шоронгууд нь одоо ажиллаж байх ёстой. Тэдгээрийг зөв эхэлсэн эсэхийг шалгахын тулд &man.jls.8; тушаалыг ашиглана. Үүний гаралт доор дурдсантай төстэй байх ёстой: &prompt.root; jls JID IP Address Hostname Path 3 192.168.3.17 ns.example.org /home/j/ns 2 192.168.3.18 mail.example.org /home/j/mail 1 62.123.43.14 www.example.org /home/j/www Энэ үед шорон бүр рүү нэвтэрч, шинэ хэрэглэгчид нэмэх эсвэл дэмонуудыг тохируулах боломжтой болсон байх ёстой. JID багана нь ажиллаж байгаа шорон бүрийн шорон таниулах дугаарыг илэрхийлдэг. JID нь 3 бүхий шорон дотор удирдлагын ажлуудыг гүйцэтгэхийн тулд дараах тушаалыг ашиглах хэрэгтэй: &prompt.root; jexec 3 tcsh Шинэчлэх нь Аюулгүй байдлын асуудлаас болоод эсвэл одоо байгаа шоронгуудад ашигтай шинэ боломжууд хийгдсэнээс болоод системээ &os;-ийн шинэ хувилбар уруу шинэчлэх шаардлага заримдаа гардаг. Энэ тохиргооны дизайн нь байгаа шоронгуудыг хялбар аргаар шинэчлэх боломжийг олгодог. Мөн шоронгуудыг сүүлийн минутанд зогсоодог болохоор энэ нь тэдгээрийн зогсох хугацааг багасгадаг. Бас ямар нэг асуудал гарахад энэ нь хуучин хувилбар уруугаа шилжих боломжийг олгодог. Эхний алхам нь хост системийг журмын дагуу шинэчлэх явдал юм. Дараа шинэ, түр зуурын, зөвхөн уншигдах загварыг /home/j/mroot2-д үүсгэх хэрэгтэй. &prompt.root; mkdir /home/j/mroot2 &prompt.root; cd /usr/src &prompt.root; make installworld DESTDIR=/home/j/mroot2 &prompt.root; cd /home/j/mroot2 &prompt.root; cpdup /usr/src usr/src &prompt.root; mkdir s installworld ажиллахдаа цөөн хэрэггүй сангуудыг үүсгэдэг бөгөөд эдгээрийг устгах хэрэгтэй: &prompt.root; chflags -R 0 var &prompt.root; rm -R etc var root usr/local tmp Мастер файлын системд зориулж уншигдах, бичигдэх симболын холбоосуудыг дахин үүсгэх хэрэгтэй: &prompt.root; ln -s s/etc etc &prompt.root; ln -s s/root root &prompt.root; ln -s s/home home &prompt.root; ln -s ../s/usr-local usr/local &prompt.root; ln -s ../s/usr-X11R6 usr/X11R6 &prompt.root; ln -s s/tmp tmp &prompt.root; ln -s s/var var Шоронгуудыг зогсоох зөв үе нь одоо байна: &prompt.root; /etc/rc.d/jail stop Эх файлын системүүдийг салгах хэрэгтэй: &prompt.root; umount /home/j/ns/s &prompt.root; umount /home/j/ns &prompt.root; umount /home/j/mail/s &prompt.root; umount /home/j/mail &prompt.root; umount /home/j/www/s &prompt.root; umount /home/j/www Уншигдах, бичигдэх системүүд нь зөвхөн уншигдах системд залгагдсан (/s) бөгөөд эхлээд салгагдах ёстой. Хуучин зөвхөн уншигдах файлын системийг шилжүүлж шинээр сольно. Ямар нэг юм болохоо байхад энэ нь хуучин, зөвхөн уншигдах файлын системийн нөөц болон архив маягаар ашиглагдах юм. Энд ашиглагдсан нэрлэх аргачлал нь шинэ, зөвхөн уншигдах файлын систем үүсгэгдэх үеийнхтэй тохирдог. Зай болон inode-уудыг хэмнэхийн тулд &os;-ийн эх портын цуглуулгыг шинэ файлын систем уруу шилжүүлэх хэрэгтэй: &prompt.root; cd /home/j &prompt.root; mv mroot mroot.20060601 &prompt.root; mv mroot2 mroot &prompt.root; mv mroot.20060601/usr/ports mroot/usr Энэ үед шинэ, зөвхөн уншигдах загвар бэлэн болох бөгөөд үлдсэн цорын ганц ажил нь файлын системүүдийг дахин холбож шоронгуудыг эхлүүлэх явдал юм: &prompt.root; mount -a &prompt.root; /etc/rc.d/jail start Шоронгууд зөв эхэлсэн эсэхийг шалгахын тулд &man.jls.8;-г ашиглана. Шорон бүрт mergemaster-г ажиллуулахаа мартуузай. Тохиргооны файлууд болон rc.d скриптүүдийг шинэчлэх хэрэгтэй болно. diff --git a/mn_MN.UTF-8/books/handbook/ports/chapter.sgml b/mn_MN.UTF-8/books/handbook/ports/chapter.sgml index dd4aa70b25..598fdeb898 100644 --- a/mn_MN.UTF-8/books/handbook/ports/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/ports/chapter.sgml @@ -1,1438 +1,1473 @@ Шагдарын Нацагдорж Орчуулсан Програм суулгах: Багцууд болон портууд Ерөнхий агуулга портууд багцууд Маш олон системийн хэрэгслүүд FreeBSD-н үндсэн системтэй нь хамт суугддаг. Гэхдээ зарим хүмүүст ажлаа гүйцээхийн тулд маш олон гуравдагчдын бэлтгэсэн програмыг суулгах шаардлага гардаг билээ. Таны систем дээр гуравдагчийн бүтээсэн програмуудыг суулгах хоёр үндсэн маш сайн аргыг FreeBSD хангаж өгдөг нь: FreeBSD-н портын цуглуулга (эх бичлэгээс нь суулгахад зориулагдсан), ба багцууд (урьдчилан хөрвүүлсэн хоёртын хэлбэрийн файлаас суулгахад зориулагдсан) юм. Энэ хоёр арга нь хоёулаа таны суулгахыг хүссэн програмын хамгийн сүүлийн хувилбарыг сүлжээ юм уу дотоод төхөөрөмжөөс суулгахад хэрэглэгдэнэ. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Гуравдагчдын бүтээсэн програмын багцыг хэрхэн суулгах. Портын цуглуулга ашиглаж гуравдагчдын програмыг эх бичлэгээс нь хэрхэн бүтээх. Өмнө суугдсан багц юм уу эсвэл портуудыг хэрхэн устгах. Портын цуглуулгын хэрэглэдэг анхдагч утгуудыг хэрхэн дарж бичих. Шаардлагатай програмын багцаа хэрхэн хайж олох. Програмаа хэрхэн шинэчилсэн түвшинд авчрах. Програм суулгацын ерөнхий ойлголт Хэрэв та урьд нь &unix; системийг хэрэглэж байсан бол, гуравдагчдын бүтээсэн програмыг суулгах явц дараах маягаар явагддаг билээ: Програмыг татаж авах. Энэ нь голдуу эх бичлэг хэлбэрээрээ юм уу эсвэл хөрвүүлэгдсэн хоёрт файлын хэлбэрээр байдаг. Авсан програмаа задлах (ихэнх нь &man.compress.1;, &man.gzip.1;, эсвэл &man.bzip2.1; нараар шахагдсан байдаг). Бичиг баримт нь хаана байгааг олоод (голдуу INSTALL юм уу README файлууд байдаг ба, эсвэл doc/ гэсэн дэд санд буй бичиг баримтууд) хэрхэн суулгах зааврыг нь унших. Хэрэв програм нь эх бичлэг хэлбэрээрээ байгаа бол, түүнийг хөрвүүлэх. Ингэхийн тулд магадгүй Makefile файлыг засварлах, эсвэл configure скриптийг ажиллуулах зэрэг ажлууд байдаг. Програмыг шалгаад, дараа нь суулгах. Хэрэв бүх зүйл сайхан бүтсэн үед л ийм явц үйлдэгддэг. Хэрэв та тусад нь FreeBSD-д зориулж порт болгоогүй програмыг суулгахыг хүсвэл, магадгүй та уг програмыг ажиллуулахын тулд тухайн програмын эх кодыг засварлах хэрэг гарна. Хэрэв та хүсэж байгаа бол, иймэрхүү уламжлалт аргаар програмыг FreeBSD дээр суулгаж болно. Гэхдээ FreeBSD дээр таны нөр их хөдөлмөрийг хөнгөлөх хоёр арга байдаг нь: багцууд болон портууд юм. Энэ баримтжуулалтыг бэлтгэж байх үед &os.numports; гаран гуравдагчийн бэлтгэсэн програмууд ийм аргаар бэлэн болсон байгаа. Ямар ч програм байсан, FreeBSD дээрх уг програмын багц гэж ердөө нэг л файлыг та татаж авах ёстой байдаг. Уг багц дотор тухайн програмын урьдчилан хөрвүүлсэн хувилбар, бичиг баримт болон тохируулга хийх скриптүүд зэрэг нь багтсан байгаа. Татаж авагдсан багц файлыг &man.pkg.add.1;, &man.pkg.delete.1;, &man.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 гэсэн нэрээр мөн багц хэлбэртэй байдаг. Багцлах аргад иймэрхүү явцуу тохируулгаас хамаарсан арга байдаг боловч, хэрэв хөрвүүлэх үеийн тохиргоо нь ихсэх болбол энэ арга нь тун явуургүй болдог билээ. Зарим програмын лицензэнд, уг програмыг хөрвүүлэгдсэн хэлбэрээр түгээхийг хорьсон байдаг. Тийм програмуудыг эх бичлэг хэлбэрээр нь түгээх ёстой болдог билээ. Зарим хүмүүс хөрвүүлэгдсэн хоёртын файлын түгээлтэнд дургүй байдаг. Ядаж эх бичлэг нь байвал, та (онолын хувьд) эх бичлэгийг уншиж болзошгүй аюулыг илрүүлж болох юм. Хэрэв танд нөхөлт бичлэг (засвар) байгаа бол, та уг нөхөлтийг зөвхөн эх бичлэг дээр л хийж чадна. Зарим хүмүүс эх бичлэгээр наадах дуртай байдаг. Тэд нар эх бичлэгийг уншаад залхуу нь хүрээд ирэхээрээ уг бичлэгийг өөрчилж эвдэх, эсвэл зээлдэж өөрчлөх ( мэдээж лицензийн дагуу ) гэх мэтээр оролддог. Портын шинэчлэлийн тухай мэдээлэл авч байхыг хүсвэл &a.ports; болон &a.ports-bugs; зэрэг захианы жагсаалтад бүртгүүлэх хэрэгтэй. Ямар нэгэн програм суулгахаасаа өмнө -с програмын нууцлалын тухай мэдээллийг харах нь зүйтэй. Та мөн ports-mgmt/portaudit-г суулгаж болох бөгөөд энэ нь, програмыг суулгахын өмнө уг програмын хуучралт болон аюулгүй байдалтай хамаатай шаардлагатай шалгалтуудыг хийж өгдөг. Иймэрхүү шалгалтыг зарим багц суулгасны дараа та portaudit -F -a гэсэн тушаал хэрэглэн үйлдэж болно. Энэ бүлгийн үлдсэн хэсэгт FreeBSD дээр порт юм уу багц ашиглан хэрхэн програм суулгах талаар өгүүлэх болно. Програмаа олох нь Ямар нэгэн програм суулгахаасаа өмнө та ямар програм суулгахыг хүсэж байгаа болон ямар нэртэй гэдгийг нь мэдсэн байх хэрэгтэй. FreeBSD-н програмын жагсаалт нь цаг тутамд нэмэгдэж байдаг. Аз болж таны хүссэн програмыг олох хэд хэдэн арга бий: FreeBSD-н вэб хуудас нь http://www.FreeBSD.org/ports/ хаяг дээр бүх байгаа програмын шинэчлэгдсэн хувилбаруудыг нь хайж болох хэлбэрээр арчилж байдаг. Портууд нь төрөлжиж хуваагдсан байдаг бөгөөд та хүссэн програмаа хайж олох (хэрэв та нэрийг нь мэдэж байвал) эсвэл тухайн төрөлд байгаа бүх програмуудын нэрсийн жагсаалтыг харж болно. FreshPorts буюу шинэхэн портууд Dan Langille гэгч нь FreshPorts хуудсыг хаяг дээр арчлан эрхэлдэг. FreshPorts нь порт дээр гарсан өөрчлөлтүүдийг хянаж байдаг бөгөөд хэрэв таныг хүсвэл таны сонгосон хэд хэдэн портуудыг ажиглаж байгаад өөрчлөлт гарангуут танд захиагаар мэдэгддэг. FreshMeat Хэрэв та програмынхаа нэрийг нь мэдэхгүй байгаа бол FreshMeat () хуудсан дээр хайж үзэх хэрэгтэй. Хэрэв уг хуудсан дээр шинэ програм олдсон бол буцаад FreeBSD хуудсанд очиж уг хуудсыг порт болсон эсэхийг магадлах нь зүйтэй. Хэрэв та портынхоо нэрийг яг мэддэг боловч ямар төрөлд багтдагийг нь мэдэх хэрэгтэй бол &man.whereis.1; тушаалыг ашиглаарай. Ердөө л whereis файлын_нэр гэж бичих бөгөөд файлын_нэр нь суулгахыг хүссэн програмын нэр билээ. Хэрэв уг програм нь олдвол, танд хаана байгааг нь дараах маягаар харуулна: &prompt.root; whereis lsof lsof: /usr/ports/sysutils/lsof Энэ нь бидэнд lsof (системийн нэгэн хэрэгсэл) програмыг /usr/ports/sysutils/lsof санд буй гэж мэдэгдэж байна. Мөн портын модонд тухайн порт хаана байгааг олохын тулд ердийн &man.echo.1; тушаалыг ашиглаж болно. Жишээ нь: &prompt.root; echo /usr/ports/*/*lsof* /usr/ports/sysutils/lsof Энэ нь /usr/ports/distfiles сан уруу татаж авагдсан таарсан файлуудыг харуулах болно гэдгийг анхаараарай. Хүссэн портоо олох бас нэг арга бол портын цуглуулга дотор нь байдаг өөрийнх нь хайгчийг нь ашиглах билээ. Уг хайгчийг нь хэрэглэхийн тулд та /usr/ports сан дотор байх шаардлагатай. Уг сан дотроос make search name=програмын-нэр гэж бичих бөгөөд програмын-нэр нь таны олохыг хүссэн програмын нэр байх ёстой. Жишээлбэл lsof програмыг олохын тулд: &prompt.root; cd /usr/ports &prompt.root; 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 гэж хайсантай ижилхэн үр дүнд хүргэнэ. Chern Lee Хамтран бичсэн Багцалсан системийг хэрэглэх нь Багц суулгах багц суулгах pkg_add Та &man.pkg.add.1; хэрэгслийг ашиглан өөртөө хадгалагдсан юм уу эсвэл сүлжээнд буй серверээс FreeBSD-н програмын багц суулгаж болдог. Багц татаж аваад суулгах явц &prompt.root; 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 &prompt.root; pkg_add lsof-4.56.4.tgz Хэрэв танд багц суулгах дотоод эх үүсвэр ( FreeBSD CD-ROM гэх мэт) байхгүй бол &man.pkg.add.1; хэрэгслийг сонголттой хамт хэрэглэх нь зүйтэй. Энэ нь тухайн програмыг төрөл болон хувилбар зэрэг мэдээллийг нь автоматаар таньж мэдээд FTP хуудаснаас татан авч суулгадаг. pkg_add &prompt.root; pkg_add -r lsof Дээрх жишээн дээр уг хэрэгсэл нь хэрэглэгчийн оролцоогүйгээр татаж аваад суулгаж буйг харуулж байна. Хэрэв та татаж авах алс хаягийг нь адилхан толин тусгал болох өөр нэг &os; багцын хаягаар солихыг хүсвэл PACKAGESITE орчны хувьсагчийн утгад анхных нь утгыг нь дарж өөр хаяг өгөх хэрэгтэй. &man.pkg.add.1; нь &man.fetch.3;-г ашиглаж файл татаж авдаг бөгөөд янз бүрийн орчны хувьсагчийн утга хэрэглэдэг. Тэд нар нь FTP_PASSIVE_MODE, FTP_PROXY, мөн FTP_PASSWORD гэх мэт хувьсагчид байдаг. Хэрэв та галт хананы цаана байгаа юм уу эсвэл FTP/HTTP прокси хэрэглэж байгаа бол уг хувьсагчдыг өөрчлөх ёстой. Хувьсагчдын бүрэн жагсаалтыг &man.fetch.3; хуудаснаас харна уу. Дээрх жишээн дээр lsof нь lsof-4.56.4 оронд хэрэглэгдэв. Хэрэв та алсаас автоматаар татаж авах үйлдэл хийж байгаа бол багцны хувилбарын дугаарыг оруулалгүй бичих хэрэгтэй. &man.pkg.add.1; нь тухайн програмын сүүлийн хувилбарыг автоматаар таньж суулгадаг. Хэрэв та &os.current; эсвэл &os.stable; хувилбарыг хэрэглэж байгаа бол &man.pkg.add.1; нь програмын хамгийн сүүлийн хувилбарыг татаж авч суулгадаг. Хэрэв та -RELEASE хувилбар хэрэглэж байгаа бол таны хэрэглэж байгаа тухайн хувилбарт тохирсон хувилбарыг нь татаж авч суулгадаг. Гэхдээ иймэрхүү үйлдлийг нь өөрчлөхийг хүсвэл PACKAGESITE-г өөрчлөөрэй. Жишээлбэл та &os; 5.4-RELEASE систем дээр &man.pkg.add.1; хэрэгслийг ажиллуулбал анхдагч хаяг нь ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/ байх болно. Хэрэв та &man.pkg.add.1;-г &os; 5-STABLE багц суулгахаар тохируулахыг хүсвэл PACKAGESITE хувьсагчийг ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/ гэж зааж өгөх хэрэгтэй. Багц файлууд нь .tgz болон .tbz гэсэн хэлбэртэй байдаг. Та тэдгээрийг хаягнаас олж болох бөгөөд эсвэл FreeBSD CD-ROM дээр бас буй. FreeBSD-н 4 ширхэг CD тус бүрийн /packages сан дотор багц байрлаж байгаа. Багц байрлуулалт нь /usr/ports-н загвартай ижил модлог байдаг. Төрөл болгон өөрийн гэсэн сантай ба багц болгон бас All буюу бүгд гэсэн сангаас олддог. Багцны сангийн бүтэц нь портын бүтэцтэй таарч багц портын системийг бүрэлдүүлдэг юм. Багц зохицуулалт багц зохицуулах &man.pkg.info.1; хэрэгсэл нь суугдсан багцтай холбоотой мэдээллүүдийг харуулдаг. pkg_info &prompt.root; 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 ... &man.pkg.version.1; хэрэгсэл нь суугдсан бүх багцны ерөнхий мэдээллийг харуулж байдаг. Энэ нь багцны хувилбарыг портын санд буй програмын хувилбартай жишиж харьцуулдаг. pkg_version &prompt.root; pkg_version cvsup = docbook = ... Хоёр дахь баганад буй тэмдэгт нь порт доторх програмын хувилбартай харьцуулсан харьцуулалт юм. Тэмдэг Утга = Суугдсан багцны хувилбар нь портын хувилбартай адилхан байна. < Суугдсан хувилбар нь портын хувилбараас хуучин байна. >Суугдсан хувилбар нь портын хувилбараас шинэ байна. (Дотоод порт тань хуучирсан байж болзошгүй) ?Суугдсан багц нь портын жагсаалтад олдсонгүй. (Энэ тохиолдож болох юм. Жишээлбэл суугдсан порт нь устгагдах юм уу нэр нь өөрчлөгдсөн байж болзошгүй.) *Багц олон хувилбартай байна. !Суулгагдсан багц жагсаалтад байгаа боловч ямар нэг шалтгааны улмаас pkg_version тушаал нь суулгагдсан багцын хувилбарын дугаарыг жагсаалт дахь харгалзах оруулгатай харьцуулж чадахгүй байна. Багц устгах pkg_delete багц устгах Өмнө суугдсан байгаа багцыг устгахдаа &man.pkg.delete.1; хэрэгслийг ашиглана. &prompt.root; pkg_delete xchat-1.7.1 &man.pkg.delete.1; нь багцын бүрэн нэр болон дугаарыг шаарддагийг тэмдэглэе; xchat-1.7.1-ийн оронд xchat өгөгдсөн бол дээр дурдсан тушаал ажиллахгүй. Гэхдээ суулгагдсан багцын хувилбарыг олохын тулд &man.pkg.version.1;-ийг ашиглах хялбар байдаг. Ингэхийн оронд та бүгдийг орлуулах тэмдэгт ашиглаж болох юм: &prompt.root; pkg_delete xchat\* Энэ тохиолдолд xchat-аар эхэлсэн нэртэй бүх багцуудыг устгах болно. Бусад мэдүүштэй зүйлс Бүх багцтай холбоотой мэдээллүүд /var/db/pkg сан дотор хадгалагдаж байдаг. Суугдсан багцны жагсаалт болон холбогдох тодорхойлолтууд нь уг санд буй файл дотроос уншигдах боломжтой. Портын цуглуулгыг хэрэглэх нь Дараах хэсэгт системдээ портын цуглуулгыг ашиглан хэрхэн програм суулгах болон устгах талаар өгүүлэх болно. make хөрвүүлэгчийн байршил болон орчны хувьсагчийн тухай нэмэлт тодорхой мэдээллийг &man.ports.7; хуудаснаас харна уу. Портын цуглуулгыг суулгах нь Порт суулгахаасаа өмнө нь /usr/ports сан дотор Makefiles, patches буюу нөхөгч файл, мөн тодорхойлолт файлуудыг агуулсан портын цуглуулгыг суулгах хэрэгтэй. FreeBSD-г суулгах үед sysinstall програм танаас портын цуглуулгыг суулгах эсэхийг тань асуудаг. Хэрэв та тэр үед үгүй гэж хариулсан бол энэ хэсэгт хэрхэн суулгах талаар тайлбарлана: CVSup арга - Энэ арга нь CVSup-г ашиглан + Энэ арга нь CVSup протоколыг ашиглан портын цуглуулгаа суулгаж мөн байнга шинэчилж болох хамгийн түргэн арга юм. Хэрэв та CVSup-н талаар дэлгэрэнгүй мэдэхийг хүсэж байвал CVSup-г хэрэглэх нь хэсгээс хараарай. - - csup гэдэг програм нь - CVSup програмыг C програм дээр - дахин бичсэн хувилбар нь бөгөөд &os;-н 6.2 юм уу эсвэл - түүнээс дээшхи хувилбарт боломжтой буй. - csup нь үндсэн суулгацтай хамт - суулгагддаг болохоор #1 дүгээр алхмыг алгасаад - cvsup-н оронд - csup гэж бичиж хэрэглэх хэрэгтэй. - Хуучны хувилбаруудад - csup-г - net/csup сан дотроос - порт/багц хэлбэрээс суулгаж болно. - - - CVSup-г анх удаагаа ажиллуулахынхаа өмнө + + &os; системд орсон CVSup протоколын + шийдэл нь csup гэж нэрлэгддэг. + Энэ нь &os; 6.2-т анх удаа орсон. Хуучин &os; хувилбарын хэрэглэгчид + үүнийг net/csup порт/багцын + тусламжтайгаар суулгаж болно. + + + csup-г анх удаагаа ажиллуулахынхаа өмнө /usr/ports санг хоосон байлгах хэрэгтэй. Хэрэв уг сан дотор өөр эх сурвалжаас суулгасан портын цуглуулга байвал, - CVSup нь уг файлуудыг шинэчилж нөхдөггүй билээ. + csup нь уг файлуудыг шинэчилж нөхдөггүй билээ. - net/cvsup-without-gui багцыг эхлээд суулгана: + csup тушаалыг ажиллуулна: - &prompt.root; pkg_add -r cvsup-without-gui - - CVSup-г суулгах () хэсгээс нэмэлт мэдээллийг харна уу. - - - - cvsup-г ажиллуулна: - - &prompt.root; cvsup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile +&prompt.root; csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile cvsup.FreeBSD.org гэдгийг өөртэйгээ ойрхон орших CVSup серверийн нэрээр солих хэрэгтэй. CVSup толин тусгалууд () хэсгээс толин тусгал хуудаснуудын бүрэн жагсаалтыг хараарай. Зарим нэг нь өөрийнхөө бэлтгэсэн ports-supfile файлыг хэрэглэхийг хүсэж болох юм. Ингэсэн үед тушаал бичих мөрөнд CVSup серверийн нэрийг бичих шаардлага гардаггүй. Ингэхийг хүссэн үед root эрхээр ороод /usr/share/examples/cvsup/ports-supfile файлыг шинэ сан уруу хуулах хэрэгтэй. Жишээлбэл /root юм уу эсвэл өөрийнхөө эхлэл санд хуулж болно. ports-supfile файлыг засварлана. CHANGE_THIS.FreeBSD.org мөрийг өөртэйгөө ойрхон буй CVSup серверийн нэрээр сольно. CVSup Толин тусгалууд () хэсэгт толин тусгалуудын бүрэн жагсаалтыг харж болно. - Одоо cvsup-г ажиллуулахын тулд дараах алхмыг хийх хэрэгтэй: + Одоо csup-г ажиллуулахын тулд дараах алхмыг хийх хэрэгтэй: - &prompt.root; cvsup -L 2 /root/ports-supfile + &prompt.root; csup -L 2 /root/ports-supfile - Дараа нь &man.cvsup.1; тушаалыг ажиллуулснаар тухайн үед хөрвүүлж байгаа + Дараа нь &man.csup.1; тушаалыг ажиллуулснаар тухайн үед хөрвүүлж байгаа портуудыг эс оруулаад бүх портын цуглуулгыг татаж аван сүүлд орсон өөрчлөлтүүдийг мөн шинэчилдэг. Portsnap арга Portsnap нь портын цуглуулгыг шинэчлэх бас нэг арга билээ. Энэ програм нь анх &os; 6.0 хувилбарт эхлэн хэрэглэгдсэн. Хуучин хувилбаруудад үүнийг ports-mgmt/portsnap гэсэн багцыг суулгаж ашиглана: &prompt.root; pkg_add -r portsnap Portsnap-г хэрэглэх нь хэсгээс Portsnap-тай холбоотой бүх мэдээллийг харна уу. &os; 6.1-RELEASE хувилбар болон Portsnap порт юм уу багцын сүүлийн хувилбартай бол энэ хэсгийг та алгасаж болно. /usr/ports сан нь &man.portsnap.8; тушаалыг анх удаагаа хэрэглэх үед автоматаар үүсгэгддэг. Portsnap-н өмнөх хувилбаруудтай бөгөөд /usr/ports сан байхгүй бол хоосон ийм сан үүсгэх хэрэгтэй: &prompt.root; mkdir /usr/ports Шахсан хэлбэртэй портын цуглуулгыг /var/db/portsnap сан дотор татаж авах хэрэгтэй. Хэрэв та хүсвэл энэ алхмын дараа интернэтээс салгаатай ажиллаж болдог. &prompt.root; portsnap fetch Хэрэв та Portsnap-г анх удаагаа ажиллуулж байгаа бол шахагдсан уг цуглуулгыг /usr/ports сан дотор задална: &prompt.root; portsnap extract Хэрэв та өмнө нь /usr/ports сан дотор цуглуулгыг суулгасан бөгөөд энэ үед зөвхөн шинэчлэхийг хүсэж байгаа бол дараах тушаалыг өгөх хэрэгтэй: &prompt.root; portsnap update Sysinstall арга Энэ арга нь суулгацын төхөөрөмжөөс sysinstall-г ашиглан портын цуглуулгыг суулгах арга юм. Гэхдээ тухайн төхөөрөмж дээр байгаа цуглуулга нь тухайн хувилбарыг гаргасан өдрийн хувилбартай байдгийг анзаарах хэрэгтэй. Хэрэв танд интернэт холболт байдаг бол дээр өгүүлсэн хоёр аргыг урьтал болгох нь зүйтэй. root эрхээр ороод sysinstall гэсэн тушаал өгөх хэрэгтэй (/stand/sysinstall гэж &os; -н 5.2-с хуучин хувилбаруудад бичих ёстой): &prompt.root; sysinstall Configure гэдгийг сонгоод Enter товч дарна. Distributions цэсийг сонгоод Enter дээр дарна. ports гэж сонгон Space товч дээр дарах хэрэгтэй. Дээр буй Exit гэдгийг олж сонгон Enter дээр дарна. CDROM юм уу FTP гэх мэт суулгах төхөөрөмжөө сонгоно. Дээр буй Exit цэсийг сонгоод Enter дээр дарна. X дээр дарж sysinstall-с гарах болно. Порт суулгах нь портууд суулгах Портын цуглуулгын талаар яриа хийхийн өмнө портын skeleton буюу араг ясны талаар ойлголт авах хэрэгтэй. Хамгийн энгийн ойлголтоор бол энэ нь FreeBSD системд програмыг цэвэрхэн хөрвүүлээд суулгахыг зааварласан товч заавар байдаг. Порт болгоны араг яс дараах зүйлсийг агуулж байдаг: Makefile. Makefile нь янз бүрийн заавар бичлэгүүд агуулж байдаг бөгөөд энэ нь програм хэрхэн хөрвүүлэгдэх, бас хаана суугдах зэрэг үйлдлүүдийг тодорхойлсон байгаа. distinfo файл. Энэ файл нь хөрвүүлж бүтээгдэх ёстой файлуудын татаж авалт болон тэдгээрийн алдаагүй татагдсан эсэхийг (&man.md5.1; болон &man.sha256.1; хэрэгслүүдийг ашиглан) шалгах зэрэг мэдээллүүдийг агуулж байдаг. files нэртэй сан. Энэ санд таны FreeBSD систем дээр суугдах програмуудын хөрвүүлэгдэхэд хэрэглэгддэг patches буюу нөхөөс файлуудыг агуулна. Нөхөөс файлууд нь жижигхэн хэмжээний файл бөгөөд тодорхой зарим файлд гарсан өөрчлөлтүүдийг агуулдаг. Нөхөөсүүд текст хэлбэрээр оршдог ба голдуу 10 дугаар мөрийг устга эсвэл 26 дугаар мөрийг үүгээр соль ... гэсэн зааврууд байдаг. Нөхөөсүүдийг мөн diffs буюу ялгааны төрлийн файл гэж ярьцгаадаг. Ийм ялгааг нь илэрхийлсэн файлыг үүсгэхдээ &man.diff.1; програмыг хэрэглэдэг юм. Энэ санд портыг бүтээхэд шаардагдах өөр төрлийн файлууд бас байж болох юм. pkg-descr файл. Энэ файл дотор тухайн програмын тухай нэлээн дэлгэрэнгүй тодорхойлолт агуулагдаж байдаг. pkg-plist файл. Энэ файл дотор порт суугдах явцад хуулагдаж суугдах файлуудын жагсаалт байдаг. Энэ нь мөн портыг устгах үед портын системд мэдэгдэх файлуудын жагсаалт билээ. Зарим портууд pkg-message гэх мэтийн өөр файлууд агуулж байдаг. Портын систем нь онцгой тохиолдолд уг файлуудтай хандаж тухайн портод харгалзах үйлдлүүдийг хийх болно. Хэрэв та ийм файлуудын тухай дэлгэрэнгүй мэдээлэл мөн портын тухай үндсэн ойлголт авахыг хүсвэл FreeBSD порт бүтээгчийн гарын авлага хуудаснаас харна уу. Порт дотор програмын эх бичлэгийг хэрхэн хөрвүүлж бүтээх тухай заавар байдаг болохоос уг програмын эх бичлэг нь байдаггүй. Та уг програмын эх бичлэгийг CD-ROM эсвэл интернэтээс уг зохиогчийнх нь гаргасан хэлбэрээр татаж авч болно. Голдуу эх бичлэгүүд нь tar болон gzip шахалтаар шахаж бэлдсэн байдаг боловч заримдаа өөр төрлийн хэрэгсэл ашиглан шахсан тохиолдол тулгарч магадгүй. Ямар ч хэлбэрээр програмын эх бичлэгийг авсан байг, түүнийг distfile гэж нэрийддэг. Доор &os; порт суулгах хоёр аргыг танилцуулж байна. Порт суулгахын тулд та root эрхэнд сэлгэсэн байх ёстой. Ямар нэгэн портыг суулгахаасаа өмнө портынхоо цуглуулгыг та шинэчилсэн байх хэрэгтэй бөгөөд хуудсанд тухайн порттой холбоотой аюул нууцлалын тухай сэдэв хөндөгдсөн эсэхийг шалгах хэрэгтэй. Ямар ч порт суулгахаасаа өмнө аюулгүйн нууцлалын хувьд сул тал буй эсэхийг portaudit-р автоматаар шалгаж болно. Энэ хэрэгслийг портын цуглуулга дотор олох боломжтой (ports-mgmt/portaudit). Шинэ портыг суулгахаасаа өмнө portaudit -F гэж ажиллуулснаар аюулгүйн нууцлалд гарсан сул тал нүхнүүдийн тухай мэдээллийн өгөгдлийн баазаас мэдээллүүдийг авч нөхөлт хийдэг. Аюулгүйн нууцлалын мэдээллийн өгөгдлийн баазын шинэчлэх явц өдөр болгон давтагдаж хийгдэх болно. Нэмэлт дэлгэрэнгүй мэдээллийг &man.portaudit.1; болон &man.periodic.8; хуудаснаас харна уу. Портын цуглуулга таныг интернэт холболттой гэж авч үздэг. Хэрэв танд интернэт холболт байхгүй бол distfile файлуудыг /usr/ports/distfiles санд хуулах хэрэгтэй. Эхлэхийн өмнө суулгах гэж буй портын санд орох хэрэгтэй: &prompt.root; cd /usr/ports/sysutils/lsof Тэгээд lsof санд орсон хойноо уг сан дотор та тухайн портын араг ясыг харах болно. Дараагийн алхам бол портыг хөрвүүлэх буюу бүтээх билээ. Ингэхийн тулд тушаал бичих мөрөнд make гэж бичнэ. Ингэж гүйцэтгэсний дараа дараах маягийн явцын мэдээллийг та харах болно: &prompt.root; 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] ... &prompt.root; Хөрвүүлэлт дуусаад та буцаад тушаал бичих мөрөнд ирэнгүүт хийх ёстой дараагийн алхам бол портыг суулгах билээ. Ингэхийн тулд таны хийх ёстой зүйл бол make тушаалыг өөр нэг үгтэй хамт бичих ёстой бөгөөд тэр үг нь install юм: &prompt.root; 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. &prompt.root; Ингээд тушаал бичих мөр боломжтой болонгуут суулгасан портоо ажиллуулах боломжтой болдог. Бид нарын жишээ авч суулгасан lsof програм нь нууцлалын давуу эрх шаарддаг болохоор аюулгүйн нууцлалын анхааруулга харуулагддаг. Порт суулгах үед хэрэв анхааруулга харуулагдваас түүнийг тун анхааралтай уншиж ойлгох хэрэгтэй. Програмыг хөрвүүлж бүтээхэд хэрэглэгдсэн түр файлуудыг хадгалсан дэд сангуудыг устгах нь зүйтэй. Энэ нь дискний зайг хэмнэхээс гадна тухайн портыг шинэчлэх үед алдаа гаргуулахгүй маш сайн зуршил юм. &prompt.root; make clean ===> Cleaning for lsof-4.57 &prompt.root; Та 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 дээр байхгүй байгаа бол интернэт рүү орон хэлсний дагуу гүйцэтгэх хэрэгтэй. Портын систем нь &man.fetch.1; хэрэгслийг ашиглан файлуудыг татаж авдаг. Уг хэрэгсэл нь FTP_PASSIVE_MODE, FTP_PROXY, мөн FTP_PASSWORD гэх мэтчилэн төрөл бүрийн орчны хувьсагчдыг ашиглаж ажилладаг. Хэрэв та галт хана юм уу FTP/HTTP прокси хэрэглэдэг бол эдгээр хувьсагчдад тохирох утгыг нь зааж өгөх хэрэгтэй. &man.fetch.3; хуудаснаас хувьсагчдын бүрэн жагсаалтыг харна уу. Интернэтэд байнга холбогддоггүй хэрэглэгчдэд зориулж make fetch тушаал байдаг. Уг тушаалыг портын дээд сан (/usr/ports) дотор гүйцэтгэхэд шаардагдах бүх файлуудыг татаж авдаг. Уг тушаалыг мөн /usr/ports/net гэх зэргийн дэд сан дотор гүйцэтгэж болно. Хэрэв тухайн порт өөр сан юм уу портоос хамаардаг бол fetch гүйцэтгэл нь тэдгээр хамаарлыг нь нөхөж татдаггүйг анхаараарай. Харин fetch гэдгийг fetch-recursive гэж орлуулснаар тухайн портын хамааралтай порт болон сангуудыг давхар татаж авдаг. Та бүх портуудыг хөрвүүлж бүтээнэ гэвэл make тушаалыг make fetch тушаалыг тайлбарласан шиг дээд санд гүйцэтгэж болдог. Гэвч зарим порт байхгүй тохиолдолд ийм үйлдэл бол аюултай. Мөн зарим портууд хоёр өөр файлыг нэг нэрээр суулгах хүндрэл гаргаж болзошгүй. Мөш цөөхөн тохиолдолд хэрэглэгчид MASTER_SITES (татаж авах файлуудын байршил) хаягнаас өөр байршил ашиглан эх файлуудыг татаж авах шаардлага гарч болох юм. Ийм үед MASTER_SITES хувьсагчийн утгыг дараах тушаалаар өөрчилдөг: &prompt.root; cd /usr/ports/directory &prompt.root; make MASTER_SITE_OVERRIDE= \ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch Энэ жишээн дээр бид MASTER_SITES-н утгыг ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ гэж өөрчиллөө. Зарим порт нь өөрийнхөө зарим хэсгийг шаардлагагүй гэж үзэх тохиолдолд, эсвэл аюулгүйн нууцлалын шалтгаанаар ч юм уу өөрчлөлт хийх боломж (эсвэл шаарддаг) өгдөг. www/mozilla, security/gpgme, мөн mail/sylpheed-claws зэргүүдийг жишээ болгож болох юм. Иймэрхүү мэдэгдлүүд байвал тухайн үед танд харуулагдах болно. Портын анхдагч санг дарж бичих Заримдаа портыг хөрвүүлэх болон суулгах өөр санг хэрэглэх нь хэрэгтэй (онц шаардлагатай) байдаг. WRKDIRPREFIX болон PREFIX хувьсагчдын утгыг өөрчилж анхдагч сангийн байршлыг сольдог. Жишээ нь: &prompt.root; make WRKDIRPREFIX=/usr/home/example/ports install гэсэн тушаал нь портыг /usr/home/example/ports сан дотор хөрвүүлээд хөрвүүлэгдэж бүтээгдсэн файлуудыг /usr/local санд суулгадаг. &prompt.root; make PREFIX=/usr/home/example/local install гэсэн тушаал нь портыг /usr/ports санд хөрвүүлж бэлдээд /usr/home/example/local санд суулгана. Мэдээж &prompt.root; make WRKDIRPREFIX=../ports PREFIX=../local install гэж хоёр хувьсагчийг хослуулан хэрэглэж бас болно (танд зөвхөн ерөнхий ойлголт өгөх зорилгоор урт мөрийг товчилж харуулсан билээ). Мөн та уг хувьсагчдыг өөрийнхөө орчны хувьсагч болгож зарлаж болно. Тухайн бүрхүүлийнхээ орчны тухай зааврыг эхлээд уншиж танилцах нь зүйтэй. <command>imake</command>-г хэрэглэх Зарим порт imake-г хэрэглэдэг ( X цонхот системийн хэсэг) бөгөөд PREFIX хувьсагч ашиглалгүй /usr/X11R6 санд суулгадаг. Үүнтэй ижил зарим Perl портууд PREFIX хувьсагч хэрэглэлгүй Perl-н санд суулгадаг. Эдгээр портуудыг PREFIX хувьсагчтай хамтран ажиллуулж энэ хувьсагчийг ойлгож хүндэтгэдэг болгоно гэдэг бол тун хэцүү бөгөөд бараг боломжгүй ажил юм. Портуудыг дахин тохируулах нь Тухайн портуудыг бүтээж байхад чинь танд бүтээх тохируулгуудаас сонгож болох ncurses дээр тулгуурласан цэс харуулагддаг. Портыг нэгэнт бүтээсний дараа тэдгээр тохируулгуудыг нэмэх, хасах, эсвэл өөрчлөхийн тулд энэ цэсэнд дахин орохыг хүсэх нь хэрэглэгчдийн хувьд тийм ч нийтлэг биш юм. Үүнийг хийх олон аргууд байдаг. Нэг арга нь портыг агуулж байгаа сан уруу ороод урьдын адил тохируулгуудыг сонгосон хэвээр байгаа цэсийг дахин харуулах make config гэж тушаалыг ажиллуулах явдал юм. Өөр нэг арга нь портын хувьд бүх тохиргооны сонголтуудыг харуулах make showconfig тушаалыг ашиглах явдал юм. Бас нэг өөр арга нь бүх сонгогдсон тохируулгуудыг арилгаад танд дахин эхлэх боломж олгох make rmconfig тушаалыг ажиллуулах явдал юм. Эдгээр бүх аргууд болон бусдын талаар &man.ports.7; гарын авлагын хуудсанд илүү дэлгэрэнгүй тайлбарласан байгаа. Суугдсан портыг устгах нь портууд устгах Та одоо портыг хэрхэн суулгах талаар мэдсэн юм чинь хэрэв буруу портоо суулгасан бол түүнийг хэрхэн утсгадаг талаар мэдэхийг хүсэж байгаа байх. Өмнөх жишээнд суулгасан портоо бид устгацгаая (анхааралгүй уншсан нэгэнд нь lsof програм гэж сануулъя). Портууд багцтай ижилхэн &man.pkg.delete.1; тушаалаар устгагдаж болно ( Багц сонголт хэсэгт тайлбарласан буй): &prompt.root; pkg_delete lsof-4.57 Порт шинэчлэх порт шинэчлэх Хамгийн түрүүнд &man.pkg.version.1; тушаал ашиглан портын цуглуулгаас шинэ хувилбар агуулсан портуудыг жагсаах хэрэгтэй: &prompt.root; pkg_version -v <filename>/usr/ports/UPDATING</filename> Портыг шинэчлэхээсээ өмнө портын цуглуулгаа шинэчлээд /usr/ports/UPDATING файлыг шалгана. Энэ файл дотор портыг шинэчлэхэд шаардагдах үйлдлүүд болох өөрчлөгдсөн төрөл, тохируулгын өөрчлөлт, эсвэл өмнөх хувилбартайгаа зөрчилдөх хэсгүүд гэх мэтийн чухал мэдээллүүд агуулагдаж байдаг. Хэрэв UPDATING файлд саяны таны уншсан зүйлүүдээс өөр юм агуулагдаж байвал уг файлд буй зааврыг дагах нь зүйтэй. Portupgrade ашиглан порт шинэчлэх нь portupgrade portupgrade хэрэгсэл нь портыг амархан шинэчлэхэд зориулагдсан. Үүнийг ports-mgmt/portupgrade портоос суулгаж болно. Бусад портын нэгэн адил порт суулгадаг журмаар make install clean гэсэн тушаалаар суулгадаг: &prompt.root; cd /usr/ports/ports-mgmt/portupgrade &prompt.root; make install clean Суугдсан портын жагсаалтыг pkgdb -F тушаал ашиглан шалгаад үр дүнгийн мэдээлэлд байгаа зөрчлүүдийг нь залруулж засах хэрэгтэй. Шинэчлэл хийхээсээ өмнө ингэж зөрчлүүдийг арилгах нь тун сайн санаа билээ. Хэрэв та portupgrade -a гэж ажиллуулбал таны системд суугдсан бүх хуучирсан портуудыг portupgrade шинэчилж эхэлдэг. Хэрэв та суугдах шинэчлэл болгонд лавлаж асуух үйлдэл хийлгэхийг хүсвэл сонголт нэмээрэй. &prompt.root; portupgrade -ai Хэрэв та бүх шинэчлэгдэх порт биш харин зөвхөн тодорхой нэгэн портыг шинэчлэх хүсэлтэй бол portupgrade багцны-нэр гэж бичнэ. сонголт нэмснээр тухайн програмд шаардагдах портуудыг portupgrade эхлээд нь шинэчлэдэг. &prompt.root; portupgrade -R firefox Портын оронд багц хэрэглэж суулгахыг хүсвэл сонголт хэрэглэнэ. Энэ сонголттой үед portupgrade нь PKG_PATH хувьсагчид зааж өгсөн жагсаалтад буй сан дотроос багцуудыг хайх ба хэрэв уг санд байхгүй байгаа бол сүлжээнээс татаж нөхдөг. Хэрэв дотоод сан болон сүлжээнээс багц олдоогүй тохиолдолд portupgrade нь портоор суулгахыг оролдох болно. Порт хэлбэрээр суулгах үйлдлийг зогсоохын тулд сонголтыг нэмж өгдөг. &prompt.root; portupgrade -PP gnome2 Хэрэв хөрвүүлж суулгалгүйгээр зөвхөн distfiles файлыг татаж авах (хэрэв сонголттой бол багц файлыг ) шаардлагатай бол сонголтыг ашиглаарай. Дэлгэрэнгүй мэдээллийг &man.portupgrade.1; хэсэгт харна уу. Portmanager ашиглан портыг шинэчлэх нь portmanager Portmanager бол портыг суулгаж шинэчлэхийг амарчилсан өөр нэг хэрэгсэл билээ. Үүнийг ports-mgmt/portmanager портноос суулгаж болно: &prompt.root; cd /usr/ports/ports-mgmt/portmanager &prompt.root; make install clean Бүх суугдсан портууд дараах энгийн тушаалаар шинэчлэгдэж болдог: &prompt.root; portmanager -u Та мөн сонголт нэмснээр Portmanager-н гүйцэтгэх алхам бүрийг лавлах асуух хэлбэрт оруулан хянаж болдог. Portmanager-г ашиглан системд шинэ портыг суулгаж болно. make install clean гэсэн ердийн тушаалаас ялгаатай нь тухайн сонгосон портыг суулгахаасаа өмнө түүнд хамааралтай бүх портуудыг шинэчлэдэг. &prompt.root; portmanager x11/gnome2 Хэрэв сонгосон портын хамааралтай портод ямар нэгэн хүндрэл гарвал Portmanager-г тэр хүндрэл гарсан портоос эхлэн дахин шинээр хөрвүүлж бэлд гэж зааж өгч болдог. Ингэсэн үед хүндрэл гаргасан портыг эхлэж хөрвүүлээд дараа нь портоо шинэчлэх явцаа цааш нь үргэлжлүүлдэг. &prompt.root; portmanager graphics/gimp -f Дэлгэрэнгүй мэдээллийг &man.portmanager.1;-с харна уу. - + &prompt.root; portmaster -af + + Шинэ порт бүтээж суулгахаасаа өмнө бүх хамааралтай портуудыг шинэчилж + Portmaster-ийг системд шинэ порт суулгахдаа + та бас ашиглаж болно: + + &prompt.root; portmaster shells/bash + + Дэлгэрэнгүй мэдээллийг &man.portmaster.8;-с үзнэ үү. Порт ба дискний хэмжээ порт дискний хэмжээ Портын цуглуулга нь дискний хэмжээг байнга идэж байдаг. Портоос програмыг хөрвүүлж суулгасны дараа бэлдэж байсан санг make clean тушаалаар цэвэрлэхээ үргэлж санах хэрэгтэй. Та портын цуглуулгыг бүхлээр нь дараах тушаалаар цэвэрлэж болно: &prompt.root; portsclean -C Маш олон эх файлууд distfiles санд явцын үр дүнд хадгалагдаж байдаг. Та тэдгээрийг гар аргаар устгаж болох ба дараах тушаал хэрэглэн ямар нэгэн порттой холбоогүй болсон бүх distfiles устгаж болно: &prompt.root; portsclean -D Эсвэл таны системд одоо суугдсан байгаа порттой хамаагүй бүх distfiles-уудыг дараах тушаалаар устгана: &prompt.root; portsclean -DD portsclean хэрэгсэл нь portupgrade програмын нэг бүрдэл хэсэг. Суулгасан портоо хэрэглэхгүй болсон үедээ устгахаа мартаж болохгүй. Иймэрхүү автоматжуулалтыг гүйцэтгэдэг эвтэйхэн програм бол ports-mgmt/pkg_cutleaves порт билээ. Порт суулгасны дараах үйлдлүүд Ердийн програмыг суулгасны дараа тухайн програмтай холбоотой бичиг баримтыг унших, ямар нэгэн тохиргооны файл засварлах, эсвэл уг програм компьютер ачаалагдах үед эхлэх (хэрэв энэ нь далд чөтгөр бол) эсэхийг нь шалгах шаардлага гарч болзошгүй. Суулгасан програм болгоныг тохируулах зарчим өөр өөр. Гэхдээ та шинэ програм суулгачихаад Одоо яах вэ? гэсэн асуулттай тулгарах үед дараах зүйлс тусалж магадгүй: &man.pkg.info.1; тушаалыг ашиглан ямар файл хаана яаж суугдсаныг харна. Жишээ нь та саяхан FooPackage version 1.0.0, програмыг суулгасан бол &prompt.root; pkg_info -L foopackage-1.0.0 | less гэсэн тушаал нь уг програмыг суулгах явцад хуулсан бүх файлуудыг харуулдаг. man/ санд хуулсан файл байвал тун анхааралтай харах хэрэгтэй. Энэ нь гарын авлага файлууд байдаг. Мөн etc/ санд хуулсан файлууд нь тохируулгын файлууд байдаг бөгөөд doc/ санд бол дэлгэрэнгүй бичиг баримтуудыг хадгалсан байдаг. Хэрэв та програмынхаа хувилбарын талаар сайн мэдэхгүй байгаа бол &prompt.root; pkg_info | grep -i foopackage гэсэн тушаал нь бүх суугдсан програм дотор foopackage гэсэн нэртэй програм байвал харуулдаг. foopackage-н оронд хүссэн програмынхаа нэрийг бичээрэй. Програмын гарын авлага хаана суугдсаныг мэдсэн үедээ &man.man.1;-г ашиглан харах хэрэгтэй. Мөн түүнчлэн ийм аргаар тохируулга болон нэмэлт мэдээллийн файлуудыг нь тухай бүрд нь харах хэрэгтэй. Хэрэв уг програм өөрийн гэсэн вэб хуудастай бол түүнд нь зорчин нэмэлт мэдээлэл авах, байнгын асуулт хариултыг нь үзэх гэх мэтчилэн оролдоорой. Уг програмын вэб хуудасны хаяг нь &prompt.root; pkg_info foopackage-1.0.0 тушаалын гаралт дээр WWW: гэсэн хэсэгт байдаг. Эхлэн ачаалагдах үед эхлэх ёстой портууд (Интернэт сервер гэх мэт) голдуу /usr/local/etc/rc.d сан дотор эхлүүлэх файлаа хуулдаг. Та уг файлыг шаардлагатай бол засварлах юм уу өөрчилж болно. Үйлчилгээг эхлүүлэх хэсгээс дэлгэрэнгүй мэдэээллийг харна уу. Эвдрэлтэй портыг засах нь Хэрэв та портыг ажиллуулж чадаагүй тохиолдолд хийж болох хэд хэдэн алхам бий: Problem Report database хуудсанд уг портын засварлах заавар бий эсэхийг шалгах. Хэрэв байвал уг зааврын дагуу засварлах хэрэгтэй. Уг портыг арчилж сайжруулдаг хүнээс тусламж авах. make maintainer тушаал ашиглаад юм уу эсвэл Makefile файл дотроос тухайн арчлагчийн захианы хаягийг нь олох хэрэгтэй. Захиандаа портынхоо нэр болон хувилбарыг оруулан (Makefile файлд буй $FreeBSD: мөрийг илгээх хэрэгтэй ) хэрэв боломжтой бол алдаа заасан явцын мэдээллүүдийг явуулах хэрэгтэй. Зарим порт нь хувь хүнээр биш харин захианы жагсаалтаар арчлагдаж байдаг. Энэ жагсаалтад бүгд биш ч гэсэн ихэнх хүмүүс нь freebsd-listname@FreeBSD.org маягийн захианы хаягтай байдаг. Ийм хүмүүс рүү захиагаа явуулах хэрэгтэй. Голдуу freebsd-ports@FreeBSD.org-р арчлагдаж байгаа гэсэн портууд нэг тодорхой хүнээр арчлагдаагүй байдаг. Завсарлалт болон тусламж зэргүүд нь ихэнхдээ захианы жагсаалтад буй хүмүүсээс ирдэг. Туслан дэмжих хүмүүс бидэнд үргэлж хэрэгтэй байгаа! Хэрэв та ямар нэгэн хариулт аваагүй бол &man.send-pr.1;-г ашиглан алдааны мэдэгдэл ( FreeBSD-н алдааг мэдээлэх хэсгийг харна уу) хийж болно. Өөрөө засаад үз! Порт хийгчдийн гарын авлага дотор портын ажиллах зарчим болон бүтэц заавар, засах дараалал, тэр байтугай өөрөө порт зохиох талаар дурдсан байгаа! Ойрхон байгаа FTP хуудаснаас багцыг татаж авах хэрэгтэй. Үндсэн багцны цуглуулга ftp.FreeBSD.org хуудасны багцны санд байдаг бөгөөд орон нутгийн толин тусгалуудыг эхлээд турш! Ингэсэн нь эх бичлэгийг хөрвүүлэхээс түргэн бэлэн болсон багцыг татаж аван цаг хэмнэж байдаг. &man.pkg.add.1; програмыг ашиглан өөртөө хадгалсан багцаа систем дээрээ суулгана. diff --git a/mn_MN.UTF-8/books/handbook/printing/chapter.sgml b/mn_MN.UTF-8/books/handbook/printing/chapter.sgml index 4e7a903fe1..905dc03c2c 100644 --- a/mn_MN.UTF-8/books/handbook/printing/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/printing/chapter.sgml @@ -1,4932 +1,4934 @@ Шон Келли Хувь нэмэр болгон оруулсан Жим Мок Дахин бүтцийг өөрчилж шинэчилсэн Цагаанхүүгийн Ганболд Орчуулсан Шагдарын Нацагдорж Хэвлэлт Ерөнхий агуулга LPD түр хадгалах систем хэвлэлт FreeBSD дээр хамгийн хуучин цохидог хэвлэгчдээс авахуулаад хамгийн сүүлийн хэвлэгчид хүртэл, мөн тэдгээрийн хооронд байгаа хэвлэгчид зэрэг төрөл бүрийн хэвлэгчдийг хэвлэхэд ашиглаж болдог бөгөөд энэ нь таны ажиллаж байгаа програмуудаас өндөр чанарын хэвлэсэн гаралтыг бүтээх боломж олгох юм. FreeBSD-г бас сүлжээн дэх хэвлэх сервер болгон тохируулж бас болдог; энэ боломжид FreeBSD нь бусад FreeBSD компьютерууд, &windows; болон &macos; хостууд зэрэг төрөл бүрийн бусад компьютеруудаас хэвлэх ажлуудыг хүлээн авдаг. FreeBSD нь зөвхөн нэг ажлыг тухайн үед хэвлэхийг баталгаажуулж ихэнх хэвлэлтийг аль хэрэглэгчид болон машинууд хийж байгаа талаар статистикууд цуглуулж хэний хэвлэсэн зүйл хэнийх болохыг үзүүлэх сурталчилгаа хуудаснуудыг бүтээх зэрэг олон үйлдлийг хийж чаддаг. Энэ бүлгийг уншиж дууссаны дараа та дараах зүйлсийг мэдэх болно: FreeBSD-ийн хэвлэгчийн түр хадгалагчийг хэрхэн тохируулах талаар. Ирж байгаа баримтуудыг таны хэвлэгчид ойлгодог хэвлэх хэлбэршилтэд оруулж хөрвүүлэх зэрэг тусгай хэвлэх ажлуудыг өөрөөр зохицуулдаг хэвлэх шүүлтүүрүүдийг хэрхэн суулгах талаар. Толгой эсвэл сурталчилгаа хуудаснуудыг өөрийн хэвлэх зүйл дээрээ хэрхэн идэвхжүүлэх талаар. Бусад компьютерууд уруу холбогдсон хэвлэгчдээр хэрхэн хэвлэх талаар. Сүлжээнд шууд холбогдсон хэвлэгчдээр хэрхэн хэвлэх талаар. Хэвлэх ажлуудын хэмжээг хязгаарлах болон зарим хэрэглэгчдийг хэвлэхийг болиулах зэрэг хэвлэгчийн хязгаарлалтуудыг хэрхэн хянах талаар. Хэвлэгчийн статистикууд болон хэвлэгчийн хэрэглээнд зориулсан бүртгэлийг хэрхэн хадгалж байх талаар. Хэвлэх асуудлуудыг хэрхэн олж засварлах талаар. Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай: Шинэ цөмийг хэрхэн тохируулж суулгах талаар мэдэх (). Танилцуулга FreeBSD дээр хэвлэгчдийг ашиглахын тулд та тэдгээрийг LPD түр хадгалах систем буюу ердөө л LPD гэж бас нэрлэгддэг Берклигийн шугаман хэвлэгчийн түр хадгалах системтэй ажиллахаар болгож тохируулж болох юм. Энэ нь FreeBSD дээрх стандарт хэвлэгч хянагч систем юм. Энэ бүлэг нь LPD-г танилцуулж түүний тохиргоог тайлбарлах болно. Хэрэв та LPD юм уу эсвэл бусад хэвлэгчийн түр хадгалах системийг мэддэг бол Үндсэн тохируулга хэсэг уруу шууд орохыг хүсэж болох юм. LPD нь хостын хэвлэгчдийн талаар бүгдийг хянадаг. Энэ нь хэд хэдэн зүйлсийг хариуцдаг: Залгагдсан хэвлэгчид болон сүлжээн дэх өөр хостуудад залгагдсан хэвлэгчдэд хандах хандалтыг хянадаг. хэвлэх ажлууд Файлууд хэвлэхээр өгөх боломжийг хэрэглэгчдэд зөвшөөрдөг; эдгээр өгөлтүүд нь jobs буюу ажлууд гэгддэг. Хэвлэгч болгоны хувьд queue буюу дарааллыг зохицуулж олон хэрэглэгчид нэгэн зэрэг хэвлэгчид хандах хандалтаас сэргийлдэг. Хэрэглэгчид хэвлэсэн тоо томшгүй олон юмнаас өөрсдийн хэвлэсэн ажлуудыг хялбархан олдог байхын тулд энэ нь толгой хуудаснуудыг (бас сурталчилгаа эсвэл тэсрэлт хуудсууд гэгддэг) хэвлэдэг. Цуваа портууд дээр холбогдсон хэвлэгчдийн холбооны параметрүүдэд анхаарлаа хандуулдаг. Өөр хост дээр байгаа LPD түр хадгалагч уруу сүлжээгээр ажлууд илгээж чаддаг. Төрөл бүрийн хэвлэгчийн хэлнүүд эсвэл хэвлэгчийн боломжуудад зориулж хэвлэх ажлуудыг хэлбэршүүлэх тусгай шүүлтүүрүүдийг ажиллуулж чаддаг. Хэвлэгчийн хэрэглээг бүртгэж чаддаг. Тохиргооны файл (/etc/printcap) болон тусгай шүүлтүүр програмууд ашиглан олон төрлийн хэвлэгч тоног төхөөрөмжүүдийн хувьд дээр дурдсануудын заримууд болон бүгдийг хийдэг байхаар LPD системийг та идэвхжүүлж чадна. Яагаад заавал түр хадгалагчийг ашиглах ёстой гэж Та системийнхээ цорын ганц хэрэглэгч бол хандалтын хяналт, толгой хуудаснууд эсвэл хэвлэгчийн бүртгэл танд хэрэгггүй байхад яагаад заавал түр хадгалагчийн талаар санаа зовох ёстой гэж та гайхаж байж болох юм. Хэвлэгч уруу шууд хандалтыг идэвхжүүлэх боломжтой байдаг боловч та түр хадгалагчийг ямар ч байсан ашиглах ёстой, учир нь: LPD нь ажлуудыг ард хэвлэдэг; та өгөгдлийг хэвлэгч уруу хуулагдахыг хүлээх хэрэггүй юм. &tex; LPD нь огноо/цаг бүхий толгой нэмэх эсвэл тусгай файлын хэлбэршилтээс (&tex; DVI файл зэрэг) хэвлэгчийн ойлгох хэлбэршилт уруу хөрвүүлдэг шүүлтүүрүүдээр дамжуулан хэвлэгдэх ажлыг тохиромжтойгоор ажиллуулдаг. Та гараараа эдгээр алхмуудыг хийх шаардлагагүй юм. Хэвлэх боломж бүхий чөлөөтэй, арилжааны олон програмууд нь таны систем дээрх түр хадгалагчтай ярилцахыг ихэвчлэн хүлээж байдаг. Түр хадгалагч системийг тохируулснаар танд байгаа болон таны сүүлд суулгаж болох бусад програм хангамжуудыг илүү амархнаар та дэмжих болно. Үндсэн тохируулга LPD түр хадгалах системтэй хэвлэгчдийг ашиглахын тулд өөрийн хэвлэгчийн тоног төхөөрөмж болон LPD програм хангамжийг тохируулах хэрэгтэй болно. Энэ баримт нь тохиргооны хоёр түвшинг тайлбарладаг: Хэвлэгчийг хэрхэн холбохыг сурахын тулд Хэвлэгчийн хялбар тохиргоо хэсгийг үзэж LPD-д хэрхэн түүнтэй холбоо тогтоохыг хэлж хэвлэгч уруу цэвэр текст файлуудыг хэвлэх. Төрөл бүрийн тусгай файлын хэлбэршилтүүдийг хэрхэн хэвлэх, толгой хуудаснуудыг хэрхэн хэвлэх, сүлжээгээр хэрхэн хэвлэх, хэвлэгчдэд хандах хандалтыг хэрхэн хянах болон хэрхэн хэвлэгчийн бүртгэлийг хийхийг сурахын тулд Хэвлэгчийн илүү нарийн тохиргоо хэсгийг үзэх. Хэвлэгчийн хялбар тохиргоо Энэ хэсэг нь хэвлэгчийг ашиглахын тулд хэвлэгчийн тоног төхөөрөмж болон LPD програм хангамжийг хэрхэн тохируулахыг хэлж өгнө. Энэ нь үндсэн ойлголтуудад сургана: Тоног төхөөрөмжийн тохиргоо хэсэг нь хэвлэгчийг таны компьютер дээрх порт уруу холбох зарим заавруудыг өгдөг. Програм хангамжийн тохиргоо хэсэг нь LPD түр хадгалагчийн тохиргооны файлыг (/etc/printcap) хэрхэн тохируулахыг үзүүлдэг. Хэвлэх өгөгдлийг хүлээн авахдаа компьютерийн локал интерфэйсүүдийг биш сүлжээний протоколыг ашигладаг хэвлэгчийг та тохируулж байгаа бол Сүлжээнд холбогдсон өгөгдлийн урсгалын интерфэйсүүдтэй хэвлэгчид хэсгийг үзнэ үү. Энэ хэсэг нь Хэвлэгчийн хялбар тохиргоо гэгддэг боловч яг үнэндээ нэлээн төвөгтэй юм. Хэвлэгчийг өөрийн компьютер болон LPD түр хадгалагчтай цуг ажиллуулна гэдэг хамгийн хэцүү хэсэг юм. Толгой хуудаснууд болон бүртгэл хийх зэрэг дэвшилтэт тохируулгууд нь хэвлэгчийг ажиллуулсны дараа нэлээн амархан байдаг. Тоног төхөөрөмжийн тохиргоо Энэ хэсэг нь өөрийн PC-тэй хэвлэгч холбох төрөл бүрийн аргуудын талаар хэлдэг. Энэ нь портууд ба кабелиудын талаар болон FreeBSD-г хэвлэгчтэй харилцдаг болгохын тулд танд хэрэг болох цөмийн тохиргооны талаар бас өгүүлнэ. Хэрэв та өөрийн хэвлэгчийг аль хэдийн холбосон бөгөөд өөр үйлдлийн систем дээр түүгээр амжилттай хэвлэсэн бол Програм хангамжийн тохиргоо хэсэг уруу алгасаж болох юм. Портууд ба кабелиуд PC дээр ашиглагдах зориулалттай худалдаалж байгаа хэвлэгчид нь ерөнхийдөө доорх гурван интерфэйсийн аль нэг юм уу эсвэл олон интерфэйстэй ирдэг: хэвлэгчид цуваа Цуваа интерфэйсүүд буюу бас RS-232 эсвэл COM портууд гэгддэг интерфэйсүүд нь өгөгдлийг хэвлэгч уруу илгээхдээ таны компьютер дээрх цуваа портыг ашигладаг. Цуваа интерфэйсүүд нь компьютерийн аж үйлдвэрлэлд түгээмэл байдаг бөгөөд кабелиуд нь бэлэн байж байдгаас гадна хийхэд хялбар байдаг. Цуваа интерфэйсүүд нь заримдаа тусгай кабелиудыг шаарддаг бөгөөд танаас төвөгтэй холбооны сонголтуудыг тохируулахыг шаардаж болох юм. Ихэнх PC-ний цуваа портууд нь хамгийн их дамжуулах хурдны хувьд 115200 bps хурдтай байдаг бөгөөд их том график хэвлэх ажлыг үүгээр хийх нь практикийн хувьд төвөгтэй болгодог. хэвлэгчид зэрэгцээ Зэрэгцээ интерфэйсүүд нь өгөгдлийг хэвлэгч уруу илгээхдээ таны компьютерийн зэрэгцээ портыг ашигладаг. Зэрэгцээ интерфэйсүүд нь PC-ийн зах зээлд нийтлэг байдаг бөгөөд RS-232 цуваагаас илүү хурдан байдаг. Кабелиуд нь байдаг боловч гараар хийхэд илүү төвөгтэй байдаг. Зэрэгцээ интерфэйсүүдэд холбооны сонголтууд ихэвчлэн байдаггүй болохоор тэдгээрийн тохиргоог маш хялбар болгодог. centronics зэрэгцээ хэвлэгчид Зэрэгцээ интерфэйсүүд нь хэвлэгчийн холбогчийн төрлийн нэрээр нэрлэгдсэн Centronics интерфэйсүүд гэж заримдаа хэлэгддэг. хэвлэгчид USB Universal Serial Bus буюу Универсал Цуваа Шугам гэгддэг USB интерфэйсүүд нь зэрэгцээ болон RS-232 цуваа интерфэйсүүдээс бүр илүү хурдаар ажиллаж чаддаг. Кабелиуд нь хялбар бөгөөд хямд байдаг. USB нь RS-232 болон Зэрэгцээ интерфэйсүүдээс хэвлэхийн хувьд илүү хүчирхэг боловч &unix; системүүд дээр тийм ч сайн дэмжигдсэн байдаггүй. Энэ асуудлыг тойрон гарахын тулд олон хэвлэгчид байдаг USB болон Зэрэгцээ интерфэйсүүдтэй тийм хэвлэгч худалдан авах явдал юм. Ерөнхийдөө зэрэгцээ интерфэйсүүд нь зөвхөн нэг талын холбоог (компьютераас хэвлэгч уруу) санал болгодог бол цуваа болон USB нь хоёр талын холбоог өгдөг. Шинэ зэрэгцээ портууд (EPP болон ECP) болон хэвлэгчид нь IEEE-1284 нийцтэй кабель ашиглаж байгаа бол FreeBSD дээр хоёр тал уруу чиглэсэн холбоог хийж чаддаг. PostScript Зэрэгцээ портоор хэвлэгч уруу чиглэсэн хоёр талын холбоог ерөнхийдөө хоёр аргын аль нэгээр хийдэг. Эхний арга нь хэвлэгчийн ашигладаг хувийн хэлээр ярьдаг FreeBSD-ийн өөрчлөн бүтээсэн хэвлэгчийн драйверийг хэрэглэдэг. Энэ нь бэхэн хэвлэгчдэд нийтлэг байдаг бөгөөд бэхний түвшин болон бусад төлвийн мэдээллийг үзүүлэхэд хэрэглэгддэг. Хоёр дахь аргыг хэвлэгч &postscript;-г дэмждэг үед ашигладаг. &postscript; ажлууд нь жинхэнэдээ хэвлэгч уруу илгээсэн програмууд юм; тэдгээр нь цаас бүтээх ерөөсөө шаардлагагүй бөгөөд үр дүнгүүдийг компьютер уруу шууд буцааж болох юм. &postscript; нь &postscript; програм дахь алдаанууд, эсвэл цаас гацсан зэрэг асуудлуудыг компьютерт хэлэхийн тулд хоёр талын холбоог бас ашигладаг. Таны хэрэглэгчид тийм мэдээллийг аваад талархах байх. Бас &postscript; хэвлэгчийн хувьд үр ашигтай бүртгэл хийх хамгийн шилдэг арга нь хоёр талын холбоог шаарддаг: хэвлэгчээс хуудасны тоог (өөрийн амьдралын хугацаандаа нийт хичнээн хуудас хэвлэсэн талаар) та асууж дараа нь хэрэглэгчийн ажлыг илгээж тэгээд дахиад хуудасны тоог асуудаг. Хоёр утгын нэгээс нөгөөг хасаад хэрэглэгчээс хичнээн цаасны төлбөр авахыг та мэдэх болно. Зэрэгцээ портууд Хэвлэгчийг зэрэгцээ интерфэйс ашиглаад залгахын тулд Centronics кабелийг хэвлэгч болон компьютерийн хооронд холбоно. Хэвлэгч, компьютер эсвэл хоёулантай нь цуг ирсэн зааврууд танд бүрэн гүйцэд заавар өгөх ёстой. Компьютер дээрээ аль зэрэгцээ портыг ашигласнаа санах хэрэгтэй. Эхний зэрэгцээ порт нь FreeBSD-д ppc0 байх бөгөөд хоёр дахь ppc1 гэх мэтээр байна. Хэвлэгчийн төхөөрөмжийн нэр мөн адил схемийг ашигладаг: /dev/lpt0 нь эхний зэрэгцээ порт дээрх хэвлэгч гэх мэтээр байна. Цуваа портууд Цуваа интерфэйсүүдийг ашиглан хэвлэгчийг залгахдаа зөв цуваа кабелийг хэвлэгч болон компьютерийн хооронд холбоно. Хэвлэгч, компьютер эсвэл хоёулантай нь цуг ирсэн зааврууд танд бүрэн гүйцэд заавар өгөх ёстой. Хэрэв та зөв цуваа кабель нь юу вэ гэдэгт эргэлзэж байвал та дараах боломжуудаас аль нэгийг туршиж үзэхийг хүсэж болох юм: Модемийн кабель нь кабелийн нэг талд байгаа холбогчийн зүү бүрийг нөгөө талд байгаа холбогчийн харгалзах зүүнд шулуухан холбодог. Энэ төрлийн кабелийг DTE-ээс DCE кабель гэж бас нэрлэдэг. null-модем кабель null-модем кабель нь зарим зүүнүүдийг шууд шулуухнаар, заримуудыг нь хооронд нь солбидог (жишээ нь өгөгдлийг хүлээн авахын тулд өгөгдлийг илгээдэг) бөгөөд заримыг нь дотроо холбогч бүрийн таг дотор богино холбодог. Энэ төрлийн кабелийг DTE-ээс DTE кабель гэж бас нэрлэдэг. Зарим нэг ховор хэвлэгчдэд шаардагддаг цуваа хэвлэгчийн кабель нь null-модем кабельтай адил боловч дотроо богино холбохын оронд зарим дохионуудыг өөрсдийн эсрэг талдаа илгээдэг. baud хурд parity урсгал хянах протокол Та хэвлэгчийн хувьд холбооны параметрүүдийг бас тохируулах хэрэгтэй бөгөөд эдгээрийг хэвлэгч дээрх нүүрэн талын хяналтууд юм уу эсвэл DIP шилжүүлэгчдээр хийдэг. Таны компьютер болон хэвлэгч дэмждэг хамгийн их bps-ийг (bits per second буюу секундэд дамжих битийн тоо, заримдаа baud хурд) сонгох хэрэгтэй. 7 юм уу эсвэл 8 өгөгдлийн бит; байхгүй (none), тэгш (even), эсвэл сондгой (odd) parity; болон 1 эсвэл 2 стоп битийг сонгох хэрэгтэй. Бас урсгал хянах протоколыг сонгох хэрэгтэй: байхгүй (none) юм уу аль эсвэл XON/XOFF (бас in-band эсвэл software гэгддэг) урсгал хяналтыг сонгох хэрэгтэй. Дараах програм хангамжийн тохиргоонд зориулж эдгээр тохируулгуудыг санах хэрэгтэй. Програм хангамжийн тохиргоо Энэ хэсэг нь FreeBSD дээр LPD түр хадгалах системээр хэвлэхэд шаардлагатай програм хангамжийн тохируулгыг тайлбарладаг. Энд шаардлагатай алхмуудыг дурдав: Хэвлэгчийн хувьд ашиглаж байгаа портод зориулж шаардлагатай бол өөрийн цөмийг тохируулна; Таны юу хийх ёстойг Цөмийн тохиргоо хэсэг хэлж өгнө. Хэрэв та зэрэгцээ порт ашиглаж байгаа бол зэрэгцээ портынхоо хувьд холбооны горимыг тохируулах хэрэгтэй; Зэрэгцээ портын хувьд холбооны горимыг тохируулах нь хэсгээс дэлгэрэнгүйг үзээрэй. Үйлдлийн систем өгөгдлийг хэвлэгч уруу илгээж чадаж байгаа эсэхийг тест хийнэ. Үүнийг хэрхэн хийх тухай зарим нэгэн зөвлөгөөнүүдийг Хэвлэгчийн холбоонуудыг шалгах нь хэсэг өгдөг. /etc/printcap файлыг засаж хэвлэгчдээ зориулж тохируулна. Үүнийг хэрхэн хийх талаар сүүлд нь энэ бүлгээс олох болно. Цөмийн тохиргоо Үйлдлийн системийн цөм тусгайлсан хэдэн төхөөрөмжүүдтэй ажиллахаар эмхэтгэгдсэн байдаг. Таны хэвлэгчид зориулагдсан цуваа болон зэрэгцээ интерфэйс нь эдгээрийн нэг хэсэг юм. Тийм болохоор хэрэв таны цөм ингэж тохируулагдаагүй бол нэмэлт цуваа эсвэл зэрэгцээ портын дэмжлэгийг нэмэх хэрэгтэй байж болох юм. Таны ашиглаж байгаа цөм цуваа интерфэйсийг дэмжиж байгаа эсэхийг мэдэхийн тулд доор дурдсаныг бичнэ: &prompt.root; grep sioN /var/run/dmesg.boot Энд байгаа N нь тэгээс эхлэх цуваа портын дугаар юм. Хэрэв та доор дурдсантай төстэй гаралтыг харвал: sio2 at port 0x3e8-0x3ef irq 5 on isa sio2: type 16550A цөм нь портыг дэмждэг гэсэн үг юм. Цөм нь зэрэгцээ интерфэйсийг дэмждэг эсэхийг мэдэхийн тулд доор дурдсаныг бичнэ: &prompt.root; 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 цөм нь портыг дэмждэг гэсэн үг юм. Таны хэвлэгчдээ зориулан ашиглаж байгаа зэрэгцээ эсвэл цуваа портыг үйлдлийн систем таньж хэрэглэдэг байхын тулд та өөрийн цөмийг дахин тохируулах хэрэгтэй болж болох юм. Цуваа портод зориулж дэмжлэг нэмэхийн тулд цөмийн тохиргооны тухай хэсгийг үзнэ үү. Зэрэгцээ портод зориулж дэмжлэг нэмэхийн тулд тэр хэсгийг болон дараагийн хэсгийг үзнэ үү. Зэрэгцээ портын хувьд холбооны горимыг тохируулах нь Зэрэгцээ интерфэйсийг ашиглаж байхдаа FreeBSD нь хэвлэгчийн хувьд тасалдлаар зохицуулагдах юм уу эсвэл байнга шалгах холбооны алийг ашиглахыг та сонгож болно. FreeBSD дээрх ердийн хэвлэгчийн төхөөрөмжийн драйвер (&man.lpt.4;) нь портын бичил схемийг &man.ppc.4; драйвераар хянадаг &man.ppbus.4; системийг ашигладаг. interrupt-driven буюу тасалдлаар зохицуулагдах арга нь GENERIC цөмд анхдагч байдаг. Энэ арганд үйлдлийн систем нь хэвлэгч өгөгдөл хүлээн авахад хэзээ бэлэн байгааг тодорхойлохын тулд IRQ шугамыг ашигладаг. polled буюу байнга шалгах арга нь үйлдлийн системд хэвлэгчээс өгөгдөл хүлээн авахад бэлэн байгаа эсэхийг нь давталттайгаар асуухыг зааж өгдөг. Бэлэн гэж хариулбал цөм илүү өгөгдөл илгээдэг. Тасалдлаар зохицуулагдах арга нь ихэвчлэн хурдан байдаг боловч нандин IRQ шугамыг ихээр ашигладаг. Зарим шинэ HP хэвлэгчид нь зарим (яг тодорхой ойлгогдоогүй) хугацааны асуудлуудаас болоод тасалдлын горимд зөв ажилладаггүй гэгддэг. Эдгээр хэвлэгчдэд байнга шалгах горим хэрэгтэй. Аль ажиллаж байгааг нь л та ашиглах хэрэгтэй. Зарим хэвлэгчид нь аль алин дээр нь ажилладаг боловч тасалдлын горим асар удаан байдаг. Та холбооны горимыг хоёр аргаар тохируулж болно: цөмийг тохируулах замаар эсвэл &man.lptcontrol.8; програм ашиглан хийж болно. Цөмийг тохируулах замаар холбоог тохируулахдаа: Өөрийн цөмийн тохиргооны файлаа засварлана. ppc0 оруулгыг хайна. Хэрэв та хоёр дахь зэрэгцээ портыг тохируулж байгаа бол ppc1-г ашиглаарай. Гурав дахь портын хувьд ppc2 гэх мэтээр ашиглана. Хэрэв та тасалдлаар зохицуулагдах горимыг хүсэж байгаа бол дараах мөрийг: hint.ppc.0.irq="N" /boot/device.hints файлд засварлаж N-ий оронд зөв IRQ дугаарыг солих хэрэгтэй. Цөмийн тохиргооны файл &man.ppc.4; драйверийг бас агуулсан байх ёстой: device ppc Хэрэв та байнга шалгадаг горимыг хүсэж байвал өөрийн /boot/device.hints файлаас дараах мөрийг арилгана: hint.ppc.0.irq="N" Зарим тохиолдолд энэ нь FreeBSD дээр портыг байнга шалгах горимд оруулахад хангалтгүй байдаг. Ихэнхдээ энэ нь &man.acpi.4; драйвераас гардаг бөгөөд энэ нь төхөөрөмжүүдийг шалгаж болон залгаж чаддаг болохоор хэвлэгчийн порт уруу хандах горимыг хянаж чаддаг байна. Энэ асуудлыг засварлахын тулд та өөрийн &man.acpi.4; тохиргоог шалгах хэрэгтэй. Файлыг хадгална. Дараа нь цөмд тохиргоо хийн бүтээж цөмийг суулгаад дахин ачаална. Илүү дэлгэрэнгүйг цөмийн тохиргоо хэсгээс үзнэ үү. Холбооны горимыг &man.lptcontrol.8;-р тохируулахын тулд: Доор дурдсаныг бичиж: &prompt.root; lptcontrol -i -d /dev/lptN lptN-д зориулж тасалдлаар зохицуулагдах горимыг тохируулна. Доор дурдсаныг бичиж: &prompt.root; lptcontrol -p -d /dev/lptN lptN-д зориулж байнга шалгах горимыг тохируулна. Эдгээр тушаалуудыг өөрийн /etc/rc.local файлд нэмж таны системийг ачаалах болгонд горимыг тохируулдаг байхаар хийж болох юм. Илүү мэдээллийг &man.lptcontrol.8;-с үзнэ үү. Хэвлэгчийн холбоог шалгах нь Түр хадгалагч системийг тохируулахаасаа өмнө та үйлдлийн системийг өгөгдлийг амжилттайгаар өөрийн хэвлэгч уруу илгээж чадаж байгаа эсэхийг шалгах хэрэгтэй. Хэвлэгчийн холбоо болон түр хадгалагч системийг тусад нь дибаг хийх нь хамаагүй хялбар байдаг. Хэвлэгчийг тест хийхийн тулд бид ямар нэг текст түүн үрүү илгээнэ. Илгээгдсэн тэмдэгтүүдийг тэр даруй нь хэвлэх хэвлэгчдийн хувьд &man.lptest.1; програм төгс байдаг: энэ нь бүх 96 хэвлэх боломжтой ASCII тэмдэгтүүдийг 96 мөрөнд үүсгэдэг. PostScript &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; кодыг файлд хийгээд доорх хэсгүүдэд гарч байгаа жишээнүүдэд үзүүлсэн шигээр ашиглаж болно. PCL Энэ баримт нь хэвлэгчийн хэл гэдгийг Hewlett Packard-ийн PCL биш харин &postscript;-тэй адил хэлийг хэлж байгаа юм. PCL нь мундаг ажиллагаатай боловч та цэвэр текстийг өөрийнх нь escape (зугтах) дарааллуудтай нь хольж болдог. &postscript; нь цэвэр текстийг шууд хэвлэж чаддаггүй бөгөөд энэ нь тусгай зохицуулалтууд хийж өгөх ёстой тийм хэвлэгчийн хэл юм. Зэрэгцээ хэвлэгчийг шалгах нь хэвлэгчид зэрэгцээ Энэ хэсэг нь зэрэгцээ порт уруу холбогдсон хэвлэгчтэй FreeBSD холбогдож чадах эсэхийг хэрхэн шалгахыг хэлж өгөх болно. Зэрэгцээ порт дээрх хэвлэгчийг тест хийхийн тулд: &man.su.1; ашиглан root болно. Хэвлэгч уруу өгөгдөл илгээнэ. Хэрэв хэвлэгч цэвэр текст хэвлэж чаддаг бол &man.lptest.1;-г ашиглана. Доор дурдсаныг бичнэ: &prompt.root; lptest > /dev/lptN Энд байгаа N нь тэгээс эхлэх зэрэгцээ портын дугаар юм. Хэрэв хэвлэгч &postscript; эсвэл бусад хэвлэгчийн хэлийг ойлгодог бол жижиг програм хэвлэгч уруу илгээх хэрэгтэй. Доор дурдсаныг бичнэ: &prompt.root; cat > /dev/lptN Тэгээд мөр мөрөөр програмыг анхааралтай оруулах хэрэгтэй. Учир нь RETURN эсвэл ENTER дарсны дараа та засварлаж чадахгүй болох юм. Програмаа оруулж дуусаад CONTROL+D юм уу эсвэл файлын төгсгөл товчлуур ямар байна тэрийг дарах хэрэгтэй. Мөн өөрөөр програмыг файлд хийж доор дурдсаныг бичин өгч болно: &prompt.root; cat file > /dev/lptN Энд байгаа file нь таны илгээхийг хүсэж байгаа програмыг агуулсан файлын нэр юм. Та ямар нэгэн зүйл харах ёстой. Текст зөв харагдахгүй байвал санаа зовсны хэрэггүй; бид иймэрхүү зүйлсийг сүүлд нь засах болно. Цуваа хэвлэгчийг шалгах нь хэвлэгчид цуваа Энэ хэсэг нь цуваа порт уруу холбогдсон хэвлэгчтэй FreeBSD холбогдож чадах эсэхийг хэрхэн шалгахыг хэлж өгөх болно. Цуваа порт дээрх хэвлэгчийг тест хийхдээ: &man.su.1; ашиглан root болно. /etc/remote файлыг засварлана. Дараах мөрийг нэмнэ: printer:dv=/dev/port:br#bps-rate:pa=parity bits-per-second цуваа порт parity Энд байгаа port нь цуваа портод (ttyd0, ttyd1, гэх мэт) зориулсан төхөөрөмжийн оруулга, bps-rate нь хэвлэгчийн холбогдох секундэд илгээх битийн хурд, болон parity нь хэвлэгчийн шаарддаг parity юм (even, odd, none, эсвэл zero). Цуваа шугамаар гурав дахь цуваа порт уруу 19200 bps хурдаар parity байхгүйгээр холбогдсон хэвлэгчид зориулсан жишээ оруулга энд байна: printer:dv=/dev/ttyd2:br#19200:pa=none &man.tip.1; ашиглан хэвлэгч уруу холбогдоно. Доор дурдсаныг бичнэ: &prompt.root; tip printer Хэрэв энэ алхам нь ажиллахгүй бол /etc/remote файлыг дахин засварлаж /dev/ttydN-ийн оронд /dev/cuaaN-г ашиглаж үзээрэй. Өгөгдлийг хэвлэгч уруу илгээнэ. Хэрэв хэвлэгч цэвэр текст хэвлэж чаддаг бол &man.lptest.1;-г ашиглана. Доор дурдсаныг бичнэ: &prompt.user; $lptest Хэрэв хэвлэгч &postscript; эсвэл бусад хэвлэгчийн хэлийг ойлгодог бол жижиг програм хэвлэгч уруу илгээх хэрэгтэй. Програмыг мөр мөрөөр маш анхааралтайгаар бичиж оруулах хэрэгтэй. Учир нь арилгах болон бусад засварлах товчлуурууд хэвлэгчийн хувьд чухал байж болох юм. Та програмыг бүгдийг нь хүлээж авсан гэж хэвлэгчид таниулахын тулд тусгай файлын төгсгөл товчлуурыг хэвлэгчид зориулж оруулах хэрэгтэй. &postscript;-ийн хэвлэгчдийн хувьд CONTROL+D дарна. Мөн өөрөөр та програмыг файлд хийж доор дурдсаныг бичин оруулж болно: &prompt.user; >file Энд байгаа file нь програмыг агуулж байгаа файлын нэр юм. &man.tip.1; файлыг илгээсний дараа шаардлагатай файлын төгсгөл товчлуурыг дарах хэрэгтэй. Та ямар нэгэн зүйл хэвлэгдэхийг харах ёстой. Текст зөв харагдахгүй байвал санаа зовсны хэрэггүй; бид иймэрхүү зүйлсийг сүүлд нь засах болно. Түр хадгалагчийг идэвхжүүлэх нь: <filename>/etc/printcap</filename> файл Энэ үед таны хэвлэгч залгагдаж таны цөм түүнтэй холбогдохоор тохируулагдсан (хэрэв шаардлагатай бол) бөгөөд та хэвлэгч уруугаа зарим энгийн өгөгдлийг илгээж чаддаг байна. Одоо бид таны хэвлэгч уруу хандах хандалтыг хянахын тулд LPD-г тохируулахад бэлэн боллоо. Та /etc/printcap файлыг засварлаж LPD-г тохируулна. LPD түр хадгалагч систем нь түр хадгалагч ашиглагдах болгонд энэ файлыг уншдаг учир энэ файл уруу хийгдсэн шинэчлэл шууд нөлөөлөх болно. хэвлэгчид боломжууд &man.printcap.5; файлын хэлбэршилт хялбархан. /etc/printcap файлд засвар хийхдээ өөрийн дуртай текст засварлагчийг ашиглах хэрэгтэй. Хэлбэршилт нь /usr/share/misc/termcap болон /etc/remote зэрэг бусад боломжийн файлуудтай төстэй байдаг. Хэлбэршилтийн тухай бүрэн мэдээллийг &man.cgetent.3;-с үзнэ үү. Энгийн түр хадгалагчийн тохиргоо дараах алхмуудаас тогтоно: Хэвлэгчид зориулж нэр (болон хэдэн тохиромжтой alias-уудыг) сонгож /etc/printcap файлд хийж өгнө; Нэрлэх тухай дэлгэрэнгүй мэдээллийг Хэвлэгчийг нэрлэх нь хэсгээс үзнэ үү. толгой хуудаснууд sh боломжийг оруулан толгой хуудаснуудыг болиулах хэрэгтэй (анхдагчаар идэвхтэй байдаг); Дэлгэрэнгүй мэдээллийг Толгой хуудаснуудыг дарах нь хэсгээс үзнэ үү. Түр хадгалах санг үүсгэж түүний байрлалыг sd боломжоор зааж өгөх хэрэгтэй; Дэлгэрэнгүй мэдээллийг Түр хадгалах санг үүсгэх нь хэсгээс үзнэ үү. Хэвлэгчид зориулж ашиглахаар /dev оруулгыг тохируулж lp боломжоор /etc/printcap файлд түүнийг тэмдэглэх хэрэгтэй; Дэлгэрэнгүй мэдээллийг Хэвлэгчийн төхөөрөмжийг таних нь хэсгээс үзнэ үү. Хэрэв хэвлэгч цуваа порт дээр байгаа бол холбооны параметрүүдийг Түр хадгалагчийн холбооны параметрүүдийг тохируулах нь хэсэгт хэлэлцсэн ms# боломжоор тохируулах хэрэгтэй. Цэвэр текст оруулах шүүлтүүрийг суулгана; Дэлгэрэнгүйг Текст шүүгчийг суулгах нь хэсгээс үзнэ үү. &man.lpr.1; тушаалаар ямар нэг юм хэвлэж тест хийнэ. Илүү дэлгэрэнгүйг Турших нь болон Алдааг олж засварлах хэсгүүдээс үзнэ үү. &postscript; хэвлэгчид зэрэг хэлэн дээр суурилсан хэвлэгчид цэвэр текстийг шууд хэвлэж чаддаггүй. Дээр болон дараагийн хэсгүүдэд тайлбарласан энгийн тохиргоо нь хэрэв та ийм хэвлэгч суулгаж байгаа бол таныг зөвхөн хэвлэгчийн ойлгодог файлыг хэвлэнэ гэж тооцдог. Хэрэглэгчид нь цэвэр текстийг таны системд суулгагдсан дурын хэвлэгч уруу өгч хэвлэж болно гэж ихэвчлэн боддог. LPD уруу залгагдсан програмууд өөрсдийн хэвлэлтийг хийхдээ бас ингэж тооцдог. Хэрэв та тийм хэвлэгч суулгаж хэвлэгчийн хэл дээр ажлуудаа хэвлэх болон цэвэр текст ажлуудыг хэвлэж чаддаг байхыг хүсэж байгаа бол дээр дурдсан энгийн тохиргоонд нэмэлт алхам нэмж өгөх зайлшгүй шаардлагатай: цэвэр текстээс &postscript; уруу автоматаар хөрвүүлэх програмыг суулгах хэрэгтэй. Цэвэр текст ажлуудыг &postscript; хэвлэгчид дээр тааруулах нь гэж нэрлэгдсэн хэсэг үүнийг хэрхэн хийхийг хэлж өгнө. Хэвлэгчийг нэрлэх нь Эхний (хялбар) алхам бол өөрийн хэвлэгчид зориулж нэр сонгох явдал юм. Ажиллагаатай нь холбогдуулж юм уу эсвэл этгээд чамин нэр сонгох нь яг үнэндээ хамаагүй юм. Учир нь та хэвлэгчид зориулж бас хэд хэдэн 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-уудтай байна. Толгой хуудаснуудыг дарах нь хэвлэлт толгой хуудаснууд 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: Бидний зөв хэлбэршилт хэрхэн хэрэглэснийг хараарай: эхний мөр нь хамгийн зүүн талын баганаас эхэлж дараа дараачийн мөрүүд нь хойш зай авагдсан байна. Оруулга дахь сүүлийн мөрөөс бусад мөр бүр урагш налуу тэмдэгтээр төгссөн байна. Түр хадгалах санг үүсгэх нь хэвлэгчийн түр хадгалалт хэвлэх ажлууд Түр хадгалагчийн энгийн тохиргоон дахь дараагийн алхам нь хэвлэгдэх ажлууд хэвлэгдэх хүртлээ байдаг, түр хадгалагчийн бусад дэмжлэгийн файлууд бас байдаг түр хадгалах санг үүсгэх явдал юм. Түр хадгалах сангийн хувьсамтгайгаас болоод эдгээр сангуудыг /var/spool-д хийх нь зуршил болсон зүйл юм. Түр хадгалах сангуудын агуулгыг заавал нөөцлөх ч бас шаардлагагүй юм. Тэдгээрийг үүсгэх нь &man.mkdir.1; тушаалыг ажиллуулахтай адил хялбар юм. Доор үзүүлсэн шиг хэвлэгчийн нэртэй адил нэрээр санг үүсгэх нь бас зуршил болсон байдаг: &prompt.root; mkdir /var/spool/хэвлэгчийн-нэр Гэхдээ та сүлжээндээ их олон хэвлэгчидтэй бол түр хадгалах сангуудаа зөвхөн LPD-ээр хэвлэхийн тулд нөөцөлсөн нэг сангийн доор хийхийг хүсэж болох юм. Бид rattan болон bamboo гэсэн хоёр жишээ хэвлэгчдээ зориулж үүнийг хийх болно: &prompt.root; mkdir /var/spool/lpd &prompt.root; mkdir /var/spool/lpd/rattan &prompt.root; mkdir /var/spool/lpd/bamboo Хэрэглэгчдийн хэвлэх ажлын нууцлалын талаар та бодож байгаа бол түр хадгалах санд олон нийт хандах боломжгүй болгож түүнийг хамгаалахыг хүсэж болох юм. Түр хадгалах сангуудыг хэрэглэгчийн дэмон болон бүлгийн дэмон эзэмшиж, өөр хэнээр ч биш зөвхөн эдгээр дэмонуудаар уншигдах, бичигдэх, болон хайлт хийх боломжтой байх ёстой. Бид үүнийг өөрсдийн жишээ хэвлэгчдэд зориулж хийх болно: &prompt.root; chown daemon:daemon /var/spool/lpd/rattan &prompt.root; chown daemon:daemon /var/spool/lpd/bamboo &prompt.root; chmod 770 /var/spool/lpd/rattan &prompt.root; 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-г ашиглах болно. Хэвлэгч төхөөрөмжийг таних нь Портын хэсэгт зориулагдсан оруулгуудад бид /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/ttyd5: Хэрэв та өөрийн /etc/printcap файл дээрээ хэвлэгчдээ зориулж lp боломжийг зааж өгөхгүй бол LPD нь анхдагчаар /dev/lp-г ашиглах болно. /dev/lp нь одоогоор FreeBSD дээр байхгүй байгаа. Хэрэв таны суулгаж байгаа хэвлэгч зэрэгцээ порт уруу холбогдсон бол Текст шүүгчийг суулгах нь хэсэг уруу алгасаарай. Үгүй бол дараагийн хэсэг дэх заавруудыг дагахаа битгий мартаарай. Түр хадгалагчийн холбооны параметрүүдийг тохируулах нь хэвлэгчид цуваа Зэрэгцээ портууд дээрх хэвлэгчдийн хувьд 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 Төхөөрөмжийг онгойлгосны дараа терминал төхөөрөмжид зориулж сонголтуудыг тохируулна. &man.stty.1; нь байж болох сонголтуудыг тайлбарладаг. lp боломжоор заагдсан төхөөрөмжийг LPD онгойлгох үед энэ нь төхөөрөмжийн үзүүлэлтүүдийг ms# боломжоор заагдсанаар тохируулдаг. Тухайлбал, &man.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/ttyd5:ms#-parenb cs8 clocal crtscts: Текст шүүгчийг суулгах нь хэвлэлт шүүгчид Одоо бид хэвлэгч уруу ажлууд илгээхийн тулд ямар текстийн шүүгчийг ашиглахыг 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 Файлыг ажиллах боломжтой болгоно: &prompt.root; 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/ttyd5:ms#-parenb cs8 clocal crtscts:\ :if=/usr/local/libexec/if-simple: if-simple скриптийн хуулбарыг /usr/share/examples/printing сангаас олж болно. <application>LPD</application>-г идэвхжүүлэх &man.lpd.8; нь lpd_enable хувьсагчаар хянагддаг /etc/rc-с ажилладаг. Энэ хувьсагчийн анхдагч утга нь NO байдаг. Тэгж хийгээгүй байгаа бол та: lpd_enable="YES" мөрийг /etc/rc.conf файлд нэмж өөрийн машиныг дахин ачаалах юм уу эсвэл ердөө л &man.lpd.8;-г ажиллуулах хэрэгтэй. &prompt.root; lpd Турших нь Та энгийн LPD тохиргооны төгсгөлд хүрлээ. Харамсалтай нь баяр хүргэх арай л болоогүй байна. Учир нь бид тохиргоог тест хийж асуудал байвал засварлах хэрэгтэй хэвээр байгаа билээ. Тохиргоог тест хийхийн тулд ямар нэгэн юм хэвлэхийг оролдож үзээрэй. LPD системээр хэвлэхийн тулд ажлыг хэвлэхээр илгээдэг &man.lpr.1; тушаалыг ашиглана. Та &man.lpr.1;-г Хэвлэгчийн холбоог шалгах нь хэсэгт танилцуулсан &man.lptest.1; програмтай цуг хамтатган ямар нэг тест текст үүсгэхийн тулд ашиглаж болно. Энгийн LPD тохиргоог тест хийхийн тулд: Доор дурдсаныг бичнэ: &prompt.root; lptest 20 5 | lpr -Pprinter-name Энд байгаа printer-name нь /etc/printcap файлд заагдсан хэвлэгчийн нэр (эсвэл alias) юм. Анхдагч хэвлэгчийг тест хийхийн тулд &man.lpr.1;-г ямар нэгэн нэмэлт өгөгдөлгүйгээр бичих хэрэгтэй. Дахин хэлэхэд &postscript;-г хүлээж байдаг хэвлэгчийг тест хийж байгаа бол &man.lptest.1;-г ашиглахын оронд &postscript; програмыг тэр хэл дээр нь илгээх хэрэгтэй. Ингэхийн тулд та програмыг файлд хийж lpr file гэж бичиж болно. &postscript; хэвлэгчийн хувьд та програмын үр дүнг авах ёстой. Хэрэв та &man.lptest.1;-г ашиглаж байгаа бол таны авсан үр дүн иймэрхүү харагдах ёстой: !"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456 $%&'()*+,-./01234567 %&'()*+,-./012345678 Хэвлэгчийг цааш тест хийхийн тулд илүү том програмуудыг (хэлэн дээр суурилсан хэвлэгчдийн хувьд) татаж авах юм уу эсвэл &man.lptest.1;-г өөр нэмэлт өгөгдлүүдтэй ажиллуулж үзээрэй. Жишээ нь lptest 80 60 тушаал нь мөр бүртээ 80 тэмдэгттэй 60 мөрийг үүсгэх болно. Хэрэв хэвлэгч ажиллаагүй бол Алдааг олж засварлах хэсгийг үзнэ үү. Хэвлэгчийн илүү нарийн тохиргоо Энэ хэсэгт онцгой загварчлагдсан файлыг шүүгчид, хуудасны толгой хэсэг, сүлжээгээр хэвлэх мөн хэвлэгчийг хэрэглэх эрх болон хязгаарлалт гэсэн зүйлүүдийн тухай зааварлах болно. Шүүлтүүрүүд хэвлэх шүүлтүүр Хэдийгээр 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 сангаас олж болно. Шүүлтүүр хэрхэн ажилладаг вэ Өмнө дурдсанаар шүүлтүүр нь хэвлэгчтэй холбогдох төхөөрөмжөөс чөлөөтэй хэсгийг зохицуулах LPD-ээр эхлүүлэгдэн ажилладаг програм юм. Ажил дахь файлыг LPD хэвлэхийг хүсэхдээ шүүлтүүр програмыг эхлүүлдэг. Энэ нь шүүлтүүрийн стандарт оролтыг хэвлэх файл уруу, өөрийн стандарт гаралтыг хэвлэгч уруу, өөрийн стандарт алдааг алдаа бүртгэх файл (/etc/printcap файл дахь lf боломжид эсвэл анхдагчаар /dev/console) уруу тохируулдаг. troff LPD аль шүүлтүүрийг эхлүүлэх болон /etc/printcap файлд юу байгаа болон &man.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 энд байгаа нь ажил 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 эдгээр нь текст шүүлтүүрийн болон нэмэлт өгөгдлүүдтэй адил юм. Шүүлтүүрүүд нь бас дараах гарах төлөвтэйгөөр гарах ёстой: exit 0 Шүүлтүүр файлыг амжилттай хэвлэсэн тохиолдолд. exit 1 Шүүлтүүр файлыг хэвлэж чадаагүй боловч LPD-гээр файлыг дахин хэвлүүлэхээр оролдохыг хүссэн. LPD нь шүүлтүүр энэ төлөвтэй гарсан бол түүнийг дахин эхлүүлэх болно. exit 2 Шүүлтүүр файлыг хэвлэж чадаагүй бөгөөд LPD-гээр файлыг дахин хэвлүүлэхийг хүсээгүй. LPD-нь файлыг гаргаж хаях болно. FreeBSD хувилбартай цуг ирдэг текст шүүлтүүр /usr/libexec/lpr/lpf нь хуудасны өргөн болон уртын нэмэлт өгөгдлүүдийг ашиглан хэзээ form feed илгээх болон хэвлэгчийн хэрэглээг хэрхэн бүртгэхийг тодорхойлдог. Энэ нь бүртгэлийн оруулгуудыг бичихийн тулд нэвтрэлт, хост болон файлын нэмэлт өгөгдлүүдийн бүртгэл хийлтийг ашигладаг. Хэрэв та шүүлтүүр худалдаж авахыг хүсэж байгаа бол тэдгээр нь LPD-тэй нийцтэй эсэхийг нь үзээрэй. Хэрэв тийм бол тэдгээр нь дээр тайлбарласан нэмэлт өгөгдлийн жагсаалтуудыг дэмжих ёстой. Та ердийн хэрэглээнд зориулж шүүлтүүрүүд бичих төлөвлөгөөтэй байгаа бол дээрх нэмэлт өгөгдлийн жагсаалт болон гарах кодуудыг дэмждэгээр тэдгээрийг хийгээрэй. &postscript; хэвлэгчид дээр цэвэр текст ажлуудыг тааруулах нь хэвлэх ажлууд Та өөрийн компьютер болон &postscript; (эсвэл бусад хэлэн дээр суурилсан) хэвлэгчийнхээ зөвхөн цорын ганц хэрэглэгч бөгөөд өөрийн хэвлэгч уруугаа цэвэр текстийг хэзээ ч илгээхгүй, таны хэвлэгч уруу цэвэр текстийг илгээхийг хүсдэг төрөл бүрийн програмуудын боломжуудыг хэзээ ч ашиглахгүй гэж амлах юм бол та энэ хэсгийн талаар санаа ерөөсөө зовох хэрэггүй юм. Гэхдээ та &postscript; болон цэвэр текст ажлуудыг хэвлэгч уруу илгээхийг хүсэж байгаа бол өөрийн хэвлэгчийн тохиргоог нэн даруй нэмэх хэрэгтэй юм. Ингэхийн тулд ирж байгаа ажил цэвэр текст үү эсвэл &postscript; үү гэдгийг илрүүлэх текст шүүлтүүртэй байна. Бүх &postscript; ажлууд %!-аар (бусад хэвлэгчийн хэлнүүдийн хувьд өөрийн хэвлэгчийн баримтыг үзнэ үү) эхлэх ёстой. Хэрэв тэдгээр нь ажил дахь эхний хоёр тэмдэгт байгаа бол бид &postscript;-ийг ашиглаж ажлын үлдсэн хэсгийг шууд дамжуулж болно. Хэрэв тэдгээр нь файл дахь эхний хоёр тэмдэгт биш бол шүүлтүүр текстийг &postscript; уруу хувиргаж үр дүнг хэвлэх болно. Үүнийг бид хэрхэн хийх вэ? хэвлэгчид цуваа Хэрэв танд цуваа хэвлэгч байгаа бол үүнийг хийх агуу арга нь lprps-г суулгах явдал юм. lprps нь хэвлэгчтэй хоёр талын холбоог хийдэг &postscript; хэвлэгчийн шүүлтүүр юм. Энэ нь хэвлэгчийн төлвийн файлыг хэвлэгчийн дэлгэрэнгүй мэдээллээр шинэчилдэг. Ингэснээр хэрэглэгчид болон администраторууд хэвлэгчийн төлөвийг яг ямар байгааг (toner low эсвэл paper jam гэх зэрэг) харах боломжтой болох юм. Гэхдээ илүү чухал зүйл бол энэ нь ирж байгаа ажлыг цэвэр текст эсэхийг илрүүлж &postscript; уруу хөрвүүлэх textps (lprps-тэй цуг ирдэг өөр програм) тушаалыг дууддаг psif гэгддэг програмыг агуулдаг явдал юм. Дараа нь хэвлэгч уруу ажлыг илгээхийн тулд lprps тушаалыг энэ нь ашигладаг. lprps нь FreeBSD-ийн портын цуглуулгад байдаг (Портын цуглуулга бүлгийг үзнэ үү). - Мэдээж та өөрөө татаж аван бүтээж суулгаж болно. lprps-г - суулгасны дараа lprps-ийн хэсэг болох psif + Ашиглах цаасны хэмжээний дагуу 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 гэгддэг програмыг агуулдаг бөгөөд та магадгүй үүнийг судлахыг хүсэж болох юм. &postscript; биш хэвлэгчид дээр &postscript; дүр үзүүлэх PostScript эмуляц хийх Ghostscript &postscript; нь өндөр чанарын маяг тохируулалт болон хэвлэлтэд зориулагдсан албан ёсны стандарт юм. &postscript; нь гэхдээ үнэтэй стандарт юм. Aladdin Enterprises-ийн ачаар харин чөлөөтэй &postscript;-тэй төстэй, FreeBSD дээр ажилладаг Ghostscript гэгддэг - програм байдаг. Ghostscript нь ихэнх &postscript; файлуудыг уншиж чаддаг бөгөөд - тэдгээрийн хуудаснуудыг PostScript биш хэвлэгчдийн олон загваруудыг оролцуулаад - төрөл бүрийн төхөөрөмжүүд рүү амилуулж чаддаг. Ghostscript-г суулгаж + програм байдаг. Ghostscript нь ихэнх &postscript; файлуудыг уншиж чаддаг бөгөөд + тэдгээрийн хуудаснуудыг &postscript; биш хэвлэгчдийн олон загваруудыг оролцуулаад + төрөл бүрийн төхөөрөмжүүд рүү амилуулж чаддаг. Ghostscript-г суулгаж өөрийн хэвлэгчийн хувьд тусгай текстийн шүүлтүүрийг ашиглан та өөрийн &postscript; биш хэвлэгчийг жинхэнэ &postscript; хэвлэгч шигээр ажиллуулах боломжтой байдаг. - Ghostscript нь FreeBSD-ийн портын цуглуулгад байдаг учир хэрэв та үүнийг - суулгахыг хүсвэл тэндээс суулгаж болно. Та өөрөө үүнийг хялбархнаар татан авч, бүтээн - суулгаж бас болох юм. + Ghostscript нь FreeBSD-ийн портын цуглуулгад байдаг. + Олон хувилбар байдаг бөгөөд хамгийн ихээр ашиглагддаг хувилбар нь + print/ghostscript-gpl юм. &postscript; шиг дүр үзүүлэхийн тулд &postscript; файл хэвлэж байна уу гэдгийг илрүүлэх текст шүүлтүүр бидэнд байна. Хэрэв энэ нь тийм биш бол шүүлтүүр нь файлыг хэвлэгч уруу шууд дамжуулна; үгүй бол энэ нь файлыг хэвлэгчийн ойлгодог - хэлбэр уруу эхлээд хувиргах Ghostscript-г ашиглах болно. + хэлбэр уруу эхлээд хувиргах Ghostscript-г ашиглах болно. Энд жишээ байна: дараах скрипт нь Hewlett Packard DeskJet 500 хэвлэгчдэд зориулсан текст шүүлтүүр юм. Бусад хэвлэгчдийн хувьд - нэмэлт өгөгдлийг сольж gs (Ghostscript) - тушаал уруу өгөх хэрэгтэй. (Ghostscript-ийн тухайн үеийн суулгацын дэмждэг төхөөрөмжүүдийн + нэмэлт өгөгдлийг сольж 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 гэж бичиж болох бөгөөд хоюулаа амжилттайгаар хэвлэгдэх болно. Хувиргах шүүлтүүрүүд Хэвлэгчийн энгийн тохиргоо хэсэгт тайлбарласан энгийн тохиргоог дуусгасны дараа магадгүй таны хамгийн эхэнд хийхийг хүссэн зүйл чинь өөрийн дуртай файлын хэлбэршилтүүдэд (цэвэр ASCII текстээс гадна) зориулж хувиргах шүүлтүүрүүдийг суулгах явдал байж болох юм. Хувиргах шүүлтүүрүүдийг яагаад суулгах ёстой вэ? &tex; DVI файлуудыг хэвлэх Хувиргах шүүлтүүрүүд нь төрөл бүрийн файлуудыг хэвлэхэд амар болгодог. Жишээ нь бид &tex; хэв маяг тохируулах системтэй их ажилладаг бөгөөд бидэнд &postscript; хэвлэгч байна гэж бодъё. &tex;-ээс DVI файлыг үүсгэх болгонд бид DVI файлыг &postscript; уруу хувиргалгүйгээр шууд хэвлэж чадахгүй. Тушаалын дараалал иймэрхүү хийгдэнэ: &prompt.user; dvips seaweed-analysis.dvi &prompt.user; lpr seaweed-analysis.ps DVI файлуудад зориулсан хувиргах шүүлтүүрийг суулгаж LPD-ээр өөрсөддөө зориулан хийлгэж бид гараар хувиргах алхмыг алгасаж болно. Одоо, DVI файлыг авах болгонд бидэнд хэвлэхэд нэг алхам дутуу байх болно: &prompt.user; lpr -d seaweed-analysis.dvi Бидэнд зориулж DVI файлын хувиргалтыг хийх LPD програмд тохируулгыг зааж өгнө. Хэлбэршүүлэх болон хувиргах тохируулгууд хэсэг хувиргах тохируулгуудыг жагсаасан байгаа. Таны хүсэх хэвлэгчийн дэмжих хувиргах тохируулга бүрт зориулж хувиргах шүүлтүүр суулгаж түүний замыг /etc/printcap файлд зааж өгнө. Хувиргах шүүлтүүр нь энгийн хэвлэгчийн тохиргоон дахь (Текст шүүлтүүрийг суулгах нь хэсгийг үзнэ үү) текст шүүлтүүртэй төстэй. Ялгаа нь цэвэр текст хэвлэхийн оронд энэ шүүлтүүр нь файлыг хэвлэгчийн ойлгодог хэлбэршилт уруу хувиргадаг. Аль хувиргах шүүлтүүрүүдийг би суулгах ёстой вэ? Та ашиглах хувиргах шүүлтүүрүүдээ суулгах ёстой. Хэрэв та маш их DVI өгөгдлийг хэвлэх бол DVI хувиргах шүүлтүүр хэрэглэгдэнэ. Хэрэв танд маш их troff хэвлэх хэрэгтэй бол та troff шүүлтүүрийг суулгахыг хүсэх байх. Дараах хүснэгтэд LPD-ийн ажилладаг шүүлтүүрүүд, тэдгээрийн /etc/printcap файл дахь боломжийн оруулгууд болон тэдгээрийг lpr тушаалаар хэрхэн дуудах талаар дурдсан болой: Файлын төрөл /etc/printcap боломж lpr тохируулга cifplot cf DVI df plot gf ditroff nf FORTRAN текст rf troff tf raster vf цэвэр текст if none, , or Бидний жишээн дээрх lpr -d тушаалыг ашиглах нь хэвлэгчийн хувьд /etc/printcap файл дахь түүний оруулгад df боломж хэрэгтэй гэсэн үг юм. FORTRAN Бусад хүмүүс магадгүй маргаж болох юм. Гэхдээ FORTRAN текст болон plot зэрэг хэлбэршилтүүд нь магадгүй хуучирсан хэлбэршилтүүд юм. Та өөрийн талдаа эдгээр шинэ ойлголтууд юм уу эсвэл ердөө л өөрчлөн тохируулсан шүүлтүүрүүдийг суулгаж аль нэг хэлбэршилтийн сонголтуудыг өгч болох юм. Жишээ нь та Printerleaf файлуудыг (Interleaf ширээний хэвлэх програмаас гарах файлууд) шууд хэвлэхийг хүсчээ. Гэхдээ plot файлуудыг хэзээ ч хэвлэхгүй гэж бодъё. Тэгвэл та gf боломжийн доор Printerleaf хувиргах шүүлтүүрийг суулгаж lpr -g тушаал нь Printerleaf файлуудыг хэвлэх гэсэн үг болохыг өөрийн хэрэглэгчиддээ сургах хэрэгтэй болох юм. Хувиргах шүүлтүүрүүдийг суулгах нь Хувиргах шүүлтүүрүүд нь үндсэн 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/ttyd5: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-г шүүлтүүрийн горимд ( нэмэлт өгөгдөл) хэвлэх ажил болох стандарт оролт дээр ажиллуулдаг. Дараа нь &postscript; хэвлэгчийн шүүлтүүр lprps-г (&postscript; хэвлэгчид дээр текст ажлуудыг тааруулах нь хэсгийг үзнэ үү) LPD-ийн энэ скрипт уруу дамжуулсан нэмэлт өгөгдлүүдтэй цуг эхлүүлнэ. lprps тушаал нь хэвлэсэн хуудаснуудыг бүртгэхийн тулд тэдгээр нэмэлт өгөгдлүүдийг ашиглах болно. Хувиргах шүүлтүүрийн зарим жишээнүүд Хувиргах шүүлтүүрүүдийг суулгах тогтмол алхмууд байдаггүй болохоор - зарим жишээнүүдийг энд дурдъя. Эдгээрийг өөрийн шүүлтүүрийг + энэ хэсэгт зарим нэг ажилладаг жишээнүүдийг энд дурдъя. Эдгээрийг өөрийн шүүлтүүрийг хийхдээ заавар болгон ашиглаарай. Тохирохоор бол шууд ашиглах хэрэгтэй. Энэ жишээ скрипт нь 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 Портын цуглуулга) нэг байдаг: 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 Автомат хувиргалт: Хувиргагч шүүлтүүртэй ижилхэн шүүлтүүрүүд Эдгээр бүх хувиргагч шүүлтүүрүүд нь таны хэвлэх орчинд тань маш олон ажлыг гүйцэтгэж өгдөг ч хэрэглэгчдийг тэднээс аль нэгийг нь хэрэглэхийг шаарддаг (&man.lpr.1;-н тушаалын мөрөн дээр). Хэрэв таны хэрэглэгчид компьютер дээр сайн гаршаагүй хүмүүс бол иймэрхүү шүүлтүүрийн сонголтууд тэд нарыг залхаах болно. Бүр муудаж болох нөхцөл юу гэвэл буруу сонгосон шүүлтүүрийг буруу файлд хэрэглэснээр хэвлэгчээр олон зуун хуудас үр дүнгүй хэвлэгдэх явдал юм. Анхнаасаа хувиргагч шүүлтүүрүүдийг суулгахаасаа өмнө эхлээд та энгийн текст шүүлтүүрийг суулгаад (анхдагч шүүлтүүр ) хэвлэгдэх файлын төрлийг нь таниад хэрэгтэй шүүлтүүрийг хэрэглэх нь зүйтэй. file гэх мэтийн хэрэгслүүд иймэрхүү зүйлд ашиглагдаж болох юм. Мэдээж зарим файлын төрлийг хооронд нь ялгахад бэрх боловч мэдээж тэдэнд зориулж та шүүлтүүр үүсгэж болно. apsfilter хэвлэх шүүлтүүр apsfilter FreeBSD-н портын цуглуулга дотор apsfilter нэртэй автомат хувиргалт хийдэг текст шүүлтүүр бий. Энэ шүүлтүүр нь энгийн текст, &postscript;, мөн DVI файлуудыг таньж тэдэнд тохирсон шүүлтүүрийг нь автоматаар ажиллуулдаг. Гаралтын шүүлтүүрүүд 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-аар тохируулж бас болно. <command>lpf</command>: Текст шүүлтүүр FreeBSD хоёртын түгээлттэй цуг ирдэг /usr/libexec/lpr/lpf програм нь гаралтад (lpr -i тушаалаар илгээгдсэн ажил) догол гаргах, үсгэн тэмдэгтүүдийг дамжуулахыг зөвшөөрөх (lpr -l тушаалаар илгээгдсэн ажил), ажил дахь устгах тэмдэгтүүд болон tab-уудад зориулж хэвлэх байрлалыг тааруулах болон хэвлэсэн хуудаснуудыг бүртгэж чаддаг текст шүүлтүүр (оролтын шүүлтүүр) юм. Энэ нь бас гаралтын шүүлтүүр шиг ажиллаж чаддаг. lpf нь олон хэвлэх орчнуудад тохирдог. Хэдийгээр энэ нь хэвлэгч уруу эхлүүлэх дарааллуудыг илгээх боломжгүй боловч хэрэгтэй эхлүүлэлтийг хийж lpf-г ажиллуулах бүрхүүлийн скрипт бичихийг хялбар болгодог. хуудас бүртгэл бүртгэл хэвлэгч Хуудсын бүртгэлийг lpf-ээр зөв хийлгэхийн тулд /etc/printcap файл дахь pw болон pl боломжуудад зөв утгуудыг оруулах хэрэгтэй. Хуудсанд хичнээн текст багтах болон хэрэглэгчийн ажилд хичнээн хуудас байгааг тодорхойлохын тулд энэ нь эдгээр утгуудыг ашигладаг. Хэвлэгчийн бүртгэлийн тухай дэлгэрэнгүй мэдээллийг Хэвлэгчийн хэрэглээг бүртгэх нь хэсгээс үзнэ үү. Толгой хуудаснууд Хэрэв та маш их хэрэглэгчтэй бөгөөд бүгд төрөл бүрийн хэвлэгч ашиглаж байгаа бол та магадгүй толгой хуудаснуудыг ашиглахыг хүсэж болох юм. сурталчилгаа хуудаснууд толгой хуудаснууд толгой хуудаснууд Толгой хуудаснууд, бас сурталчилгаа эсвэл тэсрэх хуудаснууд гэгддэг хуудаснууд нь хуудсууд хэвлэгдсэний дараа ажлууд нь хэнд хамаарахыг тодорхойлдог. Тэдгээр нь ихэвчлэн том, тод үсгээр, магадгүй чимсэн хүрээнүүдтэйгээр хэвлэгддэг. Ингэснээр хэвлэсэн олон хуудаснууд дотроос хэрэглэгчдийн ажлуудыг багтаасан жинхэнэ баримт болон ялгардаг. Энэ нь хэрэглэгчдэд өөрсдийн ажлуудыг хурдан олох боломжийг олгодог. Толгой хуудасны илэрхий сул тал нь ажил болгоны хувьд илүү хуудас хэвлэгддэг явдал бөгөөд тэдний түр зуурын ашиг хэдхэн минут үргэлжилж тун удалгүй тэдгээрийг хогийн сав эсвэл хогийн овоон дотор орохыг харж болох юм. (Толгой хуудаснууд нь файл болгонтой биш, ажил болгонтой цуг явдгийг санаарай. Тэгэхээр цаас дэмий үрэх нь тийм ч их муу биш байж болох юм.) Хэрэв таны хэвлэгч цэвэр текстийг шууд хэвлэж чаддаг бол LPD систем нь таны хэвлэсэн зүйлүүдэд толгой хуудаснуудыг автоматаар өгч чаддаг. Хэрэв танд &postscript; хэвлэгч байгаа бол толгой хуудсыг үүсгэхийн тулд танд гадаад програм хэрэгтэй болох юм; &postscript; хэвлэгчид дээрх толгой хуудаснууд хэсгийг үзнэ үү. Толгой хуудаснуудыг идэвхжүүлэх нь Хэвлэгчийн энгийн тохиргоо хэсэгт бид /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 тушаалаар илгээж болно; &man.lpr.1;-ийн тохируулгуудын талаар дэлгэрэнгүйг Толгой хуудасны тохируулгууд хэсгээс үзнэ үү. LPD нь толгой хуудасны дараа form feed тэмдэгт хэвлэдэг. Хэрэв таны хэвлэгч хуудсаа гаргахын тулд өөр тэмдэгт юм уу эсвэл өөр тэмдэгтүүдийн дараалал ашигладаг бол тэдгээрийг /etc/printcap файлд ff боломжоор зааж өгөх хэрэгтэй. Толгой хуудаснуудыг хянах нь Толгой хуудаснуудыг идэвхжүүлснээр 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 буюу толгой сүүлд) зааж өгөх хэрэгтэй. Толгой хуудаснуудыг бүртгэх нь LPD-н өөрт нь суугдсан толгой хуудаснууд нь хэвлэлтэд бүртгэл тооцоо хийх шаардлагатай үед үнэгүй байх зарчмыг шаарддаг. Яагаад? Учир нь гаралтын шүүлтүүр бол толгой хуудас хэвлэгдэх үед ажилладаг тусдаа биеэ даасан гадаад програм бөгөөд бүртгэл хийж болох юм шиг боловч хэрэглэгч юм уу компьютерийн тухай ямар ч бүртгэлийн мэдээллээр хангагддаггүй учир хэн дээр ямар тооцоо бүртгэл хийхээ мэдэж чаддаггүй. Зөвхөн нэг хуудас текст шүүлтүүр рүү нэмснээр юм уу эсвэл хувиргах ямар нэгэн шүүлтүүрийг (хэрэглэгч юм уу компьютерийн мэдээлэлтэй) хэрэглэгч lpr -h гэсэн тушаалаар дарж болдог. Дарагдсан ч гэсэн тэдгээр толгой хуудаснууд бүртгэл тооцоо хийж байдаг. Үндсэндээ орчны хувьсагчдад дассан хэрэглэгчдэд lpr -h тушаал илүү аятайхан байж болох боловч шаардлагатай гэсэн үг биш билээ. Шүүлтүүр бүр өөрсдийн гэсэн толгой хуудас үүсгэх нь тийм хангалттай шийдэл бас биш (хэдийгээр тус бүрдээ төлбөр тооцоо хийж чадах байсан ч ). Хэрэв хэрэглэгч lpr -h тушаалаар толгой хуудсыг дарсан ч LPD нь шүүлтүүрүүд рүү гэсэн сонголтын талаар ямар ч мэдээлэл явуулдаггүй болохоор төлбөр тооцоо хийгдсээр байх болно. Тэгэхээр танд ямар сонголтууд байна вэ? Та дараах зүйлсийг хийх боломжтой: LPD-н зарчмыг хүлээн зөвшөөрч толгой хуудсанд төлбөр тооцохгүй болох. LPRng гэх мэтийн LPD-н ижил төрлийн түр хадгалагчдыг хэрэглэх. Түр хадгалагчидтай ижил төрлийн хадгалагчид хэсэгт LPD-г орлуулж болох түр хадгалагчдын талаар өгүүлсэн буй. Гайгүй сэргэлэн гаралтын шүүлтүүр бичих. Гаралтын шүүлтүүр гэдэг нь ердийн үед бол хэвлэгчийг тохируулах юм уу эсвэл энгийн тэмдэгт хувиргуур хийдэг програм юм. Ийм шүүлтүүр нь толгой хуудас болон энгийн текст зэрэгт тун таардаг ( хэрэв тэнд ямар ч текст (оролтын) шүүлтүүр байхгүй бол). Гэхдээ хэрэв тэнд энгийн текст хэвлэх текст шүүлтүүр байгаа бол LPD нь гаралтын шүүлтүүрийг зөвхөн толгой хуудсанд ажиллуулдаг. Тэгээд гаралтын шүүлтүүр нь толгой хуудаснаас LPD-н үүсгэсэн хэрэглэгч болон компьютерт тооцсон тооцоог салгаж авч чаддаг. Энэ арганд буй нэг хүндрэл бол гаралтын шүүлтүүр нь ямар бүртгэлийн файл хэрэглэхээ мэдэхгүйд байгаа юм (энэ файл нь af тохиргоогоор дамжигддаггүй). Гэвч хэрэв танд бэлэн бүртгэл файл байгаа бол тэдгээрийг гаралтын шүүлтүүр дотор бичиж өгч болно. Тооцоог салгаж авах хэсэгт нэмэр болгохын тулд sh (short header буюу богино толгой) тохиргоог /etc/printcap файл дотор оруулах нь зүйтэй. Тэгээд ч энэ бүхэн танд төвөгтэй санагдаж магадгүй бөгөөд хэрэглэгчид толгой хуудсанд төлбөр тооцдоггүй өгөөмөр сүлжээ зохицуулагчийг илүүд үзэж бас болох юм. &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 сонголтыг ( сонголт) lpr дээр хорьдог. Хэрэв хэрэглэгчид жаахан хэмнэхийг хүссэн ч (эсвэл толгой хуудасны төлбөрт өгөх хэдэн төгрөгөө) шүүлтүүр болгон толгой хуудас хэвлэдэг болохоор дээрх аргыг хэрэглээд үр дүн өгөхгүй. Хэвлэгдэх бүр толгой хуудсыг хорихын тулд Толгой хуудасны тооцоо бүртгэл хэсэгт үзүүлсэн дараах бяцхан аргыг хэрэглэнэ: гаралтын шүүлтүүр бичээд түүгээрээ LPD-н үүсгэсэн толгой хэсгийг салгаж аван &postscript; хувилбарыг нь үүсгэх. Хэрэв хэрэглэгч lpr -h тушаал хэрэглэвэл LPD толгой хэсэг үүсгэхгүй бөгөөд бас таны гаралтын шүүлтүүрийг ажиллуулахгүй. Бусад үед гаралтын шүүлтүүр нь LPD-с текстийг уншаад түүнд тохирсон &postscript; толгой хуудсыг хэвлэгчид өгдөг. Хэрэв танд цуваа холболттой &postscript; хэвлэгч байгаа бол lprps-г та хэрэглэж болох бөгөөд энэ нь дээр ярьсан зүйлийг гүйцэтгэж чаддаг psof нэртэй гаралтын шүүлтүүртэй хамт ирдэг. Тэмдэглэж хэлэхэд, psof нь толгой хуудсанд тооцоо боддоггүй. Сүлжээгээр хэвлэх хэвлэгчид сүлжээ сүлжээгээр хэвлэх FreeBSD нь хэвлэх ажлыг алсад буй компьютер руу илгээж сүлжээгээр хэвлэхийг бас дэмждэг. Сүлжээгээр хэвлэх нь хоёр зүйлийг хамарч байдаг. Алсад буй компьютерт залгагдсан хэвлэгч рүү хандах. Та нэг хэвлэгчийг нэг компьютер дээр тохирох цуваа юм уу зэрэгцээ холболтоор хэвлэгчийг залгана. Дараа нь та LPD-г суулгаж алсад буй компьютер уг хэвлэгч залгагдсан компьютер руу хандаж болохыг тохируулна. Алсад буй компьютерт залгагдсан хэвлэгч хэсэгт үүнийг хэрхэн хийх талаар зааварласан бий. Шууд сүлжээнд залгагдсан хэвлэгч рүү хандах. Ийм хэвлэгч нь ердийн цуваа юм уу эсвэл зэрэгцээ холболтын интерфэйсээс гадна (эсвэл оронд нь) сүлжээний залгууртай байдаг. Ийм хэвлэгч дараах маягаар ажилладаг: Хэвлэгч LPD-н дамжуулах протоколыг таньж ойлгох ба алсаас ирүүлсэн ажлуудад дараалал үүсгэж чаддаг. Ийм тохиолдолд уг хэвлэгч нь өөр дээрээ LPD суулгасан ердийн компьютер шиг ажиллах болно. Алсад буй компьютерт залгагдсан хэвлэгчид хэсэгт иймэрхүү хэвлэгчийг хэрхэн тохируулах талаар харна уу. Хэвлэгч нь сүлжээгээр өгөгдлийг урсгал мэт хүлээж авдаг тийм төрлийн холболт дэмждэг байж болох юм. Энэ тохиолдолд та нэг компьютерт уг хэвлэгчийг залгаад суулгасан компьютер нь ирж буй ажлуудыг түр хадгалах хариуцлагыг нь дааж хэвлэгч рүүгээ өгөгдлийг урсгаж байхаар тохируулах хэрэгтэй. Сүлжээний өгөгдлийн урсгал холболтын төхөөрөмжтэй хэвлэгчид хэсэгт ийм төрлийн хэвлэгчийг хэрхэн суулгах талаар зааварласан байгаа. Алсад буй компьютерт залгагдсан хэвлэгчид LPD-д өөрт нь өөр газар LPD (эсвэл LPD-тэй зохимжтой) ажиллаж байгаа машин руу хэвлэх ажлыг илгээж чаддаг ажиллагаа байдаг. Энэ шинж чанарыг ашиглаж та өөр компьютерт хэвлэгчээ залгаад түүнд өөр газраас хандаж болох боломж нээж өгч байна. Энэ арга нь мөн LPD дамжуулах протоколыг ойлгодог хэвлэгчид дээр бас ажиллана . Иймэрхүү алсаас хэвлэх ажиллагааг гүйцэтгэхийн тулд эхлээд хэвлэгчээ хэвлэгчийн эзэн болгож нэг машинд Хэвлэгч суулгах энгийн явц хэсэгт заасны дагуу залгах хэрэгтэй. Шаардлагатай бол Хэвлэгчийн нэмэлт тохиргоо хэсэгт заасан тохиргоог хийж болно. Хэвлэгчээ хэвлэж байгааг нь магадлаад LPD тохиргоог зөвшөөрсөн эсэхийг шалгах хэрэгтэй. Мөн remote host дотор local host нь LPD үйлчилгээг хэрэглэх эрхтэй эсэхийг шалгаарай (Алсад буй хэвлэгчид хэвлэх хязгаарлалт хийх хэсэгт харна уу). хэвлэгчид сүлжээ сүлжээгээр хэвлэх Хэрэв та сүлжээний карттай бөгөөд LPD протокол дэмждэг хэвлэгч хэрэглэж байгаа бол дээр өгүүлснээр хэвлэгчийн эзэн болон хэвлэгчийн нэр нь уг тохируулж буй хэвлэгчийн нэр байх ёстой. Хэвлэгчтэй хамт ирсэн үйлдвэрлэгчийнх нь гарын авлагаас хэвлэгчийнх нь тухай эсвэл сүлжээний төхөөрөмжийнх нь тухай мэдээллийг хараарай. Хэрэв та Hewlett Packard Laserjet хэвлэгч хэрэглэж байгаа бол text нэртэй хэвлэгч нь автоматаар LF-г CRLF руу хувиргадаг болохоор hpif скрипт хэрэглэх шаардлагагүй. Дараа нь хэвлэгч рүү хандах гэж буй нөгөө машины /etc/printcap файл дотор дараах зүйлсийг оруулж өгдөг: Хүссэн нэрээ оруулна. Алсад буй компьютерийн нэрэнд давхар нэр өгч оруулан амарчилж болох юм. lp тохиргоог хоосон орхино. (:lp=:). Түр хадгалах сан үүсгэж түүний байршлыг sd хэсэгт зааж өгдөг. LPD нь алсад буй хэвлэгч рүү ажлуудыг илгээхээсээ өмнө энэ санд хадгалдаг. Хэвлэгчийн эзний нэрийг rm хэсэгт бичиж өгнө. Хэвлэгчийн эзэнд холбогдсон хэвлэгчийн нэрийг 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 дээр түр хадгалах сан нэмэх хэрэгтэй: &prompt.root; mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo &prompt.root; chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo &prompt.root; chown daemon:daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo Одоо orchid дээрх хэрэглэгчид rattan болон bamboo хэвлэгчдийг хэрэглэж чадна. Жишээ нь orchid дээрх хэрэглэгч дараах тушаал өгвөл &prompt.user; lpr -P bamboo -d sushi-review.dvi orchid дээрх LPD систем хэвлэх ажлуудыг /var/spool/lpd/bamboo гэсэн түр хадгалагч руу хуулна. Энэ хэвлэгдэх ажил нь DVI файл байсныг та анзаарна уу. rose машинд bamboo түр хадгалах сан үүсэнгүүт хоёр машины LPD-ууд хоорондоо уг файлыг rose машин уруу дамжуулдаг. Дараа нь уг файл rose-н дараалалд очиж зогсоод хэвлэгдэх хүртлээ хүлээгдэнэ. Энэ файл DVI-с &postscript; уруу (bamboo нь &postscript; хэвлэгч учир) rose дээр хувиргагдана. Сүлжээгээр өгөгдлийг урсгал хэлбэрээр дамжуулдаг холболттой хэвлэгчид Ихэнх тохиолдолд, хэвлэгчдэд зориулж сүлжээний төхөөрөмж авах үед танд хоёр сонголт бий: түр хадгалагчтай (илүү үнэтэй), эсвэл цуваа юм уу зэрэгцээ холболтоор холбогдсон мэт өгөгдлийг хэвлэгч рүү шууд илгээдэг (хямд үнэтэй). Энэ хэсэгт хямд үнэтэйг нь авч хэлэлцэнэ. Үнэтэйг нь Алсад буй компьютерт холбогдсон хэвлэгчид хэсгээс хараарай. /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 Хэвлэгч хэрэглэх хязгаарлалт хэвлэгчид хэрэглэх хязгаарлалт Энэ хэсэгт хэвлэгч хэрэглэлтийг хязгаарлах талаар өгүүлэх болно. LPD систем хэвлэгчийг гадаад сүлжээ юм уу дотоодоос хэн олон хувилах, хэр зэрэг том хэмжээний ажил хэвлэж болох, хэвлэгчийн дараалал хэр урт байх ёстой зэргийг зааж өгч болно. Олон хэвлэлтийг хязгаарлах LPD нь хэрэглэгчдэд нэг файлыг олон хэвлэхийг амарчилж өгдөг. Хэрэглэгч нар lpr -#5 (жишээ болгож) тушаалаар файлыг таван удаа хувилж чадна. Үүний сайн эсэх нь танаас хамаарна. Хэрэв ингэж олон хувилах нь цаг болон цаасны дайсан юм байна гэж үзэж байгаа бол сонголтыг &man.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/ttyd5: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 -# тушаалын хэрэглээг хорих боловч &man.lpr.1; тушаалын олон удаагийн хэрэглээ юм уу эсвэл нэг удаагийн хэвлэгдэх ажилд нэг файлыг дараах маягаар олон илгээхийг хорих боломжгүй: &prompt.user; lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign Үүнийг хорих олон арга бий бөгөөд та чөлөөтэй оролдон үзэх хэрэгтэй (үл тоомсорлох аргыг оруулаад). Хэвлэгч рүү хандах хандалтыг хязгаарлах &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/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf: /etc/printcap файлын ( orchid машины) тохиргоог орхие. Мэдээж orchid дээрх хэн гуай ч bamboo-г хэрэглэж чадахгүй. Магадгүй orchid дээрх онцгой хэрэглэгчдийг хэвлэгч рүү хандах эрх олгож болох юм. Үгүй ч байсан болох юм :) Хэвлэгч бүрд зөвхөн нэг л хязгаарлах бүлэг байж болно. Хэвлэгдэхээр илгээгдэх файлын хэмжээг хязгаарлах хэвлэх Хэрэв танд хэвлэгч хэрэглэх эрхтэй хэвлэгчид байгаа бол тэдгээрийн хэвлэх файлд нь хэмжээг нь хязгаарлах тохиргоо хийхийг хүсэж болох юм. Хэдийгээр файл систем дээрх хэвлэгчийн түр хадгалагчийн санд хангалттай зай байгаа ч гэсэн хэрэглэгч бүрд тохирсон тодорхой хэмжээг зааж өгөх шаардлага гарч магадгүй. ажлыг хэвлэх хянах LPD нь mx тохиргоонд зааж өгсөн байтын хэмжээгээр хэвлэгдэх ажлын хэмжээг хязгаарлах боломж өгдөг. Хэмжих нэгж нь BUFSIZ-д зааж өгсөн багцын хэмжээ байдаг ба нэг багц нь 1024 байт байдаг билээ. Хэрэв та энэ тохиргоонд тэгийн тоо бичих юм бол файлын хэмжээнд хязгаар тавихгүй болно. Гэхдээ та ямар ч mx тохиргоо зааж өгөөгүй бол анхдагч хязгаарлалт нь 1000 багц байдаг. Энэ хязгаарлалт нь хэвлэгдэх гэж буй файлд хамаатай болохоос хэвлэгдэх бүх ажлуудыг хязгаарлана гэсэн үг биш. LPD нь хэвлэгдэх файл нь хязгаарласан хэмжээнээс их файл ирвэл татгалздаггүй харин хязгаар хүртэлх хэмжээг нь хэвлэх дараалалд оруулж өгдөг бөгөөд тэр хэсэг нь хэвлэгддэг. Үлдсэн хэсэг нь цуцлагдах болно. Иймэрхүү хязгаарлалт нь зөв буруу эсэх нь таны шийдэл билээ. Бидний жишээ болсон rattan болон bamboo нар дээрээ хязгаарлалт хийж үзэцгээе. Зураг бүтээл туурвидаг нөхдийн &postscript; файлууд их хэмжээтэй байх хандлагатай байдаг болохоор тэдгээрийг таван мегабайтаас хэтрэхгүй гэж хязгаарлая. Энгийн текст файлд харин ямар ч хязгаарлалт өгөхгүй байя: # # /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/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf: Зөвхөн дотоод хэрэглэгчдэд ийм хязгаарлалт хэрэгжих болно гэдгийг дахин сануулъя. Хэрэв та алсад буй хэвлэгчид ийм хязгаарлалт хийвэл алсаас хандагдаж буй хэрэглэгчдэд энэ хязгаарлалт хүчингүй. Үүнийг биелүүлэхийн тулд алсад буй машины /etc/printcap файл дотор mx тохиргоог зааж өгөх ёстой. Алсад буй компьютер дээр холбогдсон хэвлэгчид хэсгээс алсын хэвлэлт хийх талаар уншаарай. Алсад буй хэвлэгчид хязгаарлалт тавих өөр нэг онцгой арга байдаг. Алсын хэвлэгч дээр хэвлэх үйлдлийг хязгаарлах хэсгээс дэлгэрэнгүй уншина уу. Алсаас хэвлэгч дээр хэвлэх үйлдлийг хязгаарлах LPD нь алсын компьютераас илгээгдсэн хэвлэх ажлыг бас хянаж болдог боломж олгодог: Компьютерээр нь хязгаарлах Дотоод LPD руу ямар компьютер хандаж болохыг /etc/hosts.equiv болон /etc/hosts.lpd файлд зааж өгснөөр хянаж болдог. LPD нь саяны хоёр файлын аль нэгэнд нь хэвлэлт хүссэн компьютерийн нэр байгаа эсэхийг шалгадаг. Хэрэв нэр нь байхгүй бол LPD уг хүсэлтээс татгалздаг. Уг файлын загвар бол тун энгийн. /etc/hosts.equiv файл нь мөн &man.ruserok.3; протоколд хэрэглэгддэг бөгөөд &man.rsh.1; болон &man.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/ttyd5:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf: Түр хадгалах санг sd тохиргооны хэсэгт зааж өгсөн байна. Одоо LPD-н алсаас илгээгдсэн хэвлэгдэх ажилд зориулж гурван мегабайт хэмжээг (6144 дискний багц) зааж өгцгөөе. : &prompt.root; echo 6144 > /var/spool/lpd/bamboo/minfree Хэрэглэгчээр нь хязгаарлах Та ямар хэрэглэгч алсаас хэвлэх хүсэлт тавьж болохыг /etc/printcap файл дотор rs тохиргооны хэсэгт зааж өгдөг. Хэрэв дотоод хэвлэгчийн оруулгын хэсэгт rs гэж харагдвал LPD нь алсаас хэвлэх хүсэлт илгээсэн компьютерийн хэрэглэгч хэрэв дотоод компьютер дээрх нэвтрэх эрхтэй ижилхэн нэртэй хэрэглэгч байвал зөвшөөрөл өгч хэвлүүлнэ. Бусад тохиолдолд LPD нь тухай ажлыг хэвлэхээс татгалзана. Энэ тохиргоо нь (жишээлбэл) нэг хэвлэгчийг хувааж хэрэглэдэг олон салбартай байгууллагад ашиглагдаж болох бөгөөд зарим хэрэглэгчид нь хэд хэдэн салбарт харьяалагддаг бол уг хэрэглэгчид эрх өгснөөр өөрийнхөө байгаа салбараас өөр салбарт буй хэвлэгчид хэвлэх ажил илгээх маягаар ашиглаж болох юм. Хэрэв та тэдгээр хэрэглэгчдийг зөвхөн таны хэвлэгчийг л хэрэглэх бөгөөд бусад зүйлсийг ашиглуулахгүй гэж бодож байгаа бол тэд нарт эхлэл сан байхгүй бөгөөд /usr/bin/false гэсэн хэрэглэгдэхгүй бүрхүүлтэй хязгаарлагдмал бүртгэл үүсгэх хэрэгтэй. Хэвлэгчийн хэрэглээнд бүртгэл тооцох бүртгэл хэвлэгч За тэгэхээр та хэвлэлт болгонд мөнгө тооцох шаардлага байг. Цаас болон хэвлэх хорнуудыг мөнгөөр авдаг болохоор яагаад болохгүй гэж? Мөн дээрээс нь хэвлэгчийн эд анги байнга хөдөлж эвдрэх магадлалтай байдаг болохоор хэвлэгчээ тордох нь бас үнэтэй билээ. Та хэвлэгчээ арчилж хуудас болгондоо (эсвэл хуудасны хэсэг бүрд, гарчиг бүрд, эсвэл юу ч байсан яахав) мөнгө тооцохыг хүсэв. Тэгэхээр та яаж хэвлэгдсэн хуудас болгонд мөнгө тооцож чадах вэ? Гэхдээ, жаахан таагүй мэдээ нь юу вэ гэхээр LPD түр хадгалагч гуай иймэрхүү талын үйлчилгээ хийхдээ тун тааруу юм. Иймэрхүү бүртгэл тооцоо нь хэвлэгчээ хэрхэн ашиглахаас их хамаардаг бөгөөд хэвлэгдэх загвар, мөн таны хэвлэгчээсээ мөнгө олборлох шаардлагаас их шалтгаална. Бүртгэл тооцоо хийхийн тулд та хэвлэгчийнхээ текст шүүлтүүрийг өөрчлөх хэрэгтэй (энгийн текст ажлаас мөнгө тооцохын тулд) бөгөөд мөн хувиргагч шүүлтүүрүүдийг бас (мөн бусад файл төрлүүдээс) өөрчлөх шаардлагатай. Энгийн шүүлтүүр ашиглаад та бүртгэл тооцоо хийж чадахгүй. Шүүлтүүр хэсгийг харна уу. Ерөнхийдөө бүртгэл тооцоо хийж болох хоёр арга бий: Үечлэн бүртгэл тооцох гэдэг бол тун амархан бөгөөд байнга хэрэглэгддэг арга. Хэн нэгэн хэвлэх үед хэрэглэгчийн нэр, компьютерийн нэр, мөн хэвлэсэн хуудасны дугаар зэргийг бүртгэл файлд хадгалдаг. Хэвлэгчдээ зориулсан нэгжийнх нь тооцоог та сараар, эсвэл жилээр, эсвэл өөрийнхөө заасан хугацаагаар хэрэглэгч бүрийн хувьд тохирсон жагсаалт авч болдог. Ингэж бүртгэл тооцоо хийгээд уг файлыг цэвэрлэж дараагийн үеэр нь мөн тооцоо хийхээр бэлтгэнэ. Цагаар бүртгэж тооцох гэдэг нь жаахан хэцүү болохоор нэлээн бага хэрэглэгддэг. Энэ арганд хэрэглэгчдийг хэвлэж эхлэнгүүт тооцоо хийдэг шүүлтүүр байдаг. Дискний хэмжээ хязгаарлагчтай ижилхэн энэ бүртгэл тооцоо нь харьцангуй шулуухан гүйцэтгэгддэг. Та хэрэглэгчдийн бүртгэлд заагдсан хэмжээ дуусах дөхөхөөр хэвлүүлэхгүй болгож болохоос гадна хэрэглэгчдэд өөрсдийн хэвлэх хувийг шалгаж тохируулах боломжийг олгон тохируулж болох юм. Гэвч энэ арга нь хэрэглэгчийн бүртгэл болон тэдгээрийн хязгаарласан хэмжээг мөрдөхийн тулд зарим өгөгдлийн бааз руу хандах шаардлагатай байдаг. Та шаардагдах шүүлтүүрүүдийг, мөн бүртгэж тооцоо хийх кодыг нь хангаж чадаж л байвал LPD түр хадгалагч систем нь өмнө тайлбарласан хоёр аргыг дэмждэг. Бүртгэж тооцох арганд бас онцгой тал байдаг. Жишээ нь та үечилж үү эсвэл цагаар тооцох уу гэдгээ сонгож болно. Та ямар мэдээллийг бүртгэж бичихээ сонгоно: хэрэглэгчийн нэр, компьютерийн нэр, хэвлэсэн төрөл, хэвлэгдсэн хуудасны тоо, загвар, хэр удаан хэрэглэсэн гэх мэт. Та шүүлтүүрүүдийг өөрчилж эдгээр мэдээллийг хадгалдаг болгох хэрэгтэй. Хэвлэлтэд тооцоо хийх түргэн бөгөөд бохир арга FreeBSD нь бүртгэл тооцоо хийхэд хэрэглэгдэх хоёр үечлэн тооцоо хийдэг програмтай хамт ирдэг. Тэдгээр нь lpf текст шүүлтүүрүүд бөгөөд lpf: Текст шүүлтүүр хэсэгт тайлбарлагдсан байгаа. Нөгөөх нь &man.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 гэсэн файл хөтлөгдөх болно. Хэрэглэгчдээс хэвлэлтийн төлбөрийг шаардах үедээ &man.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 &man.pac.8;-тай хамт хавсруулж хэрэглэдэг сонголтуудыг жагсааж харуулъя: Энэ нь тооцоо бодох хэвлэгчийг зааж өгнө. /etc/printcap файл доторх af сонголтод яг нарийвчилсан файлын зам зааж өгсөн үед л энэ нь хэрэгждэг. Хэрэглэгчдийн нэрээр биш үнээр нь эрэмбэлж харуулдаг. Тооцоо хийх файлаас компьютерийн нэрийг алгасаж харуулдаг. Ийм үед alpha компьютер дээрх smith нэртэй хэрэглэгч gamma компьютер дээрх smith нэртэй хэрэглэгчээс ялгардаггүй. /etc/printcap файлд буй pc тохируулгад зааж өгсөн үнийн оронд нэгж хуудас болгоныг үнэээр үнэлж доллараар тооцдог бөгөөд эсвэл хоёр центээр ( анхдагч хэмжээ нь) тооцно. Та энэ үнэ-г бутархай тоон хэлбэрээр бас бичиж болно. Эрэмбэлэх дарааллыг эсрэгээр үйлдэнэ. Төлбөр тооцооны дүгнэсэн хуудас үүсгэж бүртгэл тооцооны файлыг богиносгодог. хэрэглэгч Зөвхөн зааж өгсөн хэрэглэгчийн бүртгэл тооцоог харуулна. &man.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 Долларын хэмжээг тооцохын тулд &man.pac.8; нь /etc/printcap доторх pc тохиргооны утгыг ашигладаг (анхдагч утга нь хуудас болгонд 200, эсвэл 2 цент гэж байдаг). Энэ тохируулгад хуудас бүрд юм уу эсвэл алхам бүрд тооцох центүүдийг зааж өгдөг. Та энэ утгыг &man.pac.8;-г ажиллуулахдаа гэсэн хавсралт сонголтоор дарж хэрэглэж болдог. сонголтод хэрэглэх утга нь центээр биш доллараар байх ёстой. Жишээ нь &prompt.root; pac -p1.50 гэснээр хуудас бүр нэг доллар тавин цент болж байна. Та энэ тохиргоог ашиглаж үнэхээр ашиг олж болох юм шүү. Эцэст нь pac -s гэж тушааснаар дүгнэсэн тооцоог дүнгийн бүртгэл файл уруу хадгалах бөгөөд энэ файл нь хэвлэгчийн тооцооны файлын нэрийн ард нь _sum гэж залгагдсан нэртэй файл болж хадгалагдана. Дараа нь бүртгэлийн файлыг богиносгодог. Хэрэв та &man.pac.8;-г дахин ажиллуулбал энэ нь дүгнэлт файлаас нийт утгыг уншиж аваад ердийн тооцооны файлаас авсан утган дээр нэмээд ерөнхий нийт нийлбэрийг харуулах болно. Хэвлэгдсэн хуудасны тоог яаж тооцох вэ? Бүр алсаас бүртгэл хийлтийг зөв хийж гүйцэтгэхийн тулд ажил хэр их цаас ашигладгийг та тодорхойлж чаддаг байх хэрэгтэй. Энэ нь хэвлэгчийн бүртгэл хийлтийн үндсэн асуудал юм. Цэвэр текст ажлуудын хувьд энэ асуудлыг шийдэх нь тийм ч хэцүү биш юм: та ажилд хичнээн мөр байгааг тоолж тэр тоогоо таны хэвлэгч нэг хуудсандаа хичнээн мөрийг дэмждэгтэй харьцуулах хэрэгтэй. Мөрүүдийг давхар хэвлэдэг файл дахь устгах тэмдэгтүүд эсвэл нэг буюу хэд хэдэн нэмэлт мөрүүд болдог урт логик мөрүүдийг бодолцохоо мартуузай. Текст шүүлтүүр lpf (lpf: Текст шүүлтүүр хэсэгт танилцуулагдсан) нь бүртгэл хийхдээ эдгээр зүйлсийг бодолцдог. Бүртгэл хийх хэрэгтэй текст шүүлтүүр та бичиж байгаа бол lpf-ийн эх кодыг та магадгүй үзэхийг хүсэж болох юм. Тэгэхээр та бусад файлын хэлбэршилтүүдтэй хэрхэн ажиллах вэ? DVI-аас-LaserJet эсвэл DVI-аас-&postscript; руу хийх хөрвүүлэлтийн хувьд dvilj эсвэл dvips тушаалаас гарах оношлогооны гаралтыг та өөрийн шүүлтүүрээр оруулж хичнээн хуудаснууд хөрвүүлэгдсэнийг хайж олж болох юм. Бусад файлын хэлбэршилтүүд болон хөрвүүлэх програмуудын хувьд та эдгээртэй төстэй зүйлсийг хийж чадах ёстой. Гэхдээ хэвлэгч нь тэдгээр бүх хуудаснуудыг жинхэнэдээ хэвлэхгүй байж болох сул тал энэ аргуудад ажиглагддаг. Жишээ нь цаас гацах, хор дуусах, эсвэл дэлбэрсэн хэр нь хэрэглэгчид төлбөр ноогдуулсан хэвээр байж болох зэргийг дурдаж болох юм. Тэгэхээр та юу хийж чадах вэ? Зөв бүртгэл хийх цорын ганц найдвартай арга байдаг. Хичнээн цаас ашигладаг болохоо хэлж чаддаг хэвлэгч аваад цуваа шугамаар юм уу эсвэл сүлжээгээр залгах хэрэгтэй. Бараг бүх &postscript; хэвлэгчүүд үүнийг дэмждэг. Бусад загварууд бас ингэж чаддаг (жишээ нь сүлжээнд холбогдсон Imagen laser хэвлэгчүүд). Хэвлэгчүүдийг ажил бүрийг хэвлэснийхээ дараа хуудасныхаа хэрэглээг авч зөвхөн тэр утга дээрээ үндэслэн бүртгэлийн мэдээллээ бүртгүүлдэг болгохын тулд эдгээр хэвлэгчүүдийн хувьд шүүлтүүрүүдийг өөрчлөх хэрэгтэй. Мөр тоолох эсвэл алдаагүй файл шалгалт шаардлагагүй юм. Мэдээж та үргэлж өгөөмөр байж бүх хэвлэлтийг үнэгүй болгож болох юм. Хэвлэгчдийг ашиглах нь хэвлэгчид хэрэглээ Энэ хэсэгт таны FreeBSD дээр тохируулсан хэвлэгчийг хэрхэн хэрэглэх талаар өгүүлэх болно. Хэрэглэгчийн ашиглаж болох тушаалууд нь: &man.lpr.1; Хэвлэх үйлдлийг гүйцэтгэдэг &man.lpq.1; Хэвлэгчийн хэвлэх дарааллыг шалгадаг &man.lprm.1; Хэвлэгчийн хэвлэх дарааллаас устгадаг Энд мөн удирдаж зохицуулах тушаалууд байдаг. Тэр нь Хэвлэгчдийг зохицуулах хэсэгт өгүүлсэн &man.lpc.8; тушаал юм. &man.lpr.1;, &man.lprm.1;, мөн &man.lpq.1; гэсэн эдгээр тушаалууд нь бүгдээрээ гэсэн сонголт авдаг бөгөөд үүгээрээ /etc/printcap файлд буй хэвлэгч/дараалалтай ажилладаг. Энэ нь хэвлэгчийн ажлыг нэмэх, устгах эсвэл хэвлэгдэж байгаа ажлыг шалгах зэрэгт хэрэглэгддэг. Хэрэв та сонголт хэрэглэдэггүй бол PRINTER гэсэн орчны хувьсагчийн утгыг энэ тушаал хэрэглэдэг. Эцэст нь хэрэв танд PRINTER орчны хувьсагч зарлагдаагүй бол lp нэртэй хэвлэгчийг анхдагч хэвлэгч гэж ханддаг. Энд анхдагч хэвлэгч гэдэг нь PRINTER орчны хувьсагч дотор буй хэвлэгч юм уу эсвэл уг орчны хувьсагчид хэвлэгч заагдаагүй байвал lp гэсэн нэртэй хэвлэгч байна гэж авч үзэхийг хэлж байгаа юм. Хэвлэх ажиллагаа Файлыг хэвлэхийн тулд: &prompt.user; lpr файлын-нэр ... хэвлэх нь Энэ нь жагсааж өгсөн файлуудыг анхдагч хэвлэгч рүү илгээж хэвлэдэг. Хэрэв та ямар ч файл зааж өгөөгүй бол &man.lpr.1; нь гарнаас оруулах утгуудыг хэвлэгч рүү илгээдэг. Жишээ нь дараах тушаал нь системийн чухал файлуудыг хэвлэнэ: &prompt.user; lpr /etc/host.conf /etc/hosts.equiv Хэвлэгчийг онцгойлж сонгохыг хүсвэл : &prompt.user; lpr -P хэвлэгчийн-нэр файлын-нэр ... Дараах жишээн дээр тухайн байгаа сангийн файлуудыг жагсааж rattan нэртэй хэвлэгч рүү илгээхийх харуулах болно: &prompt.user; ls -l | lpr -P rattan Ямар ч файлын жагсаалт өгөөгүй болохоор &man.lpr.1; тушаал нь ls -l тушаалын гаралтыг өөрийнхөө оруулга гэж авч үзсэн байна. &man.lpr.1; тушаал нь файл хувиргалт хийх, олон хуулбарлаж хэвлэх гэх мэтчилэн маш олон төрлийн сонголт хүлээн авч хэвлэх үйлдлийнхээ загварыг өөрчилж чаддаг. Хэвлэх сонголтууд хэсгээс нэмэлт мэдээллүүдийг уншина уу. Хэвлэж буй ажлыг шалгах хэвлэх ажиллагаа &man.lpr.1; тушаалаар хэвлэгдэх зүйлс LPD түр хадгалагч дээр очдог бөгөөд тэдгээрийг ерөнхийд нь хэвлэгдэх ажил гэж нэрлэдэг. Хэвлэгч болгонд хэвлэгдэх ёстой ажлууд жагсаагдсан байдаг бөгөөд таны хэвлэхийг хүссэн юм тань бусад хэрэглэгчидтэй адилхан хэвлэгдэх дараалалд ээлжээ хүлээгээд зогсож байдаг. Хэвлэгч нь ирсэн зүйлсийг хэн-түрүүлж-ирнэ түүнийг-түрүүлж-хэвлэнэ гэсэн зарчим баримталж хэвлэдэг. Анхдагч хэвлэгчийн дарааллыг харуулахын тулд &man.lpq.1; тушаалыг бичдэг. Хэрэв хэвлэгчээр нь сонгож харахыг хүсвэл сонголт хэрэглэдэг. Жишээлбэл &prompt.user; 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 байна. Хэвлэх ажил болгон давтагдаагүй өөрийн гэсэн дугаар авдаг. Та хэвлэх дарааллын энэ дугаарыг хэрэгсэхгүй байж болох ч гэсэн хэрэв хэвлэх ажлыг цуцлах хэрэг гарвал уг дугаарыг мэдэж байх нь танд хэрэгтэй билээ. Энэ талаар Хэвлэх ажлыг устгах хэсгээс харна уу. Ес гэсэн дугаартай хэвлэх ажил нь хоёр ширхэг файлаас бүтсэн байна. &man.lpr.1; тушаалд хэрэв олон файл өгсөн бол тэдгээрийг нэг ажилд тооцдог. Энэ ажил нь одоогийн идэвхитэй ажил (Rank нэртэй баганад active гэж бичсэн байгааг анхаарна уу) бөгөөд хэвлэгч яг одоо түүнийг хэвлэж байна гэсэн үг. Хоёр дахь ажил нь стандарт оруулгаас &man.lpr.1; тушаал уруу илгээгдсэн ажил байна. Гурав дахь ажил нь mary хэрэглэгчээс илгээгдсэн бөгөөд нэлээн их хэмжээнийх юм байна. Файлын нэрийн урт нь их байгаа учраас &man.lpq.1; нь түүнийг гурван цэгээр товчилж харуулсан байна. &man.lpq.1; тушаалын гаралтын хамгийн эхний мөр бас чухал утга илэрхийлдэг нь: хэвлэгч яг одоо юу хийж байгааг (ядаж хэвлэгчийн юу хийж байгааг LPD нөхөр бодож байгааг) харуулдаг. &man.lpq.1; тушаал нь мөн сонголтыг дэмждэг бөгөөд энэ нь уртасгасан жагсаалтыг харуулдаг юм. Доор 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 Хэвлэх ажлыг устгах Хэрэв та хэвлэе гэсэн бодлоо өөрчилбөл &man.lprm.1; тушаалаар хэвлэгдэх ажлыг устгаж болно. Мөн та &man.lprm.1; тушаалаар хэвлэгдэж байгаа ажлыг бас устгаж болдог боловч зарим хэсэг нь хэвлэгдэж магадгүй юм. Анхдагч хэвлэгчээс ажил устгахын тулд эхлээд &man.lpq.1; тушаал хэрэглэж дарааллынх нь дугаарыг нь мэддэг. Тэгээд дараа нь: &prompt.user; lprm дарааллын-дугаар Хэвлэгдэх ажлыг хэвлэгчийн нэрийг нь онцгойлж хандан устгахын хүсвэл сонголт хэрэглэнэ. Дараах тушаал нь bamboo нэртэй хэвлэгчээс 10 дугаартай ажлыг устгана: &prompt.user; lprm -P bamboo 10 &man.lprm.1; тушаалын хэд хэдэн товчлол бий: lprm - Танд хамаатай бүх хэвлэгдэх ажлыг устгадаг (анхдагч хэвлэгчээс). lprm хэрэглэгч Хэрэглэгч-д хамаатай бүх ажлыг устгана (анхдагч хэвлэгчээс). Супер хэрэглэгч мэдээж бүх хэрэглэгчдийн ажлыг устгаж болох бөгөөд хэрэв та биш бол зөвхөн өөрийнхөө л ажлыг устгана. lprm Ямар ч дарааллын дугаар, хэрэглэгчийн нэр, эсвэл сонголт зэргийг оруулаагүй бол танд хамаатай яг одоо хэвлэгч дээр идэвхитэй байгаа ажлыг &man.lprm.1; устгадаг. Супер хэрэглэгч бол яг одоо идэвхитэй байгаа хэний ч дараалал байсан гэсэн устгана. Дээрх товчлолуудыг сонголт ашиглан хэвлэгчийн нэр зааж өгөн ямар нэгэн хэвлэгч рүү онцгойлон хандаж болдог. Жишээлбэл дараах тушаал нь rattan хэвлэгчээс тухайн хэрэглэгчийн бүх дарааллыг устгана: &prompt.user; lprm -P rattan - Хэрэв та сүлжээний орчинд ажиллаж байгаа бол &man.lprm.1; тушаал нь өөр ижил нэртэй хэвлэгч өөр машинд залгаатай байсан ч зөвхөн илгээсэн компьютерийн л дарааллыг устгахад зөвшөөрдөг. Доорх жишээнд үүнийг тодруулав: &prompt.user; lpr -P rattan myfile &prompt.user; rlogin orchid &prompt.user; lpq -P rattan Rank Owner Job Files Total Size active seeyan 12 ... 49123 bytes 2nd kelly 13 myfile 12 bytes &prompt.user; lprm -P rattan 13 rose: Permission denied &prompt.user; logout &prompt.user; lprm -P rattan 13 dfA013rose dequeued cfA013rose dequeued Энгийн текстээс өөр зүйлс хэвлэх нь: Хэвлэх сонголтууд &man.lpr.1; тушаал нь текст загварчлах, зураг файлыг өөр хэлбэрт хувиргах, олон хуулбар хийх, хэвлэгдэж байгаа файлууд уруу хандах гэх мэтчилэн маш олон сонголттой. Энэ хэсэгт тэр тухай зааварлах болно. Хэлбэршүүлэх болон хувиргах сонголтууд Дараах &man.lpr.1;-н сонголтууд нь хэвлэгдэх ажлын хэлбэршүүлэлтийг хянадаг. Эдгээр сонголтуудыг хэрэв таны хэвлэх зүйлс тань энгийн текст хэлбэртэй биш юм уу эсвэл текстээ &man.pr.1; хэрэгсэл ашиглан өөрчилж хэвлэх үед хэрэглэнэ. &tex; Жишээлбэл дараах тушаал нь fish-report.dvi нэртэй DVI төрлий файлыг (&tex; төрлийн бичилтийн системийн ) bamboo хэвлэгч рүү явуулна: &prompt.user; lpr -P bamboo -d fish-report.dvi Энэ сонголт нь хэвлэгдэх гэж буй бүх файлд хэрэгждэг болохоор жишээ нь та DVI болон ditroff файлуудыг хамт хэвлэгч рүү илгээж болохгүй. Түүний оронд файлуудыг тусад нь тусдаа сонголттой илгээх хэрэгтэй. болон сонголтуудаас бусад бүх сонголтуудад хэвлэгч дээр суугдсан хөрвүүлж хувиргадаг шүүгч ажиллагаа шаардагддаг. Жишээ нь сонголт DVI хөрвүүлж хувиргадаг шүүлт шаарддаг. Хувиргагч шүүлтүүрүүд хэсэгт тодорхой өгүүлсэн буй. cifplot файлуудыг хэвлэнэ. DVI файлуудыг хэвлэнэ. FORTRAN текст файлуудыг хэвлэнэ. plot төрлийн зураг график файлуудыг хэвлэнэ. Гаралтыг тоогоор зай авч хэвлэнэ. Хэрэв та тоо оруулахгүй тушаавал 8 гэсэн зайгаар хэвлэнэ. Энэ сонголт зөвхөн тодорхой хэдэн шүүлтүүртэй л ажилладаг. сонголт болон тоо хоёрын завсар ямар ч зай байж болохгүй. Текст файлд буй зарим хянагч тэмдэгтүүдтэй нь шууд үсэгчлэн хэвлэнэ. ditroff (төхөөрөмж болгоноос хамааралгүй troff) өгөгдлийг хэвлэнэ. -p Хэвлэхээсээ өмнө энгийн текстийг &man.pr.1; хэрэгслээр хэлбэршүүлдэг. Нэмэлт мэдээллийг &man.pr.1; гарын авлагаас харна уу. &man.pr.1; хуудасны толгой хэсэгт файлын нэрийг байрлуулахын оронд зааж өгсөн Гарчиг-г хэвлэдэг. Энэ сонголт нь гэхдээ зөвхөн сонголт хэрэглэсэн үед л хэрэгждэг. troff өгөгдлийг хэвлэнэ. raster өгөгдлийг хэвлэнэ. Жишээ: Дараах тушаал нь &man.ls.1;-н гарын авлагыг аятайхан загварчлаад анхдагч хэвлэгчээр хэвлэнэ: &prompt.user; zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t &man.zcat.1; тушаал нь &man.ls.1; гарын авлагын эх шахсан файлыг нь задлаад GNU troff хэлбэрт оруулдаг &man.troff.1; тушаал уруу дамжуулна. Уг хэлбэрт оруулсны дараа &man.lpr.1; руу дамжигдах бөгөөд энэ нь хэвлэх ажлыг LPD түр хадгалагч уруу илгээдэг. Бид сонголт &man.lpr.1; дээр хэрэглэсэн болохоор түр хадгалагч хэвлэгдэх үед GNU troff гаралтыг хэвлэгчийн ойлгох хэлбэрт хувиргаж хэвлэнэ. Хэвлэлтэд хандах сонголтууд &man.lpr.1; тушаалд өгсөн дараах сонголтууд LPD дээрх хэвлэгдэх ажлуудад онцгойлж ханддаг: -# хуулбарлах-тоо Зөвхөн нэг удаа хэвлэгдэх ажлуудыг хуулбарлах-тоогоор хувилдаг. Систем хянаж зохицуулагч албатай хүн магадгүй хэвлэгчийн ингэж ахин дахин хуулбарлаж хэвлэхийн оронд хувилах фото хуулбар үүсгээд түүнийгээ шууд буулгах сонголт санал танд тавьж болох юм. Олон хуулбарлалтыг хязгаарлах хэсэгт тодорхой заасан байгаа. Доорх жишээн дээр parser.c файлыг гурав, parser.h файлыг мөн гурав хувилж хэвлэв: &prompt.user; lpr -#3 parser.c parser.h -m Хэвлэх ажил дууссаны дараа захиа илгээнэ. Хэвлэгдэх ажил дууссаны дараа LPD систем таны бүртгэл рүү захиа явуулдаг. Захиан дотроо таны хэвлэх ажиллагаа амжилттай болсон эсвэл алдаа гарсан тухай мэдэгддэг бөгөөд алдаа гарсан байвал (голдуу) ямар алдаа гарсныг нь бичсэн байдаг. -s Түр хадгалагч сан уруу хуулахгүйгээр уг файлуудад тэмдэгт холбоос үүсгэдэг. Хэрэв та том хэмжээний файл хэвлэх гэж байгаа бол энэ сонголт танд тун хэрэг болно. Ингэснээр түр хадгалагчид буй дискний хэмжээг хэмнэдэг ( таны том хэмжээний файл түр хадгалагчийн хэмжээнээс хэтэрч түүнтэй зэрэгцээ орших зай уруу илүүдэж гарах аюултай). LPD мөн хэвлэх файлыг хуулах гэж цаг зарцуулахгүй түргэн байх болно. Нэг сул тал бий: LPD нь хэвлэгдэх файл уруу шууд хандаж байгаа болохоор хэвлэгдэж дуусахаас нааш та уг файлыг засварлаж чадахгүй байх болно. Хэрэв та сүлжээгээр өөр хэвлэгч рүү хэвлэж байгаа бол LPD нь уг компьютераас алсад буй хэвлэгч рүү файлыг хуулдаг болохоор сонголт нь дотоод зайгаа хэмнэхээс биш алсад буй компьютерийн дискний зайг хэмнэдэггүй. Гэвч ийм байсан ч хэрэгтэй сонголт билээ. -r Түр хадгалагч уруу хуулсны дараа юм уу эсвэл сонголт хэрэглэж хэвлэсний дараа уг файлыг утсгана. Энэ сонголтыг тун болгоомжтой хэрэглэнэ үү! Хуудасны толгой хэсгийг загварчлах сонголтууд &man.lpr.1; тушаалд хэрэглэсэн эдгээр сонголтууд нь хуудасны толгой хэсэгт хэвлэгддэг текстийг зааж өгөхөд хэрэглэгддэг. Хэрэв хуудасны толгой хэсгийг өөр програм өөрчилнө гэж заасан байвал энэ сонголт хүчингүй болдог. Хуудасны толгой хэсэг хэсэгт энэ талаар тодорхой өгүүлсэн байгаа. -C текст Толгой хэсэгт байдаг компьютерийн нэрийг зааж өгсөн текстээр орлуулдаг. Ердийн үед бол уг хэвлэх ажлыг илгээсэн компьютерийн нэр байдаг. -J текст Толгой хэсэгт байдаг хэвлэх ажлын нэрийг зааж өгсөн текстээр орлуулдаг. Ердийн үед ажлын нэр нь хэвлэх файлын нэр байдаг ба хэрэв та консолийн стандарт оруулга хэрэглэсэн бол stdin гэж байдаг. -h Толгой хэсэггүй хэвлэнэ. Хэрэв өөр програмаар толгой хэсэг нь бэлтгэгдсэн бол энэ сонголт зарим тохиолдолд хүчингүй болдог. Хуудасны толгой хэсэг хуудсанд энэ тухай тайлбарласан буй Хэвлэгчдийг зохицуулах Хэвлэгчдийг зохицуулагчийн зүгээс тэдгээрийг суулгаж шалгахад үүрэгтэй байдаг. &man.lpc.8; тушаал ашиглан хэвлэгчтэйгээ та олон аргаар харилцаж чадна. &man.lpc.8; тушаал ашиглан Хэвлэгчийг эхлүүлэх болон зогсоох Хэвлэгдэх дарааллыг хорих болон зөвшөөрөх Дараалалд буй хэвлэгдэх ажлын ээлж дарааг өөрчлөх Эхлээд жаахан тодруулцгаая: Хэрэв хэвлэгч зогссон бол дараалалд буй ямар ч ажлыг хэвлэхгүй. Хэрэглэгчид хэвлэх ажил илгээж болох бөгөөд тийм ажлууд бүгд дараалалд нэмэгдэж хэвлэгчийг эхлэх хүртэл юм уу эсвэл дарааллыг цэвэрлэх хүртэл тэнд хадгалагдана. Хэрэв дараалал хоригдсон бол ямар ч хэрэглэгч (root хэрэглэгчээс бусад) хэвлэгч рүү юм илгээж чадахгүй. Дараалал зөвшөөрөгдсөн үед л хэвлэх ажил хүлээж авдаг. Хэвлэгч эхлэх үедээ мөн хоригдсон дарааллыг хоосортол нь хэвлэнэ. &man.lpc.8; тушаалыг хэрэглэхийн тулд та root эрхтэй байх хэрэгтэй байдаг. Энгийн хэрэглэгчид бол &man.lpc.8; тушаалыг хэвлэгчийн төлөв байдал юм уу эсвэл гацсан хэвлэгчийг эхлүүлэхэд хэрэглэнэ. Энд &man.lpc.8; тушаалын нэгтгэсэн жагсаалтыг харуулав. Ихэнх тушаалуудад онцгойлон хэвлэгч рүү хандахын тулд хэвлэгчийн-нэр нэмж өгдөг. Хэрэв та all гэж хэвлэгчийн-нэр-н оронд өгвөл /etc/printcap файл жагсаалттай буй бүх хэвлэгчийг илэрхийлэх болно. abort хэвлэгчийн-нэр Одоогийн хэвлэж байгаа ажлыг цуцлаад хэвлэгчийг зогсооно. Хэрэв дараалал хоригдоогүй бол хэрэглэгчид хэвлэх зүйлс илгээж байж болно. clean хэвлэгчийн-нэр Хэвлэгчийн түр хадгалагчид буй хуучин файлуудыг устгана. LPD уг файлыг ямар нэгэн шалтгааны улмаас устгаагүй байж болох юм. Энэ нь хэвлэх үед алдаа гарах, эсвэл зохион байгуулах зарим үйлдэл хийгдэх гэх мэт янз бүрийн шалтгаан байж болно. Энэ тушаал түр хадгалагч санд хамаарахгүй файлуудыг шалгаж олоод устгадаг. disable хэвлэгчийн-нэр Шинээр ирэх ажлуудад дарааллыг хорьно. Хэрэв хэвлэгч тухайн үед хэвлэж байвал дараалалд үлдсэн байгаа зүйлсүүдийг хэвлэдэг. Супер хэрэглэгч (root) дараалал хоригдсон байсан ч хэвлэх зүйл илгээдэг. Энэ тушаал шинэ хэвлэгчийн суулгац юм уу шүүлтийг шалгахад их хэрэгтэй. Жишээ нь хэвлэх дарааллыг хориод root эрхээр хэвлэж туршиж болно. Бусад хэрэглэгчид дарааллыг идэвхжих хүртэл дараалал уруу ажил илгээж чадахгүй. down хэвлэгчийн-нэр мэдээлэл Хэвлэгчийг унтраана. disable тушаалыг stop-тай хамт хэрэглэсэнтэй ижил. Хэрэв хэрэглэгч хэвлэгчийн &man.lpq.1; юм уу эсвэл lpc status тушаал хэрэглэн төлөв байдлыг мэдье гэсэн үед уг зааж өгсөн мэдээлэл харуулагддаг. enable хэвлэгчийн-нэр Хэвлэгчийн дарааллыг зөвшөөрдөг. Хэрэглэгч хэвлэгч рүү юм илгээж болох боловч хэвлэгч эхлэхээс нааш хэвлэгдэхгүй. help тушаал тушаалын хэрэглэх тусламжийг харуулдаг. Хэрэв тушаал бичилгүйгээр тушаавал боломжтой бүх тушаалын ерөнхий мэдээллийг харуулна. restart хэвлэгчийн-нэр Хэвлэгчийг эхлүүлдэг. Ердийн хэрэглэгчид энэ тушаалыг хэрэв ямар нэгэн тохиолдлоор LPD гацсан үед хэвлэгчийг эхлүүлэхэд хэрэглэж болдог боловч stop юм уу down тушаал хэрэглэн ажиллаж байгаа хэвлэгчийг зогсоож чаддаггүй. restart тушаал нь abort тушаалыг start тушаалтай хэрэглэсэнтэй ижилхэн. start хэвлэгчийн-нэр Хэвлэгчийг эхлүүлнэ. Хэвлэгч дараалалд байгаа ажлуудыг хэвлэж эхэлдэг. stop хэвлэгчийн-нэр Хэвлэгчийг зогсооно. Хэвлэгч яг хэвлэж байсан ажлаа дуусгаад дараалалд байгаа ажлуудыг хэвлэлгүйгээр зогсоно. Хэвлэгч зогссон байсан ч хэрэглэгчид хэвлүүлэх ажлаа дараалалд илгээж болно. topq хэвлэгчийн-нэр ажил-эсвэл-хэрэглэгчийн-нэр хэвлэгчийн-нэр нэртэй хэвлэгчийн дараалалд байгаа ажлуудын хамгийн дээд хэсэгт нь зааж өгсөн хэрэглэгчийн-нэр хэрэглэгчийн ажлыг оруулдаг. Энэ тушаалыг all гэж хэвлэгчийн-нэр-н оронд хэрэглэх боломжгүй. up хэвлэгчийн-нэр down тушаалын эсрэгээр уг хэвлэгчийг шинээр эхлүүлдэг. start тушаалыг enable-тай хэрэглэсэнтэй ижилхэн. &man.lpc.8; нь дээрх тушаалуудыг тушаал бичих мөрнөөс хүлээж авдаг. Хэрэв та ямар ч тушаал оруулаагүй бол &man.lpc.8; нь exit юм уу quit, эсвэл end-of-file тэмдэгт илгээх хүртэл гарнаас тушаал оруулж ажиллах харилцах горимд шилждэг. Хэвлэгчийн стандарт түр хадгалагчидтай ижил хадгалагчид Хэрэв та энэ гарын авлагыг эхнээс нь уншиж байгаа бол FreeBSD-тэй цуг ирдэг түр хадгалах систем болох LPD-ийн талаар бүх л мэдэж болох зүйлсийг одоо сурсан байх ёстой. Та үүний олонхи дутагдалтай талуудыг үнэлж чадах байх. Энэ нь дараах асуултанд хүргэдэг: Өөр ямар (FreeBSD-тэй ажилладаг) түр хадгалах системүүд байдаг вэ? LPRng LPRng LPRng буюу LPR: the Next Generation гэгддэг дараа үеийн систем нь PLP-ийг дахин бичсэн хувилбар юм. Патрик Пауэл болон Жастин Мэйсон (PLP-ийн гол арчлагч) нар нийлэн LPRng-г хийсэн юм. LPRng-ийн гол сайт бол юм. CUPS 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-ийн гол сайт нь юм. Алдааг олж засварлах &man.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 MS-DOS OS/2 ASCII Энэ нь таныг шинэ мөр илэрхийлдэг тэмдэгт хөрвүүлэгдээгүй улмаас өнөөх хачирхалтай нөлөөний хохирогч нь болсон байна гэдгийг илэрхийлж байна. &unix; төрлийн үйлдлийн системүүд мөр дууссаныг илэрхийлэхийн тулд ASCII-н 10 гэсэн дугаарыг буюу line feed (LF) гэсэн нэг л тэмдэгт хэрэглэдэг. Харин &ms-dos;, &os2;, болон бусад үйлдлийн системүүд ASCII-н 10 ба ASCII-н 13 (CR буюу шинэ мөр эхлэх) гэсэн хоёр тэмдгийг хамтад нь хэрэглэдэг. Ихэнх хэвлэгч нар шинэ мөрийг илэрхийлэхдээ &ms-dos;-н шийдлийг хэрэглэдэг. Хэрэв та FreeBSD-с хэвлэхээр бол таны текстүүд зөвхөн мөр дууссан тэмдэгт л агуулсан байгаа. Мөр дууссан тэмдэгтийг хэвлэгч хүлээж авангуутаа хуудсаа нэг мөрөөр дээшлүүлсэн мөртлөө яг тухайн байрлалдаа дараагийн тэмдэгт ирэхийг хүлээж зогсдог. Энэ үед л шинэ мөр гэсэн тэмдэгт ирж байж хэвлэгчийн толгой зүүн хэсэг рүүгээ гүйдэг билээ. FreeBSD дараах маягаар хэвлэх хэрэгтэй байдаг: Хэвлэгч CR тэмдэг хүлээж авлаа Хэвлэгч CR гэж хэвлэв Хэвлэгч LF тэмдэгт хүлээж авлаа Хэвлэгч CR + LF гэж хэвлэх Үүнийг залруулах хэдэн арга бий: Хэвлэгчийнхээ тохируулгын цонхыг ашиглан эдгээр тэмдэгтийг өөрөөр хөрвүүлж ойлгохоор тохируулах. Иймэрхүү тохиргоо байдаг эсэхийг хэвлэгчийнхээ гарын авлагад харах хэрэгтэй. Хэрэв та системээ шинээр ачаалахдаа давхар суусан өөр үйлдлийн систем рүү орвол тухайн үйлдлийн системдээ тохируулж CR болон LF тэмдэгтийн хөрвүүлэх тохиргоог дахин хийх хэрэг гарч магадгүй юм. FreeBSD-н цуваа холболтын таниулагч програм нь автоматаар LF тэмдэгтийг CR+LF тэмдэгт рүү хувиргадаг. Мэдээж энэ нь зөвхөн цуваа холболтоор холбогдсон хэвлэгч дээр ажиллана. Энэ шинж чанарыг идэвхжүүлэхийн тулд ms# хэрэгслийг ашиглан onlcr горимыг хэвлэгчийн /etc/printcap файл дотор оруулж өгөх хэрэгтэй. Хэвлэгчийн алгасаж болдог escape code тэмдэгт илгээж хэвлэгчийг LF тэмдэгт илгээгдсэн гэж ойлгуулж болох юм. Хэвлэгчийн гарын авлагаас ийм тэмдэгт дэмждэг эсэхийг харах хэрэгтэй. Хэрэв та тохирох тийм тэмдэгт олсон бол текст шүүгч програмыг өөрчилж эхлээд тэр тэмдэгтийг илгээгээд дараа нь хэвлэх зүйлсийг илгээхээр засах хэрэгтэй. PCL Энд 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 дээр хэрэглэхээр тааруулах хэрэгтэй. Хэрэв хэвлэгч нь carrier урсгал зохицуулагч дэмждэг бол 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 файлыг анхдагч гэж авч үзнэ.