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
Sysinstall-г жолоодох нь
Та sysinstall-н хялбар ашиглаж болох
цэснүүдийн тусламжтайгаар шинэ дискийг хуваан хаяглаж болох юм.
root хэрэгчээр нэвтрэх буюу эсвэл
su тушаалыг ашиглаарай.
sysinstall-г ажиллуулж
Configure цэс уруу орно.
FreeBSD Configuration Menu дотор
доош шилжиж Fdisk тохируулгыг
сонгоно.
fdisk хуваалт засварлагч
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 диск байвал da-г
ad гэж солиорой.
Зориулагдсан
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 дээгүүр ашиглах
бас боломжтой байдаг.
ssh-ээр dump-г ашиглах нь
&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 орчны хувьсагчийг
тохируулан ашиглаж болно:
ssh-ээр RSH тохируулан dump-г
ашиглах нь
&prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usr
tar
нөөцлөх програм хангамж
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 тушаалыг
ашиглах хэрэгтэй.
cpio
нөөцлөх програм хангамж
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) юм.
pax
нөөцлөх програм хангамж
pax
pax
POSIX
IEEE
&man.pax.1; нь tar болон cpio
тушаалын IEEE/&posix;-ийн хариулт юм. Жил ирэх тутам tar болон
cpio тушаалуудын төрөл бүрийн хувилбарууд нь хоорондоо мэдэгдэхүйц
нийцгүй болж ирсэн юм. Тэдгээртэй тэмцэж бүр мөсөн стандартчилахын оронд
&posix; нь архивын шинэ хэрэгсэл үүсгэсэн юм. pax нь
өөрийн шинэ хэлбэршүүлэлтээс гадна cpio болон tar
тушаалуудын төрөл бүрийн хэлбэршүүлэлтийн ихэнхийг уншиж бичихийг оролддог.
Энэ тушаалын олонлог нь tar тушаалынхтай биш харин
cpio тушаалынхтай илүү төстэй байдаг.
Amanda
нөөцлөх програм хангамж
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 дүрсийг
холбох явдал юм.
Байгаа файлын системийн дүрсийг холбохдоо:
mdconfig ашиглан байгаа файлын системийн дүрсийг холбох нь
&prompt.root; mdconfig -a -t vnode -f diskimage -u 0
&prompt.root; mount /dev/md0 /mnt
&man.mdconfig.8; ашиглан шинэ файлын системийн дүрсийг үүсгэхдээ:
mdconfig тушаал ашиглан шинэ файл дээр тулгуурласан диск үүсгэх нь
&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; ашиглан түүнийг холбодог. Жишээ нь
хэрэв та дээрхтэй ижил файлын системийн дүрсийг үүсгэж холбохыг
хүсвэл ердөө л дараах тушаалыг бичээрэй:
mdmfs тушаал ашиглан файл дээр тулгуурласан дискийг тохируулж холбох нь
&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 дээр тулгуурласан
санах ойн дискнүүдийг, ялангуяа том хэмжээтэйг нь ашиглах нь цөм санах ойгүй
болох тохиолдолд системийг сүйрэлд хүргэж болох юм.
mdconfig тушаал ашиглан шинэ санах ой
дээр тулгуурласан диск үүсгэх нь
&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
mdmfs тушаал ашиглан шинэ санах ой
дээр тулгуурласан диск үүсгэх нь
&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
нь бүх файлын системүүдийг харагдаж мэдэгдэхгүйгээр шифрлэдэг. Хатуу дискний
хавтгайд цэвэр текст хэзээ ч бичигддэггүй.
gbde-ээр диск шифрлэх
root болно
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; дэд системийг
ашигладаггүйг анхаараарай, та gbde-г
vinum эзлэхүүнүүдтэй ашиглаж
болохгүй.
Даниэл
Гэрзо
Хувь нэмэр болгон оруулсан
geli-ээр диск шифрлэх нь
Шинэ криптограф 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 болон
түүнээс дээшхи хувилбарыг хэрэглэж байх ёстой. Цөмд өөрчлөлтүүд шаардлагатай учраас
супер хэрэглэгчийн эрхүүд хэрэгтэй болно.
Цөмд geli дэмжлэгийг
нэмэх нь
Дараах мөрийг цөмийн тохиргооны файлд нэмнэ:
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;-ийг хэрэглэх тухай дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас
олж болно.
geli rc.d скриптийг ашиглах нь
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
гэж хоёр хувьсагчийг хослуулан хэрэглэж бас болно
(танд зөвхөн ерөнхий ойлголт өгөх зорилгоор урт мөрийг товчилж харуулсан
билээ).
Мөн та уг хувьсагчдыг өөрийнхөө орчны хувьсагч болгож
зарлаж болно. Тухайн бүрхүүлийнхээ орчны тухай зааврыг эхлээд
уншиж танилцах нь зүйтэй.
imake-г хэрэглэх
Зарим порт 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
/usr/ports/UPDATING
Портыг шинэчлэхээсээ өмнө портын цуглуулгаа шинэчлээд
/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;
файлыг илгээсний дараа шаардлагатай файлын төгсгөл
товчлуурыг дарах хэрэгтэй.
Та ямар нэгэн зүйл хэвлэгдэхийг харах ёстой. Текст зөв харагдахгүй
байвал санаа зовсны хэрэггүй; бид иймэрхүү зүйлсийг
сүүлд нь засах болно.
Түр хадгалагчийг идэвхжүүлэх нь: /etc/printcap
файл
Энэ үед таны хэвлэгч залгагдаж таны цөм түүнтэй холбогдохоор
тохируулагдсан (хэрэв шаардлагатай бол) бөгөөд та хэвлэгч уруугаа зарим
энгийн өгөгдлийг илгээж чаддаг байна. Одоо бид таны хэвлэгч уруу хандах
хандалтыг хянахын тулд 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-уудтай байна.
Түр хадгалах санг үүсгэх нь
хэвлэгчийн түр хадгалалт
хэвлэх ажлууд
Түр хадгалагчийн энгийн тохиргоон дахь дараагийн алхам нь хэвлэгдэх
ажлууд хэвлэгдэх хүртлээ байдаг, түр хадгалагчийн бусад дэмжлэгийн
файлууд бас байдаг түр хадгалах санг
үүсгэх явдал юм.
Түр хадгалах сангийн хувьсамтгайгаас болоод эдгээр сангуудыг
/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
сангаас олж болно.
LPD-г идэвхжүүлэх
&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
Төгсгөлд нь та шүүлтүүрийн LPD-д
if боломжийн тусламжтай мэдэгдэх хэрэгтэй:
: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-аар тохируулж бас болно.
lpf: Текст шүүлтүүр
FreeBSD хоёртын түгээлттэй цуг ирдэг /usr/libexec/lpr/lpf
програм нь гаралтад (lpr -i тушаалаар илгээгдсэн ажил) догол гаргах,
үсгэн тэмдэгтүүдийг дамжуулахыг зөвшөөрөх (lpr -l тушаалаар
илгээгдсэн ажил), ажил дахь устгах тэмдэгтүүд болон tab-уудад зориулж хэвлэх байрлалыг
тааруулах болон хэвлэсэн хуудаснуудыг бүртгэж чаддаг текст шүүлтүүр (оролтын шүүлтүүр) юм.
Энэ нь бас гаралтын шүүлтүүр шиг ажиллаж чаддаг.
lpf нь олон хэвлэх орчнуудад тохирдог. Хэдийгээр
энэ нь хэвлэгч уруу эхлүүлэх дарааллуудыг илгээх боломжгүй боловч хэрэгтэй эхлүүлэлтийг
хийж lpf-г ажиллуулах бүрхүүлийн скрипт бичихийг хялбар
болгодог.
хуудас бүртгэл
бүртгэл
хэвлэгч
Хуудсын бүртгэлийг lpf-ээр зөв хийлгэхийн тулд
/etc/printcap файл дахь
pw болон pl боломжуудад
зөв утгуудыг оруулах хэрэгтэй. Хуудсанд хичнээн текст багтах болон хэрэглэгчийн
ажилд хичнээн хуудас байгааг тодорхойлохын тулд энэ нь эдгээр утгуудыг ашигладаг.
Хэвлэгчийн бүртгэлийн тухай дэлгэрэнгүй мэдээллийг Хэвлэгчийн хэрэглээг бүртгэх нь
хэсгээс үзнэ үү.
Сүлжээгээр хэвлэх
хэвлэгчид
сүлжээ
сүлжээгээр хэвлэх
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 зэрэг
компьютераас хэвлэх хүсэлт хүлээж авч болно гэсэн үг.
Хэрэв эдгээрээс өөр компьютерууд rose-н
LPD руу хандахыг хүсвэл
тэр хүсэлт нь татгалзагдах болно.
Хэмжээгээр нь хязгаарлах
Түр хадгалагч санд байрлаж болох файлуудын хэмжээ нь хэд
хүртэл байж болохыг хянаж болдог.
Дотоод хэвлэгчид зориулсан
түр хадгалах сан дотор 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 файлыг анхдагч гэж авч үзнэ.