325 110 20MB
Russian Pages 716 Year 2003
1.
: FreeBSD................................................................. 31
1. 2. 3.
FreeBSD................................................................................. 32 FreeBSD ................................................................................... 41 ...................................................................... 71
2.
FreeBSD .............................................................. 81
4. 5. 6. 7. 8.
FreeBSD..............................................................82 Gnome.................................................................................94 Gnome.......................................................................... 101 ........................................................................ 113 ................................................... 140
3.
FreeBSD................................................... 164
9. 10. 11. 12. 13.
FreeBSD .................................................................... 165 .................................................. 187 ..................................... 206 ................................................ 221
14.
,
................................................................................................. 238 , ............................................ 271
15. .......................................................................................................284 .................................................................................................... 304 ....................................................................... 327 FreeBSD.............................................................................337 ..............................................354 FreeBSD........................................ 368
16. 17. 18. 19. 20. 21. Perl...........................................................................................................390
4. FreeBSD 22. 23. 24. 25.
.......................................................... 411 ................................................................412 .......................................................436 .........................................451 E-mal ………………………………………….…463
6 26. 27. 28. 29. 30. 31. 32.
WebFTP-
....................................................489 ....................................................516 Internet.................................................527 ......................................................................................542 ...................................................................580 (NFS) ...................................................599 Microsoft Windows ................................................................ 610 DHCP............................................................................... 626
.
5. X-Window..........................................................................................637 34. X-Window .................................................................................... 638 6.
......................................................................................671 . ...................................................................... 672 ............................ 677
. . ..................................................................................................... 698 . ...................................................... 704 .................................................................................... 711
...................................................................................................................... 25 ............................................................................................. 25 ................................................................................................................... 26 ................................................................................................................ 26 ...................................................................................................................27 ............................................................................................... 29 CD-ROM................................................................................................... 30
1. 1.
: FreeBSD.................................................... 31
FreeBSD.............................................................................. 32 FreeBSD................................................................................................. 33 FreeBSD? ..................................................................... 33 FreeBSD — ........................................................................ 34 FreeBSD UNIX............................................................................... 35 BSD ........................................................................................... 35 BSD Intel x86.................................................................................... 36 FreeBSD .................................................................................................... 36 UNIX ..........................................................................................................36 FreeBSD.................................................................................................38 Windows 2000 FreeBSD ......................................................................................... 38 Linux FreeBSD ........................................................................................................ 39 FreeBSD..........................................................................................................40 2. FreeBSD ............................................................................... 41 ................................................................................................42 ........................................................................................42 DOS Windows................................................ 43 FreeBSDUNIX... 44 ................................................................................................................... 44 Sysinstall ..................................................................................45 Sysinstall .................................................................................................46 .........................................................46 ............................................................................................46 ....................................................................................48 Disk Label Editor .......................................................................................................49 ..................................................51 .........................................................................53 root..................................................................................................................53 swap................................................................................................................54 ...................................................................................55 SoftUpdates ..............................................................................................55 ...................................................................................................56 …………………………………………………………..56
8 .............................................................................................. 57 ................................................................................................... 57 ............................................................................................................. 59 ............................................................................................... 60 Linux ..................................................................................................... 60 ................................................................................................ 60 ................................................................................................. 61 ............................................................................. 66 ............................................................ 66 .................................................................................................. 67 root ....................................................................................................... 69 Sysinstall .............................................. 69 FreeBSD ....................................................................................................... 70 FreeBSD.............................................................................................. 70
3.
Boot-
..................................................................71 .................................................................................................. 72 FreeBSD FIPS......................................................... 73 Scandisk .................................................. 73 FIPS ................................................... 73 FIPS .................................................................................................................. 74 ............................. 75 FreeBSD DOS, Windows 95/98/Me ............................ 76 FreeBSD Linux.............................................................. 76 FreeBSD ................................................................................................76 FreeBSD LILO............................................................................................ 77 ........................................................................... 77 FreeBSD o FTP ...................................................................................... 78 NFS .....................................................................................................80
2. 4.
FreeBSD ................................................. 81
FreeBSD........................................................ 82 FreeBSD .............................................................................................83 BIOS ................................................................................................................................83 POST........................................................................................................................... 83 .........................................................................................................83 boot O .................................................................................................................83 boot l .................................................................................................................84 boot 2 .................................................................................................................84 boot 3.................................................................................................................84 .................................................................................................................................84 init.....................................................................................................................86 ..............................................................86 ..........................................................................86 getty Login ........................................................................................87 FreeBSD .............................................................................................................87 X-Window ...........................................................................................88
9 Gnome.................................................................................................... 88 X-Window ............................................................................................. 90 FreeBSD ...............................................................................................................90 FreeBSD ...............................................................................................................91 shutdown ..........................................................................................................91 halt reboot ............................................................93
5.
Gnome............................................................................. 94
Gnome ....................................................................................................................................95 .........................................................................................................................96 Gnome .......................................................................................................................96 .................................................................................................................. 97 .................................................................................................................. 97 ..................................................................................................98 Toggle .............................................................................................................................. 99 In Group...............................................................................................................99 Depth ...................................................................................................................99 ........................................................................................99
6.
Gnome ...................................................................... 101 ....................................................... 102 .......................... 102 Gnome ................................................................................................ 103 Gnome ................................................................ 103 Start................................................................................................. 104 Gnome ............................................................................ 105 ......................................................................................... 105 Gnome File Manager ................................................................ 106 File Display ................................................................................................... 106 Caching .......................................................................................................... 107 Desktop .......................................................................................................... 107 Gnome Control Center ....................................................................................... 108 ................................................................................. 108 ............................................................................................................ 109 .......................................................................................... 109 Sawfish .......................................................... 112
7.
.................................................................... 113
............................................................................................................... 114 gedit.......................................................................................... 114 vi ................................................................................................................... 118 ..................................................................................................123 GIMP ........................................................................................................123 GQview .......................................................................................................................... 126 StarOffice ............................................................................................................................127 StarOffice..............................................................................................127 WebStarOffice ....................................................................... 128 StarOffice…………………………………………………128
10 StarOffice Explorer ................................................................................................. 129 StarOffice ................................................................... 130 ............................................................................................................... 130 FreeBSD ............................................................................................................. 130 .................................................................................. 131 ................................................................................................................... 131 XMMS ............................................... 133 mpg123 ............................................. 133 X-Window ....................................................................... 134 ................................................................................................... 134 Netscape ........................................................... 134 Lynx.................................................................................................... 135 FTP .......................................................................................................................... 135 ...........................................................................137 8. ............................................. 140 ........................................................ 141 ...........................................................141 Bourne (sh) .................................................................141 (csh) .......................................................................142 Korn (ksh pdksh) ............................................... 142 Bourne Again Shell (bash) ..........................................143 Tcsh (tcsh) ................................................................143 ?.............................................................................143 ......................................................................................... 143 .......................................................................................................144 ...............................................................144 ........................................................................................................145 ........................................................................... 145 ... 146 FreeBSD ....................................................................146 .......................................................................................................147 .................................................................................147 ....................................................................... 149 ............................................................................149 ..........................................................................149 ...........................................150 ................................................................................ 151 ................................................................................................ 151 touch ........................................................................................................ 152 .................................................................................................... 152 ........................................................................................... 154 ................................................................. 154 ........................................................................ 155 .......................................................... 156 ……………………………………. 157
11 ,
.................................................................... 157 : more less ..............................................157 ....................................................................................................... 158 ...................................................................................... 159 tr ...................................................................................... 159 ............................................................. 160 fmt ................................................................... 161 ............................................................. 161 ...................... 163
3.
FreeBSD .................................... 164
9.
FreeBSD................................................................ 165 FreeBSD........................................................................................ 166 .......................................................... 169 df ................................................................................................................... 169 du ................................................................................................................... 170 FreeBSD ................................. 171 mount ............................................................................................................ 171 umount........................................................................................................... 172
-
,
10.
............................................................................................... 173 Windows/MS-DOS.......................................... 174 Linux ................................................................. 175 CD-ROM ............................................................................................................ 176 .............................................................. 176 ........................................................... 177 ......................................................................................... 177 /etc/fstab ............................................................................................ 177 fsck ................................................................................................................ 179 ........................................ 181 fsck ........................................... 181 ................................................................................. 183 .............................................................. 184
,
.......................................... 187
................................................................................. 188 ? ...................................................................................................... 190 ............................................................................................................ 191 chown ........................... 192 chgrp ........................................................................................................ 193 ............................................................................. 193 ................................... 194 chmod ...................................................................................................... 195
12 .................................................................................... 197 ACL ......................................................... 197 ACL.......................... 197 ACL .......................................... 198 ..................................................... 198 ACL........................................................ 199 ACL.................................................................. 201 ACL ....................................................................................... 201 ACL............................................................................. 201 ......................................... 201 /etc/passwd /etc/master.passwd ............................................................ 203 /etc/group ...................................................................................................... 205 ............................................................................................ 205 11. ............................... 206 FreeBSD ................................................... 207 ? .............................................................. 210 ..................................................................... 210 /etc/defaults/rc.conf ..................................................................................... 212 /etc/re.conf .................................................................................................... 213 /usr/local/etc /usr/local/X11R6/etc ................................................... 214 ................... 215 inetd inetd.conf ........................................................... 216 (syslogd) syslog.conf......................................... 218 /etc/re.local ...................................................................................... 219 12. ....................................... 221 ?........................................................................ 222 ................................................................... 223 ............................................................... 224 /etc/shells ..................................................................................................... 225 .................................. 226 .................................................... 226 ....................................... 227 , .... 228 ..................................................................... 229 tcsh/csh: .cshrc, .login .logout................................................................ 230 bash: .profile, .shrc .bashjogout............................................................ 231 ......................................................... 233 tcsh ........................................................................................................ 233 bash ....................................................................................................... 235 ............................... 236 .................................................................................................. 236 ............................................................. 237 13. .................................................................................................... 238 ..................................................... 240
13 printf ........................................................................................................................ 241 .................................................................................................................. 242 ........................................................................ 243 ................................................................................................. 243 ............................................................................... 244 ........................................................... 245 ............................................................................................... 246 ..................................................................... 246 ........................................................................................................................... 248 while ............................................................................................................... 249 until ............................................................................................................... 250 AND/OR while until ...................................... 250 for................................................................................................................... 251 shift .......................................................................................................................... 252 true false............................................................................................253 ....................................................................................................... 253 .................................................................................................... 254 if ...........................................................................................................254 case..........................................................................................................258 AND/OR ......................................................................... 259 ............................................................................................................260 ...................................................................................261 ........................................................................262 .......................................................................................................................263 ..............................................................................................263 .......................................................264 r n.....................................................265 r n .....................................................266 ............................ ............................................................266 ..................................................................................................................267 ...............................................................................................270 getopts ............................................................................................270 14. , ..........................................271 . top .......................................................272 top.......................................................................................................273 . ps..........................................................................275 ps .................................................................................................276 .......................................................................277 kill ............................................................................................................277 kill................................................................................................278 ........................................................................278 ............................................................................................. 279 r n ....................................................................................................................279 crontab ........................................................................................280 crontab..........................................................281
14 r n
at.................................................282 at ................................................................283
15. .......................................................................................................... 284
Web-
FreeBSD ................................................................................................................ 285 ..................................................................286 .........................................287 .............................................................................................................289 sysinstall................................................................................289 pkg_add ..............................................................................291 ..............................................................................................................293 ..........................................................................................................293 ..............................................................................................................293 FreeBSD ...................................................................................................294 FreeBSD ...........................................................................................296 ..........................................................................................................297 ..............................................................................298 ..............................................................................................................298 ? ........................................................................299 .............................................................................300 , ........................................................................................................ 301 , ................................. 301 Fresh Ports........................................................................................................ 302
16.
................................................................................................. 304
Ipd ........................................................................................................................... 305 ........................................................................................................... 305 , .................................... 306 ................................................ 306 .................................................................................................. 307 ............................................................................................................................. 307 ..................................................................................................... 307 PostScript He-PostScript...................... 310 Ipf....................................................................................................... 311 ................................................................................................ 311 /etc/printcap ................................................................................... 312 ...................................................................... 313 Ipd................................................................................................................... 314 .......................................................................................... 314 X-Window ........................................................................................................ 315 StarOffice............................................................................................................ 316 .............................................................................. 317 ......................................................................................... 317 .................................................................................................... 319 Ipc ................................................................ 319
15 ................................................................................................. 319 ........................................................................... 319 Ipc ................................ 323 Ipc .................................................................................... 324 .............................................................................................. 324 .......................................................................................................... 324 , ............................... 324 , ................................. 324 Web................................................................................................................ 324 .................................................................................. 325 " "................................................................................ 325 , ................................................................................................................. 326
17.
................................................................ 327
....................................................................................................................... 328 ? ............................................................. 329 dmesg ............................ 330 .................................................................................. 331 GENERIC ..................................................................... 332 .............................................................. 333 LINT .............................................................................................................. 333 .................................................................. 334 ................................................................................... 335 /dev .......................................................... 335 ........................................................................................ 336
18.
,
FreeBSD....................................................................... 337 FreeBSD ..................................................................... 338 STABLE CURRENT.................................. 338 ......................................................................................... 339 make world?................................................................................................. 340 .................................... 341 ....................................................... 343
STABLE, CURRENT RELEASE................................................................. 343 UPDATING .................................................................................345 /etc/group /etc/passwd .............................................................................................. 345 /etc/make.conf .....................................346 ........................................................................347 /usr/obj .....................................................................................347 log.......................................................................................347 make buildworld.......................................................................................................348 .....................................................................................................349 make installworld ............................................. .. 350
16 mergemaster ........................................................................................351 ......................................................................353
19.
.......................................... 354
IDE/ATA ..............................................................................................355 PIO ..................................................................................................................355 DMA .............................................................................................................. 356 Ultra DMA ....................................................................................................... 356 SCSI .......................................................................................................................357 ..............................................................................................359 LBA 528 .................................................................................... 360 Extended INT13 8.4 ................................................................ 360 .............................................................................................. 361 ........................................................................ 361 BIOS (Slices) ................................................................................................ 361 BSD ................................................................................................................ 361 (fdisk) sysinstall................................................... 363 ............................................................................................... 364 FreeBSD ........................................................................... 364 ........................................................................................... 365 .................................................. 366 ...................................................... 367
20.
"
21. Perl
FreeBSD.................................368 FreeBSD .......................................................................................................... 369 Windows NT/2000 ................................................................................... 370 " " " ............................................................................. 378 ........................................................................ 380 ........................................................................................................... 381 Soft Updates ........................................................... 381 ..... .................................................................................... 382 sysctl .................................................................... 383 ........................................................................... 383 : .................................................................... 384 ....................................................................................... 384 .......................................................................................................... 384 ............................................................................................................ 386 ..................................................................................................... 387
Perl......................... 390
Perl?................................................................................................................... 391 FreeBSD.................................................................................................................. 391 Perl ................................................................................................ 392 Perl ...................................................................................................393 Perl ............................................................................. 393 ......................................................................................... 394 , ........................................................ 395
17 ....................................................... .......................................397 ............................................................................. 399 Perl ................................................................................400 Perl .............................................................................400 ....................................................................................................400 ....................................................................................................404 ..................................................................................................................406 Perl.............................................................................................................407 , Perl .........................................................................409 Web...............................................................................................................409 .......................................................................................................................409 CPAN .......................................................................................................................410
4. FreeBSD 22.
................................................ 411
............................................................412 ............................................................................................................413 ...........................................................................................................414 ....................................................................................................417 ......................................................................................................................417 .................................................................................................................. 419 ..........................................................................................................420 ......................................................................................................................422 ....................................................................................................422 ......................................................................................................423 TCP: Transmission Control Protocol........................................................................423 UDP: User Datagram Protocol..................................................................................424 ICMP: Internet Control Message Protocol ...............................................................425 TCP/IP ...........................................................................................................................425 IP.......................................................................................................................426 ARP .................................................................................................428 r .............................................................................................................429 ............................................................................................430 ............................................................................................................431 (Gateways and Network Address Translation) ...........................................................................................433 ..............................................................................................434 DHCP ........................................................................ :...................................................435 23. ................................................. 436 ............................................................................437 sysinstall ..........................................438 ...................................................................441 ifconfig .......................................................................................... 441 route ........................................................................443 (hostname) ..............................................................................................444 /etc/re.conf.............................................................. 445 /etc/netstart .............................................................................................. 445
18 IP-
.............................................................................................447 IP/etc/hosts........................................................448 ping .................................................................................................................448 DNS /etc/resolv.conf ....................................................................449 .............................................................................450
24.
................................. 451 -
.......................................................................................452 ................................................................ 452 user ..................................................................................453 kernel .....................................................................................453 /etc/resolv.conf ........................................................................................................453 /etc/ppp/options ........................................................................................... 453 chat .................................................................................... 454 pppd................................................................................................ 455 PAP.............................................................................. 455 pap-secrets and chap-secrets .................................................................................... 456 ........................................ 456 ...................................................................... 457 ................................................................................................. 457 /etc/ppp/ppp.conf ....................................................................................... 458 ................................................................................ 460 user ........................................................... 460 ...................................... 460 .............................. 461 .......................................................................................................... 461 ................................................................................................... 462 , kernel
25.
E-mail................................................................ 463
SMTP ...........................................................................................464 ( ) (MUA) ............ ............................................................................................465 ( )...........................................466 (MUA) .........................467 Sendmail..........................................................................468 Sendmail.......................................................................468 ......................................................................................468 DNS.......................................................................472 Sendmail ............................................................................472 Mail Relay......................................................................................................................474 POP3 ............................................................................................................476 qpopper ..............................................................................477 qpopper...........................................................477 (Standalone Mode) ...............................................478 (Server Mode)...............................................................479 SSL ............................................................................479 IMAPIMAP-UW.........................................................................481
19 ...................…………………….…..483 Fetchmail IMAP................................................................................................. 483 Sendmail ......................................... 486 ............................................................................. 487 Postfix ...................................................................................................................... 487 Qmail........................................................................................................................ 487 Exim ......................................................................................................................... 487 Smail ........................................................................................................................ 488 26. Web..................................................... 489 HTTP ........................................................................... 490 ............................................................................. 492 Apache ............................................................... 494 Apache ..................................................... 495 Apache ........................................................................... 496 httpd.conf....................................................................................... 496 .htaccess ......................................... 497 HTTP .................................................................................499 ......................................................................... 500 ................................................................................... 501 .................................................................................502 ................................................................... 504 .................................................................................................. 505 Apache .............................................................................................. 507 ................................................................................................ 507 ..................................................................... 507 ..................................................................................................507 ...............................................................................................509 CGI...................................................................................................................511 CGI Apache ....................................................................................... 511 CGI.....................................................................................513 27. FTP....................................................516 FTP ................................................................................................517 FTP ................................................................................519 FTP................................................520 FTP...............................................................................................520 FTP..........................................................................................522 /etc/ftpusers...................................................................................................523 /etc/shells .....................................................................................................523 /var/run/nologin ............................................................................................523 FTP.....................................................................524 ..................................................................................................525 FTP............................................................525 WU-FTPD ................................................................................................................526 ProFTPD ...................................................................................................................526
20
28.
Internet................................................ 527 ? ..............................................................................................528 ?...........................................................................................................530 NAT? ............................................................................................................530 NAT FreeBSD ............................................................530 . .......................................................................531 NAT.................................................................................................................532 ................................. 532
Internet
..........................................................................532 natd .........................................................533 ....................................................... 533 .............................. 534 Windows 95/98 ........................................................ 534 Mac OS Mac OS X................................................ 535 FreeBSD.................................................................... 536 Linux ......................................................................... 537 Internet ................................................ 538 ............................................................. 538 ...................................................................................... 540
(DMZ) ............................................................................................................. 541
29.
...................................................................................542
................................................................................................................ 543 ................................................................................................ 545 Crack.................... 545 .................................................................................................. 547 ............................................................................ 548 S/Key ........................................................ 549 Kerberos ........................................................................................................ 551 , ........................ 552 tcpdump ......................................... : ................................................................. 552 (OpenSSH) .......................................................... 554 ( IMAP) ................................................... 555 FTP........................................................................................................ 556 Apache.................................................................................................... 557 Apache-SSL .................................................................................................. 558 Apache mod_ssl........................................................................... 558 Web............................................................... 559 CGI............................................................................. 559 CGI CGIwrap ................................................................................................................... 560 (securelevel) .............................................. 561 ........................................................................................... 562
21 ....................................................................563 IPFW .......................................................................565 ....................................................................566 PortSentry ......................................................................................567 /etc/hosts.allow ....................................................................569 Tripwire .........................................................................570 , ......................................................................573 (DoS) ..............................................................................................574 ..........................575 ...................................................................................576 ....................................................................................................577 ................................................................577 man security .................................................577 ....................................................................................................578 FreeBSD......................................................................578 Web...........................................................................................................578 ....................................................................................................................... 579 30. .......................................................................580 BIND...........................................................................................581 ......................................................................581 .........................................................................................................................582 BIND....................................................................583 ................................................................................583 BIND " "...................................................................584 BIND (named.conf) ..................................................584 .........................................................586 ................................................587 .....................................................................................................588 DNS.....................................................................589 ....................................................................................................590 ..............................................................................................................591 SOA .............................................................................................................593 NS............................. ..................................................................................594 З ......................... , ............... 595 З CNAME ......................................... 595 З MX ............................................. 595 PTR .............................................................................................................596 DNS .............................................................596 localhost...............................................................................597 ....................................................597 31. (NFS) .....................................................599 NFS .................................................................................................................600 NFS .................................................................................602 NFS (nfsd)....................................................................................................603 NFS (mountd) .....................................................................603
22 NFS /
/etc/exports...................................................... 604 ..................................................................... 605 NFS............................................................................... 606 NFS (nfsiod)........................................................................ 606 ....................................................... 606 .............................................................................................. 607 (amd) ..............................................................608
32. Microsoft Windows......................................................................... 610 Samba ......................................................................................... 611 SMB/CIFS............................................................ 611 ................................................................................................................ 612 , ...................................................................... 613 Samba ....................................................... 614 smbd nmbd ............................................................................................ 615 smb.conf SWAT.......................................................................... 615 .................................................... 617 ......................................................................... 619 ............................................................................................. 619 Samba....................................................................... 622 Samba ................................................................................. 622 Samba ......................................................................... 623 Samba ....................................................................... 624 smbfs ............................................................................................. 624 33. DHCP ................................................................................ 626 DHCP..................................................................................... 627 IP.................................................................................................... 627 DHCP ...............................................................……….627 DHCP .................................... 629 DHCP ..................................................................................... 629 DHCP sysinstall ......................................... 629 DHCP ................................. 630 dhclient...................................................................................................... 631 /sbin/dhclient-script ............................................................................. 631 /etc/dhclient.conf .......................................................................................... 632 DHCP................................................................................................... 633 dhcpd......................................................................................... 634 dhcpconf .............................................................................................. 634
5. X-Window....................... ................................................637 34. X-Window..............................................................................................638 3.3.6 4.x.................................................................................. 639 SuperProbe........................................................................................... 639
23 X-Window xf86config ………………………………………………………………………...... 640 ................................................................................................... 641 ................................................................................................. 642 ............................................................................................. 643 .......................................................................................... 645 XF86Config ........................................................................................ 651 XF86Config ............................................................................... 651 "Modules".................................................................................................... 652 "Files".......................................................................................................... 652 "ServerFlags"............................................................................................... 653 "InputDevice" .............................................................................................. 655 "Monitor"..................................................................................................... 658 "Device"....................................................................................................... 658 "Screen" ....................................................................................................... 659 "Display" .............................................................................................. 660 "ServerLayOut" .......................................................................................... 660 X-Window ................................................................................. 661 .xinitrc ....................................................................... 662 ........................................................................................... 662 ................................................................... 663 ............................................. 664 ................................................................................................... 665 XF86Config .................................................................................. 665 .......................................................... 666 X-Window ......................................................... 667 xhost ................................................................ 667 ............................................................................. 669 ................................................. 669 xdm ................................................................................................................................ 669
6.
.....................................................................671
. ...................................................................................................................672 . ................................677 .................................................................................................678 ..................................................................................678 SCSI................................................................................678 CD-ROM.......................................................................................................679 ........................................................................................................ 680 USB......................................................................................................683 ..............................................................................................683 .............................................................................................683 , X-Window ...............................................684
24
. ...............................................................................................................698 ............................................................................. 699 ............................... 699 Probing Devices ( ) ............................................................................................................... 699 CD, , CD-ROM ................................................................... 699 .................................................. 699 Micron ................................................................. 700 3Com PCI Micron .................................... 700 SCSIHP Netserver ........................... 700 ATI Mach64 ..............................................700 , FreeBSD, .................. 700 , ............................... 701 FreeBSD Missing Operating System ( ) .................................. 701 FreeBSD "F?" ......................................................701 FreeBSD Read Error ( ) ................................................................................701 FreeBSD , Windows ....................702 FreeBSD , ........................................................................................702 FreeBSD Device Not Configured ( ) CD...........................702 Signal 11 .........................................703 top, ps ...........................................................................703 root ................................................................................703
. , Web-
Web-
Web-
........................................................ 704
FreeBSD ..........................................................705 .....................................................................................................................705 ........................................................................................................ 705 ............................ '. .............................................................................. 706 USENET, FreeBSD .................................. 708 IRC .................................................................................................................. 708 , BSD ................................................................ 708 .................................................................................................................... 709 USENET ........................................................................... 709 Internet.................................................................................................. 709 .................................................................................................................... 709 USENET ........................................................................... 710
........................................................................................711
(Michael Urban),
, FreeBSD, Linux
UNIX, — Center.
, , ,
Java,
Solaris. Lion Research
, , Web.
Perl . FreeBSD
, (Bryan Tiemann) -Caltech. -
,
.
,
,
,
. Macintosh,
(Tim Hicks) —
Solaris 8
AIX 4.1
FreeBSD, .
HomeSide Leading, Inc. UNIX. .
HP-UX 10.10 Sybase
Oracle.
11.00,
-
, .
,
,
,
,
, Research Center
Lion
. .Э
,
,
.
,
.
.
Sams Publishing, , — ,
,
,
-
. . FreeBSD.
-
. FreeBSD
FreeBSD
.
,
, ,
. Lion Research Center . ,
,
(www.lionresearch.org)
, ,
,
-
. ,
-
,
,
-
.
,
, -
, , TLK-L lionking.org
. . ,
,
.
,
,
?
, -
, IBM? ?
, Microsoft
Microsoft ,
? Linux?
,
2001
IBM
— . ,—
20 Internet
,
.
. Internet-
,
,
. Internet-
UNIX . Linux.
, .
Microsoft
Linux
.
, . ,
,
UNIX. ,
UNIX;
,
, UNIX,
,
Linux —
,
, . GPL, GNU General Public License, ,
, . ,
. GPL,
. .
, . ,
. .
,
GPL
:
, . GPL.
,
,
, . , . .
, .
.
, , . FreeBSD (Berkeley Software Design) — . , -
, , BSD,
28
,
,
BSD , GPL. Microsoft
. , Apple ( NeXTSTEP,
NeXT)
BSD Mac OS X. Linux, FreeBSD.
FreeBSD # ,
BSD
BSD-
,
,
FreeBSD
,
Linux .
15%
,
, FreeBSD
. . FreeBSD Linux. .
, . Linux : Linux —
Linux .
FreeBSD UNIX. "
-
-
"
, a FreeBSD — , -
. Linux, . . FreeBSD —
,
,
-
.
UNIX, UNIX Linux ?
,
, "
". UNIX, a ? ,
, Windows, Microsoft?
FreeBSD
. FreeBSD
1997
,
, Linux, a Hotmail ( Solaris, . ( 2000 Microsoft Hotmail Windows 2000, , FreeBSD ; Linux , RealPlayer StarOffice. .
FreeBSD ,
Linux.
FreeBSD
,
NetBSD, OpenBSD
.
2.2.2. Yahoo! Microsoft) , FreeBSD
-
.) . .
-
FreeBSD Mac OS X; FreeBSD
Linux, ,
Linux, ,
-
29
, Linux . FreeBSD,
, —
,
-
,
,
Microsoft.
Linux . FreeBSD .
-
GPL
,
BSD,
: OpenBSD
, , a NetBSD Intel x86,
(
PowerPC,
Sega Dreamcast). FreeBSD
; .
, Web-
,
Internet. FreeBSD ,
, ,
.
: ,
. , .
, ,
.
, ,
FreeBSD .
. , -
, ,
FreeBSD,
•
.
: : FreeBSD.
1.
FreeBSD.
•
2.
FreeBSD. ,
Gnome . •
3.
FreeBSD. , FreeBSD,
-
. •
4. FreeBSD
,
. .
• •
. -
5. X-Window. 6. . FreeBSD, ,
.
30 ,
, :
,
.
.
,
, .
, FreeBSD
.
, .
: 2.
,
,
,
,
.
,
.
3.
-
.
4. 5.
,
. .
↪
,
.
↪
,
,
.
CD-ROM 1
FreeBSD,
5.0
2
: • mkpasswd.pl — Linux • simpledemo.pl —
Perl, FreeBSD ( (
• sendcomments.cgi — • portsentry.sh — , • StarOffice 5.2 —
.
20); Perl,
-
21); CGIPostSentry (
FreeBSD. ,
.
Perl ( .
. 26); PortSentry 29); Sun Linux, , .
-
1
: FreeBSD
Fre BSD ► FreeBSD ► ►
1
FreeBSD
◀ ◀ ◀ ◀ ◀ ◀
FreeBSD FreeBSD? FreeBSD UNIX UNIX FreeBSD FreeBSD
1.
FreeBSD — x86 Alpha, PowerPC.
FreeBSD
UNIX.
33
Intel Spare FreeBSD, .
FreeBSD , .
,
FreeBSD, , FreeBSD — .
,
, FreeBSD ,
,
.
, FreeBSD .
. • ,
50
: Netcraft (www.netcraft.com),
47 WebFreeBSD.
FreeBSD. 1133 !
№1
, FreeBSD : Sony; Yahoo!; The Apache Project freesoftware.com — FTP. . , ,
•
•
,
-
. . •
. :
, Web-
,
FreeBSD
-
,
.
FreeBSD? FreeBSD
, . FreeBSD . FreeBSD
486
,
.
"
"
Warner Brothers
FreeBSD.
FreeBSD, ,
:
34
1.
: FreeBSD
•
. Samba (
.
32) -
, Windows. • Web-
, FreeBSD (Primary Domain Controller) , FreeBSD . , FreeBSD —
. WebInternet.
•
.
•
, DNS-
FreeBSD 486NAT. , DNS,
Windows. -
. ,
Internet
.
•
. SQL,
, .
,
FreeBSD
Oracle. . FreeBSD
•
,
-
. .
FreeBSD — ,
FreeBSD,
. WebHTML, , , Web-
•
.
-
: .
, .
WebWebCGI, . FreeBSD
,
, Web-
. • • ,
,
. FreeBSD Web. FreeBSD, . , ,
. -
. •
. FreeBSD
.
1.
FreeBSD
FreeBSD UNIX, UNIX, (
30 .
35
-
!)
-
FreeBSD UNIX UNIX (Ken Thompson) UNIX. UNIX
—
Bell Laboratories AT&T. (Dennis Ritchie) .
60-
AT&T Bell
Laboratories Multics. ,
. ,
,
. DEC PDP-7 .
1969 Research Center
Bell Labs
,
Computing Science .
UNIX. DEC PDP-7,
-
, UNIX DEC PDP-11.
: 1973 ,
UNIX
.
UNIX — . . ,
, , ,
, UNIX .
UNIX
.
BSD AT&T
( .
).
AT&T
UNIX
80%
. UNIX, Computer Systems Research Group. Bell Labs . (Bill Joy). UNIX. Berkeley Software Distribution, , , — vi shell).
, UNIX ,
, — ,
1975 -
BSD. (
36
1.
: FreeBSD
70-
: Advanced Research Project Agency
, UNIX
. ,
, .
,
, UNIX .
Sun Microsystem.
Sun BSD
, SunOS.
BSD
Intel x86 BSD
1991
.
BSD
Intel x86. 386/BSD. ,
BSD
86.
FreeBSD 1993 UNIX .
, .
-
NetBSD. . ,
NetBSD. -
FreeBSD. ,
.
FreeBSD — FreeBSD
, Intel x86.
UNIXUNIX
. ,
FreeBSD UNIX, : • http://www.bell-labs.com/history/unix/ — UNIX Bell Labs . • http://daemonz.org/bugs/history.ehtml — Berkeley Software Distribution. • http://www.freebsd.org/handbook/history.html — FreeBSD.
UNIX UNIX ?
,
. , UNIX .
30
, —
,
. ,
UNIX KISS (Keep It Simple, Stupid).
UNIX
, .
UNIX
-
BSD.
, :
1.
FreeBSD 37
, ,
.
-
,
UNIX.
: • • • •
,
(Doug Mcllory) 8).
(pipe)
(piping). " UNIX (
Bell Labs.
"
.
,
,
. ,
Doe,
John~505
Doe,
Jane~121
Bar,
Foo~501
, (~).
Some Any Some
(
e-mail),
. . :
[email protected] [email protected] Street~Anytown~NY
50
500
[email protected]
—
. Anytown, .
,
, ,
, .
:
awk 'BEGIN {FS="~"} $3 ↪ address.txt | sort |
== "Anytown" 1p
{print
"%s\t%s\n",$1,$6}'
adress.txt. ,
, (
Anytown. ),
(\t),
(\n). . ,
.
-
1 ,
,
. Bar, Doe,
:
Foo 505-123-4567 John 505-555-1212
, . ! :
, ,
38
1.
: FreeBSD
awk 'BEGIN {FS="~"} $3 = "Anytown" {printf "%s\n%s\n$s, $s $s\n\n",$l,$2,$3,$4,$5}' address.txt | 1p
: Doe, John 505 Some Street Anytown, NY 55555 Bar,
Foo
501 Some Street Anytown, NY 55555
UNIX (
FreeBSD)
,
"
"
. UNIX
.
FreeBSD FreeBSD Windows 2000
Windows 2000
-
Linux.
FreeBSD
Microsoft
, . Windows 2000
,
-
, .
, Windows 2000
,
, , Windows 2000
.
. "
" ,
(
:
)
, "
. FreeBSD
•
"
Windows 2000? . — . FreeBSD
Windows 2000 ; ,
-
. .
Windows 2000
, . • Windows 2000 .
FreeBSD
. , . .
•
—
FreeBSD
-
, FreeBSD, , .
Windows 2000,
. ,
. FreeBSD
-
1.
FreeBSD
39
, . FreeBSD
•
FreeBSD . -
. ,
FreeBSD , Windows, Macintosh ,
, .
, -
Windows 2000
,
Windows.
,
WindowsWindows. •
-
, . . -
,
.
,
,
,
,
.
Linux
FreeBSD Linux
.
.
-
Linux —
UNIX.
FreeBSD,
,
.
Jnux
.
FreeBSD
, .
Linux
,
FreeBSD
,
"FreeBSD,
, Linux.
,
Linux. •
FreeBSD
Linux
• FreeBSD . Linux. , , , Linux FreeBSD
FreeBSD Linux: Linux 30. FreeBSD . Linux . . , Slackware Linux BSD. Debian Linux — Sys V, a Red Hat Sys V, , Sys V. , Linux . , ; Linux — , , Linux, , , , Linux, . Linux. , , . , , . ,
40
1.
: FreeBSD
•
Linux. FreeBSD
. ,
Linux.
, ,
. FreeBSD
,
Linux FreeBSD,
. , ,
,
Linux.
:
, ,
.
FreeBSD FreeBSD
.
.
-
UNIX, . , -
. : Microsoft
. WebWindows 2000
, . "
".
2
FreeBSD
► ► ► Sysinstall ► ►
o Sysinstall
►
► ► ► Sysinstall ► FreeBSD ► FreeBSD
►
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
42
FreeBSD, .
:
,
,
-
.
,
CD20
,
.
-
,
. ,
. ,
,
,
,
.
, (
,
3).
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ɍɛɟɞɢɬɟɫɶ ɜ ɬɨɦ, ɱɬɨ ɪɚɫɩɨɥɚɝɚɟɬɟ ɞɨɫɬɚɬɨɱɧɵɦ ɜɪɟɦɟɧɟɦ, ɱɬɨɛɵ ɫɩɨɤɨɣɧɨ ɢ ɧɟ ɬɨɪɨɩɹɫɶ ɜɵɩɨɥɧɢɬɶ ɜɫɟ ɧɟɨɛɯɨɞɢɦɵɟ ɨɩɟɪɚɰɢɢ.
ɋɈȼȿɌ ɋɟɣɱɚɫ ɫɚɦɨɟ ɜɪɟɦɹ ɩɪɨɫɦɨɬɪɟɬɶ ɩɪɢɥɨɠɟɧɢɟ Ȼ, ɝɞɟ ɞɚɧ ɫɩɢɫɨɤ ɨɛɨɪɭɞɨɜɚɧɢɹ, ɩɨɞɞɟɪɠɢɜɚɟɦɨɝɨ FreeBSD. He ɢɦɟɟɬ ɫɦɵɫɥɚ ɩɪɨɞɨɥɠɚɬɶ ɭɫɬɚɧɨɜɤɭ, ɟɫɥɢ ɨɛɧɚɪɭɠɢɬɫɹ, ɱɬɨ ɛɨɥɶɲɚɹ ɱɚɫɬɶ ɜɚɲɢɯ ɚɩɩɚɪɚɬɧɵɯ ɫɪɟɞɫɬɜ ɧɟ ɩɨɞɞɟɪɠɢɜɚɟɬɫɹ ɫɢɫɬɟɦɨɣ FreeBSD.
ɉɪɨɜɟɪɤɚ ɨɛɨɪɭɞɨɜɚɧɢɹ ,
,
,
.
,
: • •
,
. X-Window
;
. • •
, (serial, ps/2
,
IRQ bus) ,
•
.
. .
,
,
,
IRQ. •
: IP; IP-
DNS-
;
;
;
;
( . .
). -
, Microsoft Windows,
Control Panel.
ɋɨɡɞɚɧɢɟ ɡɚɝɪɭɡɨɱɧɵɯ ɞɢɫɤɟɬ CD-
FreeBSD, CD-
,
.
Ƚɥɚɜɚ 2. ɍɫɬɚɧɨɜɤɚ FreeBSD
FreeBSD
43
-
(
,
),
(boot disks). floppies CD-
. FTPreleases/5.0-RELEASE/floppies. msfroot.flp. Windows, FreeBSD/tools.
CDftp.freebsd.org.
, /pub/FreeBSD/ kern.flp DOS /pub/
fdimage.exe,
ȼɨɡɦɨɠɧɨ, ɜɵ ɫɦɨɠɟɬɟ ɛɵɫɬɪɟɟ ɡɚɝɪɭɡɢɬɶ ɧɭɠɧɵɟ ɮɚɣɥɵ ɫ ɨɞɧɨɝɨ ɢɡ ɡɟɪɤɚɥɶɧɵɯ ɫɟɪɜɟɪɨɜ ftp.freebsd.org. ȼ ɛɨɥɶɲɢɧɫɬɜɟ ɫɥɭɱɚɟɜ, ɡɚ ftp ɫɪɚɡɭ ɠɟ ɫɥɟɞɭɟɬ ɱɢɫɥɨ (ɧɚɩɪɢɦɟɪ, ftp1.freebsd.org ɢɥɢ ftp2.freebsd.org). ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɡɟɪɤɚɥ ɦɨɠɟɬ ɡɧɚɱɢɬɟɥɶɧɨ ɭɫɤɨɪɢɬɶ ɫɤɚɱɢɜɚɧɢɟ ɮɚɣɥɨɜ.
1,44
.
ɉɊɂɆȿɑȺɇɂȿ
Ɏɚɣɥɵ, ɫɨɞɟɪɠɚɳɢɟ ɢɦɢɞɠɢ ɡɚɝɪɭɡɨɱɧɵɯ ɞɢɫɤɨɜ ɧɟɥɶɡɹ ɩɪɨɫɬɨ ɫɤɨɩɢɪɨɜɚɬɶ ɧɚ ɝɢɛɤɢɣ ɞɢɫɤ. Ɉɧɢ ɞɨɥɠɧɵ ɛɵɬɶ ɡɚɩɢɫɚɧɵ ɫ ɢɫɩɨɥɶɡɨɜɚɧɢɟɦ ɫɩɟɰɢɚɥɶɧɵɯ ɦɟɬɨɞɨɜ, ɨɩɢɫɚɧɧɵɯ ɧɢɠɟ.
ɋɈȼȿɌ
ɉɨɥɶɡɭɣɬɟɫɶ ɧɨɜɵɦɢ ɞɢɫɤɚɦɢ ɞɥɹ ɫɨɡɞɚɧɢɹ ɡɚɝɪɭɡɨɱɧɵɯ ɞɢɫɤɟɬ, ɩɨɫɤɨɥɶɤɭ ɭɬɢɥɢɬɵ ɡɚɩɢɫɵɜɚɸɬ ɧɚ ɞɢɫɤɢ ɧɟɨɛɪɚɛɨɬɚɧɧɵɟ ɞɚɧɧɵɟ, ɧɟ ɩɪɢɧɢɦɚɹ ɜɨ ɜɧɢɦɚɧɢɟ ɢɯ ɮɨɪɦɚɬ. ȿɫɥɢ ɧɚ ɞɢɫɤɟ ɛɭɞɟɬ ɞɟɮɟɤɬɧɵɣ ɫɟɤɬɨɪ, ɩɪɢ ɭɫɬɚɧɨɜɤɟ ɫɢɫɬɟɦɵ ɷɬɨ ɦɨɠɟɬ ɜɵɡɜɚɬɶ ɩɪɚɤɬɢɱɟɫɤɢ ɧɟ ɪɟɲɚɟɦɵɟ ɩɪɨɛɥɟɦɵ.
ɋɨɡɞɚɧɢɟ ɡɚɝɪɭɡɨɱɧɵɯ ɞɢɫɤɟɬ ɜ DOS ɢɥɢ Windows Windows, DOS. DOS, DOS
CD-
,
Windows, , CD-
•
D:\TOOLS\FDIMAGE.EXE
•
D:\FLOPPIES\BOOT.FLP
•
D:\FLOPPIES\MFSROOT.FLP
,
D: —
.
:
CD-
DOS,
. . CD
CDfloppy-
.
CD-
.
DOS
CD-
( .
D:),
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
44
:\> cd d:\tools D:\TOOLS> fdimage \floppies\boot.flp a:
,
-
: D:\TOOLS> fdimage \floppies\msfroot.flp
:
CD, fdimage.exe, boot.flp ,
msfroot.flp temp
DOS
-
,
:
:\>cd temp :\ > fdimage boot.flp a:
: :\
> fdimage msfroot.flp a:
ɋɨɡɞɚɧɢɟ ɡɚɝɪɭɡɨɱɧɵɯ ɞɢɫɤɨɜ ɧɚ ɞɪɭɝɨɣ FreeBSD-ɢɥɢ UNIX-ɫɢɫɬɟɦɟ FreeBSDboot.flp
(
fdimage.exe
UNIXmsfroot.flp
, -
). UNIX-
.
dd
FreeBSD
: dd if=boot.flp of=/dev/rfdO
dd : dd if=msfroot.flp of=/dev/rfdO
,
, .
ɂɧɫɬɚɥɥɹɰɢɹ :
FreeBSD FreeBSD ,
, (
.
3).
CD.
-
,
,
, FTP
.
,
. CD-
CD-
.
-
,
,
: .
boot.ftp. , "
".
.
— ,
:
—
, .
-
Ƚɥɚɜɚ 2. ɍɫɬɚɧɨɜɤɚ FreeBSD
45
FreeBSD/1386 bootstrap loader, Revision 0.8 ([email protected], Mon Nov 20 11:41:23 ∣
Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds . . . _
я К
я я
я,
,
я
Enter. я
я
mfsroot UserConfig, Kernel Configuration Menu
щ я
я
Enter. :
Skip kernel configuration and continue with installation. Start kernel configuration in full screen Visual mode. Start kernel configuration in CLI mode. Here you have the chance to go into kernel configuration mode, making any changes which may be necessary to properly adjust the kernel to match your hardware configuration. If you are installing FreeBSD for the first time, select Visual Mode (press Down-Arrow then ENTER). I If you need to do more specialized kernel configuration and are an experienced FreeBSD user, select CLI mode. If you are certain that you do not need to configure your kernel then simply press ENTER or Q now.
Skip kernel configuration , ,
. ,
,
-
. -
UserConfig, .
ȼɜɟɞɟɧɢɟ ɜ ɩɪɨɝɪɚɦɦɭ Sysinstall , ,
Sysinstall. 2.1.
Ɋɢɫɭɧɨɤ 2.1
Sysinstall.
FreeBSD -
46
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
ɇɚɜɢɝɚɰɢɹ ɩɨ Sysinstall ,
Sysinstall, .
,
2.1.
2.1 ɋɬɪɟɥɤɚ ɜɜɟɪɯ
ɉɟɪɟɯɨɞ ɤ ɩɪɟɞɵɞɭɳɟɣ ɨɩɰɢɢ ɦɟɧɸ.
ɋɬɪɟɥɤɚ ɜɧɢɡ
ɉɟɪɟɯɨɞ ɤ ɫɥɟɞɭɸɳɟɣ ɨɩɰɢɢ ɦɟɧɸ.
ɋɬɪɟɥɤɢ ɜɥɟɜɨ/ɜɩɪɚɜɨ
ɉɟɪɟɤɥɸɱɟɧɢɟ ɦɟɠɞɭ ɜɚɪɢɚɧɬɚɦɢ ɜɵɛɨɪɚ, ɜɧɢɡɭ ɷɤɪɚɧɚ. Ɍɚɤ, ɜ ɨɫɧɨɜɧɨɦ ɦɟɧɸ ɤɥɚɜɢɲɢ ɜɥɟɜɨ ɢ ɜɩɪɚɜɨ ɩɟɪɟɤɥɸɱɚɸɬ
ɨɩɰɢɢ
Select ɢ Exit Install. Ʉɥɚɜɢɲɚ ɩɪɨɛɟɥ
ȼ ɦɟɧɸ, ɝɞɟ ɜɨɡɦɨɠɟɧ ɜɵɛɨɪ ɦɧɨɝɨɱɢɫɥɟɧɧɵɯ ɨɩɰɢɣ, ɩɪɨɛɟɥ ɢɧɨɝɞɚ ɫɥɭɠɢɬ ɞɥɹ ɜɵɛɨɪɚ ɬɟɤɭɳɟɣ ɨɩɰɢɢ.
Ʉɥɚɜɢɲɚ ɬɚɛɭɥɹɰɢɢ
Ɋɚɛɨɬɚɟɬ ɬɚɤ ɠɟ, ɤɚɤ ɢ ɤɭɪɫɨɪɧɵɟ ɤɥɚɜɢɲɢ ɜɥɟɜɨ/ɜɩɪɚɜɨ. ɂɫɩɨɥɶɡɭɟɬɫɹ ɞɥɹ ɩɟɪɟɯɨɞɚ ɦɟɠɞɭ ɩɨɥɹɦɢ, ɬɚɦ, ɝɞɟ ɧɟɨɛɯɨɞɢɦɨ ɜɜɨɞɢɬɶ ɢɧɮɨɪɦɚɰɢɸ.
, Sysinstall Standard DOS.
. -
. Enter , Enter
Usage. .
: •
, FreeBSD.
•
, ,
FreeBSD.
ɉɊȿȾɈɋɌȿɊȿɀȿɇɂȿ ɋɨɡɞɚɧɢɟ ɪɚɡɞɟɥɨɜ ɢ ɩɨɞɤɥɸɱɟɧɢɟ ɤɚɬɚɥɨɝɨɜ — ɷɬɨ ɨɞɧɚ ɢɡ ɬɟɯ ɨɛɥɚɫɬɟɣ, ɝɞɟ ɥɸɛɚɹ ɨɲɢɛɤɚ ɦɨɠɟɬ ɜɵɡɜɚɬɶ ɩɨɬɟɪɸ ɜɫɟɯ ɞɚɧɧɵɯ ɧɚ ɠɟɫɬɤɨɦ ɞɢɫɤɟ. ȿɫɥɢ ɧɚ ɠɟɫɬɤɨɦ ɞɢɫɤɟ ɯɪɚɧɢɬɫɹ ɰɟɧɧɚɹ ɢɧɮɨɪɦɚɰɢɹ, ɫɧɚɱɚɥɚ ɭɛɟɞɢɬɟɫɶ, ɱɬɨ ɫ ɧɟɟ ɫɞɟɥɚɧɚ ɪɟɡɟɪɜɧɚɹ ɤɨɩɢɹ. ȿɫɥɢ FreeBSD ɛɭɞɟɬ ɭɫɬɚɧɚɜɥɢɜɚɬɶɫɹ ɧɚ ɦɚɲɢɧɭ ɫ ɭɠɟ ɭɫɬɚɧɨɜɥɟɧɧɨɣ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɨɣ, ɩɪɟɞɜɚɪɢɬɟɥɶɧɨ ɩɪɨɱɬɢɬɟ ɝɥɚɜɭ 3.
ȼɵɛɨɪ ɠɟɫɬɤɢɯ ɞɢɫɤɨɜ , 2.2.
,
-
2.
FreeBSD
47
2.2 .
2.2
,
,
. 2.2
adO
-
.
IDEWindows
.
, DOS,
. a d1
-
.
, daO
,
, primary-
slave.
daO
SCSISCSI-
.
,
Windows
DOS,
da2
da3
. d a1
SCSI-
.
fd
ad2 , FreeBSD
ad3,
—
; ,
. . ,
.
,
,
FreeBSD.
-
, . , .
,
,
,
.
Enter
.
FreeBSD
, ,
, Boot-
.
, Boot-
. ,
. .
FreeBSD , Boot,
.
,
. FreeBSD, ɧɨɫɬɶ
-
ɭɫɬɚɧɨɜɢɬɶ
Boot-ɦɟɧɟɞɠɟɪ
, . ɧɚ
ɩɟɪɜɨɦ
ɞɢɫɤɟ.
ȿɫɥɢ
FreeBSD ɷɬɨɝɨ
ɧɟ
ɫɞɟɥɚɬɶ,
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
48
Boot-ɦɟɧɟɞɠɟɪ ɧɟ ɛɭɞɟɬ ɭɫɬɚɧɨɜɥɟɧ ɧɚ ɩɟɪɜɵɣ ɠɟɫɬɤɢɣ ɞɢɫɤ, ɢ ɩɨ ɨɤɨɧɱɚɧɢɢ ɩɪɨɰɟɫɫɚ ɭɫɬɚɧɨɜɤɢ ɜɵ ɧɟ ɫɦɨɠɟɬɟ ɡɚɝɪɭɡɢɬɶ ɫɢɫɬɟɦɭ FreeBSD.
Disk name:
:
adO
FDISK Partition Editor
DISK Geometry: 4336 cyls/146 heads/63 sectors = 39882528 sectors (19473MB) Offset 0
Size(ST)
End
39882528 39882527
Name
PType
adOs1
Desc 3
Subtype
freebsd
Flags
165
The following commands are supported (in upper or lower case): A = Use Entire Disk D = Delete Slice = Change Type
G = set Drive Geometry Z = Toggle Size Units
=Create Slice S = Set Bootable
U = Undo All Changes
Q = Finish
Use F1 or ? to get more help, arrow keys to select.
, .
ad0. . ,
, unused. .
2.3
ɉɊɂɆȿɑȺɇɂȿ Ƚɥɚɜɚ 19 ɩɨɫɜɹɳɟɧɚ ɬɨɧɤɨɫɬɹɦ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɠɟɫɬɤɢɯ ɞɢɫɤɨɜ ɢ ɞɚɟɬ ɨɩɪɟɞɟɥɟɧɢɹ ɬɟɪɦɢɧɨɜ, ɢɦɟɸɳɢɯ ɨɬɧɨɲɟɧɢɟ ɤ ɷɬɨɣ ɬɟɦɟ.
Ɍɚɛɥɢɰɚ 2.3 ɂɧɮɨɪɦɚɰɢɹ ɬɚɛɥɢɰɵ ɪɚɡɞɟɥɨɜ Offset
ɇɚɱɚɥɶɧɵɣ ɫɟɤɬɨɪ ɪɚɡɞɟɥɚ.
Size (ST)
Ɋɚɡɦɟɪ ɫɟɤɬɨɪɨɜ ɪɚɡɞɟɥɚ.
End_
ɉɨɫɥɟɞɧɢɣ ɫɟɤɬɨɪ ɪɚɡɞɟɥɚ.
Name
FreeBSD ɨɩɪɟɞɟɥɹɟɬ ɢɦɹ ɷɬɨɝɨ ɪɚɡɞɟɥɚ (ɟɫɥɢ ɨɧɨ ɢɡɜɟɫɬɧɨ).
Ptype
ɑɢɫɥɨ, ɭɤɚɡɵɜɚɸɳɟɟ ɬɢɩ ɪɚɡɞɟɥɚ.
Descr
Ɍɢɩ ɪɚɡɞɟɥɚ.
Subtype
Ȼɨɥɟɟ ɞɟɬɚɥɶɧɚɹ ɢɧɮɨɪɦɚɰɢɹ ɨ ɬɢɩɟ ɪɚɡɞɟɥɚ.
Flags
ȼ ɷɬɨɦ ɩɨɥɟ ɦɨɝɭɬ ɭɩɨɬɪɟɛɥɹɬɶɫɹ ɬɚɤɢɟ ɨɛɨɡɧɚɱɟɧɢɹ: =: — ɋɥɚɣɫ (slice) ɜɵɪɨɜɧɟɧ ɩɪɚɜɢɥɶɧɨ.
Ƚɥɚɜɚ 2. ɍɫɬɚɧɨɜɤɚ FreeBSD
49
>: —Ⱦɚɧɧɵɣ ɫɥɚɣɫ ɩɪɨɫɬɢɪɚɟɬɫɹ ɡɚ 1024-ɬɵɣ ɰɢɥɢɧɞɪ ɠɟɫɬɤɨɝɨ ɞɢɫɤɚ. ɗɬɨ ɩɨɥɨɠɟɧɢɟ ɛɭɞɟɬ ɪɚɫɫɦɨɬɪɟɧɨ ɩɨɡɞɧɟɟ ɩɪɢ ɫɨɡɞɚɧɢɢ ɷɬɢɤɟɬɨɤ ɞɢɫɤɚ ɜ ɜɢɞɟ ɪɚɡɞɟɥɨɜ boot, ɤɨɬɨɪɵɟ ɩɪɟɜɵɲɚɸɬ ɨɛɴɟɦ ɜ 1024 ɰɢɥɢɧɞɪɚ. ɗɬɨ ɱɪɟɜɚɬɨ ɩɨɜɪɟɠɞɟɧɢɹɦɢ ɧɟɤɨɬɨɪɵɯ ɫɢɫɬɟɦ (ɷɬɨ ɨɝɪɚɧɢɱɟɧɢɟ BIOS, ɧɟ ɨɝɪɚɧɢɱɟɧɢɟ FreeBSD). R: — Ⱦɚɧɧɵɣ ɫɥɚɣɫ ɫɨɞɟɪɠɢɬ ɮɚɣɥɨɜɭɸ ɫɢɫɬɟɦɭ root. ȼ: ---Ⱦɚɧɧɵɣ ɫɥɚɣɫ ɢɫɩɨɥɶɡɭɟɬ ɩɥɨɯɨ ɨɩɨɡɧɚɸɳɭɸ ɨɛɪɚɛɨɬɤɭ BAD144. ɋ: — Ⱦɚɧɧɵɣ ɫɥɚɣɫ ɹɜɥɹɟɬɫɹ ɪɚɡɞɟɥɨɦ FreeBSD. Ⱥ: — Ⱦɚɧɧɵɣ ɫɥɚɣɫ ɹɜɥɹɟɬɫɹ ɚɤɬɢɜɧɵɦ ɪɚɡɞɟɥɨɦ (ɞɚɧɧɚɹ ɱɚɫɬɶ ɡɚɝɪɭɠɚɟɦɚ).
ɋ Ɉȼ ȿɌ ɇɚɠɦɢɬɟ z ɞɥɹ ɩɟɪɟɤɥɸɱɟɧɢɹ ɦɟɠɞɭ ɟɞɢɧɢɰɚɦɢ ɢɡɦɟɪɟɧɢɹ (ɫɟɤɬɨɪɵ, ɤɢɥɨɛɚɣɬɵ ɢ ɦɟɝɚɛɚɣɬɵ).
FreeBSD
,
-
. ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ȼ ɩɪɟɞɵɞɭɳɢɯ ɜɟɪɫɢɹɯ FreeBSD ɫɭɳɟɫɬɜɨɜɚɥɚ ɨɩɰɢɹ ɩɨɞ ɧɚɡɜɚɧɢɟɦ dangerously dedicated (ɨɩɚɫɧɨɟ ɧɚɡɧɚɱɟɧɢɟ), ɤɨɬɨɪɚɹ ɢɫɩɨɥɶɡɨɜɚɥɚɫɶ ɞɥɹ ɪɟɲɟɧɢɹ ɩɪɨɛɥɟɦ ɫ ɨɩɪɟɞɟɥɟɧɢɟɦ ɝɟɨɦɟɬɪɢɢ ɞɢɫɤɚ ɧɚ ɫɬɚɪɵɯ ɫɢɫɬɟɦɚɯ. ɋɟɝɨɞɧɹ ɩɪɢ ɩɪɚɜɢɥɶɧɨɦ ɤɨɧɮɢɝɭɪɢɪɨɜɚɧɢɢ FreeBSD ɩɨɞɨɛɧɵɟ ɩɪɨɛɥɟɦɵ ɜɫɬɪɟɱɚɸɬɫɹ ɧɚɦɧɨɝɨ ɪɟɠɟ. ɗɬɚ ɨɩɰɢɹ ɩɨ-ɩɪɟɠɧɟɦɭ ɜɵɜɨɞɢɬɫɹ ɧɚ ɷɤɪɚɧ ɧɚɠɚɬɢɟɦ ɤɥɚɜɢɲɢ F. Ɉɞɧɚɤɨ, ɩɨɫɤɨɥɶɤɭ ɨɧɚ ɧɚɦɟɪɟɧɧɨ ɧɟ ɞɨɤɭɦɟɧɬɢɪɨɜɚɧɚ, ɩɨɥɶɡɨɜɚɬɶɫɹ ɟɸ ɧɟ ɪɟɤɨɦɟɧɞɭɟɬɫɹ.
Enter FreeBSD,
165,
, Q
Flags.
. ɉɊɂɆȿɑȺɇɂȿ ȼ ɨɬɥɢɱɢɟ ɨɬ Linux, ɜ ɫɢɫɬɟɦɟ FreeBSD ɧɚ ɨɞɧɨɦ ɞɢɫɤɟ ɨɛɵɱɧɨ ɧɟ ɫɨɡɞɚɟɬɫɹ ɧɟɫɤɨɥɶɤɨ ɪɚɡɞɟɥɨɜ. ɑɬɨɛɵ ɫɨɡɞɚɬɶ ɨɬɞɟɥɶɧɵɟ ɪɚɡɞɟɥɵ ɞɥɹ ɪɚɡɧɵɯ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ, ɢɫɩɨɥɶɡɭɣɬɟ Disk Label Editor.
,
-
BSD
fdisk
.
Disk Label Editor. .
Enter —
FreeBSD
( ,
,
,
.
Disk Label Editor , FreeBSD.
),
:
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
50
FreeBSD Disklabel Editor Disk: adl Disk: adO
Partition name: ad1s1 Partition name: adOs1
Part
Mount
----
-----
The = N = =
Free: 30033360 blocks (14664MB) Free: 39882528 blocks (19473MB)
Size Newfs ----
-----
Part
Mount
Size Newfs
----
-----
---- -----
following commands are valid here (upper or lower case): Create D = Delete M = Mount pt. Newfs Opts Q = Finish S = Toggle SoftUpdates Toggle Newfs U = Undo A = Auto Defaults
Use F1 or ? to get more help, arrow keys to select.
,
,
,
.
,
FreeBSD. A (Auto Defaults). FreeBSD
,
. ,
, /tmp
root (
).
-
Auto Defaults /var. , /var /tmp ,
,
-
. FreeBSD? :
root
.
swap.
-
—
root
. root
, .
FreeBSD —
. —
.
UNIX, .
,
, , ,
.
,
,
. , . . , — root. ,
,
Ƚɥɚɜɚ 2. ɍɫɬɚɧɨɜɤɚ FreeBSD
51
.
root . , . DoS).
root, -
,
(
,
,
.
,
.
,
. , ; Web. Syslogd
, , (
,
,
log-
,
) , . (
,
,
,
,
), ,
tmp. ,
,
. —
. .
,
-
. , .
,
, . :
root (/),
— — /var ,
swap,
— /var.
/usr
(/usr)
, /var,
, -
.
,
, ,
/usr.
ɉɊɂɆȿɑȺɇɂə FreeBSD ɢɦɟɟɬ ɜɨɡɦɨɠɧɨɫɬɶ ɢɫɩɨɥɶɡɨɜɚɬɶ ɛɨɥɶɲɟ ɩɚɦɹɬɢ, ɱɟɦ ɢɦɟɟɬɫɹ ɜ ɞɟɣɫɬɜɢɬɟɥɶɧɨɫɬɢ. ɗɬɚ ɜɨɡɦɨɠɧɨɫɬɶ ɧɚɡɵɜɚɟɬɫɹ . ɂɫɩɨɥɶɡɭɹ ɜɢɪɬɭɚɥɶɧɭɸ ɩɚɦɹɬɶ, FreeBSD ɩɟɪɟɦɟɳɚɟɬ ɧɟɢɫɩɨɥɶɡɭɟɦɵɟ ɜ ɞɚɧɧɵɣ ɦɨɦɟɧɬ ɫɬɪɚɧɢɱɤɢ ɩɚɦɹɬɢ ɢɡ ɪɟɚɥɶɧɨɣ ɩɚɦɹɬɢ ɧɚ ɠɟɫɬɤɢɣ ɞɢɫɤ. Ʉɨɝɞɚ ɩɟɪɟɦɟɳɟɧɧɚɹ ɢɡ ɞɢɫɤɚ ɫɬɪɚɧɢɰɚ ɩɚɦɹɬɢ ɩɨɬɪɟɛɭɟɬɫɹ ɜɧɨɜɶ, FreeBSD ɜɨɡɜɪɚɬɢɬ ɟɟ ɜ ɩɚɦɹɬɶ, ɚ ɧɟɧɭɠɧɵɟ ɜ ɞɚɧɧɵɣ ɦɨɦɟɧɬ ɞɚɧɧɵɟ ɢɡ ɩɚɦɹɬɢ ɩɟɪɟɦɟɫɬɢɬ ɧɚ ɞɢɫɤ. ɉɨɞɨɛɧɵɟ ɨɩɟɪɚɰɢɢ ɩɨɥɭɱɢɥɢ ɧɚɡɜɚɧɢɟ [swapping]. ɑɚɫɬɶ ɞɢɫɤɚ, ɡɚɩɨɥɧɟɧɧɚɹ ɫɬɪɚɧɢɰɚɦɢ ɩɚɦɹɬɢ, ɧɚɡɵɜɚɟɬɫɹ ɨɛɥɚɫɬɶɸ ɩɨɞɤɚɱɤɢ, ɢɥɢ ɪɚɡɞɟɥɨɦ swap. Ɉɛɥɚɫɬɶ ɩɨɞɤɚɱɤɢ ɞɚɟɬ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɟ ɜɨɡɦɨɠɧɨɫɬɶ ɨɩɟɪɢɪɨɜɚɬɶ ɛɨɥɶɲɢɦ ɨɛɴɟɦɨɦ ɈɁɍ, ɱɟɦ ɟɫɬɶ ɧɚ ɫɚɦɨɦ ɞɟɥɟ.
52
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
2.4,
FreeBSD . ,
,
; .
FreeBSD
9.
Ɍɚɛɥɢɰɚ 2.4 Ʉɚɬɚɥɨɝɢ FreeBSD ɢ ɢɯ ɧɚɡɧɚɱɟɧɢɟ. /
ɗɬɨ ɮɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ root. Ɉɧɚ ɢɦɟɟɬɫɹ ɧɚ ɜɫɟɯ ɦɚɲɢɧɚɯ UNIX. ɗɬɨ ɪɚɡɞɟɥ ɡɚɧɢɦɚɟɬ ɜɟɪɯɧɢɣ ɭɪɨɜɟɧɶ ɢɟɪɚɪɯɢɢ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ. ȼɫɟ ɨɫɬɚɥɶɧɵɟ ɮɚɣɥɨɜɵɟ ɫɢɫɬɟɦɵ ɭɫɬɚɧɚɜɥɢɜɚɸɬɫɹ ɤɚɤ ɩɨɞɱɢɧɟɧɧɵɟ root (ɞɚɠɟ ɟɫɥɢ ɨɧɢ ɪɚɡɧɵɯ ɞɢɫɤɚɯ, ɪɚɡɞɟɥɚɯ, ɞɚɠɟ ɧɚ ɪɚɡɧɵɯ ɤɨɦɩɶɸɬɟɪɚɯ). Ɂɞɟɫɶ ɧɚɯɨɞɢɬɫɹ ɹɞɪɨ ɜɨ ɜɫɟɯ ɜɟɪɫɢɹɯ FreeBSD ɞɨ ɜɟɪɫɢɢ 5.0. Ɏɚɣɥɨɜɨɣ ɫɢɫɬɟɦɟ root ɧɟɨɛɯɨɞɢɦɨ ɜɵɞɟɥɢɬɶ ɨɬɞɟɥɶɧɵɣ ɪɚɡɞɟɥ. Ɉɩɬɢɦɚɥɶɧɵɦ ɛɭɞɟɬ ɨɛɴɟɦ ɜ 100 Ɇɛ.
/boot
ȼɨ ɜɫɟɯ ɜɟɪɫɢɹɯ FreeBSD ɜɩɥɨɬɶ ɞɨ 5.0 ɢɦɟɥɫɹ ɤɚɬɚɥɨɝ, ɝɞɟ ɯɪɚɧɢɥɢɫɶ ɤɨɧɮɢɝɭɪɚɰɢɨɧɧɵɟ ɮɚɣɥɵ ɡɚɝɪɭɡɱɢɤɚ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ FreeBSD ɢ ɧɟɤɨɬɨɪɵɟ ɞɪɭɝɢɟ ɮɚɣɥɵ, ɧɟɨɛɯɨɞɢɦɵɟ ɞɥɹ ɡɚɩɭɫɤɚ ɫɢɫɬɟɦɵ. ɇɚɱɢɧɚɹ ɫ ɜɟɪɫɢɢ 5.0. ɹɞɪɨ ɢ ɪɹɞ ɞɪɭɝɢɯ ɮɚɣɥɨɜ, ɧɟɨɛɯɨɞɢɦɵɯ ɞɥɹ ɡɚɩɭɫɤɚ ɫɢɫɬɟɦɵ, ɬɚɤɠɟ ɪɚɫɩɨɥɚɝɚɸɬɫɹ ɜ ɷɬɨɦ ɤɚɬɚɥɨɝɟ. Ɍɟɩɟɪɶ ɪɚɡɞɟɥ root ɛɨɥɶɲɟ ɧɟ ɩɨɞɜɟɪɠɟɧ ɩɪɟɠɧɟɦɭ ɨɝɪɚɧɢɱɟɧɢɸ (ɦɚɤɫɢɦɭɦ 1024 ɰɢɥɢɧɞɪɚ), ɩɨɫɤɨɥɶɤɭ boot ɪɚɡɦɟɳɚɟɬɫɹ ɜ ɨɬɞɟɥɶɧɨɦ ɪɚɡɞɟɥɟ. (Ɉɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ, ɱɬɨ ɪɚɡɞɟɥ /boot ɞɨɥɠɟɧ ɩɨɥɧɨɫɬɶɸ ɭɦɟɳɚɬɶɫɹ ɜ ɩɟɪɜɵɟ 1024 ɰɢɥɢɧɞɪɚ.)
/usr
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ /usr ɫɨɞɟɪɠɢɬ ɛɨɥɶɲɭɸ ɱɚɫɬɶ ɞɨɫɬɭɩɧɵɯ ɨɛɵɱɧɵɦ ɩɨɥɶɡɨɜɚɬɟɥɹɦ ɭɬɢɥɢɬ ɢ ɩɪɨɝɪɚɦɦ, /usr ɨɩɪɟɞɟɥɟɧɧɨ ɧɭɠɟɧ ɫɨɛɫɬɜɟɧɧɵɣ ɪɚɡɞɟɥ.
/usr/local
Ɂɞɟɫɶ ɧɚɯɨɞɢɬɫɹ ɬɪɟɬɶɹ ɱɚɫɬɶ ɜɫɟɝɨ ɩɪɨɝɪɚɦɦɧɨɝɨ ɨɛɟɫɩɟɱɟɧɢɹ, ɧɟ ɹɜɥɹɸɳɟɝɨɫɹ ɱɚɫɬɶɸ ɫɢɫɬɟɦɵ (Web-ɫɟɪɜɟɪɵ ɢ ɛɚɡɵ ɞɚɧɧɵɯ). Ɇɧɨɝɢɟ ɩɪɟɞɩɨɱɢɬɚɸɬ ɪɚɡɦɟɳɚɬɶ /usr/local ɧɚ ɨɬɞɟɥɶɧɨɦ ɪɚɡɞɟɥɟ. Ɇɵ ɧɟ ɪɟɤɨɦɟɧɞɭɟɦ ɬɚɤɨɣ ɩɨɞɯɨɞ ɞɥɹ ɨɛɵɱɧɵɯ ɫɢɫɬɟɦ. Ɋɚɡɜɟ ɱɬɨ ɜ ɧɚɥɢɱɢɢ ɢɦɟɟɬɫɹ ɧɟɫɤɨɥɶɤɨ ɞɢɫɤɨɜ ɢɥɢ ɟɫɬɶ ɧɟɨɛɯɨɞɢɦɨɫɬɶ ɪɚɡɞɟɥɢɬɶ /usr ɢɡ-ɡɚ ɧɟɞɨɫɬɚɬɤɚ ɞɢɫɤɨɜɨɝɨ ɩɪɨɫɬɪɚɧɫɬɜɚ.
/var
ɗɬɨɬ ɪɚɡɞɟɥ ɫɨɞɟɪɠɢɬ ɛɭɮɟɪɧɵɟ (spool) ɤɚɬɚɥɨɝɢ, ɢɫɩɨɥɶɡɭɟɦɵɟ ɞɥɹ ɨɪɝɚɧɢɡɚɰɢɢ ɨɱɟɪɟɞɟɣ ɩɟɱɚɬɢ ɢ ɪɚɛɨɬɵ ɷɥɟɤɬɪɨɧɧɨɣ ɩɨɱɬɵ. Ɂɞɟɫɶ ɠɟ ɪɚɡɦɟɳɚɸɬɫɹ log-ɮɚɣɥɵ. Ɇɵ ɩɪɟɞɩɨɱɢɬɚɟɦ ɩɨɦɟɳɚɬɶ /var ɜ ɨɬɞɟɥɶɧɵɣ ɪɚɡɞɟɥ. Ɉɛɴɟɦ, ɧɟɨɛɯɨɞɢɦɵɣ ɞɥɹ ɷɬɨɝɨ ɤɚɬɚɥɨɝɚ, ɡɚɜɢɫɢɬ ɨɬ ɬɨɝɨ, ɛɭɞɟɬ ɥɢ ɡɚɞɟɣɫɬɜɨɜɚɧ ɫɟɪɜɟɪ ɩɟɱɚɬɢ, ɫɟɪɜɟɪ ɷɥɟɤɬɪɨɧɧɨɣ ɩɨɱɬɵ ɢɥɢ Web-ɫɟɪɜɟɪ. Ⱦɟɥɨ ɜ ɬɨɦ, ɱɬɨ ɧɚ ɡɚɝɪɭɠɟɧɧɨɦ Web-ɫɟɪɜɟɪɟ log-ɮɚɣɥɵ ɦɨɝɭɬ ɪɚɫɬɢ ɧɟɜɟɪɨɹɬɧɨ ɛɵɫɬɪɨ. ȿɫɥɢ ɩɪɟɞɩɨɥɚɝɚɟɬɫɹ ɪɚɛɨɬɚ ɫ ɚɤɬɢɜɧɨ ɢɫɩɨɥɶɡɭɟɦɵɦ Web-ɫɟɪɜɟɪɨɦ, ɜɵɞɟɥɢɬɟ ɷɬɨɦɭ ɪɚɡɞɟɥɭ ɞɨɫɬɚɬɨɱɧɨ ɦɟɫɬɚ.
/imp
ȼ ɷɬɨɦ ɤɚɬɚɥɨɝɟ ɩɪɨɝɪɚɦɦɵ ɢ ɩɨɥɶɡɨɜɚɬɟɥɢ ɦɨɝɭɬ ɡɚɩɢɫɵɜɚɬɶ ɜɪɟɦɟɧɧɵɟ ɮɚɣɥɵ. Ʉɚɬɚɥɨɝ ɨɛɵɱɧɨ ɨɱɢɳɚɟɬɫɹ ɩɪɢ ɤɚɠɞɨɣ ɩɟɪɟɡɚɝɪɭɡɤɟ ɫɢɫɬɟɦɵ. ɉɪɨɝɪɚɦɦɚɦ, ɤɨɬɨɪɵɦ ɧɟɨɛɯɨɞɢɦɨ ɡɚɩɢɫɵɜɚɬɶ ɜɪɟɦɟɧɧɵɟ ɮɚɣɥɵ ɛɨɥɶɲɨɝɨ ɪɚɡɦɟɪɚ, ɧɟ ɫɥɟɞɭɟɬ ɪɚɡɪɟɲɚɬɶ ɢɫɩɨɥɶɡɨɜɚɬɶ /tmp; ɜ ɞɚɧɧɨɦ ɫɥɭɱɚɟ ɟɝɨ ɦɨɠɧɨ ɡɚɦɟɧɢɬɶ ɤɚɬɚɥɨɝɨɦ /usr/tmp ɢɥɢ /var/tmp. Ɇɨɠɧɨ ɥɢɛɨ ɩɪɟɞɨɫɬɚɜɢɬɶ /tmp ɫɨɛɫɬɜɟɧɧɵɣ ɪɚɡɞɟɥ, ɥɢɛɨ ɪɚɡɞɟɥɹɬɶ ɨɛɳɟɟ ɞɢɫɤɨɜɨɟ ɩɪɨɫɬɪɚɧɫɬɜɨ ɦɟɠɞɭ ɧɢɦ ɢ /usr.
/home
Ɂɞɟɫɶ ɯɪɚɧɹɬɫɹ ɞɨɦɚɲɧɢɟ ɤɚɬɚɥɨɝɢ ɩɨɥɶɡɨɜɚɬɟɥɹ. ɗɬɨɬ ɤɚɬɚɥɨɝ ɱɚɫɬɨ ɪɚɫɩɨɥɚɝɚɟɬɫɹ ɜ /usr. ȿɫɥɢ ɩɥɚɧɢɪɭɟɬɫɹ, ɱɬɨ ɫɢɫɬɟɦɚ ɛɭɞɟɬ ɨɛɫɥɭɠɢɜɚɬɶ ɛɨɥɶɲɨɟ ɱɢɫɥɨ ɩɨɥɶɡɨɜɚɬɟɥɟɣ, ɭ ɤɚɠɞɨɝɨ ɢɡ ɤɨɬɨɪɵɯ ɛɭɞɟɬ ɦɧɨɠɟɫɬɜɨ ɮɚɣɥɨɜ, ɦɨɠɧɨ ɜɵɞɟɥɢɬɶ /home ɫɨɛɫɬɜɟɧɧɵɣ ɪɚɡɞɟɥ, ɥɢɛɨ ɨɬɞɚɬɶ ɟɦɭ ɜɟɫɶ ɞɢɫɤ.
Ƚɥɚɜɚ 2. ɍɫɬɚɧɨɜɤɚ FreeBSD
53
Ɉɩɬɢɦɢɡɚɰɢɹ ɩɪɨɢɡɜɨɞɢɬɟɥɶɧɨɫɬɢ , ,
, .
, Usenet ( ), Web-
,
,
),
Web-
( ,
,—
,
.
Ɋɚɡɞɟɥ root root (/) Disk Label Editor
/boot, .
-
,
.
. (
.
. 2.3).
Ɋɢɫɭɧɨɤ 2.3
.
,
100
root. ,
100 .
,
Enter. FS A filesystem, root, Enter. (mount point) . Enter.
. ,
. Mount point — /, -
, :
FreeBSD Disklabel Editor
Disk: adl
Partition name: adlsl Free: 30033360 blocks (14664MB)
Disk: adO Part -----
Partition name: adOsl Free: 39882528 blocks (19473MB)
Mount
Size Newfs Part Mount
-----
---- ----- ---- -----
/
100MB UFS Y
adOsla
The following commands are valid = Create D = Delete N = Newfs Opts Q = Finish = Toggle Newfs U = Undo
Size Newfs
---- ----
here (upper or lower case): M = Mount pt. S = Toggle SoftUpdates A = Auto Defaults
Use Fl or ? to get more help, arrow keys to select.
, ,
FreeBSD
adlsla ( );
-
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
54
/;
— 100
;
— swap.
(UFS).
FreeBSD
Ɋɚɡɞɟɥ swap FreeBSD —
: ,
-
. .
, ,
, swap — . .
swap
. •
.
swap ,
•
. swap
, . :
,
swap? ,
2-4
-
. .
. 256
, .
, 128-256
,
-
,
,
1:1. 512
,
,
256
,
,
-
. .
-
. , "
.
" (kernel panic).
,
. ,
, kernel ?
swap. , . ,
panic ,
: •
. , )
(
-
,
.
•
, ,
,
-
swap, . swan.
, ,
swap, -
Ƚɥɚɜɚ 2. ɍɫɬɚɧɨɜɤɚ FreeBSD
55
—
FreeBSD,
,
,
-
, . .
,
,
. ɉɊɂɆȿɑȺɇɂȿ Ⱥɜɬɨɪ ɷɬɨɣ ɤɧɢɝɢ ɡɚ ɫɟɦɶ ɥɟɬ ɪɚɛɨɬɵ ɫ ɪɚɛɨɱɟɣ ɫɬɚɧɰɢɟɣ FreeBSD ɫɬɨɥɤɧɭɥɫɹ ɫ kernel panic ɜɫɟɝɨ ɨɞɢɧ ɪɚɡ.
,
swap, —
root, swap .
swap).
(
,
-
ɋɨɡɞɚɧɢɟ ɨɫɬɚɥɶɧɵɯ ɪɚɡɞɟɥɨɜ root (
swap (
,
boot),
, /var, /usr). :
, FreeBSD Disklabel Editor
Disk: adO Partitio n name: adOs1 Free: 0 blocks (OMB) Disk: ad1 Partition name: ad1s1 Free: 0 blocks(OMB) Part
Mount
Size Newfs
----
-----
---- -----
adOsla adOslb adOsle adOslf adOslg adlsle
The = N = =
/ swap /var /tmp /usr /home
Part
Mount
----
Size Newfs
-----
---- -----
100MB UFS Y 256MB SWAP 200MB UFS Y 100MB UFS Y 18817MB UFS Y 14664MB UFS Y
following commands are valid Create D = Delete Newfs Opts Q = Finish Toggle Newfs U = Undo
here M S A
(upper or lower case): = Mount pt. = Toggle SoftUpdates = Auto Defaults
Use F1 or ? to get more help, arrow keys to select.
FreeBSD, .
,
/home
Ɂɚɦɟɬɤɢ ɨ SoftUpdates Soft Updates 9, S
5.0 FreeBSD, Disk Label Editor. , Soft Updates
, Soft Updates . , .
-
56
1.
: FreeBCD
SoftUpdates , UFS+S). , Q
(
+S . -
W, ,
.
,
.
ȼɵɛɨɪ ɬɢɩɚ ɭɫɬɚɧɨɜɤɢ ,
( . X-Window
,
. 2.4) ,
,
Develloper. ,
cvsup. ,
,
-
All. ,
cvsup
. —
All.
2.4 .
ɉɊɂɆȿɑȺɇɂȿ cvsup — ɷɬɨ ɫɢɫɬɟɦɚ, ɩɨɡɜɨɥɹɸɳɚɹ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɩɨɞɞɟɪɠɢɜɚɬɶ ɨɩɟɪɚɰɢɨɧɧɭɸ ɫɢɫɬɟɦɭ FreeBSD ɜ ɚɤɬɭɚɥɶɧɨɦ ɫɨɫɬɨɹɧɢɢ ɢ ɜɧɨɫɢɬɶ ɢɡɦɟɧɟɧɢɹ, ɤɨɬɨɪɵɟ ɫɞɟɥɚɧɵ ɜ ɫɢɫɬɟɦɟ ɫ ɦɨɦɟɧɬɚ ɩɨɫɥɟɞɧɟɝɨ ɡɚɩɭɫɤɚ cvsup. Ʌɸɛɵɟ ɢɡɦɟɧɟɧɢɹ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɡɚɝɪɭɠɚɸɬɫɹ ɫ ɫɟɪɜɟɪɚ ɢ ɩɪɢɦɟɧɹɸɬɫɹ ɤ ɢɫɯɨɞɧɨɦɭ ɤɨɞɭ FreeBSD. ɗɬɨɬ ɩɪɨɰɟɫɫ ɜɵɩɨɥɧɹɟɬɫɹ ɛɵɫɬɪɨ, ɩɨɫɤɨɥɶɤɭ cvsup ɡɚɝɪɭɠɚɟɬ ɬɨɥɶɤɨ ɢɡɦɟɧɟɧɢɹ (ɫɦ. ɝɥɚɜɭ 18).
,
. ,
All, FreeBSD. . ,
, ,
"
,
,
". Enter.
.
Enter.
Exit
ȼɵɛɨɪ ɦɟɬɨɞɚ ɭɫɬɚɧɨɜɤɢ (
.
. 2.5).
57
Ƚɥɚɜɚ 2. ɍɫɬɚɧɨɜɤɚ FreeBSD
2.5
,
CD(
.
,
,
-
; ),
3,.
. Enter.
CD-
,
CD-ROM :
User Confirmation Requested Last Chance! Are you SURE you want to continue the installation? If you' re running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents!
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ɋ ɷɬɨɝɨ ɦɨɦɟɧɬɚ ɧɚ ɜɚɲɟɦ ɠɟɫɬɤɨɦ ɞɢɫɤɟ ɛɭɞɭɬ ɫɞɟɥɚɧɵ ɧɟɨɛɪɚɬɢɦɵɟ ɢɡɦɟɧɟɧɢɹ. ɗɬɨ ɩɨɫɥɟɞɧɢɣ ɲɚɧɫ ɨɫɬɚɧɨɜɢɬɶ ɩɪɨɰɟɫɫ ɢɧɫɬɚɥɥɹɰɢɢ. ȼɵ ɭɜɟɪɟɧɵ, ɱɬɨ ɯɨɬɢɬɟ ɩɪɨɞɨɥɠɚɬɶ? ɉɨɫɥɟ ɧɚɠɚɬɢɹ Yes ɫɨɡɞɚɧɧɵɟ ɜɚɦɢ ɪɚɡɞɟɥɵ ɨɬɮɨɪɦɚɬɢɪɭɸɬɫɹ, ɢ ɧɚɱɧɟɬɫɹ ɩɪɨɰɟɫɫ ɭɫɬɚɧɨɜɤɢ. ȼɫɟ ɞɚɧɧɵɟ, ɢɦɟɸɳɢɟɫɹ ɜ ɜɵɛɪɚɧɧɵɯ ɞɥɹ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɪɚɡɞɟɥɚɯ, ȻɍȾɍɌ ɉɈɌȿɊəɇɕ!
? Yes. "Starting an emergency holographic shell on vty4", . / .
,
Sysinstall
,
Sysinstall
, ,
-
.
.
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɫɟɬɢ — Ethernet
, SLIP/PPP.
.
,
,
, .
-
58
Ч
1.
: FreeBSD
,
No
.
-
, ,
Yes,
2.6. ,
, Ethernet-
Enter.
,
-
, -
. ,
IPv6. IPv6).
,
No ( DHCP-
DHCP-
,
-
, .
FreeBSD .
,
No.
-
. 22 23. ( . . 2.7).
-
2.6 2.7 .
.
. 2.5
.
2.5 . ɉɨɥɟ
Ɉɩɢɫɚɧɢɟ Ɉɫɧɨɜɧɵɟ ɫɟɬɟɜɵɟ ɨɩɰɢɢ ɞɥɹ ɞɚɧɧɨɣ ɫɢɫɬɟɦɵ (ɜ
Host
Domain
, simba.samplenet.org).
(samplenet.org).
IPv4 Gateway
А
Name Server
IP-
Internet. DNS-
.
ɋɟɬɟɜɵɟ ɩɚɪɚɦɟɬɪɵ ɞɚɧɧɨɣ ɫɢɫɬɟɦɵ IPv4 Address
IP-
Netmask
М
Extra Options to ifconfig
ifconfig
59
2. У
FreeBSD
Enter
.
,
. ,
n , .
Sysinstall
: •
? , Internet, FTP-
•
. .,
Yes. (
,
FTP)? •
NFSNFS
Yes. .
FTP? NFS.
No.
, (
.
-
31).
•
NFS-
,
?
, NFS-
. .
31.
•
? ,
No.
-
. ,
No, ,
. ,
-Window,
X-
. (the default medium security profile), .
,
ɇɚɫɬɪɨɣɤɚ ɤɨɧɫɨɥɢ FreeBSD, , ,
2.8 .
, . 2.8.
. .
60
Ч 1. FreeBSD
:
. ,
.
Sysinstall
,
. . -
, ,
No. . Yes.
ɋɨɜɦɟɫɬɢɦɨɫɬɶ ɫ Linux : "Would you like to enable Linux binary Linux?). Yes mini Linux filesystem /usr, , Linux. Yes. , , StarOffice Linux.
compatibility?" ( Sysinstall , , ,
ɉɊɂɆȿɑȺɇɂȿ ɉɪɨɝɪɚɦɦɵ Linux ɜ ɫɢɫɬɟɦɟ FreeBSD ɜɵɩɨɥɧɹɸɬɫɹ ɧɟ ɱɟɪɟɡ ɷɦɭɥɹɬɨɪ, ɚ ɩɨɞɞɟɪɠɢɜɚɸɬɫɹ ɧɚ ɭɪɨɜɧɟ ɹɞɪɚ. ɉɨɷɬɨɦɭ Linux-ɩɪɨɝɪɚɦɦɵ ɜɨ FreeBSD ɪɚɛɨɬɚɸɬ ɬɚɤɠɟ ɛɵɫɬɪɨ, ɤɚɤ ɢ ɜ Linux. Ɇɚɥɨ ɬɨɝɨ, ɧɟɤɨɬɨɪɵɟ ɩɪɢɥɨɠɟɧɢɹ ɪɚɛɨɬɚɸɬ ɜ ɫɢɫɬɟɦɟ FreeBSD ɞɚɠɟ ɛɵɫɬɪɟɟ, ɱɟɦ ɜ ɫɚɦɨɣ Linux!
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɦɵɲɢ FreeBSD "
,
" .
USB-
,
. (
, .
Yes,
. 2.9).
2.9 .
,
. . .
.
— )
- low (
).
high (
X-Widow , Flags
-3 -
61
2. У
FreeBSD
Ʉɨɧɮɢɝɭɪɚɰɢɹ ɏ-ɫɟɪɜɟɪɚ ɉɊɂɆȿɑȺɇɂȿ ɗɬɨɬ ɪɚɡɞɟɥ ɩɪɢɦɟɧɢɦ ɬɨɥɶɤɨ ɜ ɨɬɧɨɲɟɧɢɢ FreeBSD ɜɟɪɫɢɢ 4.4, ɪɚɛɨɬɚɸɳɟɣ ɧɚ ɏɊɝɟɟ86 3.3.6. ȿɫɥɢ ɜɟɪɫɢɹ ɫɢɫɬɟɦɵ — 5.0, ɧɟɨɛɯɨɞɢɦɨ ɢɫɩɨɥɶɡɨɜɚɬɶ XFree86 4.x. ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɫɥɟɞɭɣɬɟ ɢɧɫɬɪɭɤɰɢɹɦ ɜ ɝɥɚɜɟ 34.
-Window, -
.
,
Yes,
. 2.10.
2.10 -
.
-
-Window .
,
XF86Setup ,
"X" . 2.11.
.
, ,
ɉɊɂɆȿɑȺɇɂȿ ɂɡɛɟɝɚɣɬɟ ɞɜɢɠɟɧɢɣ ɦɵɲɶɸ ɞɨ ɬɟɯ ɩɨɪ, ɩɨɤɚ ɧɟ ɡɚɜɟɪɲɢɬɫɹ ɱɚɫɬɶ ɩɪɨɝɪɚɦɦɵ XF86Setup ɩɨ ɭɫɬɚɧɨɜɤɢ ɦɵɲɢ. ȼ ɩɪɨɬɢɜɧɨɦ ɫɥɭɱɚɟ, ɩɪɨɝɪɚɦɦɚ ɦɨɝɭɬ ɜɨɡɧɢɤɧɭɬɶ ɩɪɨɛɥɟɦɵ ɟɟ ɭɫɬɚɧɨɜɤɨɣ.
X, .
2.11 XF86Setup.
, .
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
62 ,
, . 2.12. ,
Enter.
-
, . 2.13.
.
Sysmouse . /dev/sysEnter. -
mouse , (
2.12 Э
"Apply"
.
) .
Enter, -
.
, ,
. .
, ,
, Emulate3Buttons. 2.13 Э
Keyboard
, (
"Generic 101-key PC". (Enhanced Windows keyboard), Window ,
.
.
. -
. 2.14). 104 .
,
.
X,
. , . Card
(
.
, .2.15).
, XF86Setup
-
63
Ƚɥɚɜɚ 2. ɍɫɬɚɧɨɜɤɚ FreeBSD
-
, . -
,
. , , "Detailed Setup" (
.
34, "Monitor", .
-Window). , -
2.14
.
ȼɇɂɆȺɇɂȿ! C ɧɚɫɬɪɨɣɤɨɣ ɦɨɧɢɬɨɪɚ ɫɥɟɞɭɟɬ ɛɵɬɶ ɨɫɨɛɟɧɧɨ ɜɧɢɦɚɬɟɥɶɧɵɦ, ɩɨɫɤɨɥɶɤɭ ɧɟɩɪɚɜɢɥɶɧɚɹ ɭɫɬɚɧɨɜɤɚ ɟɝɨ ɬɟɯɧɢɱɟɫɤɢɯ ɯɚɪɚɤɬɟɪɢɫɬɢɤ ɦɨɠɟɬ ɩɨɜɥɟɱɶ ɡɚ ɫɨɛɨɣ ɩɨɪɱɭ ɨɛɨɪɭɞɨɜɚɧɢɹ. ɇɟ ɭɤɚɡɵɜɚɣɬɟ ɬɢɩ ɦɨɧɢɬɨɪɚ, ɱɚɫɬɨɬɚ ɝɨɪɢɡɨɧɬɚɥɶɧɨɣ ɪɚɡɜɟɪɬɤɢ ɤɨɬɨɪɨɝɨ ɜɵɯɨɞɢɬ ɡɚ ɩɪɟɞɟɥɵ ɜɨɡɦɨɠɧɨɫɬɟɣ ɜɚɲɟɝɨ ɦɨɧɢɬɨɪɚ. ȼ ɫɥɭɱɚɟ ɫɨɦɧɟɧɢɣ ɜɵɛɢɪɚɣɬɟ ɛɨɥɟɟ ɤɨɧɫɟɪɜɚɬɢɜɧɵɣ ɜɚɪɢɚɧɬ.
, . 2.16. 2.1
.
-
. . . X-Window 17. 151421-
1024x768. ,
.
15-
800x600.
-Window 800x600,
, — 640x480. 1024x768.
,
19-
. X-Window (
). ,
:
64
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
• 8256
-
.
, . • 1664 • 2416,7
.
.
. .
-
. • 3216,7
2.16 .
,
.
,
3,
24-
. "done" -
.
.
"X". ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ȿɫɥɢ ɷɤɪɚɧ ɜɟɪɧɭɥɫɹ ɤ ɫɜɨɟɦɭ ɨɛɵɱɧɨɦɭ ɫɨɫɬɨɹɧɢɸ, ɧɨ ɢɦɟɟɬ ɤɚɤɨɣ-ɬɨ ɢɫɤɚɠɟɧɧɵɣ ɢ ɫɬɪɚɧɧɵɣ ɜɢɞ, ɢ/ɢɥɢ ɜɵ ɭɫɥɵɲɚɥɢ ɜɵɫɨɤɢɣ ɜɨɸɳɢɣ ɡɜɭɤ, ɢɫɯɨɞɹɳɢɣ ɨɬ ɦɨɧɢɬɨɪɚ, ɇȿɆȿȾɅȿɇɇɈ ɜɵɤɥɸɱɢɬɟ ɦɨɧɢɬɨɪ ɢɥɢ ɨɞɧɨɜɪɟɦɟɧɧɨ ɧɚɠɦɢɬɟ ɤɨɦɛɢɧɚɰɢɸ ɤɥɚɜɢɲ CTRL-ALT-BACKSPACE ɞɥɹ ɭɧɢɱɬɨɠɟɧɢɹ ɏ-ɫɟɪɜɟɪɚ. Ɉɛɚ ɫɢɝɧɚɥɚ ɭɤɚɡɵɜɚɸɬ ɧɚ ɬɨ, ɱɬɨ ɱɚɫɬɨɬɵ ɨɛɧɨɜɥɟɧɢɹ ɦɨɧɢɬɨɪɚ ɛɵɥɢ ɡɚɜɵɲɟɧɵ, ɢ ɫɬɪɨɱɧɵɣ ɬɪɚɧɫɮɨɪɦɚɬɨɪ ɝɨɬɨɜ ɜɡɥɟɬɟɬɶ ɧɚ ɜɨɡɞɭɯ.
,
( ,
),
,
,
, , CTRL-ALT-BACKS
.
X-
. got a running X server!" ,
"Congratulations. You've .
xvidtune
xvidtune xvidtune
"
" ,
/ :
.
,
-
65
Ƚɥɚɜɚ 2. ɍɫɬɚɧɨɜɤɚ FreeBSD
Ɋɢɫɭɧɨɤ 2.17 xvidtune.
: Ɍɚɛɥɢɰɚ 2.6 Ʉɥɚɜɢɲɢ ɭɩɪɚɜɥɟɧɢɹ xvidtune. Left, Right, Up ɢ Down
ɉɟɪɟɦɟɳɟɧɢɟ ɢɡɨɛɪɚɠɟɧɢɹ ɧɚ ɷɤɪɚɧɟ ɜ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɯ ɧɚɩɪɚɜɥɟɧɢɹɯ.
Wider (ɲɢɪɟ), Narrower ɋɨɨɬɜɟɬɫɬɜɭɸɳɟɟ ɢɡɦɟɧɟɧɢɟ ɢɡɨɛɪɚɠɟɧɢɹ ɧɚ ɷɤɪɚɧɟ, (ɭɠɟ), Shorter (ɤɨɪɨɱɟ), Taller (ɜɵɲɟ) ȼɵɯɨɞ ɢɡ xvidtune.
Quit Apply
ɉɪɢɦɟɧɟɧɢɟ ɢɡɦɟɧɟɧɢɣ ɤ ɬɟɤɭɳɟɦɭ ɜɢɞɟɨɪɟɠɢɦɭ.
Auto
ȼ ɚɤɬɢɜɧɨɦ ɫɨɫɬɨɹɧɢɢ ɢɡɦɟɧɟɧɢɹ ɜɧɨɫɹɬɫɹ ɧɟɡɚɦɟɞɥɢɬɟɥɶɧɨ, ɛɟɡ ɧɚɠɚɬɢɹ ɤɥɚɜɢɲɢ "Apply". ɗɬɨ ɩɨɡɜɨɥɹɟɬ ɜɢɞɟɬɶ ɪɟɡɭɥɶɬɚɬɵ ɩɪɟɞɩɪɢɧɢɦɚɟɦɵɯ ɞɟɣɫɬɜɢɣ ɜ ɪɟɚɥɶɧɨɦ ɜɪɟɦɟɧɢ.
Test
ɉɪɨɜɟɪɤɚ ɞɢɫɩɥɟɹ ɫ ɭɱɟɬɨɦ ɜɧɟɫɟɧɧɵɯ ɢɡɦɟɧɟɧɢɣ. ɇɚɱɚɥɶɧɵɣ ɷɤɪɚɧ ɛɭɞɟɬ ɜɨɫɫɬɚɧɨɜɥɟɧ ɱɟɪɟɡ ɧɟɫɤɨɥɶɤɨ ɫɟɤɭɧɞ. ɉɪɢ ɩɚɪɚɥɥɟɥɶɧɨɣ ɚɤɬɢɜɢɡɚɰɢɢ Auto ɧɟ ɞɟɣɫɬɜɭɟɬ.
Restore
ȼɨɫɫɬɚɧɚɜɥɢɜɚɟɬ ɩɟɪɜɨɧɚɱɚɥɶɧɵɟ ɩɚɪɚɦɟɬɪɵ.
Fetch
ɋɨɯɪɚɧɹɟɬ ɬɟɤɭɳɢɟ ɩɚɪɚɦɟɬɪɵ ɏ-ɫɟɪɜɟɪɚ. ȼɨɫɩɨɥɶɡɭɣɬɟɫɶ ɮɭɧɤɰɢɟɣ Restore ɞɥɹ ɜɨɫɫɬɚɧɨɜɥɟɧɢɹ ɩɚɪɚɦɟɬɪɨɜ, ɚɤɬɢɜɧɵɯ ɧɚ ɦɨɦɟɧɬ ɜɵɛɨɪɚ Fetch.
Show
Ɉɬɨɛɪɚɠɚɟɬ ɬɟɤɭɳɢɣ ɦɨɞɟɥɢ ɢɡ ɮɚɣɥɚ XF86Config ɜ ɫɬɚɧɞɚɪɬɧɵɣ ɜɵɜɨɞ ɞɚɧɧɵɯ (ɛɨɥɟɟ ɞɟɬɚɥɶɧɚɹ ɢɧɮɨɪɦɚɰɢɹ — ɜ ɝɥɚɜɟ 34).
Next, Prev
Ɏɭɧɤɰɢɹ ɩɟɪɟɤɥɸɱɟɧɢɹ ɧɚ ɫɥɟɞɭɸɳɢɣ ɢɥɢ ɩɪɟɞɵɞɭɳɢɣ ɜɢɞɟɨɪɟɠɢɦ, ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ (ɩɪɢ ɭɫɥɨɜɢɢ, ɱɬɨ ɜɵɛɪɚɧɨ ɧɟɫɤɨɥɶɤɨ ɪɚɡɪɟɲɟɧɢɣ).
,
-
xvidtune ,
. ,
Apply xvidtune.
Quit xvistune
Yes
XF86Setup Save Configuration and Exit. 'X' .
-
66
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
ȼɵɛɨɪ ɪɚɛɨɱɟɝɨ ɫɬɨɥɚ ɩɨ ɭɦɨɥɱɚɧɢɸ ,
Sysinstall. ,
. , Enter. X-Window Microsoft Windows, ' Linux, X-Window, -
, . FreeBSD ,
. .
, . Gnome + Sawfish. . ɉɊȿȾɍɉ ɊȿɀȾȿɇɂ ȿ
ɂɫɩɨɥɶɡɭɹ xf86cfg, ɩɨɦɧɢɬɟ, ɱɬɨ ɧɟɩɪɚɜɢɥɶɧɨ ɜɜɟɞɟɧɧɵɟ ɩɚɪɚɦɟɬɪɵ ɱɚɫɬɨɬ ɨɛɧɨɜɥɟɧɢɹ ɦɨɝɭɬ ɩɨɜɪɟɞɢɬɶ ɦɨɧɢɬɨɪ. Ȼɨɥɟɟ ɥɟɬɚɥɶɧɨ xf86cfg ɛɭɞɟɬ ɪɚɫɫɦɨɬɪɟɧ ɜ ɝɥɚɜɟ 34.
Yes
. ,
FreeBSD. , -
CD-ROM. (
,
—
-
,
2.18
Enter —
.
).
-
X. .
,
D, .
,
. .
,
-
.
Ʉɨɦɚɧɞɧɵɟ ɢɧɬɟɪɩɪɟɬɚɬɨɪɵ • Bash-2.04 — "
. Linux —
Linux
-
. Gnome Gnome + Sawfish ,
,
67
Ƚɥɚɜɚ 2. ɍɫɬɚɧɨɜɤɚ FreeBSD
,
Gnome ,
( /
).
: eog-0.5_l — The Eye of Gnome Image Viewer. , . gaddr-1.1.4 — Gnome. gedit-0.9.3 — Gnome, Notepad, . glunarclock-0.ll -, Gnome . . gno3dtet-1.6.0 — SDGnome. gnomeapplets-1.2.4 — Gnome. gnomefind-l.O — , , . gnomegames-1.2.0 — , . gnomemc-4.5.51 — Gnome Multiple Commander. Gnome, Windows Explorer. gnomemedia-1.2.0 — Gnome (CD. .). gpaint-0.1.1 -, Paint Windows.
• • • •
• • • • • • •
(
, , . 2.18). Enter. Sysinstall
.
Install, .
-
Ⱦɨɛɚɜɥɟɧɢɟ ɩɨɥɶɡɨɜɚɬɟɥɹ .
.
Yes
-
,
,
root
root .
-
.
,
, . , User .
(
.
, . 2.20).
. 2.19,
2.19 .
68
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
. . Login ID: , . -
-
.
, 2.20 .
. . !
—
UID: —
,
.
-
:
. Group ID: ,
.
,
.
Password: , • . •
. ,
. -
! •
$.
,
.
,
, •
. ,
,
,
. ,
,
,
-
:
.
,
-
.
.
"
", ,
,
:
-
, 123 ).
-
( ,
!),
(
-
. .—
,
,
,
.
,
(
, ).
.
-
69
Ƚɥɚɜɚ 2. ɍɫɬɚɧɨɜɤɚ FreeBSD
,
,
. .
.
. :
,
,
.
Full name: ,
.
,
,
-
.
.
Member groups: wheel, wheel, root. Home directory: . ,
.
Login shell: .
Bash,
/usr/local/bin/bash (
!). ,
. -
Enter. ,
, Exit.
. 2.20.
ɍɫɬɚɧɨɜɤɚ ɩɚɪɨɥɹ root Enter
root. root:
Changing local password for root. New password:
.
,
.
-
, Enter.
.
,
. , .
No,
.
ȼɵɯɨɞ ɢɡ ɩɪɨɝɪɚɦɦɵ Sysinstall ɢ ɩɟɪɟɡɚɝɪɭɡɤɚ ɫɢɫɬɟɦɵ Exit Install Enter.
CD.
.
70
ɑɚɫɬɶ 1. Ɂɧɚɤɨɦɶɬɟɫɶ: FreeBSD
ɉ Ɋɂ Ɇ ȿɑ Ⱥ ɇ ɂ ȿ Ɇɨɠɟɬ ɫɥɭɱɢɬɶɫɹ, ɱɬɨ ɩɨɥɶɡɨɜɚɬɟɥɶ ɧɚɠɚɥ ɤɧɨɩɤɭ Eject (ɜɵɞɜɢɠɟɧɢɟ] ɧɚ CD-ROM, ɧɨ ɧɢɱɟɝɨ ɧɟ ɩɪɨɢɡɨɲɥɨ. ɇɟ ɩɚɧɢɤɭɣɬɟ. ɋɢɫɬɟɦɚ FreeBSD ɧɟ ɩɪɢɱɢɧɢɥɚ ɜɪɟɞɚ CD-ɩɪɢɜɨɞɭ; ɨɧɚ ɡɚɛɥɨɤɢɪɨ-ɜɚɥɚ ɟɝɨ ɞɥɹ ɬɨɝɨ, ɱɬɨ ɜ ɩɪɨɰɟɫɫɟ ɭɫɬɚɧɨɜɤɢ ɢɥɢ ɜ ɯɨɞɟ ɥɸɛɨɝɨ ɞɪɭɝɨɝɨ ɩɪɨɰɟɫɫɚ ɞɢɫɤ ɧɟɥɶɡɹ ɛɵɥɨ ɫɥɭɱɚɣɧɨ ɢɡɜɥɟɱɶ. ȼ ɥɸɛɨɦ ɫɥɭɱɚɟ ɜɵɛɟɪɢɬɟ Yes ɢ ɩɨɞɨɠɞɢɬɟ, ɩɨɤɚ ɫɢɫɬɟɦɚ ɧɚɱɧɟɬ ɩɟɪɟɡɚɝɪɭɡɤɭ.
ɉɟɪɜɚɹ ɡɚɝɪɭɡɤɚ FreeBSD FreeBSD
, , .
(
4). .
, .
. .
init, init
, , ,
FreeBSD :
init FreeBSD/i386 (simba.samplenet.org)
,
- .
(ttyvO) login:
(simba.samplenet.org) , root.
. Amnesiac.
, »
Copyright
1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California.
All rights reserved.
FreeBSD 4.4 RELEASE (GENERIC) #0: Mon Mar 26 00:47:09 CST 2001 #
# — .
,
,
FreeBSD!
Ɉɬɤɥɸɱɟɧɢɟ ɫɢɫɬɟɦɵ FreeBSD , root shutdown -h now. FreeBSD
. /sbin/ "System halted". -
. , FreeBSD.
, , (clean). .
-
3
► FIPS ►
FreeBSD
FIPS ►
► Boot-
FreeBSD ► FreeBSD
LILO ► ►
72
1.
: FreeBSD
FreeBSD
,
,
.
,
FreeBSD Windows.
, , .
FreeBSD Linux.
,
, (FTP).
(NFS)
-
,
, FreeBSD
. , :
,
,
,
.
. .
,
.
—
,
,
,
,
.
,
, -
,
Zip
-
Jaz, .(
—
, . —
.
.)
, .
—
,
,
(
,
). . ,
-
FreeBSD. : •
.
-
. •
, Partition Magic.
•
. Partition Magic. FIPS.
, ,
FreeBSD. .
,
Partition Magic,
FIPS
.
,
-
73
3.
FreeBSD FIPS —
, DOS
DOS. ,
.
FreeBSD. , DOS (FAT16 FAT32). FIPS - NTFS (Windows NT/ 2000), EXT2FS
FIPS , (Linux)
FIPS
HPFS (OS/2). FIPS
,
: • FIPS
DOS — Windows 95 OSR2 Windows 98, ,
,
.
. •
. FIPS
,
, -
.
Scandisk FIPS
Scandisk DOS
,
Windows
.
. FIPS . -
,
.
,
"
"
. .
FIPS FIPS
CDTOOLS RESTORRB.EXE ERRORS.TXT. FTPFreeBSD ftp.freebsd.org /pub/FreeBSD/tools/fips.exe. errors.txt. DOS Windows . : :\> format a: /s Insert new diskette in drive A: and press ENTER when ready... Checking existing disk format. Verifying 1.44M Format complete. System transferred
FIPS.EXE. FIPS .
FIPS restorrb.exe
74
1.
Volume label
: FreeBSD (11 characters, ENTER for none)?
1,457,664 bytes total disk space 388,608 bytes used by system 1,069,056 bytes available on disk 512 bytes in each allocation unit. 2,088 allocation units available on disk. Volume Serial Number is is 031B-0831 Format another (Y/N)?n C:\>d: D:\>cd tools D:\TOOLS>copy fips.exe a:\ 1 file(s) copied d: \TOOLS>copy restorerb.exe a:\ 1 file(s) copied D:\TOOLS>copy errors.txt a:\ 1 file(S) copied D:\TOOLS>
. ,
DOS
FIPS.
fips
FIPS FIPS
,
, .
.
, FIPS
.
,
. .
:
| | Start | | End | Start | Number of | Part.|bootable|Head Cy1. Sector|System |Head Cy1. Sector | Sector |Sectors | MB ------ +------- + --------------- + ------ + --------------+------- + -------- + --1 | yes | 1 0 1| 06h| 12 983 321 32| 409312| 199 2 | no | 0 0 0| 00h| 0 0 0| 0| 0| 0 3 | no | 0 0 0| 00h| 0 0 0| 0| 0| 0 4
|
no |
0
0
0|
00h|
0
0
0|
0|
0|
0
Checking root sector . . . OK Press any Key
, , Bytes per sector: 512 Sectors per cluster: 8 Reserved sectors: 1 Number of FATs: 2 Number of rootdirectory entries: 512 Number of sectors (short): 0
,
. Press any Key. FIPS , :
75
3.
Media descriptor byte: f8h Sectors per FAT: 200 Sectors per track: 32 Drive heads: 13 Hidden sectors: 32 Numb r of sectors (long): 409312 Physical drive number: 80h Signature: 29h
. . ,
. up
,
down .
Enter. ,
FreeBSD
.
,
.
FIPS
. Continue, FIPS .
.
, Yes
. ,
. .
,
DOS
,
.
FIPS .
,
-t, -
,
, .
RESTORRB.EXE -
, .
RESTORRB.EXE -t
tips
.
,
fips -t .
,
Scandisk
.
, . .
, ,
76
1.
: FreeBSD
,
FreeBSD 1024
,
. 1024
root
,
. .
root DOS
Windows
,
, DOS
D. FreeBSD.
1024 —
Windows
D , 30
,
/boot.
. DOS
Windows
FreeBSD. Windows (
DOS) ,
,
-
(master boot record). DOS Windows .
FreeBSD, FreeBSD,
FreeBSD DOS, Windows 95/98/ FreeBSD ,
DOS, Windows 95, Windows 98 FreeBSD
(boot manager), . .
Windows Me , .
FreeBSD FreeBSD FreeBSD,
Linux, LILO — Linux Boot-
MBR.
Boot-
Linux, a FreeBSD.
FreeBSD boot-
FreeBSD
. bootOcfg. .
bootOcfg . bootOcfg boot, . 3.1)
Linux
, MBR.
FreeBSD boot-
. ,
.
( boot-
:
.
77
3.
3.1 -v
boot.
Boot0cfg
-b image
image — /boot/bootO.
-d drive
drive
. ,
BIOS
0x80 -f file
— .
0x81
file —
. .
, .
MBR ,
.
,
.
:
3.2
boot-
packet
BIOS
, int 0x13 1024 , ,
bootOcfg CHS
. .
,
BIOS
. noupdate
Boot-
MBR , MBR. noupdate
. , boot-
MBR.
bootOcfg
n—
-s,
1
.
-t n;
5, n
ticks
( 18,2 ticks).
FreeBSD
LILO
Linux
FreeBSD, /etc/ lilo.conf Linux
.
Linux LILO,
: other=/dev/hda2 table=/dev/hda label=FreeBSD
,
,
-
. LILO .
root
.
,
-
lilo.
,
FreeBSD FTP-
NFS-
, .
78
1.
: FreeBSD
FreeBSD
FTP FreeBSD
FTP-
.
, Internet. ,
,
.
, anonymous. FreeBSD .
FTPFTP-
(
,
FreeBSD FTP-
FreeBSD, FTP-
.
, ), .
sysinstall ( ,
.
.3.1) . 3.2.
Options
Enter,
3.1
sysinstall FreeBSD.
3.2 Options.
FTP Username
.
,
FTP. ,
sysinstall.
Q
,
,
Enter. Enter.
79
3.
FTP 2, (Choose Installation Media). (
.
. 3.3). .
(
.
FTP3.4 samplenet.org,
FTPFreeBSD
3.3 FTP-
,
FreeBSD.
3.4 FTP-
.
3.5 .
lion, /FreeBSD. ( . . 3.5).
FreeBSD, . 3.4) FreeBSD.
80
1.
: FreeBSD
2. , 2.
,
,
2. ,
.
NFS NFS , NFS-
(Network File System). ,
FreeBSD.
NFS NFS. NFSFreeBSD. -install/FreeBSD.
, 3.6
lion,
3.6
NFS.
( 2. , 2.
. 3.5). -
2
FreeBSD
FreeBSD ► Gnome ► Gnome ► ► ►
4
FreeBSD
◀
FreeBSD
◀ BIOS ◀
◀ ◀ ◀
init FreeBSD
◀
X-Window
◀
Gnome
◀ ◀ ◀
X-Winclow FreeBSD FreeBSD
83
4.
FreeBSD
FreeBSD ,
X-Window. Gnome.
FreeBSD FreeBSD, ,
. FreeBSD.
BIOS 86
FreeBSD, Alpha
Intel.
FreeBSD
,
.
BIOS (Basic Input/Output Services —
/
)
, .
,
BIOS
.
POST , POST (Power On Self Test —
).
BIOS
, n ,
,
.
BIOS
,
.
—
BIOS.
, ,
CD-
.
. .
,
, BIOS —
. bootO.
,
bootO BIOS
0 .
Record,
MBR).
,
0 ,
MBR,
512
, ,
. bootO:
(Master Boot .
84
2.
FreeBSD
Fl
DOS
F2 F3
FreeBSD Drive 1
Default: F2
, ( ,
,
).
bootO .
FreeBSD, . bootl.
,
bootl bootl bootO, boot2.
. 512
.
—
boot2 boot2 ,
. -
. .
boot3 -
/boot/loader. FreeBSD,
,
,
. 11.
, .
.
/boot/kernel . .
,
FreeBSD,
,
, .
. dmesg | more -
; "
".
. Copyright 1992-2001 The FreeBSD Project. Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, The Regents of the University of California. All rights reserved. FreeBSD 5.0-CURRENT #0: Sun Apr 8 15:17:26 CDT 2001 [email protected]:/usr/obj/usr/src/sys/SIMBA
. . .
.
1994
85
4.
FreeBSD
,
.
root ,
.
,
,
.
CPU: AMD-K6(tm) 3D+ Processor (400.91-MHz 586-class CPU) Origin = AuthenticAMD Id = 0x591 Stepping = 1 Features=0x8021bf AMD Features=Ox80000800
. psmO: irq 12 on atkbdcO psmO: model Generic PS/2 mouse, device ID 0 fdcO: at port Ox3f0-0x3f5,0x3f7 ↪ 2 on isaO fdcO: FIFO enabled, 8 bytes threshold fdO: on fdcO drive 0
irq
PS/2. .
— fdcO,
on
— fdO.
, unknown: unknown: unknown: unknown: unknown: unknown:
388- ~
38
sbcO
SoundBlaster AWE 64 ,
.
drq
psmO.
sbcO: -«Creative SB AWE64> at port Ox220-0x22f, 0x330-0x331, irq 5 drq 1,5 on isaO pcm1:
6
sbcO — .
can't can't can't can't can't can't
assign assign assign assign assign assign
FreeBSD. Plug and Play,
resources resources resources resources resources resources
, ,
.
.
adO: 19473MB [39566/16/63] at ataO-master UDMA33 adl: 14664MB [29795/16/63] at ataO-slave UDMA33
,
,
,
,
.
, ,
.
Ultra DMA 33 (
19). Mounting rootfrom ufs:/dev/adOsla
, .
, , -
init. .
init
.
86
2.
FreeBSD
.
—
-
;
—
-
.
init FreeBSD
,
,
,
sync, clean ( clean
FreeBSD
).
,
. , clean. .
init, — init init ,
, ,
,
fsck;
. Windows was not properly shut down ( fsck
,
, Scandisk Your system ) Windows.
fsck
,
, ,
. ,
clean
. /etc/fstab
init ,
mount at boot. .
fsck 9.
fsck
,
,
init (run control scripts, rc , init , ( ,
, /etc
scripts), /user/local/etc/rc.d init Web-
/etc/defaults.
, .). config.sys, autoexec.bat, system.ini
,
Windows. ,
init
;
, ,
FreeBSD /usr/local/ etc/re.d,
/etc/re.local Web-
. . /etc/re.local.
87
4.
FreeBSD
BSD .
. .
SYS V,
BSD SYS V, — rc.conf
BYS V
SYS V UNIX, init , .
BSD —
,
. BSD
.
getty
,
inittab, ,
,
Login ( getty.
init ). , getty, — xdm, X-Window. . ,
,
/etc/ttys
, getty. ,
getty . getty
/etc/ttys.
,
— login, .
FreeBSD , : FreeBSD/i386
(amnesiac)
(ttypO)
login:
,
amnesiac. ,
. ,
.
Enter
.
,
. ,
,
.
-
,
:
Last login: Tue Apr 10 15:19:17 on ttypO Copyright 1980, 1983, 1986, 1988, 1990, 1991, 1993, The Regents of the University of California. ↪ reserved. FreeBSD
5.0-RELEASE
(GENERIC)
#0:
Sun
Apr
8
15:17:26
1994 All CDT
rights 2001
bash$
, ,
,
-
88
2.
FreeBSD
(Last Login). .
, , ,
. , Sat Sept 15 14:05:29, -
— ,
,
.
( .[
, root —
passwd) ?)
—
(
).
—
1
FreeBSD
.
. ,
,
root. — #.
root ,
, ], root,
%
$ ( ).
> ( (#] .
, : Login incorrect login:
. , .
.
—
, ,
,
. . .
login:
X-Window X-Window, X-Window.
startx,
Gnome ,
( ,
,
.
Gnome, 2), . 4.1.
89
4.
FreeBSD
4.1
,
Gnome.
Windows
Macintosh?
.
,
1.
, Start — Programs Windows. URL-
2.
. 4.1: Gnome. Web-
-
,
FTP,
-
. . 3. 4. 5.
Gnome. .
. -
. 6.
, .
-
, .
7.
.
Gnome-PIM, ,
, .
90
2.
FreeBSD
8.
Web-
9.
.
.
10.
.
11.
.
12.
.
13.
Gnome —
14.
Start (
)
Windows.
Gnome.
15.
,
.
16. 17.
Gnome. Gnome. 18. Gnome.
19.
Web-
.
Netscape Navigator.
. 20.
. Gnome , ,
. 6.
Gnome "
34,
,
" . Gnome -
, .
ToolTips ,
.
"
",
.
X-Window Gnome •
:
Gnome
, (
•
-
!).
Desktop
•
Log Out.
Gnome Log Out.
Gnome (
) :
.
,
Save current setup ( Gnome
).
, ,
. Gnome,
.
FreeBSD , (
),
.
-
91
4.
FreeBSD
. FreeBSD,
.
exit ,
FreeBSD. .
,
clear.
.
FreeBSD FreeBSD ( ,
UNIX). .
shutdown shutdown. :
shutdown shutdown [
]
[
]
[
]
,
shutdown,
,
, ,
, .
4.1
, shutdown:
,
4.1
shutdown
. -h
.
-
( ).
-
.
-k (
root). .
-
,
init.
,
, .
-n
- , (
)
.
.
.
now . (
shutdown , +n,
92
2.
FreeBSD
).
yymmddhhmm, . — , mm — mm — . . , shutdown, " ,
) ,
, dd —
, hh —
( 24,
, , .
", .
10 . ,
10-
. # shutdown -h +10 Hard disk needs to be replaced
.
shutdown .
10
, :
*** System shutdown message from [email protected] *** System going down in 10 minutes Hard disk needs to be replaced
/var/run/nologin. , .
,
. ,
,
, :
NO LOGINS: System going down at 17:57 Hard disk needs to be replaced.
, •
: TERM,
init .
•
init
/etc/re.shutdown ,
•
TERM .
, •
. ,
,
-
, TERM,
KILL,
.
, sync
•
.
, •
clean. .
,
,
shutdown .
,
-
93
4.
FreeBSD
root (
root,
su). , , , shutdown
Enter.
su root.
,
: -h
now
, System halted Please press any
key
to
:
reboot
.
halt
reboot : halt
.
reboot,
. rc.shutdown, .
,
. shutdown. DOS / Ctrl+Alt+Delete. ,
,
Windows, FreeBSD ,
, FreeBSD -
, .
, reboot. .
11 Ctrl+Alt+Delete
,
5
Gnome
◀
◀ Gnome ◀ ◀
Gnome
◀ ◀ ◀ ◀
Gnome
95
5.
Gnome
(Window Managers) X-Window
-
. . X-
"
"; .
, ,
-Window.
Gnome . 5.1
X,
Gnome.
-
. , . , Gnome.
,
Gnome .
Gnome
Sawfish. Gnome (
Enlightenment).
,
,
,
IceWM
,
6. ,
X-Window. Linux)
UNIX Gnome
( D .
,
Sun Microsystems, Hewlett-Packard D ,
5.1
-
Gnome.
, FreeBSD Gnome UNIX,
IBM. 7.
96
Ч
2.
FreeBSD
,
,
;
, .
-
.
ȿɫɥɢ ɩɢɤɬɨɝɪɚɦɦɵ ɧɚ ɪɚɛɨɱɟɦ ɫɬɨɥɟ ɨɬɫɭɬɫɬɜɭɸɬ ɢ ɳɟɥɱɨɤ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɧɚ ɪɚɛɨɱɟɦ ɫɬɨɥɟ ɧɟ ɩɪɢɜɨɞɢɬ ɤ ɤɚɤɨɦɭ-ɥɢɛɨ ɜɢɞɢɦɨɦɭ ɷɮɮɟɤɬɭ, ɬɨ, ɜɟɪɨɹɬɧɨ, ɜɨ ɜɪɟɦɹ ɢɧɫɬɚɥɥɹɰɢɢ ɜɵ ɧɟ ɭɫɬɚɧɨɜɢɥɢ gnomemc
Gnome Gnome
,
,
—
,
. :
,
Gnome -
. ( ,
Gnome) Windows. Gnome) ,
Start ( . .
, .
,
.
,
, ,
5.2
Gnome.
Gnome.
97
Ƚɥɚɜɚ 5. Ɋɚɛɨɬɚ ɜ ɫɪɟɞɟ Gnome
ɉɚɧɟɥɶ ɡɚɞɚɱ , .
,
.
,
. .
: • Iconify/Restore (
/
)—
-
. • Shade/Unshade (
/
)- "
"
). • Stick/Unstick (
/
, "
)—"
, . —
,
-
. • Close window ( , • Kill app ( , ,
) --
. )—
-
,
SIGKILL. , .
Ɋɚɛɨɬɚ ɫ ɨɤɧɚɦɢ ,
Gnome
,
Windows. :
• Delete — • Destroy —
. S1GK1LL, .
• Toggle — . • Maximize/Minimize — Windows. • In Group — • Send window to —
, ,
. -
. • Depth — . . • Frame type — • Frame style —
, . , , ,
, .
, .
-
98
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
• History —
Remember (
)
-
. , . , .
.
ȼɢɪɬɭɚɥɶɧɵɟ ɞɟɫɤɬɨɩɵ . Desk Guide,
, .
— Workspaces
, . "
" ,
-
,
sticky (
).
: •
, ,
Stick (
).
•
, Toggle ( "
), "
-
— Stick.
,
. :
•
,
sticky, ,
sticky.
•
, Sent window to,
Previous workspace
Next
workspace. FreeBSD
; .
• ,
: , Workspaces,
workspace. . • , (
) ). .
, , , Move workspace right (
Insert -
Move workspace left -
99
Ƚɥɚɜɚ 5. Ɋɚɛɨɬɚ ɜ ɫɪɟɞɟ Gnome
, Merge with next ( ).
Workspaces, Merge with previous (
)
Toggle , . .
Toggle,
,
Toggle ( • • • •
Sticky Minimize Shaded -Ignored —
).
. , ,
, .
. ,
, •
Focusable — (
, ).
,
,
( Cyclable — ,
•
,
).
, .
,
. •
In window list — ,
, Windows (
,
). .
•
In GNOME task list — Gnome, .
Ɉɩɰɢɹ In Group .
In Group
.
Ɉɩɰɢɹ Depth Depth (
)
. Windows,
Gnome .
Ɋɚɛɨɬɚ ɫ ɮɚɣɥɚɦɢ ɢ ɤɚɬɚɥɨɝɚɦɢ File Manager
Home directory, . 5.3.
. , .
-
100
2.
FreeBSD
,
, (
,
-
). .
5.3 File Manager.
Move to trash ( [
) ,
.
Move to trash Delete .
Windows.
Manager
, File Manager
. "
"
.
-
)
Delete
, ,
,
File m ,
6
Gnome
► Gnome ► ► Gnome File Manager ► Gnome Control Center ► Sawfish ►
102
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
Ⱦɨɛɚɜɥɟɧɢɟ ɧɨɜɵɯ ɩɢɤɬɨɝɪɚɦɦ ɧɚ ɪɚɛɨɱɢɣ ɫɬɨɥ . , Gnome File Manager. , . , .
Link
. , New. .
-
6.1. Ɍɚɛɥɢɰɚ 6.1 Ʉɨɦɚɧɞɵ ɫɨɡɞɚɧɢɹ ɧɨɜɵɯ ɷɥɟɦɟɧɬɨɜ ɧɚ ɪɚɛɨɱɟɦ ɫɬɨɥɟ Ɉɬɤɪɵɜɚɟɬ ɧɚ ɪɚɛɨɱɟɦ ɫɬɨɥɟ ɧɨɜɨɟ ɨɤɧɨ ɫ ɤɨɦɚɧɞɧɨɣ ɫɬɪɨɤɨɣ. Directory
Terminal
ɋɨɡɞɚɟɬ ɧɚ ɪɚɛɨɱɟɦ ɫɬɨɥɟ ɧɨɜɵɣ ɤɚɬɚɥɨɝ. ɋɨɡɞɚɟɬ ɧɚ ɪɚɛɨɱɟɦ ɫɬɨɥɟ ɹɪɥɵɤ ɞɥɹ Web-ɫɚɣɬɚ. ɉɪɢ ɞɜɨɣɧɨɦ ɳɟɥɱɤɟ ɧɚ ɷɬɨɦ ɹɪɥɵɤɟ ɩɪɨɢɫɯɨɞɢɬ ɡɚɩɭɫɤ ɛɪɚɭɡɟɪɚ Netscape ɢ ɡɚɝɪɭɡɤɚ ɭɤɚɡɚɧɧɨɣ Web-ɫɬɪɚɧɢɱɤɢ.
URL link
ɋɨɡɞɚɟɬ ɧɚ ɪɚɛɨɱɟɦ ɫɬɨɥɟ ɢɤɨɧɤɭ ɞɥɹ ɡɚɩɭɫɤɚ ɩɪɨɝɪɚɦɦɵ.
Launcher
ɋɨɡɞɚɧɢɟ ɧɚ ɪɚɛɨɱɟɦ ɫɬɨɥɟ ɩɢɤɬɨɝɪɚɦɦ ɞɥɹ ɡɚɩɭɫɤɚ ɩɪɨɝɪɚɦɦ . Gnome File Manager
-
,
, .
, -
, — New,
Link. ,
— -
Launcher. .
,
.
,
.
,
, —
. FreeBSD . . 6.1
,
-
. ,
, ).
xcalc (
(
),
. 1. Name —
, .
.
Ƚɥɚɜɚ 6. ɇɚɫɬɪɨɣɤɚ ɫɪɟɞɵ Gnome
1 03
Ɋɢɫɭɧɨɤ 6.1 .
3 4
Comment — Command —
,
.
,
. — xcalc.
5
—
,
,
. Run in Terminal —
6
Application. ,
.
,
.
. ,
No Icon. Gnome /usr/XHR6/share/gnome/pixmaps.
7
xcalc -
Advanced — (
, ,
).
ɇɚɫɬɪɨɣɤɚ ɩɚɧɟɥɢ Gnome Gnome, , Properties, Panel
Panel Properties.
Global Preferences Gnome.
,
,
Ɋɚɛɨɬɚ ɫ ɩɢɤɬɨɝɪɚɦɦɚɦɢ ɩɚɧɟɥɢ Gnome . (
Gnome —
, —
.
— Gnome Start).
, Gnome. .
,
,
Move. .
, Web-
,
,
104
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
,
Properties.
-
. 6.2.
6.2
Properties Gnome.
Start Gnome ( ,
)
Start
Windows.
Gnome,
.
. ,
, Gnome Gnome
Edit Menus.
. 6.3. .
(+)
, .
, .
6.3
Gnome.
,
Ƚɥɚɜɚ 6. ɇɚɫɬɪɨɣɤɚ ɫɪɟɞɵ Gnome
105
New Submenu (
)
New Item (
),
, .
,
,
, xcalc. He
Save.
Sort Submenu, .
Sort
-
Sort Submenu Recursive, , .
,
Ɋɚɛɨɬɚ ɫ ɚɩɩɥɟɬɚɦɢ ɩɚɧɟɥɢ Gnome — Gnome. :
,
Gnome
.
,
.
,
,
(
. Remove
) , from Panel. .
.
,
,
-
, .
-
,
,
,
(
,
-
). Gnome, ,
,
Applets, ,
,
. -
(
)
Properties.
,
Panel,
, Remove this panel.
—
, .
, ,
, ),
unexpectedly" ( . .
Reload, ,
,
"The applet appears to have died ,
Panel .
Create panel, 6.2
, .
106
2.
FreeBSD
6.2
Gnome , . ,
, ,
. ,
. , .
), ,
( -
All properties. .
Gnome File Manager Gnome File Manager Windows Explorer. Gnome File Manager , Settings, — Preferences ( . . 6.4).
File Display , ,
, .
-
: • Show backup files —
-
6.4. Manager.
Gnome File
(~). Gnome File Manager
.
, • Show hidden files —
. "
",
-
. . . • Mix files and directories — , , — . • Use shell patterns instead of regular expressions —
,
. , find.
8.
Ƚɥɚɜɚ 6. ɇɚɫɬɪɨɣɤɚ ɫɪɟɞɵ Gnome
107
• Determine file types from file content instead of extensions — , . .
Confirmation ,
VFS
, .
,
,
FTP-
.
Gnome File Manager
FTP, FTP, , VFS
. • VFS timeout — FTP• Anonymous FTP password —
, : (
)
,
. FTP
, ,
. • Always use FTP proxy —
FTP. FTP
,
,
.
ȼɤɥɚɞɤɚ Caching ,
Caching,
. • Fast directory reload —
: , (
• Compute totals before copying files — . ,
).
-
. ,
, . , .
• FTP directory cache timeout —
, -
. , Rescan. FTP, , . • Allow customization of icons in icon view — .
.
-
, ,
,
-
ȼɤɥɚɞɤɚ Desktop .
,
.
,
.
108
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
• Automatic icon placement ( , ' . • Snap icons to grid ( , . • Use shaped icons ( , , • Use shaped text ( ,
)—
))—
.
. )— ).
(
-
Gnome)
-
, .
Ɋɚɛɨɬɚ ɫ Gnome Control Center Gnome Control Center ( Windows Control Panel (
). Gnome.
Gnome Control Center,
, .
ɂɡɦɟɧɟɧɢɟ ɮɨɧɚ ɪɚɛɨɱɟɝɨ ɫɬɨɥɚ , Gnome Control Center
. (
.
. Background
. 6.5). ,
. Gnome ,
6.5 .
BMP, JPEG, GIF, PNG
.
Ƚɥɚɜɚ 6. ɇɚɫɬɪɨɣɤɚ ɫɪɟɞɵ Gnome
Gnome Theme Selector,
( . ,
6.6).
1 09
, Gnome.
gtk.themes.org.
6.6
Gnome.
Ɇɟɧɟɞɠɟɪ ɨɤɨɧ Gnome
Sawfish. .
Sawfish, .
(
.
-
. 6.7)
,
, .
Gnome, — Sawfish, IceWM
, Enlightenment.
Ɉɛɪɚɛɨɬɱɢɤɢ ɞɨɤɭɦɟɧɬɨɜ .
,
Gnome File Manager
.
, FreeBSD,
,
, gEdit,
Emacs
.
mime mime
,
Gnome File Manager .
FreeBSD,
Microsoft Word ,
-
110
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
Word.
,
AbiWord
,
.
6.7. .
ɉɪɨɝɪɚɦɦɚ Abiword ɢɦɟɟɬɫɹ ɜ ɤɨɥɥɟɤɰɢɢ ɩɨɪɬɨɜ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ FreeBSD ɜ ɤɚɬɚɥɨɝɟ "editors". Ȼɨɥɟɟ ɩɨɞɪɨɛɧɚɹ ɢɧɮɨɪɦɚɰɢɹ ɢɦɟɟɬɫɹ ɜ ɝɥɚɜɟ 15.
Word, : , mime, (
.
(AbiWord). . 6.8), , Microsoft Word.
ɉɊɂɆȿɑȺɇɂȿ
? , , . Gnome File Manager Word mime Gnome
Mime — ɷɬɨ ɫɨɤɪɚɳɟɧɢɟ ɨɬ multipurpose Internet mail extensions (ɦɧɨɝɨɰɟɥɟɜɵɟ ɩɨɱɬɨɜɵɟ ɪɚɫɲɢɪɟɧɢɹ ɫɟɬɢ Internet). ɋɬɚɧɞɚɪɬ mime ɩɟɪɜɨɧɚɱɚɥɶɧɨ ɛɵɥ ɪɚɡɪɚɛɨɬɚɧ ɞɥɹ ɩɟɪɟɞɚɱɢ ɩɨ ɷɥɟɤɬɪɨɧɧɨɣ ɩɨɱɬɟ ɮɚɣɥɨɜ, ɚ ɧɟ ɩɪɨɫɬɨ ɬɟɤɫɬɚ. ɉɨɡɞɧɟɟ ɨɧ ɛɵɥ ɪɚɫɩɪɨɫɬɪɚɧɟɧ ɢ ɧɚ WWW. Ʉɨɝɞɚ ɜɵ ɩɨɫɟɳɚɟɬɟ Web-ɫɬɪɚɧɢɰɭ, ɫɟɪɜɟɪ ɫɧɚɱɚɥɚ ɩɨɫɵɥɚɟɬ ɜɚɦ ɡɚɝɨɥɨɜɨɤ, ɢɧɮɨɪɦɢɪɭɸɳɢɣ ɛɪɚɭɡɟɪ ɨ ɬɨɦ, ɤɚɤɨɝɨ ɬɢɩɚ ɞɨɤɭɦɟɧɬ ɨɧ ɫɨɛɢɪɚɟɬɫɹ ɜɚɦ ɨɬɩɪɚɜɥɹɬɶ. ɂɧɮɨɪɦɚɰɢɹ ɜ ɷɬɨɦ ɡɚɝɨɥɨɜɤɟ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɬɢɩ mime. ɋ ɟɝɨ ɩɨɦɨɳɶɸ ɛɪɚɭɡɟɪ ɨɩɪɟɞɟɥɹɟɬ, ɤɚɤ ɨɛɪɚɛɨɬɚɬɶ ɞɨɤɭɦɟɧɬ, ɤɨɬɨɪɵɣ ɨɧ ɫɟɣɱɚɫ ɩɨɥɭɱɢɬ [ɨɬɨɛɪɚɡɢɬɶ ɜ ɨɤɧɟ ɛɪɚɭɡɟɪɚ, ɨɬɤɪɵɬɶ ɜɧɟɲɧɟɟ ɩɪɢɥɨɠɟɧɢɟ ɞɥɹ ɨɛɪɚɛɨɬɤɢ ɞɨɤɭɦɟɧɬɚ ɢɥɢ ɫɝɪɭɡɢɬɶ ɞɨɤɭɦɟɧɬ ɧɚ ɞɢɫɤ). Ɇɧɨɝɢɟ ɬɢɩɵ ɮɚɣɥɨɜ ɢɦɟɸɬ ɫɬɚɧɞɚɪɬɧɵɟ ɧɚɡɜɚɧɢɹ ɬɢɩɨɜ mime, ɤɨɬɨɪɵɟ ɯɪɚɧɹɬɫɹ ɜ ɫɚɦɢɯ ɮɚɣɥɚɯ ɢ ɢɡɜɟɫɬɧɵ ɛɪɚɭɡɟɪɚɦ ɢ ɩɨɱɬɨɜɵɦ ɤɥɢɟɧɬɚɦ. ɉɨɞɪɨɛɧɚɹ ɢɧɮɨɪɦɚɰɢɹ ɨ ɬɢɩɚɯ mime ɢɦɟɟɬɫɹ ɜ ɞɨɤɭɦɟɧɬɚɯ RFC 2045 ɢ 2046.
-
Ƚɥɚɜɚ 6. ɇɚɫɬɪɨɣɤɚ ɫɪɟɞɵ Gnome
111
6.8 mime .
Gnome .
, Internet mime, , assignments/media-types/media-types. , Microsoft Word application/msword. "Add" Regular Expression , , mime. mime . Edit. . 6.10 Edit.
6.9 Microsoft Word.
mime
mime, , http://www.isi.edu/in-notes/iana/ , mime mime, ( . . 6.9). . ,
mime
6.10 mime
—
Word.
112
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
Open, View
Edit
abiword %f.
%f
, .
. Ч
Ⱥɪɝɭɦɟɧɬ — ɷɬɨ ɩɚɪɚɦɟɬɪ, ɤɨɬɨɪɵɣ ɩɟɪɟɞɚɟɬɫɹ ɜ ɩɪɨɝɪɚɦɦɭ ɢ ɢɧɮɨɪɦɢɪɭɟɬ ɟɟ ɨ ɬɨɦ, ɫ ɤɚɤɢɦɢ ɞɚɧɧɵɦɢ ɨɧɚ ɞɨɥɠɧɚ ɪɚɛɨɬɚɬɶ. ɇɚɩɪɢɦɟɪ, ɜ ɞɚɧɧɨɦ ɫɥɭɱɚɟ ɩɚɪɚɦɟɬɪ %f ɫɨɞɟɪɠɢɬ ɢɦɹ ɮɚɣɥɚ, ɜɵɛɪɚɧɧɨɝɨ ɜ ɨɤɧɟ ɦɟɧɟɞɠɟɪɚ ɮɚɣɥɨɜ. ɗɬɨ ɢɦɹ ɜ ɤɚɱɟɫɬɜɟ ɚɪɝɭɦɟɧɬɚ ɩɟɪɟɞɚɟɬɫɹ ɜ ɩɪɨɝɪɚɦɦɭ abiword, ɩɨɷɬɨɦɭ ɨɧɚ ɜɵɡɵɜɚɟɬɫɹ ɤɨɦɚɧɞɨɣ abiword filename ɢ ɨɬɤɪɵɜɚɟɬ ɮɚɣɥ ɫ ɢɦɟɧɟɦ filename ɞɥɹ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ.
. abiword
, Select application .
Word
-
ɇɚɫɬɪɨɣɤɚ ɩɚɪɚɦɟɬɪɨɜ ɦɟɧɟɞɠɟɪɚ ɨɤɨɧ Sawfish Gnome Control Center. Configurator. ,
Sawfish Sawfish, Customize, — All features ( . . 6.11). , . Focus Focus windows when they are first displayed. , . , Dialog windows inherit the focus from their parents ( ). Raise windows when they are first focused ( , ) . Sawfish , , Ok.
6.11 Sawfish.
7
► ► StarOffice ► ► ►
114
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
FreeBSD
,
,
Linux. .
,
,
.
Ɋɚɛɨɬɚ ɫ ɬɟɤɫɬɨɦ , ,
.
, . ,
, . : •
. ,
. , , .(
11.) .
• .
•
13
21 FreeBSD; . HTML. Web.
. Web-
Web,
, Web-
. (what you see is what you get — . • .
,
WYSIWYG ,
) ,
-
LayTeX,
. ,
X-Window, Windows Macintosh. .
, FreeBSD,
Ɍɟɤɫɬɨɜɵɣ ɪɟɞɚɤɬɨɪ gedit gedit — Gnome.
,
, Notepad
, gedit
Windows
, ,
gedit editors.
. 7.1
,
. Notepad. FreeBSD, gedit.
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ
115
Ɋɢɫɭɧɨɤ 7.1 gedit.
, Edit
.
File
,
-
,
.
.
ɋɦɟɧɧɵɟ ɦɨɞɭɥɢ gedit
, .
-
-
,
Plug-ins gedit
. .
-
. Browse
-
Lynx,
Browse
Web-
. ,
-
. ,
, .
Diff ,
Diff ,
. ,
,
,
,
-
.
E-mail -
E-mail . Shell Output
Shell Output .
-
116
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
, ,
Directory
/,
command — ls -1.
Enter shell -l
ls .
Insert Time -
Insert Time . (Easy Editor) FreeBSD.
, UNIX.
. .
,
.
(^) .
Ctrl.
-
7.1
Ɍɚɛɥɢɰɚ 7.1 Ʉɥɚɜɢɚɬɭɪɧɵɟ ɤɨɦɛɢɧɚɰɢɢ, ɢɫɩɨɥɶɡɭɟɦɵɟ ɜ ɪɟɞɚɤɬɨɪɟ ɟɟ.
Ctrl+o
ɉɨɡɜɨɥɹɟɬ ɜɜɨɞɢɬɶ ɡɧɚɱɟɧɢɹ ɫɢɦɜɨɥɨɜ ɜ ɤɨɞɟ ASCII. ɗɬɨ ɧɟɨɛɯɨɞɢɦɨ ɩɪɢ ɜɜɨɞɟ ɫɩɟɰɢɚɥɶɧɵɯ ɫɢɦɜɨɥɨɜ, ɨɬɫɭɬɫɬɜɭɸɳɢɯ ɧɚ ɤɥɚɜɢɚɬɭɪɟ; ɜ ɞɚɧɧɨɦ ɫɥɭɱɚɟ ɜɜɨɞɹɬɫɹ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɤɨɞɵ ASCII.
Ctrl+c
ȼɵɜɨɞɢɬ ɩɪɢɝɥɚɲɟɧɢɟ, ɩɨɡɜɨɥɹɸɳɟɟ ɜɜɨɞɢɬɶ ɤɨɦɚɧɞɵ, ɩɟɪɟɱɢɫɥɟɧɧɵɟ ɜ ɦɟɧɸ. ȿɫɥɢ ɜɜɨɞɢɬɶ ɤɨɦɚɧɞɭ ɧɟ ɬɪɟɛɭɟɬɫɹ, ɩɪɨɫɬɨ ɧɚɠɦɢɬɟ ɤɥɚɜɢɲɭ Enter.
Ctrl+y
ȼɵɜɨɞɢɬ ɩɪɢɝɥɚɲɟɧɢɟ ɧɚ ɜɵɩɨɥɧɟɧɢɟ ɩɨɢɫɤɚ. ȼɜɟɞɢɬɟ ɜɵɪɚɠɟɧɢɟ, ɤɨɬɨɪɨɟ ɧɟɨɛɯɨɞɢɦɨ ɧɚɣɬɢ ɜ ɮɚɣɥɟ, ɢ ɧɚɠɦɢɬɟ Enter. Ȼɭɞɟɬ ɜɵɩɨɥɧɟɧ ɩɨɢɫɤ ɩɟɪɜɨɝɨ ɫɨɜɩɚɞɟɧɢɹ ɫ ɡɚɞɚɧɧɵɦ ɲɚɛɥɨɧɨɦ ɩɨɫɥɟ ɬɟɤɭɳɟɝɨ ɩɨɥɨɠɟɧɢɹ ɤɭɪɫɨɪɚ.
Ctrl+x
ɉɨɜɬɨɪɧɨ ɜɵɩɨɥɧɹɟɬ ɩɨɢɫɤ, ɡɚɞɚɧɧɵɣ ɤɨɦɛɢɧɚɰɢɟɣ ɤɥɚɜɢɲ Ctrl+y; ɜ ɪɟɡɭɥɶɬɚɬɟ ɛɭɞɟɬ ɧɚɣɞɟɧ ɜɬɨɪɨɟ ɫɨɜɩɚɞɟɧɢɟ.
Ctrl+g ɢ Ctrl+v ɋ ɩɨɦɨɳɶɸ ɷɬɢɯ ɤɨɦɛɢɧɚɰɢɣ ɤɥɚɜɢɲ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɩɟɪɟɯɨɞ ɤ ɩɨɫɥɟɞɭɸɳɟɣ ɢ ɩɪɟɞɵɞɭɳɟɣ ɫɬɪɚɧɢɰɚɦ. Ɍɨ ɠɟ ɫɚɦɨɟ ɦɨɠɧɨ ɫɞɟɥɚɬɶ ɫ ɩɨɦɨɳɶɸ ɤɥɚɜɢɲ Page Up ɢ Page Down.
home-
.init.ee, .
. Esc,
( . . 7.2); settings 7.2
Enter. .
я
7.
117
7.3 7.2
.
.
7.2
.
Tabs to spaces
.
, . ,
(
Python
Case-sensitive search
FORTRAN).
.
, .
Margins observed
, . .
, .
, . Auto paragraph format
.
, — .
, , Margins
observed.
Margins observed .
Eightbit characters ( )
.
8ASCII.
,
.
Info window
. menu/help.
,
. Emacs key bindings
. ,
Emacs.
,
. Right margin
,
. 80-
16 bit characters
,
.
1616-
( ).
8-
118__ ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
— Save editor configuration — .init.ee. .
, home-
-
,
,
. , home-
,
.
Ɋɟɞɚɤɬɨɪ vi vi —
,
-
UNIX. UNIX. ,
vi
, .
, .
,
. vi?
,
,
,
.
-
UNIX,
,
.
-
, ...
UNIX,
,
,
,
.
, ,
vi
. vi.
vi, ,
, ,
-
,
vi
. .
vi , ,
. : a, i . append ( , insert (
i
, -
). . ).
,
.
,
open ( ,
,
). vi
, . insert,
. , . ; .
, ,
-
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ
119
, Escape.
vi
-
. vi , .
,
Page Up / Page Down. ,
.
, . ,
Escape h, . -
. j, k
,
1 ,
,
,
, : 1— h— j . k .
• • • •
. . ,
.
kaif,
— . .
7.3 vi
,
h
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜɥɟɜɨ ɧɚ ɨɞɢɧ ɫɢɦɜɨɥ.
j
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜɧɢɡ ɧɚ ɨɞɢɧ ɫɢɦɜɨɥ.
k
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜɜɟɪɯ ɧɚ ɨɞɢɧ ɫɢɦɜɨɥ.
I
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜɩɪɚɜɨ ɧɚ ɨɞɢɧ ɫɢɦɜɨɥ.
w
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜɩɟɪɟɞ ɧɚ ɨɞɧɨ ɫɥɨɜɨ.
b
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɧɚɡɚɞ ɧɚ ɨɞɧɨ ɫɥɨɜɨ.
ɟ
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜ ɤɨɧɟɰ ɫɥɟɞɭɸɳɟɝɨ ɫɥɨɜɚ.
Ɉ
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜ ɧɚɱɚɥɨ ɫɬɪɨɤɢ.
$
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜ ɤɨɧɟɰ ɫɬɪɨɤɢ.
)
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜ ɧɚɱɚɥɨ ɫɥɟɞɭɸɳɟɝɨ ɩɪɟɞɥɨɠɟɧɢɹ.
(
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜ ɧɚɱɚɥɨ ɩɪɟɞɵɞɭɳɟɝɨ ɩɪɟɞɥɨɠɟɧɢɹ.
}
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜ ɧɚɱɚɥɨ ɫɥɟɞɭɸɳɟɝɨ ɚɛɡɚɰɚ.
{
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɜ ɧɚɱɚɥɨ ɩɪɟɞɵɞɭɳɟɝɨ ɚɛɡɚɰɚ.
G
ɉɟɪɟɦɟɳɚɟɬ kɭɪɫɨɪ ɜ ɤɨɧɟɰ ɬɟɤɭɳɟɝɨ ɞɨɤɭɦɟɧɬɚ.
7.3
120
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
^
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɤ ɩɟɪɜɨɦɭ ɫɢɦɜɨɥɭ ɫɬɪɨɤɢ, ɧɟ ɹɜɥɹɸɳɟɦɭɫɹ ɩɪɨɛɟɥɨɦ.
ɇ
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɧɚ ɩɟɪɜɭɸ ɫɬɪɨɤɭ ɧɚ ɷɤɪɚɧɟ.
L
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɧɚ ɩɨɫɥɟɞɧɸɸ ɫɬɪɨɤɭ ɧɚ ɷɤɪɚɧɟ.
, 1.
,
j ,
k
w
.
,
. ,
,
-
:
5j 75-
,
: 75G
,
:
5L
7.3,
^,
,
.
ɉɪɨɱɢɟ ɤɥɚɜɢɲɢ ɩɟɪɟɦɟɳɟɧɢɹ , ,
(
7.4). Ɍɚɛɥɢɰɚ 7.4 ɉɪɨɤɪɭɬɤɚ ɬɟɤɫɬɚ ɜ ɪɟɞɚɤɬɨɪɟ vi
, ɡɚɬɟɦ Enter
ɉɟɪɟɦɟɳɚɟɬ ɫɬɪɨɤɭ, ɧɚ ɤɨɬɨɪɨɣ ɧɚɯɨɞɢɬɫɹ ɤɭɪɫɨɪ, ɜɜɟɪɯ ɷɤɪɚɧɚ,
z, ɡɚɬɟɦ -
ɉɟɪɟɦɟɳɚɟɬ ɫɬɪɨɤɭ, ɧɚ ɤɨɬɨɪɨɣ ɧɚɯɨɞɢɬɫɹ ɤɭɪɫɨɪ, ɜɧɢɡ ɷɤɪɚɧɚ,
z, ɡɚɬɟɦ .
ɉɟɪɟɦɟɳɚɟɬ ɫɬɪɨɤɭ, ɧɚ ɤɨɬɨɪɨɣ ɧɚɯɨɞɢɬɫɹ ɤɭɪɫɨɪ, ɜ ɰɟɧɬɪ ɷɤɪɚɧɚ.
Ctrl+u
ɉɪɨɤɪɭɱɢɜɚɟɬ ɬɟɤɫɬ ɧɚ ɩɨɥ-ɷɤɪɚɧɚ ɜɜɟɪɯ.
Ctrl+d
ɉɪɨɤɪɭɱɢɜɚɟɬ ɬɟɤɫɬ ɧɚ ɩɨɥ-ɷɤɪɚɧɚ ɜɧɢɡ.
Ctrl+f
ɉɪɨɤɪɭɱɢɜɚɟɬ ɬɟɤɫɬ ɜɩɟɪɟɞ ɧɚ ɰɟɥɵɣ ɷɤɪɚɧ.
Ctrl+b
ɉɪɨɤɪɭɱɢɜɚɟɬ ɬɟɤɫɬ ɧɚɡɚɞ ɧɚ ɰɟɥɵɣ ɷɤɪɚɧ.
Ctrl+e
ɉɪɨɤɪɭɱɢɜɚɟɬ ɬɟɤɫɬ ɜɧɢɡ ɧɚ ɨɞɧɭ ɫɬɪɨɤɭ.
Ctrl+y
ɉɪɨɤɪɭɱɢɜɚɟɬ ɬɟɤɫɬ ɜɜɟɪɯ ɧɚ ɨɞɧɭ ɫɬɪɨɤɭ.
Ʉɨɦɚɧɞɵ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ ɬɟɤɫɬɚ vi .
Backspace
Delete
,
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ
121
7.5 vi.
vi. , Ɍɚɛɥɢɰɚ 7.5 Ʉɨɦɚɧɞɵ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ ɬɟɤɫɬɚ ɜ ɪɟɞɚɤɬɨɪɟ vi D
ɍɞɚɥɹɟɬ ɬɟɤɫɬ ɨɬ ɩɨɡɢɰɢɢ ɤɭɪɫɨɪɚ ɞɨ ɤɨɧɰɚ ɫɬɪɨɤɢ,
dd
ɍɞɚɥɹɟɬ ɜɫɸ ɬɟɤɭɳɭɸ ɫɬɪɨɤɭ ɰɟɥɢɤɨɦ.
ndd
Ɂɞɟɫɶ n — ɱɢɫɥɨ ɭɞɚɥɹɟɦɵɯ ɫɬɪɨɤ. ɇɚɩɪɢɦɟɪ, ɤɨɦɚɧɞɚ 5dd ɭɞɚɥɹɟɬ ɬɟɤɭɳɭɸ ɫɬɪɨɤɭ ɢ ɱɟɬɵɪɟ ɫɬɪɨɤɢ, ɫɥɟɞɭɸɳɢɟ ɡɚ ɧɟɣ. Ɂɞɟɫɶ ɫ — ɫɢɦɜɨɥ. ɗɬɚ ɤɨɦɚɧɞɚ ɡɚɦɟɧɹɟɬ ɫɢɦɜɨɥ ɜ ɩɨɡɢɰɢɢ ɤɭɪɫɨɪɚ ɫɢɦɜɨɥɨɦ, ɤɨɬɨɪɵɣ ɭɤɚɡɚɧ ɡɚ r.
R
Ɍɟɤɫɬ, ɜɜɨɞɢɦɵɣ ɩɨɫɥɟ ɷɬɨɣ ɤɨɦɚɧɞɵ, ɡɚɦɟɳɚɟɬ ɬɟɤɭɳɢɣ ɬɟɤɫɬ, ɧɚɱɢɧɚɹ ɫ ɩɨɡɢɰɢɢ ɤɭɪɫɨɪɚ. ɗɬɨɬ ɪɟɠɢɦ ɞɟɣɫɬɜɭɟɬ ɞɨ ɬɟɯ ɩɨɪ, ɩɨɤɚ ɧɟ ɛɭɞɟɬ ɧɚɠɚɬɚ ɤɥɚɜɢɲɚ Escape, ɜɨɡɜɪɚɳɚɸɳɚɹ ɪɟɞɚɤɬɨɪ ɜ ɤɨɦɚɧɞɧɵɣ ɪɟɠɢɦ.
S
ɍɞɚɥɹɟɬ ɬɟɤɭɳɭɸ ɫɬɪɨɤɭ ɢ ɧɚɱɢɧɚɟɬ ɜɜɨɞ ɬɟɤɫɬɚ ɧɚ ɧɨɜɨɣ ɩɭɫɬɨɣ ɫɬɪɨɤɟ.
ɯ
ɍɞɚɥɹɟɬ ɫɢɦɜɨɥ ɜ ɩɨɡɢɰɢɢ ɤɭɪɫɨɪɚ ɢ ɫɞɜɢɝɚɟɬ ɫɥɟɞɭɸɳɢɟ ɡɚ ɧɢɦ ɫɢɦɜɨɥɵ ɜɥɟɜɨ.
X
ɍɞɚɥɹɟɬ ɫɢɦɜɨɥ ɩɟɪɟɞ ɤɭɪɫɨɪɨɦ ɢ ɫɞɜɢɝɚɟɬ ɫɥɟɞɭɸɳɢɟ ɡɚ ɧɢɦ ɫɢɦɜɨɥɵ ɜɥɟɜɨ. Ɂɚɦɟɧɹɟɬ ɛɭɤɜɭ ɧɚ ɩɨɡɢɰɢɢ ɤɭɪɫɨɪɚ ɬɨɣ ɠɟ ɛɭɤɜɨɣ ɞɪɭɝɨɝɨ ɪɟɝɢɫɬɪɚ.
J
Ɉɛɴɟɞɢɧɹɟɬ ɬɟɤɭɳɭɸ ɫɬɪɨɤɭ ɫ ɩɪɟɞɵɞɭɳɟɣ.
Ɉɩɟɪɚɰɢɢ ɧɚɞ ɮɚɣɥɚɦɢ ɢ ɜɵɯɨɞ ɢɡ ɪɟɞɚɤɬɨɪɚ vi vi. 7.6. Ɍɚɛɥɢɰɚ 7.6 Ɉɩɟɪɚɰɢɢ ɧɚɞ ɮɚɣɥɚɦɢ ɜ ɪɟɞɚɤɬɨɪɟ vi zz.
ɋɨɯɪɚɧɹɟɬ ɢɡɦɟɧɟɧɢɹ ɜ ɬɟɤɭɳɟɦ ɮɚɣɥɟ ɢ ɨɫɭɳɟɫɬɜɥɹɟɬ ɜɵɯɨɞ ɢɡ ɩɪɨɝɪɚɦɦɵ.
:wq
ɋɨɯɪɚɧɹɟɬ ɢɡɦɟɧɟɧɢɹ ɜ ɬɟɤɭɳɟɦ ɮɚɣɥɟ ɢ ɨɫɭɳɟɫɬɜɥɹɟɬ ɜɵɯɨɞ ɢɡ ɩɪɨɝɪɚɦɦɵ (ɬɨ ɠɟ, ɱɬɨ ɢ ZZ).
:w
ɋɨɯɪɚɧɹɟɬ ɢɡɦɟɧɟɧɢɹ ɜ ɬɟɤɭɳɟɦ ɮɚɣɥɟ.
:w !
ɋɨɯɪɚɧɹɟɬ ɢɡɦɟɧɟɧɢɹ ɜ ɬɟɤɭɳɟɦ ɮɚɣɥɟ, ɡɚɦɟɳɚɹ ɫɭɳɟɫɬɜɭɸɳɢɣ ɮɚɣɥ ɫ ɬɚɤɢɦ ɠɟ ɢɦɟɧɟɦ.
:q
Ɉɫɭɳɟɫɬɜɥɹɟɬ ɜɵɯɨɞ ɢɡ ɩɪɨɝɪɚɦɦɵ. ȿɫɥɢ ɢɦɟɸɬɫɹ ɧɟɫɨɯɪɚɧɟɧɧɵɟ ɢɡɦɟɧɟɧɢɹ, ɪɟɞɚɤɬɨɪ vi ɜɵɞɚɟɬ ɫɨɨɛɳɟɧɢɟ ɨɛ ɷɬɨɦ ɢ ɩɪɨɝɪɚɦɦɚ ɧɟ ɡɚɤɪɵɜɚɟɬɫɹ.
:q !
Ɉɫɭɳɟɫɬɜɥɹɟɬ ɜɵɯɨɞ ɢɡ ɪɟɞɚɤɬɨɪɚ vi, ɞɚɠɟ ɟɫɥɢ ɢɦɟɸɬɫɹ ɧɟɫɨɯɪɚɧɟɧɧɵɟ ɢɡɦɟɧɟɧɢɹ. ɂɡɦɟɧɟɧɢɹ ɩɪɢ ɷɬɨɦ ɬɟɪɹɸɬɫɹ.
:ɟ filename
Ɂɚɝɪɭɠɚɟɬ ɡɚɞɚɧɧɵɣ ɮɚɣɥ ɜ ɪɟɞɚɤɬɨɪ vi ɞɥɹ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ. ȿɫɥɢ ɡɚɞɚɧɧɵɣ ɮɚɣɥ ɧɟ ɫɭɳɟɫɬɜɭɟɬ, ɬɨ ɫɨɡɞɚɟɬɫɹ ɧɨɜɵɣ ɮɚɣɥ.
:ɟ!
Ɉɬɛɪɚɫɵɜɚɟɬ ɜɫɟ ɢɡɦɟɧɟɧɢɹ ɢ ɩɟɪɟɡɚɝɪɭɠɚɟɬ ɫ ɞɢɫɤɚ ɫɬɚɪɵɣ ɜɚɪɢɚɧɬ ɮɚɣɥɚ.
-
122
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD ____________________________________
vi vi
. 7.7.
7.7
vi
( ) /
Ɂɞɟɫɶ — ɷɬɨ ɮɪɚɝɦɟɧɬ ɬɟɤɫɬɚ (ɫɥɨɜɨ, ɫɥɨɜɨɫɨɱɟɬɚɧɢɟ, ɮɪɚɡɚ ɢ ɬ. ɩ.), ɤɨɬɨɪɵɣ ɬɪɟɛɭɟɬɫɹ ɧɚɣɬɢ. Ɋɟɞɚɤɬɨɪ vi ɨɫɭɳɟɫɬɜɥɹɟɬ ɩɨɢɫɤ ɜ ɮɚɣɥɟ ɜ ɩɪɹɦɨɦ ɧɚɩɪɚɜɥɟɧɢɢ ɞɨ ɩɟɪɜɨɝɨ ɫɨɜɩɚɞɟɧɢɹ ɫ ɡɚɞɚɧɧɵɦ ɲɚɛɥɨɧɨɦ.
/
ɉɨɜɬɨɪɹɟɬ ɩɨɢɫɤ ɲɚɛɥɨɧɚ ɜ ɨɛɪɚɬɧɨɦ ɧɚɩɪɚɜɥɟɧɢɢ ɞɨ ɨɛɧɚɪɭɠɟɧɢɹ ɨɱɟɪɟɞɧɨɝɨ ɫɨɜɩɚɞɟɧɢɹ.
?ɲɚɛɥɨɧ
Ɂɞɟɫɶ — ɷɬɨ ɮɪɚɝɦɟɧɬ ɬɟɤɫɬɚ, ɤɨɬɨɪɵɣ ɬɪɟɛɭɟɬɫɹ ɧɚɣɬɢ. Ɋɟɞɚɤɬɨɪ vi ɨɫɭɳɟɫɬɜɥɹɟɬ ɩɨɢɫɤ ɜ ɮɚɣɥɟ ɜ ɨɛɪɚɬɧɨɦ ɧɚɩɪɚɜɥɟɧɢɢ ɞɨ ɩɟɪɜɨɝɨ ɜɫɬɪɟɱɟɧɧɨɝɨ ɫɨɜɩɚɞɟɧɢɹ ɫ ɡɚɞɚɧɧɵɦ ɲɚɛɥɨɧɨɦ.
?
ɉɨɜɬɨɪɹɟɬ ɩɨɢɫɤ ɲɚɛɥɨɧɚ ɜ ɨɛɪɚɬɧɨɦ ɧɚɩɪɚɜɥɟɧɢɢ ɞɨ ɨɛɧɚɪɭɠɟɧɢɹ ɨɱɟɪɟɞɧɨɝɨ ɫɨɜɩɚɞɟɧɢɹ.
%
ɉɟɪɟɦɟɳɚɟɬ ɤɭɪɫɨɪ ɧɚ ɫɨɨɬɜɟɬɫɬɜɭɸɳɭɸ ɩɚɪɧɭɸ ɫɤɨɛɤɭ. ɗɬɚ ɤɨɦɚɧɞɚ ɩɨɥɟɡɧɚ ɞɥɹ ɩɪɨɝɪɚɦɦɢɫɬɨɜ.
:s/
1/
:%s/
2 1/
2
Ɂɚɦɟɧɹɟɬ ɜ ɬɟɤɭɳɟɣ ɫɬɪɨɤɟ ɤɚɠɞɨɟ ɫɨɜɩɚɞɟɧɢɟ ɲɚɛɥɨɧɚ 1 ɧɚ ɲɚɛɥɨɧ2. Ɂɚɦɟɧɹɟɬ ɜ ɮɚɣɥɟ ɤɚɠɞɨɟ ɫɨɜɩɚɞɟɧɢɟ ɲɚɛɥɨɧɚ 1 ɧɚ
,
vi ( —
vi yank — 7.8
.
2.
).
,
,
-
yank.
7.8
Yank
vi
yw
ɉɨɦɟɳɚɟɬ ɜ ɛɭɮɟɪ ɫɥɨɜɨ, ɧɚ ɤɨɬɨɪɨɦ ɜ ɞɚɧɧɵɣ ɦɨɦɟɧɬ ɧɚɯɨɞɢɬɫɹ ɤɭɪɫɨɪ.
ɭ$
ɉɨɦɟɳɚɟɬ ɜ ɛɭɮɟɪ ɬɟɤɫɬ ɨɬ ɬɟɤɭɳɟɣ ɩɨɡɢɰɢɢ ɤɭɪɫɨɪɚ ɞɨ ɤɨɧɰɚ ɞɚɧɧɨɣ ɫɬɪɨɤɢ,
ɭɭ
ɉɨɦɟɳɚɟɬ ɜ ɛɭɮɟɪ ɜɫɸ ɬɟɤɭɳɭɸ ɫɬɪɨɤɭ.
nɭɭ
Ɂɞɟɫɶ n — ɱɢɫɥɨ ɫɬɪɨɤ, ɡɚɧɨɫɢɦɵɯ ɜ ɛɭɮɟɪ. ɇɚɩɪɢɦɟɪ, ɤɨɦɚɧɞɚ 5ɭɭ ɩɨɦɟɳɚɟɬ ɜ ɛɭɮɟɪ ɬɟɤɭɳɭɸ ɫɬɪɨɤɭ, ɚ ɬɚɤɠɟ ɱɟɬɵɪɟ ɫɬɪɨɤɢ, ɫɥɟɞɭɸɳɢɟ ɡɚ ɧɟɣ.
,
-
. .
. ,
. ,
.
,
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ
123
ɉɊȿȾɈɋɌȿɊȿɀȿɇɂȿ Ɋɟɞɚɤɬɨɪ vi ɯɪɚɧɢɬ ɜ ɛɭɮɟɪɟ ɬɟɤɫɬ ɬɨɥɶɤɨ ɫɚɦɨɣ ɩɨɫɥɟɞɧɟɣ ɨɩɟɪɚɰɢɢ ɤɨɩɢɪɨɜɚɧɢɹ ɬɟɤɫɬɚ ɜ ɛɭɮɟɪ ɢɥɢ ɭɞɚɥɟɧɢɹ. Ⱦɪɭɝɢɦɢ ɫɥɨɜɚɦɢ, ɟɫɥɢ ɜɵ ɜɵɩɨɥɧɢɥɢ ɤɨɦɚɧɞɭ dd, ɱɬɨɛɵ ɭɞɚɥɢɬɶ ɫɬɪɨɤɭ ɬɟɤɫɬɚ, ɚ ɩɨɬɨɦ ɜɵɩɨɥɧɢɥɢ ɤɨɦɚɧɞɭ ɭɭ, ɱɬɨɛɵ ɫɤɨɩɢɪɨɜɚɬɶ ɫɬɪɨɤɭ ɬɟɤɫɬɚ, ɬɨ ɜ ɛɭɮɟɪɟ ɬɟɤɫɬ, ɫ ɤɨɬɨɪɵɦ ɨɩɟɪɢɪɨɜɚɥɚ ɤɨɦɚɧɞɚ dd, ɛɭɞɟɬ ɡɚɦɟɳɟɧ ɬɟɤɫɬɨɦ ɨɩɟɪɚɰɢɢ ɭɭ- ɗɬɨ ɨɡɧɚɱɚɟɬ, ɱɬɨ ɬɟɤɫɬ ɢɡ ɨɩɟɪɚɰɢɢ dd ɛɭɞɟɬ ɩɨɬɟɪɹɧ, ɬ.ɟ. ɨɩɟɪɚɰɢɸ ɭɞɚɥɟɧɢɹ ɨɬɦɟɧɢɬɶ ɛɭɞɟɬ ɧɟɜɨɡɦɨɠɧɨ.
Ƚɪɚɮɢɤɚ ɢ ɢɡɨɛɪɚɠɟɧɢɹ ,
-
FreeBSD. Gimp ,
Xfig. FreeBSD.
,
ɉɪɨɝɪɚɦɦɚ GIMP GIMP —
The GNU Image Manipulation Program. ,
-
.
Adobe Photoshop, GIMP
. GIMP
-
, PNG, PCX TIFF, GIMP FreeBSD. , gimp Run.
BMP, GIF, JPEG,
PostScript. graphics GIMP
, X-Window
-
7.4
. 7.4 GIMP. GIMP.
,
File
Load Image,
Ctr+O.
. .
,
, . GIMP
,
, !
,
. 7.5
GIMP.
GIMP GIMP . Acquire ( Shot (
File, ). ).
Screen
124
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
7.5 GIMP
GIMP
,
-
GIMP . — . (
: Indexed ( 256 ).
)
, RGB (16,7
Grayscale ,
), ; ,
—
Image, a
Mode. ,
, ,
Image
. Colors.
-
, RGB Web-
Indexed ( .
Grayscale. ),
Indexed, -
, RGB Grayscale. Indexed.
, GIMP
, Filters (
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ
125
).
, RGB.
Ʉɨɦɚɧɞɚ Script-Fu Script-Fu
,
,
, ,
. . Script-Fu
Script-Fu.
GIMP GIMP
, .
,
. 7.9
-
GIMP.
-
. Ɍɚɛɥɢɰɚ 7.9 ɂɧɫɬɪɭɦɟɧɬɵ ɞɥɹ ɪɚɛɨɬɵ ɫ ɢɡɨɛɪɚɠɟɧɢɹɦɢ, ɢɦɟɸɳɢɟɫɹ ɜ ɩɪɨɝɪɚɦɦɟ GIMP. 1
ȼɵɞɟɥɟɧɢɟ ɩɪɹɦɨɭɝɨɥɶɧɨɣ ɨɛɥɚɫɬɢ. ɍɞɟɪɠɢɜɚɣɬɟ ɥɟɜɭɸ ɤɧɨɩɤɭ ɜ ɧɚɠɚɬɨɦ ɩɨɥɨɠɟɧɢɢ ɢ ɩɟɪɟɦɟɳɚɣɬɟ ɭɤɚɡɚɬɟɥɶ ɦɵɲɢ ɩɨ ɢɡɨɛɪɚɠɟɧɢɸ.
2
ȼɵɞɟɥɟɧɢɟ ɨɜɚɥɶɧɨɣ ɨɛɥɚɫɬɢ. ɍɞɟɪɠɢɜɚɣɬɟ ɥɟɜɭɸ ɤɧɨɩɤɭ ɦɵɲɢ ɜ ɧɚɠɚɬɨɦ ɩɨɥɨɠɟɧɢɢ ɢ ɩɟɪɟɦɟɳɚɚɣɬɟ ɭɤɚɡɚɬɟɥɶ ɦɵɲɢ ɩɨ ɢɡɨɛɪɚɠɟɧɢɸ.
6
ȼɵɞɟɥɟɧɢɟ ɩɪɨɢɡɜɨɥɶɧɨɣ ɨɛɥɚɫɬɢ. ɍɞɟɪɠɢɜɚɣɬɟ ɥɟɜɭɸ ɤɧɨɩɤɭ ɦɵɲɢ ɜ ɧɚɠɚɬɨɦ ɩɨɥɨɠɟɧɢɢ ɢ, ɩɟɪɟɬɚɫɤɢɜɚɹ ɭɤɚɡɚɬɟɥɶ ɦɵɲɢ ɩɨ ɢɡɨɛɪɚɠɟɧɢɸ, ɜɵɞɟɥɹɣɬɟ ɬɪɟɛɭɟɦɭɸ ɨɛɥɚɫɬɶ ɩɪɨɢɡɜɨɥɶɧɨɣ ɮɨɪɦɵ.
7
ȼɨɥɲɟɛɧɚɹ ɩɚɥɨɱɤɚ. ɓɟɥɱɨɤ ɥɟɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɪɢɜɨɞɢɬ ɤ ɬɨɦɭ, ɱɬɨ ɢɧɫɬɪɭɦɟɧɬ ɜɵɞɟɥɹɟɬ ɫɦɟɠɧɵɟ ɫ ɞɚɧɧɨɣ ɬɨɱɤɨɣ ɨɛɥɚɫɬɢ, ɢɦɟɸɳɢɟ ɩɨɯɨɠɢɣ ɰɜɟɬ.
5
Ʉɪɢɜɚɹ Ȼɟɡɶɟ. Ⱦɚɧɧɵɣ ɢɧɫɬɪɭɦɟɧɬ ɩɨɡɜɨɥɹɟɬ ɜɵɞɟɥɹɬɶ ɨɛɥɚɫɬɢ ɢɡɨɛɪɚɠɟɧɢɹ ɫ ɩɨɦɨɳɶɸ ɤɪɢɜɨɣ Ȼɟɡɶɟ.
12
ɂɧɬɟɥɥɟɤɬɭɚɥɶɧɵɟ ɧɨɠɧɢɰɵ. ɗɬɨɬ ɢɧɫɬɪɭɦɟɧɬ ɩɨɡɜɨɥɹɟɬ ɜɵɞɟɥɹɬɶ ɧɚ ɢɡɨɛɪɚɠɟɧɢɢ ɨɛɥɚɫɬɢ ɪɚɡɥɢɱɧɨɣ ɮɨɪɦɵ.
13
ɉɟɪɟɦɟɳɟɧɢɟ. ɉɨɡɜɨɥɹɟɬ ɩɟɪɟɦɟɳɚɬɶ ɫɥɨɢ, ɚ ɬɚɤɠɟ ɱɚɫɬɢ ɢɡɨɛɪɚɠɟɧɢɹ, ɜɵɞɟɥɟɧɧɵɟ ɫ ɩɨɦɨɳɶɸ ɨɞɧɨɝɨ ɢɡ ɢɧɫɬɪɭɦɟɧɬɨɜ ɜɵɞɟɥɟɧɢɹ.
14
Ɇɚɫɲɬɚɛ ɢɡɨɛɪɚɠɟɧɢɹ. ɉɪɢ ɳɟɥɱɤɟ ɥɟɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɢɡɨɛɪɚɠɟɧɢɟ ɭɜɟɥɢɱɢɜɚɟɬɫɹ. ȿɫɥɢ ɜɨ ɜɪɟɦɹ ɳɟɥɱɤɚ ɥɟɜɨɣ ɤɧɨɩɤɨɣ ɭɞɟɪɠɢɜɚɬɶ ɜ ɧɚɠɚɬɨɦ ɩɨɥɨɠɟɧɢɢ ɤɥɚɜɢɲɭ Ctrl, ɬɨ ɢɡɨɛɪɚɠɟɧɢɟ ɭɦɟɧɶɲɢɬɫɹ.
15
ɂɧɫɬɪɭɦɟɧɬɵ ɤɚɞɪɢɪɨɜɚɧɢɹ. ɉɨɡɜɨɥɹɸɬ ɜɵɪɟɡɚɬɶ ɱɚɫɬɶ ɢɡɨɛɪɚɠɟɧɢɹ, ɚ ɬɚɤɠɟ ɢɡɦɟɧɢɬɶ ɟɝɨ ɪɚɡɦɟɪ.
16
ȼɪɚɳɟɧɢɟ ɢ ɩɟɪɫɩɟɤɬɢɜɚ. ɋ ɩɨɦɨɳɶɸ ɷɬɨɝɨ ɢɧɫɬɪɭɦɟɧɬɚ ɧɚ ɢɡɨɛɪɚɠɟɧɢɟ ɧɚɤɥɚɞɵɜɚɟɬɫɹ ɫɟɬɤɚ. ɉɟɪɟɬɚɫɤɢɜɚɹ ɷɬɭ ɫɟɬɤɭ ɦɨɠɧɨ ɜɪɚɳɚɬɶ ɢɡɨɛɪɚɠɟɧɢɟ.
11
ɉɟɪɟɜɨɪɨɬ. ɉɪɢ ɳɟɥɱɤɟ ɧɚ ɢɡɨɛɪɚɠɟɧɢɢ ɞɚɧɧɵɣ ɢɧɫɬɪɭɦɟɧɬ ɩɟɪɟɜɨɪɚɱɢɜɚɟɬ ɢɡɨɛɪɚɠɟɧɢɟ, ɞɚɜɚɹ, ɩɪɟɢɦɭɳɟɫɬɜɟɧɧɨ, ɟɝɨ ɡɟɪɤɚɥɶɧɨɟ ɨɬɪɚɠɟɧɢɟ.
126
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
•
Ɍɟɤɫɬ. Ⱦɚɧɧɵɣ ɢɧɫɬɪɭɦɟɧɬ ɨɬɤɪɵɜɚɟɬ ɞɢɚɥɨɝɨɜɨɟ ɨɤɧɨ, ɩɨɡɜɨɥɹɸɳɟɟ ɞɨɛɚɜɥɹɬɶ ɤ ɢɡɨɛɪɚɠɟɧɢɸ ɬɟɤɫɬ. Ɇɨɠɧɨ ɦɟɧɹɬɶ ɬɢɩ ɲɪɢɮɬɚ, ɟɝɨ ɪɚɡɦɟɪ ɢ ɬ.ɞ.
•
ɉɢɩɟɬɤɚ. ȿɫɥɢ ɳɟɥɤɧɭɬɶ ɧɚ ɷɬɨɦ ɢɧɫɬɪɭɦɟɧɬɟ, ɚ ɡɚɬɟɦ ɝɞɟ-ɧɢɛɭɞɶ ɧɚ ɢɡɨɛɪɚɠɟɧɢɢ, ɬɨ ɰɜɟɬ ɞɚɧɧɨɣ ɬɨɱɤɢ ɫɬɚɧɟɬ ɰɜɟɬɨɦ ɩɟɪɟɞɧɟɝɨ ɩɥɚɧɚ.
•
Ɂɚɥɢɜɤɚ. ȿɫɥɢ ɳɟɥɤɧɭɬɶ ɧɚ ɤɚɤɨɣ-ɧɢɛɭɞɶ ɨɛɥɚɫɬɢ ɢɡɨɛɪɚɠɟɧɢɹ, ɬɨ ɩɪɨɢɡɨɣɞɟɬ ɡɚɥɢɜɤɚ ɷɬɨɣ ɨɛɥɚɫɬɢ ɥɢɛɨ ɰɜɟɬɨɦ ɩɟɪɟɞɧɟɝɨ ɩɥɚɧɚ, ɥɢɛɨ ɰɜɟɬɨɦ ɮɨɧɚ, ɥɢɛɨ ɜ ɫɨɨɬɜɟɬɫɬɜɢɢ ɫ ɲɚɛɥɨɧɨɦ. Ⱦɜɨɣɧɨɣ ɳɟɥɱɨɤ ɩɨɡɜɨɥɹɟɬ ɢɡɦɟɧɢɬɶ ɤɨɧɮɢɝɭɪɚɰɢɸ ɢɧɫɬɪɭɦɟɧɬɚ.
•
Ƚɪɚɞɢɟɧɬ. ɉɨɡɜɨɥɹɟɬ ɫɨɡɞɚɜɚɬɶ ɰɜɟɬɨɜɵɟ ɩɟɪɟɯɨɞɵ. ɉɨ ɭɦɨɥɱɚɧɢɸ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɩɟɪɟɯɨɞ ɨɬ ɰɜɟɬɚ ɩɟɪɟɞɧɟɝɨ ɩɥɚɧɚ ɤ ɰɜɟɬɭ ɮɨɧɚ.
•
Ʉɚɪɚɧɞɚɲ. Ʉɨɝɞɚ ɥɟɜɚɹ ɤɧɨɩɤɚ ɦɵɲɢ ɭɞɟɪɠɢɜɚɟɬɫɹ ɜ ɧɚɠɚɬɨɦ ɩɨɥɨɠɟɧɢɢ, ɷɬɨɬ ɢɧɫɬɪɭɦɟɧɬ ɪɢɫɭɟɬ ɪɟɡɤɢɟ, ɱɟɬɤɢɟ ɥɢɧɢɢ.
•
Ʉɢɫɬɶ. Ɋɢɫɭɟɬ ɦɟɧɟɟ ɪɟɡɤɢɦɢ, ɱɟɦ ɤɚɪɚɧɞɚɲ, ɛɨɥɟɟ ɪɚɫɩɥɵɜɱɚɬɵɦɢ ɦɚɡɤɚɦɢ.
•
Ʌɚɫɬɢɤ. ɗɬɨɬ ɢɧɫɬɪɭɦɟɧɬ ɫɬɢɪɚɟɬ ɜɵɛɪɚɧɧɵɟ ɨɛɥɚɫɬɢ ɢɡɨɛɪɚɠɟɧɢɹ ɢ ɡɚɦɟɧɹɟɬ ɢɯ ɰɜɟɬɨɦ ɮɨɧɚ.
•
Ⱥɷɪɨɝɪɚɮ.
•
ɒɬɚɦɩ. ɗɬɨ ɢɧɫɬɪɭɦɟɧɬ ɞɥɹ ɤɥɨɧɢɪɨɜɚɧɢɹ. Ɇɨɠɧɨ ɜɵɞɟɥɢɬɶ ɨɩɪɟɞɟɥɟɧɧɭɸ ɨɛɥɚɫɬɶ ɢɡɨɛɪɚɠɟɧɢɹ, ɚ ɡɚɬɟɦ ɫɤɨɩɢɪɨɜɚɬɶ ɟɟ ɜ ɞɪɭɝɨɟ ɦɟɫɬɨ. ɂɫɩɨɥɶɡɭɟɬɫɹ ɞɥɹ ɪɟɬɭɲɢɪɨɜɚɧɢɹ.
•
Ɋɚɡɦɵɬɨɫɬɶ/Ɋɟɡɤɨɫɬɶ. ȿɫɥɢ ɩɪɨɜɟɫɬɢ ɞɚɧɧɵɦ ɢɧɫɬɪɭɦɟɧɬɨɦ ɩɨ ɤɚɤɨɣ-ɧɢɛɭɞɶ ɨɛɥɚɫɬɢ ɢɡɨɛɪɚɠɟɧɢɹ, ɬɨ ɷɬɚ ɨɛɥɚɫɬɶ ɫɬɚɧɟɬ ɥɢɛɨ ɛɨɥɟɟ ɪɚɡɦɵɬɨɣ, ɥɢɛɨ, ɧɚɨɛɨɪɨɬ, ɛɨɥɟɟ ɪɟɡɤɨɣ.
•
ɑɟɪɧɢɥɶɧɚɹ ɪɭɱɤɚ. Ⱦɚɧɧɵɣ ɢɧɫɬɪɭɦɟɧɬ ɪɢɫɭɟɬ ɩɨɞɨɛɧɨ ɱɟɪɧɢɥɶɧɨɣ ɪɭɱɤɟ.
•
Ɉɫɜɟɬɥɢɬɟɥɶ. ȿɫɥɢ ɩɪɨɜɟɫɬɢ ɷɬɢɦ ɢɧɫɬɪɭɦɟɧɬɨɦ ɩɨ ɤɚɤɨɣ-ɧɢɛɭɞɶ ɨɛɥɚɫɬɢ ɢɡɨɛɪɚɠɟɧɢɹ, ɬɨ ɨɧɚ ɫɬɚɧɟɬ ɛɨɥɟɟ ɫɜɟɬɥɨɣ.
•
ɉɚɥɟɰ (Smudge tool). Ⱦɚɧɧɵɣ ɢɧɫɬɪɭɦɟɧɬ ɪɢɫɭɟɬ ɲɢɪɨɤɢɦɢ ɦɚɡɤɚɦɢ, ɫɨɡɞɚɜɚɹ ɷɮɮɟɤɬ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɚɤɜɚɪɟɥɶɧɵɯ ɤɪɚɫɨɤ.
•
ɂɡɦɟɪɢɬɟɥɶɧɵɣ ɢɧɫɬɪɭɦɟɧɬ. ɗɬɨɬ ɢɧɫɬɪɭɦɟɧɬ ɫɥɭɠɢɬ ɞɥɹ ɢɡɦɟɪɟɧɢɹ ɪɚɫɫɬɨɹɧɢɣ ɢ ɭɝɥɨɜ ɧɚ ɢɡɨɛɪɚɠɟɧɢɢ.
GIMP , 100
86
, 168
,
200
40
, .
GQview GQview —
Gnome.
-
FreeBSD
graphics .
GQview –
. GQview
, ,
X.
, .
gqview
-
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ
GQview.
127
:
,
,
,
.
, . ,
v
-
, , Start slideshow.
StarOffice StarOffice — ,
Sun Microsystems. StarOffice
Microsoft Office, Lotus SmartSuite , ,
. . ,
StarOffice
, HTMLeditors
Internet. , : , . StarOffice
FreeBSD.
ɋɈȼȿɌ StarOffice — ɷɬɨ ɩɪɨɝɪɚɦɦɚ ɞɥɹ ɪɚɡɧɵɯ ɩɥɚɬɮɨɪɦ, ɤɨɬɨɪɚɹ ɞɨɫɬɭɩɧɚ ɬɚɤɠɟ ɜ Microsoft Windows, Solaris x86 ɢ Solaris Spare. ɉɨɫɟɬɢɬɟ Web-ɫɚɣɬ wuuw.sun.com/products/staroffice/get.html. Ɂɞɟɫɶ ɜɵ ɧɚɣɞɟɬɟ ɢɧɮɨɪɦɚɰɢɸ ɨ ɬɨɦ, ɤɚɤ ɫɝɪɭɡɢɬɶ StarOffice ɢɥɢ ɡɚɤɚɡɚɬɶ ɤɨɦɩɚɤɬ-ɞɢɫɤɢ ɤɨɦɩɚɧɢɢ Sun. ɉɚɤɟɬ Deluxe ɤɨɦɩɥɟɤɬɭɟɬɫɹ ɞɨɤɭɦɟɧɬɚɰɢɟɣ ɢ ɜ ɪɨɡɧɢɰɭ ɫɬɨɢɬ $39.95.
Ɋɚɛɨɱɢɣ ɫɬɨɥ StarOffice . 7.6
StarOffice.
• .
7.6 StarOffice.
StarOffice : ,
-
128
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
• •
File, New File, New
. From Template (
).
ȼɫɬɪɨɟɧɧɵɣ Web-ɛɪɚɭɡɟɪ StarOffice WebFilename Web-
, URL
File Web-
Open; , StarOffice, ( .
. WebBack .
. 7.7).
WebForward.
Back
StarOffice Tools,
Forward,
Web.
Option, Web-
.
ɗɥɟɤɬɪɨɧɧɚɹ ɩɨɱɬɚ ɜ StarOffice StarOffice
. .
Tools, (
.
Options. (+)
, General,
, User Data
7.8). . -
StarOffice.
, ;
Ɋɢɫɭɧɨɤ 7.7
WebSams Publishing, StarOffice.
( ,
, ).
. .
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ
129
, Contents
-
Include in update function
. messages from server
, Save document contents locally.
Remove ,
Internet. . ,
,
Yes.
7.8
StarOffice. ,
.
, SMTP.
Outbox. .
,
Reply to
, Server
,
Sender.
. Properties,
-
. , ,
, StarOffice,
.
StarOffice
. : • •
StarOffice
File, New Mail. StarOffice; New, Documents Mail.
•
New Mail.
StarOffice Explorer StarOffice Explorer ( ) , . Explorer .visible ( ), hidden ( ) turned off ( (Recycle Bin). , .
, : ). -
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
130
ɋɩɪɚɜɨɱɧɚɹ ɢɧɮɨɪɦɚɰɢɹ ɜ StarOffice StarOffice .
-
,
Help Agent.
-
,
. .
(
.
, Help,
, . 7.9)
, StarOffice,
.
7.9
StarOffice.
,
, .
. . StarOffice
, .
Ɇɭɥɶɬɢɦɟɞɢɚ ,
FreeBSD
,
. ,
,
FreeBSD
.
ɉɪɨɜɟɪɤɚ ɩɨɞɞɟɪɠɤɢ ɡɜɭɤɨɜɨɣ ɩɥɚɬɵ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɨɣ FreeBSD , ,
.
,
-
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ
,
131
, ,
device pcm.
. /sys/i386/conf/GENERIC. ,
dmesg | more , .
.
-
, ,
-
:
dmesg
sbcO: at port Ox220-0x22f,0x330-0x331,Ox388-0x38b irq 5 drq
1,5 on isaO pcml: on sbcO
,
FreeBSD ,
AWE 64; FreeBSD
, www.opensound.com. 4Front Technologies, device pcm . - 17.
SoundBlaster . , 4Front Technologies.
-
,
FreeBSD 4.4 ,
, ,
.
/dev
root
:
./MAKEDEV sndO
FreeBSD 5.0
DEVFS .
Ɇɢɤɲɟɪ , FreeBSD
.
X
, Mixer Mixer Mixer Mixer Mixer Mixer Mixer Mixer Mixer Mixer Mixer
vol bass treble synth pcm speaker line mic cd igain ogain
mixer.
: is is is is is is is is is is is
currently currently currently currently currently currently currently currently currently currently currently
set set set set set set set set set set set
to to to to to to to to to to to
75:75 50:50 50:50 75:75 75:75 75:75 75:75 0:0 75:75 0:0 50:50
, 0
100)
( .
, ,
-
2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
Ч
132
—
.
,
-
:
• Mixer vol — • Mixer pcm — . , • Mixer synth — MIDI.
. , .wav, Real Audio
. . .
• Mixer cd — • Mixer line —
,
, -
.
, .
• Mixer igain —
.
• Mixer ogain —
. ,
—
. 90%,
cd
-
mixer, ,
, ,
-
,
: mixer cd 90
, , 100%
. 80%
,
,
:
mixer cd 100:80
75%.
.
, ,
.
,
,
. mixerset.
/usr/local/etc/rc.d , :
,
mixer vol 80:80 mixer cd 90:90 mixer pcm 50:50
root
/usr/local/etc/rc.d. ,
:
chmod u+x mixerset
,
, . ,
,
profile.
sh, .profile.
,
—
home-
.login. 12.
.
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ
133
,
,—
.profile .
.login
-
.
,
:
mixer vol 80:80 mixer cd 50:50 mixer p n 90:90
, .
root, , , .
ȼɨɫɩɪɨɢɡɜɟɞɟɧɢɟ ɮɚɣɥɨɜ ɆɊɁ ɫ ɩɨɦɨɳɶɸ XMMS FreeBSD XMMS — UNIX.
Winamp, audio XMMS xmms. X,
. 7.10 XMMS
. FreeBSD FreeBSD. -
, Run.
XMMS. (skins) Winamp. . Winamp
home-
.xmms/Skins
-
.
-
XMMS; Options
Skin Browser.
-
,
. 7.10
XMMS , Winamp, Skins,
-
www.xmms.org/skins.html XMMS. .xmms/ . XMMS tar .tar.gz. UNIX.
-
XMMS .
audio
-
FreeBSD.
ȼɨɫɩɪɨɢɡɜɟɞɟɧɢɟ ɆɊɁ-ɮɚɣɥɨɜ ɫ ɩɨɦɨɳɶɸ ɬɪɞ123 X-Window, ,
-
,
. audio
FreeBSD.
mpg!23.
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
134
mpg123 filename —
mpg123 filename, . mpg123 *.mp3 .m . . . . , —
, (
.
. 8).
, , ,
-Z -@, mpg123 . .
-
,
man mpg123.
Ɇɢɤɲɟɪɵ ɞɥɹ ɫɢɫɬɟɦɵ X-Window audio . Run.
xmixer, xmixer
FreeBSD. —
X
xmixer Athena (
xmixer ).
xmixer —
xgmixer. ,
FreeBSD ,
xmixer, GTK. , ,
Real Audio (ripping)
. audio
, FreeBSD.
,
ɋɟɬɟɜɵɟ ɩɪɢɥɨɠɟɧɢɹ FreeBSD FTP
. , . .
-
,
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɜɟɛ-ɛɪɚɭɡɟɪɚ Netscape FreeBSD Netscape Communicator. FreeBSD, — 4.76. Netscape 6, FreeBSD Netscape Linux. , Linux , , Flash Shockwave. Netscape Linux. Netscape, Linux, www . Netscape netscape ( 4.76) netscape6 ( 6). 4.76, 6 . Netscape, Edit, — Preferences. ,
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ
135
ȼɟɛ-ɛɪɚɭɡɟɪ Lynx Lynx --
-
,
, .
, Lynx ,
,
,
JavaLynx Lynx
. ,
ALT, . man lynx.
,
FTP FTP —
File Transfer Protocol (
). -
.
FTP-
ftp
,
X
, ftp
:
ftp.freebsd.org
, : Connected to ftp.beastie.tdk.net. 220 ftp.beastie.tdk.net FTP server (Version DG-4.1.73 983302105) ready. Name (ftp.freebsd.org:murban):
Name FTP. Enter. anonymous. Enter,
,
, FTP anonymous :
331 Guest login ok, send your e-mail address as password. Password:
. -
:
Remote system type is UNIX. Using binary mode to transfer files. ftp>
FTP, (
.
8). FTP-
7.10 .
Ɍɚɛɥɢɰɚ 7.10 ɒɢɪɨɤɨ ɩɪɢɦɟɧɹɟɦɵɟ ɤɨɦɚɧɞɵ FTP
Is
ȼɵɞɚɟɬ ɫɨɞɟɪɠɚɧɢɟ ɤɚɬɚɥɨɝɚ ɧɚ ɭɞɚɥɟɧɧɨɦ ɯɨɫɬɟ.
cd
ɂɡɦɟɧɹɟɬ ɤɚɬɚɥɨɝ ɧɚ ɭɞɚɥɟɧɧɨɦ ɯɨɫɬɟ.
pwd ɯɨɫɬɟ.
Ɉɬɨɛɪɚɠɚɟɬ ɬɟɤɭɳɢɣ ɤɚɬɚɥɨɝ, ɜ ɤɨɬɨɪɨɦ ɜɵ ɧɚɯɨɞɢɬɟɫɶ ɧɚ ɭɞɚɥɟɧɧɨɦ
,
136
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD _____________________________________
ɂɡɦɟɧɹɟɬ ɤɚɬɚɥɨɝ ɧɚ ɥɨɤɚɥɶɧɨɦ ɯɨɫɬɟ.
lcd
Ɉɫɭɳɟɫɬɜɥɹɟɬ ɩɟɪɟɞɚɱɭ ɞɚɧɧɵɯ ɜ ɞɜɨɢɱɧɨɦ ɪɟɠɢɦɟ (ɷɬɨɬ ɪɟɠɢɦ ɞɨɥɠɟɧ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ ɞɥɹ ɜɫɟɯ ɜɢɞɨɜ ɞɚɧɧɵɯ, ɡɚ ɢɫɤɥɸɱɟɧɢɟɦ ɩɪɨɫɬɨɝɨ ɬɟɤɫɬɚ).
binary
ascii
Ɉɫɭɳɟɫɬɜɥɹɟɬ ɩɟɪɟɞɚɱɭ ɞɚɧɧɵɯ ɜ ɪɟɠɢɦɟ ASCII (ɷɬɨɬ ɪɟɠɢɦ ɞɨɥɠɟɧ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ ɌɈɅɖɄɈ ɞɥɹ ɩɪɨɫɬɨɝɨ ɬɟɤɫɬɚ).
put filename
Ʉɨɩɢɪɭɟɬ filename ɧɚ ɭɞɚɥɟɧɧɵɣ ɯɨɫɬ. ȿɫɥɢ ɩɭɬɶ ɤ filename ɧɟ ɡɚɞɚɧ, ɬɨ ɩɪɟɞɩɨɥɚɝɚɟɬɫɹ, ɱɬɨ ɨɧ ɧɚɯɨɞɢɬɫɹ ɜ ɬɟɤɭɳɟɦ ɤɚɬɚɥɨɝɟ. ȿɫɥɢ ɮɚɣɥ ɧɚɡɧɚɱɟɧɢɹ ɧɟ ɡɚɞɚɧ, ɬɨ ɤɨɩɢɪɭɟɦɵɣ ɮɚɣɥ ɩɨɦɟɳɚɟɬɫɹ ɜ ɬɟɤɭɳɢɣ ɤɚɬɚɥɨɝ ɭɞɚɥɟɧɧɨɝɨ ɯɨɫɬɚ ɢ ɢɦɟɟɬ ɬɨ ɠɟ ɢɦɹ, ɱɬɨ ɢ ɥɨɤɚɥɶɧɵɣ ɮɚɣɥ (ɬɨ ɟɫɬɶ filename). (ɗɬɚ ɤɨɦɚɧɞɚ ɞɟɣɫɬɜɭɟɬ ɬɨɥɶɤɨ ɬɨɝɞɚ, ɤɨɝɞɚ ɭ ɜɚɫ ɟɫɬɶ ɪɚɡɪɟɲɟɧɢɟ ɩɪɨɢɡɜɨɞɢɬɶ ɡɚɩɢɫɶ ɜ ɤɚɬɚɥɨɝ ɭɞɚɥɟɧɧɨɣ ɦɚɲɢɧɵ.)
mput filel file2 Ʉɨɩɢɪɭɟɬ ɧɚ ɭɞɚɥɟɧɧɵɣ ɯɨɫɬ ɧɟɫɤɨɥɶɤɨ ɮɚɣɥɨɜ, ɩɟɪɟɱɢɫɥɟɧɧɵɯ ɜ ɤɨɦɚɧɞɟ.Ɏɚɣɥɵ ɩɨɦɟɳɚɸɬɫɹ ɜ ɬɟɤɭɳɢɣ ɤɚɬɚɥɨɝ ɭɞɚɥɟɧɧɨɝɨ ɯɨɫɬɚ. (ɉɪɟɞɩɨɥɚɝɚɟɬɫɹ, ɱɬɨ ɭ ɜɚɫ ɟɫɬɶ ɪɚɡɪɟɲɟɧɢɟ ɩɪɨɢɡɜɨɞɢɬɶ ɡɚɩɢɫɶ ɜ ɤɚɬɚɥɨɝ ɭɞɚɥɟɧɧɨɣ ɦɚɲɢɧɵ.) get filename
Ʉɨɩɢɪɭɟɬ ɮɚɣɥ ɫ ɭɞɚɥɟɧɧɨɝɨ ɯɨɫɬɚ ɜ ɥɨɤɚɥɶɧɭɸ ɜɵɱɢɫɥɢɬɟɥɶɧɭɸ ɫɢɫɬɟɦɭ. ȿɫɥɢ ɩɭɬɶ ɧɟ ɡɚɞɚɧ, ɬɨ ɩɪɟɞɩɨɥɚɝɚɟɬɫɹ, ɱɬɨ ɮɚɣɥ ɧɚɯɨɞɢɬɫɹ ɜ ɬɟɤɭɳɟɦ ɤɚɬɚɥɨɝɟ ɭɞɚɥɟɧɧɨɝɨ ɯɨɫɬɚ. ȿɫɥɢ ɮɚɣɥ ɧɚɡɧɚɱɟɧɢɹ ɧɟ ɡɚɞɚɧ, ɬɨ ɞɚɧɧɵɣ ɮɚɣɥ ɤɨɩɢɪɭɟɬɫɹ ɜ ɥɨɤɚɥɶɧɭɸ ɫɢɫɬɟɦɭ ɫ ɬɟɦ ɠɟ ɫɚɦɵɦ ɢɦɟɧɟɦ (ɬɨ ɟɫɬɶ filename).
mget filel file2 Ʉɨɩɢɪɭɟɬ ɫ ɭɞɚɥɟɧɧɨɝɨ ɯɨɫɬɚ ɧɟɫɤɨɥɶɤɨ ɮɚɣɥɨɜ, ɩɟɪɟɱɢɫɥɟɧɧɵɯ ɜ ɤɨɦɚɧɞɟ. Ɏɚɣɥɵ ɩɨɦɟɳɚɸɬɫɹ ɜ ɬɟɤɭɳɢɣ ɤɚɬɚɥɨɝ ɥɨɤɚɥɶɧɨɣ ɫɢɫɬɟɦɵ. mkdir dirname
ɋɨɡɞɚɟɬ ɧɚ ɭɞɚɥɟɧɧɨɣ ɦɚɲɢɧɟ ɤɚɬɚɥɨɝ ɫ ɢɦɟɧɟɦ dirname (ɩɪɢ ɭɫɥɨɜɢɢ, ɱɬɨ ɭ ɜɚɫ ɟɫɬɶ ɧɚ ɷɬɨ ɩɪɚɜɨ).
rmdir dirname or ɇɚ ɭɞɚɥɟɧɧɨɣ ɦɚɲɢɧɟ ɭɞɚɥɹɟɬ ɤɚɬɚɥɨɝ ɫ ɢɦɟɧɟɦ dirname (ɩɪɢ ɭɫɥɨɜɢɢ, rm dirname ɱɬɨ ɭ ɜɚɫ ɟɫɬɶ ɧɚ ɷɬɨ ɩɪɚɜɨ). del filename
ɇɚ ɭɞɚɥɟɧɧɨɣ ɦɚɲɢɧɟ ɭɞɚɥɹɟɬ ɮɚɣɥ ɫ ɢɦɟɧɟɦ filename (ɩɪɢ ɭɫɥɨɜɢɢ, ɱɬɨ ɭ ɜɚɫ ɟɫɬɶ ɧɚ ɷɬɨ ɩɪɚɜɨ).
bye or quit
Ɂɚɤɪɵɜɚɟɬ ɫɨɟɞɢɧɟɧɢɟ ɫ ɭɞɚɥɟɧɧɵɦ ɯɨɫɬɨɦ ɢ ɨɫɭɳɟɫɬɜɥɹɟɬ ɜɵɯɨɞ ɢɡ ɩɪɨɝɪɚɦɦɵ FTP, ɜɨɡɜɪɚɳɚɹ ɜɚɫ ɜ ɤɨɦɚɧɞɧɭɸ ɫɬɪɨɤɭ.
, ftp>
-
help. ,
.
help
ftp> help Commands may be abbreviated. ! $ account append ascii bell binary bye case cd cdup
disconnect edit exit form ftp get gate glob hash help idle
:
Commands are:
mdelete mdir mget mkdir mls mode modtime more mput msend newer
preserve progress prompt proxy put pwd quit quote recv reget rename
runique send sendport site size status struct sunique system tenex trace
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ chmod image close led cr less debug Ipwd delete Is dir macdef ftp> help mdir mdir ftp>
nlist nmap ntrans open page passive
reset restart restrict rhelp rmdir rstatus
137
type umask user verbose ?
list contents of multiple remote directories
man ftp. -Window, .
FTP -
ftp
ɉɪɢɥɨɠɟɧɢɹ ɷɥɟɤɬɪɨɧɧɨɣ ɩɨɱɬɵ — FreeBSD
Internet. .
, X-Window. Balsa
Balsa — mail balsa.
FreeBSD).
Gnome ( ,
Balsa ,
, . Balsa
-
www.balsa.net. Pine Pine —
-
,
.
, . Pine
FreeBSD.
7.11
Pine.
. 7.11
mail Pine.
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
138
Pine
. , .
, ,
,
Pine
,
Pine
.
-
, . ɉɊȿȾɈɋɌȿɊȿɀȿɇɂȿ
Ɉɬɤɪɵɜɚɬɶ ɥɸɛɭɸ ɷɥɟɤɬɪɨɧɧɭɸ ɩɨɱɬɭ, ɛɭɞɭɱɢ ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɧɧɵɦ ɤɚɤ root, — ɩɥɨɯɚɹ ɢɞɟɹ, ɚ ɜ ɫɥɭɱɚɟ Pine — ɨɫɨɛɟɧɧɨ. ɗɬɨ ɫɜɹɡɚɧɨ ɫ ɩɪɢɪɨɞɨɣ ɧɟɤɨɬɨɪɵɯ ɩɨɬɟɧɰɢɚɥɶɧɵɯ ɛɪɟɲɟɣ ɜ ɡɚɳɢɬɟ Pine. ɉɨɱɬɭ ɩɨɥɶɡɨɜɚɬɟɥɹ root ɫɥɟɞɭɟɬ ɩɟɪɟɫɵɥɚɬɶ ɧɚ ɢɦɹ ɩɪɨɫɬɨɝɨ ɩɨɥɶɡɨɜɚɬɟɥɹ, ɚ ɡɚɬɟɦ ɱɢɬɚɬɶ ɷɥɟɤɬɪɨɧɧɭɸ ɩɨɱɬɭ, ɢɫɩɨɥɶɡɭɹ ɭɱɟɬɧɭɸ ɡɚɩɢɫɶ ɷɬɨɝɨ ɩɨɥɶɡɨɜɚɬɟɥɹ. ɉɨɞɪɨɛɧɟɟ ɨ ɪɚɛɨɬɟ ɫ ɷɥɟɤɬɪɨɧɧɨɣ ɩɨɱɬɨɣ ɦɨɠɧɨ ɩɨɱɢɬɚɬɶ ɜ ɝɥɚɜɟ 25.
Mutt Mutt —
-
,
.
mail . "
.
",
Mutt ) Pine ( Mutt
Elm). Mutt —
, ,
Mutt — www.mutt.org — , .
,
uuencode
FreeBSD. Mutt — , Elm ( , . . . -
uudecode uuencode
, uuencode -
uudecode. .
.
.
, ,
, .
, :
begin 644 gunzip.exe M35HZ `4D`````.16_____ /6 `````.`,4( '````$Q: .3'_\ 8X&W@ J/X M$8BC^ ' \ H] 7#NGONEY/@ . $+C>ML 'N^ `X (N, _N^ ! #A[O@OZ^ [X$/> =_^[X$/CN M^! `#. [X#E[UE=6QT;Z$!\ ` 107? 48 (%L-'^P; [FE(#QP4&, ,@WBC/B&)
begin
, uudecode.
,
Ƚɥɚɜɚ 7. Ɋɚɛɨɬɚ ɫ ɩɪɢɥɨɠɟɧɢɹɦɢ
139
(
,
)
-
,
.
,
program.txt. : uudecode program.txt
, ,
.
begin
gunzip.exe. , ,
.
,
gunzip.exe.
uuencode gunzip.exe gunzip.exe > gunzip.txt
: ( .
,
,
(gunzip.exe);
— gunzip.exe);
gunzip.txt, ,
. , .
-
8
Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ ◀ Ɉɫɧɨɜɵ ɪɚɛɨɬɵ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ ◀ Ɍɢɩɵ ɞɨɫɬɭɩɧɵɯ ɤɨɦɚɧɞɧɵɯ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɜ ◀ ȼɵȻɨɪ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ◀ ɉɨɥɭɱɟɧɢɟ ɫɩɪɚɜɤɢ ◀ ɉɪɨɫɬɟɣɲɢɟ ɫɩɨɫɨɛɵ ɪɚȻɨɬɵ ɫ ɮɚɣɥɚɦɢ ɜ ɤɨɦɚɧɞɧɨɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɟ ◀ Ʉɨɦɚɧɞɵ ɨɛɪɚɛɨɬɤɢ ɬɟɤɫɬɨɜɵɯ ɮɚɣɥɨɜ ◀ Ʉɨɧɜɟɣɟɪɵ ɢ ɩɟɪɟɧɚɩɪɚɜɥɟɧɢɟ ɜɜɨɞɚ-ɜɵɜɨɞɚ. ◀ ɉɨɩɨɥɧɟɧɢɟ ɤɨɦɚɧɞɧɨɣ ɫɬɪɨɤɢ ɢ ɪɟɞɚɤɬɢɪɨɜɚɧɢɟ ɢɫɬɨɪɢɢ ɤɨɦɚɧɞ
141
Ƚɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
X-Window ,
Gnome. FreeBSD . UNIX, —
-
, ,
, 30
.
,
FreeBSD,
.
Ɉɫɧɨɜɵ ɪɚɛɨɬɵ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ UNIX UNIX. , , . , Windows
Macintosh (
).
,
.1
,
,
,
.
,
, . 8.1. 17.
.
,
(
).
,
-
, .
Ɍɢɩɵ ɞɨɫɬɭɩɧɵɯ ɤɨɦɚɧɞɧɵɯ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɜ FreeBSD
, .
,
. :
-
, Bourne,
sh.
Ʉɨɦɚɧɞɧɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ Bourne (sh) Bourne (Steven Bourne) FreeBSD,
UNIX,
Bell Labs AT&T UNIX. -
142
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
,
POSIX, Bourne
,
,
,
,
--
,
Bourne.
Ʉɨɦɚɧɞɧɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ ɋ (csh) csh — Bourne,
BSD.
Berkeley, BSD.
, . csh
Bourne, ,
- :
.
-
,
Bourne. csh
,
.
, . Bourne:
Bourne ,
csh,
, .
,
,
csh,
. csh ,
.
-
,
.
Ʉɨɦɚɧɞɧɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ Korn (ksh ɢɥɢ pdksh) AT&T AT&T
Korn (David Korn). Korn
csh.
1986
Bourne.
, vi
, Korn Emacs ( . . ,
). -
,
, -
.
Korn UNIX. Korn: pdksh. ,
FreeBSD, 15. , ,
vi Emacs, UNIX, ), (
,
-
bash ( -
vi
,
, .
Korn
,
, -
-
.
Emacs ).
143
Ƚɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
Ʉɨɦɚɧɞɧɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ Bourne Again Shell (bash) Bourne Again Shell ( : Bourne Again Born Again — ) , (Free Software Foundation) (FSF). Linux. , , ,
Bourne Bourne bash n, ,
- , -
. UNIX.
bash ,
bash,
UNIX.
Ʉɨɦɚɧɞɧɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ Tcsh (tcsh) tcsh .( .)
"t" tcsh
TENEX
DEC PDP-10;
,
tcsh
, , tcsh bash, : "Are you sure you want to delete ALL files?"). , , bash. , , , , .
bash (
).
, ( tcsh — . , . Bourne,
Ʉɚɤɨɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ ɜɵɛɪɚɬɶ? , FreeBSD
? . ,
,
,
. ,
Korn, bash ,
bash,
rn
tcsh. ,
.
ɂɡɦɟɧɟɧɢɟ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ bash, . ,
,
(
144
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
foo —
,
,
$—
): $ grep £oo /etc/passwd
?
,
. foo:*:1001:1001::Foo Bar:/home/foo:/usr/local/bin/ksh
: . /usr/local/bin/ksh). ,
( , n. # /bin/sh.
: Bourne,
POSIX.
,
# /bin/csh. tcsh.
/bin/csh
# /bin/tcsh.
tcsh. tcsh. n.
# /usr/local/bin/ksh. # /usr/local/bin/bash.
bash. ,
bash .
12
-
bash
,
-
. ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ UNIX ɢ FreeBSD ɭɱɢɬɵɜɚɸɬ ɪɟɝɢɫɬɪ ɜ ɤɨɦɚɧɞɚɯ ɢ ɢɦɟɧɚɯ ɮɚɣɥɨɜ. ɉɨɷɬɨɦɭ Grep, grep ɢ greP — ɷɬɨ ɫ ɬɨɱɤɢ ɡɪɟɧɢɹ FreeBSD ɫɨɜɟɪɲɟɧɧɨ ɪɚɡɧɵɟ ɜɟɳɢ. ȿɫɥɢ ɜɵ, ɜɜɨɞɹ ɤɨɦɚɧɞɵ, ɩɨɥɭɱɚɟɬɟ ɫɨɨɛɳɟɧɢɟ ɨɛ ɨɲɢɛɤɟ: No such file or directory (ɇɟɬ ɬɚɤɨɝɨ ɮɚɣɥɚ ɢɥɢ ɤɚɬɚɥɨɝɚ), ɭɛɟɞɢɬɟɫɶ, ɱɬɨ ɤɨɦɚɧɞɚ ɜɜɟɞɟɧɚ ɜ ɩɪɚɜɢɥɶɧɨɦ ɪɟɝɢɫɬɪɟ.
ɉɨɥɭɱɟɧɢɟ ɫɩɪɚɜɤɢ ,
, .
-
FreeBSD
,
. man
. man.
,
_
man,
man ,
Page Up/Page Down.
ɉɨɢɫɤ ɫɬɪɚɧɢɰ ɫɩɪɚɜɨɱɧɵɯ ɪɭɤɨɜɨɞɫɬɜ ,
,
-k
, man -k search.
. 8.1.
man.
. ,
145
Ƚɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
8.1
man -k
bios(9), bios_sigsearch(9), bios32_SDlookup(9), bios32(9) - Interact with PC BIO
S
bsearch(3) - binary search of a sorted table devclass_find(9) - search for a devclass device_find_child(9) - search for a child of a device lkbib(l) - search bibliographic databases lookbib(l) - search bibliographic databases lsearch(3), lfind(3) - linear searching routines manpath(l) - determine user's search path for man pages res_query (3), res_search(3), res_mkquery(3), res_send(3), res_init(3), dn_comp(3 ) , dn_expand(3) - resolver routines tsearch(3), tfind(3), tdelete(3), twalk(3) - manipulate binary search trees Search::Dict(3), look(3) - search for key in dictionary file bash$
,
. .
"pattern" (
) (
8.2), .
8.2
man -k
$ man -k pattern gawk(l) - pattern scanning and processing language glob(3), globfree(3) - generate pathnames matching a pattern grep(l) , egrep(l) ,fgrep(l), zgrep(l) - print lines matching a pattern lptest(l) - generate lineprinter ripple pattern menu_pattern(3) - get and set a menu's pattern buffer bash$
,
grep. ,
. no grep
,
man grep, ,
.
Ɋɟɡɸɦɟ ɤɨɦɚɧɞ , ( games). (
,
,
,
/usr/bin
-f ) /usr/games
.
man ,
, ,
:
$ man -f pom pom (6) — display the phase of the moon bash$
:
(6) ,
.
Ɋɚɡɞɟɥɵ ɫɩɪɚɜɨɱɧɵɯ ɪɭɤɨɜɨɞɫɬɜ , . 8.1.
/usr/
146
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
8.1 1: User Commands (ɉɨɥɶɡɨɜɚɬɟɥɶɫɤɢɟ ɤɨɦɚɧɞɵ)
ɂɧɮɨɪɦɚɰɢɹ ɨ ɬɚɤɢɯ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɯ ɤɨɦɚɧɞɚɯ, ɤɚɤ Is, rm, cp ɢ grep. Ʉ ɷɬɨɦɭ ɪɚɡɞɟɥɭ ɜɚɦ ɩɪɢɞɟɬɫɹ ɨɛɪɚɳɚɬɶɫɹ ɧɚɢɛɨɥɟɟ ɱɚɫɬɨ ɩɪɢ ɪɚɛɨɬɟ ɜɨ FreeBSD.
2: System Calls (ɋɢɫɬɟɦɧɵɟ ɜɵɡɨɜɵ)
ɋɨɞɟɪɠɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɪɚɡɥɢɱɧɵɯ API FreeBSD. ɗɬɨɬ ɪɚɡɞɟɥ ɜ ɩɟɪɜɭɸ ɨɱɟɪɟɞɶ ɩɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɩɪɨɝɪɚɦɦɢɫɬɨɜ ɧɚ ɋ.
3: Subroutines (ɉɪɨɰɟɞɭɪɵ)
Ɂɞɟɫɶ ɫɨɞɟɪɠɚɬɫɹ ɨɩɢɫɚɧɢɹ ɛɢɛɥɢɨɬɟɱɧɵɯ ɮɭɧɤɰɢɣ. Ɉɧɢ ɬɚɤɠɟ ɩɪɟɞɧɚɡɧɚɱɟɧɵ ɞɥɹ ɩɪɨɝɪɚɦɦɢɫɬɨɜ ɧɚ ɋ.
4: Devices (ɍɫɬɪɨɣɫɬɜɚ)
ɂɧɮɨɪɦɚɰɢɹ ɞɥɹ ɩɪɨɝɪɚɦɦɢɫɬɨɜ ɧɚ ɋ ɨɛ ɢɧɬɟɪɮɟɣɫɚɯ ɤ ɞɪɚɣɜɟɪɚɦ ɭɫɬɪɨɣɫɬɜ ɜɨ FreeBSD.
5: File Formats (Ɏɨɪɦɚɬɵ ɮɚɣɥɨɜ)
ɂɧɮɨɪɦɚɰɢɹ ɨ ɮɨɪɦɚɬɚɯ ɪɚɡɥɢɱɧɵɯ ɤɨɧɮɢɝɭɪɚɰɢɨɧɧɵɯ ɮɚɣɥɚɯ ɫɢɫɬɟɦɵ, ɧɚɩɪɢɦɟɪ, ɮɚɣɥɚɯ crontab ɞɥɹ ɡɚɩɭɫɤɚ ɡɚɞɚɧɢɣ ɩɨ ɝɪɚɮɢɤɭ ɢ ɮɚɣɥɚɯ ɝɫ, ɭɩɪɚɜɥɹɸɳɢɯ ɡɚɩɭɫɤɨɦ ɫɢɫɬɟɦɵ.
6: Games (ɂɝɪɵ)
ɇɚɢɛɨɥɟɟ ɜɚɠɧɵɣ ɪɚɡɞɟɥ ɫɩɪɚɜɨɱɧɵɯ ɪɭɤɨɜɨɞɫɬɜ. Ɂɞɟɫɶ ɫɨɞɟɪɠɚɬɫɹ ɢɧɫɬɪɭɤɰɢɢ ɤ ɢɝɪɚɦ ɢ ɞɪɭɝɢɦ ɪɚɡɜɥɟɤɚɬɟɥɶɧɵɦ ɫɪɟɞɫɬɜɚɦ FreeBSD.
7: Miscellaneous (Ɋɚɡɧɨɟ)
Ɍɨ, ɱɬɨ ɧɟ ɩɨɞɯɨɞɢɬ ɞɥɹ ɞɪɭɝɢɯ ɪɚɡɞɟɥɨɜ, ɪɚɡɦɟɳɚɟɬɫɹ ɡɞɟɫɶ.
8: System Administration (ɋɢɫɬɟɦɧɨɟ ɚɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ)
ɋɨɞɟɪɠɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɤɨɦɚɧɞɚɯ, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɯ ɞɥɹ ɚɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɹ ɫɢɫɬɟɦɵ, ɧɚɩɪɢɦɟɪ, fsck (ɤɨɦɚɧɞɚ ɞɥɹ ɩɪɨɜɟɪɤɢ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ).
9: Kernel Interfaces (ɂɧɬɟɪɮɟɣɫɵ ɹɞɪɚ)
ɂɧɮɨɪɦɚɰɢɹ ɞɥɹ ɩɪɨɝɪɚɦɦɢɫɬɨɜ ɨɛ ɢɧɬɟɪɮɟɣɫɟ ɹɞɪɚ ɧɚ ɋ.
. 1 ( man
, 5 ( , . .
crontab)
crontab crontab). crontab
1. 5,
man 5 crontab. , ,
-
-S .
ɉɪɨɫɬɟɣɲɢɟ ɫɩɨɫɨɛɵ ɪɚɛɨɬɵ ɫ ɮɚɣɥɚɦɢ ɜ ɤɨɦɚɧɞɧɨɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɟ MS-DOS, .
-
.
Ʉɚɤ ɫɢɫɬɟɦɚ FreeBSD ɯɪɚɧɢɬ ɮɚɣɥɵ , FreeBSD FreeBSD
. . . .
FreeBSD
-
147
ɝɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
.
. .
Windows Macintosh
Macintosh.
,
, Windows
FreeBSD —
.
DOS FreeBSD
.
Windows
,
,
-
. ,
.
-
9.
.
ɇɚɱɚɥɶɧɵɣ ɤɚɬɚɥɨɝ UNIX ( (home). ".
" ,
)
,
, FreeBSD,
-
. . .
ȼɵɜɨɞ ɫɨɞɟɪɠɢɦɨɝɨ ɤɚɬɚɥɨɝɚ ls. ,
,
:
$ ls Mail fbu
letter-to-boss mail
program program,
proposal-draft
. ls
,
.
-F, .
:
$ ls - F Mail/ fbu@
letter-to-boss mail/
program* program.
,
proposal-draft
. : • /: • *: • @:
. . . "program".
FreeBSD .bat.
, ,
, . .
FreeBSD .com.
Windows, .com, .exe ,
1 48
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
. -F
,
-
dot-
-
man ls. Is
-G, . ,
Is , . . - : $ ls -
,
.forward .hushlogin .addresshook .muttrc
.
.mailrc .mysql_history .rhosts .cshrc
.login .sh-history
..profile .project .login.conf .mail_aliases
Mail fbu mail
.
-
, . , , (
-
: dot-
.
-
. -1
8.3): 8.3
Is -I
$ ls -1 total 3 drwx------ 2 murban lrwxr-xr-x 1 murban /home/murban/documents/books/fbu -rw-r--r-1 letter-to-boss drwx------ 2 murban -rwx------ 1 murban -rw-r--r-1 program. -rw- r-- r-- 1 murban draft
murban murban
512 Feb 15 16:04 Mail 15 Mar 20 06:55 fbu ->
murban
murban
murban murban murban
512 Mar 24 15:12 mail 15221 Feb 21 18:11 program murban 1571 Feb 21 17:51
murban
2521 Feb 25 18:51 proposal-
782 Mar 15 09:21
. (
):
•
.
ls -1
. 10.
, (
•
-
, ). ,
.
-
. ),
(
— -
•
(
). .
, • • •
. -
.
.
.
.
.
. .
,
-
149
Ƚɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
•
.
. :
fbu -> /home/murban/documents/books/fbu
fbu
/home/murban/ ,
documents/books/fbu. .
ɉɟɪɟɦɟɳɟɧɢɟ ɩɨ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɟ cd. ,
. 8.2.
Ɍɚɛɥɢɰɚ 8.2 ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɤɨɦɚɧɞɵ cd cd
Ⱦɟɥɚɟɬ ɬɟɤɭɳɢɦ ɧɚɱɚɥɶɧɵɣ ɤɚɬɚɥɨɝ ɩɨɥɶɡɨɜɚɬɟɥɹ.
cd /
ɉɭɬɶ ɤ ɤɚɬɚɥɨɝɭ, ɧɚɱɢɧɚɸɳɢɣɫɹ ɫ ɫɢɦɜɨɥɚ /, ɧɚɡɵɜɚɟɬɫɹ "ɚɛɫɨɥɸɬɧɵɦ". Ɉɧ ɧɚɱɢɧɚɟɬɫɹ ɫ ɤɨɪɧɟɜɨɝɨ ɤɚɬɚɥɨɝɚ ɫɢɫɬɟɦɵ (ɤɨɬɨɪɵɣ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɤɚɬɚɥɨɝ ɫɚɦɨɝɨ ɜɟɪɯɧɟɝɨ ɭɪɨɜɧɹ). Ⱦɚɧɧɚɹ ɤɨɦɚɧɞɚ ɩɟɪɟɦɟɳɚɟɬ ɩɨɥɶɡɨɜɚɬɟɥɹ ɜ ɤɨɪɧɟɜɨɣ ɤɚɬɚɥɨɝ.
cd /usr/local/bin
ɉɟɪɟɦɟɳɚɟɬ ɩɨɥɶɡɨɜɚɬɟɥɹ ɜ ɤɚɬɚɥɨɝ "bin", ɪɚɫɩɨɥɨɠɟɧɧɵɣ ɜ ɤɚɬɚɥɨɝɟ "local", ɤɨɬɨɪɵɣ ɜ ɫɜɨɸ ɨɱɟɪɟɞɶ ɪɚɫɩɨɥɨɠɟɧ ɜ "usr", ɚ ɩɨɫɥɟɞɧɢɣ — ɜ ɤɨɪɧɟɜɨɦ ɤɚɬɚɥɨɝɟ.
cd bin
ɉɟɪɟɦɟɳɚɟɬ ɩɨɥɶɡɨɜɚɬɟɥɹ ɜ ɤɚɬɚɥɨɝ "bin" (ɟɫɥɢ ɬɚɤɨɜɨɣ ɫɭɳɟɫɬɜɭɟɬ), ɪɚɫɩɨɥɨɠɟɧɧɵɣ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɜ ɬɟɤɭɳɟɦ ɤɚɬɚɥɨɝɟ. ȿɫɥɢ ɬɚɤɨɝɨ ɤɚɬɚɥɨɝɚ ɧɟɬ, cd ɜɨɡɜɪɚɳɚɟɬ ɨɲɢɛɤɭ. ɂɦɟɧɚ ɤɚɬɚɥɨɝɨɜ ɢɥɢ ɮɚɣɥɨɜ, ɤɨɬɨɪɵɟ ɧɟ ɧɚɱɢɧɚɸɬɫɹ ɫ /, ɪɚɫɫɦɚɬɪɢɜɚɸɬɫɹ ɨɬɧɨɫɢɬɟɥɶɧɨ ɬɟɤɭɳɟɝɨ ɪɚɛɨɱɟɝɨ ɤɚɬɚɥɨɝɚ.
cd ../
ɋɩɟɰɢɚɥɶɧɚɹ ɡɚɩɢɫɶ "../" ɨɛɨɡɧɚɱɚɟɬ ɪɨɞɢɬɟɥɶɫɤɢɣ ɤɚɬɚɥɨɝ ɩɨ ɨɬɧɨɲɟɧɢɸ ɤ ɬɟɤɭɳɟɦɭ. ɗɬɚ ɤɨɦɚɧɞɚ ɩɟɪɟɦɟɳɚɟɬ ɩɨɥɶɡɨɜɚɬɟɥɹ ɜ ɤɚɬɚɥɨɝ ɧɚ ɨɞɢɧ ɭɪɨɜɟɧɶ ɜɜɟɪɯ. Ɂɚɦɵɤɚɸɳɢɣ ɫɢɦɜɨɥ ɤɨɫɨɣ ɱɟɪɬɵ ɭɤɚɡɵɜɚɬɶ ɧɟ ɨɛɹɡɚɬɟɥɶɧɨ.
cd ../bin
ɉɟɪɟɦɟɳɚɟɬ ɩɨɥɶɡɨɜɚɬɟɥɹ ɜ ɤɚɬɚɥɨɝ "bin", ɪɚɫɩɨɥɨɠɟɧɧɵɣ ɜ ɪɨɞɢɬɟɥɶɫɤɨɦ ɤɚɬɚɥɨɝɟ (ɩɨ ɨɬɧɨɲɟɧɢɸ ɤ ɬɟɤɭɳɟɦɭ).
cd ../../bin
ɉɟɪɟɦɟɳɚɟɬ ɩɨɥɶɡɨɜɚɬɟɥɹ ɜ ɤɚɬɚɥɨɝ "bin", ɪɚɫɩɨɥɨɠɟɧɧɵɣ ɜ ɤɚɬɚɥɨɝɟ ɧɚ ɞɜɚ ɭɪɨɜɧɹ ɜɵɲɟ ɬɟɤɭɳɟɝɨ.
Ɇɨɠɧɨ ɡɚɩɭɬɚɬɶɫɹ ɢ ɡɚɛɥɭɞɢɬɶɫɹ... , .
. (
pwd
,
-
, .
12.)
Ʉɨɩɢɪɨɜɚɧɢɟ ɮɚɣɥɨɜ ɢ ɤɚɬɚɥɨɝɨɜ . ,
( .
), -
-
150
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
, . 8.3.
.
Ɍɚɛɥɢɰɚ 8.3 ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɤɨɦɚɧɞɵ ɫɪ ɫɪ file1 file2
ɋɤɨɩɢɪɨɜɚɬɶ ɫɭɳɟɫɬɜɭɸɳɢɣ file1 ɜ ɧɨɜɵɣ ɮɚɣɥ ɫ ɢɦɟɧɟɦ file2.
ɫɪ file1 /archive
ɋɤɨɩɢɪɨɜɚɬɶ filel ɜ ɤɚɬɚɥɨɝ "archive", ɤɨɬɨɪɵɣ ɧɚɯɨɞɢɬɫɹ ɜ ɤɨɪɧɟɜɨɦ ɤɚɬɚɥɨɝɟ.
ɫɪ filel mystuff/newfile
ɋɤɨɩɢɪɨɜɚɬɶ filel ɜ ɤɚɬɚɥɨɝ mystuff ɜ ɬɟɤɭɳɟɦ ɤɚɬɚɥɨɝɟ. ȿɫɥɢ "newfile" — ɩɨɞɤɚɬɚɥɨɝ, filel ɤɨɩɢɪɭɟɬɫɹ ɜ ɩɨɞɤɚɬɚɥɨɝ "newfile" ɫɨ ɫɜɨɢɦ ɩɪɟɠɧɢɦ ɢɦɟɧɟɦ. ȿɫɥɢ "newfile" — ɷɬɨ ɧɟ ɩɨɞɤɚɬɚɥɨɝ, filel ɤɨɩɢɪɭɟɬɫɹ ɜ ɩɨɞɤɚɬɚɥɨɝ "mystuff" ɫ ɧɨɜɵɦ ɢɦɟɧɟɦ "newfile". ɋɤɨɩɢɪɨɜɚɬɶ filel ɢ file2 ɜ ɤɚɬɚɥɨɝ "archive", ɪɚɫɩɨɥɨɠɟɧɧɵɣ ɜ
ɫɪ filel file 2 /archive
ɤɨɪɧɟɜɨɦ ɤɚɬɚɥɨɝɟ.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ɉɨ ɭɦɨɥɱɚɧɢɸ ɤɨɦɚɧɞɚ ɫɪ ɩɟɪɟɡɚɩɢɫɵɜɚɟɬ ɫɨɞɟɪɠɢɦɨɟ ɫɭɳɟɫɬɜɭɸɳɟɝɨ ɮɚɣɥɚ ɫ ɢɦɟɧɟɦ, ɭɤɚɡɚɧɧɵɦ ɤɚɤ ɬɨɱɤɚ ɧɚɡɧɚɱɟɧɢɹ. ɇɚɩɪɢɦɟɪ, ɫɪ file1 file2 ɩɟɪɟɡɚɩɢɫɵɜɚɟɬ file2 ɮɚɣɥɨɦ filel, ɟɫɥɢ file2 ɭɠɟ ɫɭɳɟɫɬɜɭɟɬ. Ɉɩɰɢɹ -i (ɢɧɬɟɪɚɤɬɢɜɧɵɣ ɪɟɠɢɦ) ɡɚɫɬɚɜɥɹɟɬ ɤɨɦɚɧɞɭ ɫɪ ɡɚɩɪɚɲɢɜɚɬɶ ɩɨɞɬɜɟɪɠɞɟɧɢɟ ɧɚ ɩɟɪɟɡɚɩɢɫɶ ɮɚɣɥɚ.
, , $
-R dirl /dir2
, dir2.
, :
-R.
dir2 . ,
dir1 dir2,
dir1 dir1 , -
, ,
-
dir1, , dir1
-R ,
dir2. (
-i, ).
ɉɊȿȾɍɉ ɊȿɀȾȿɇɂȿ Ȼɭɞɶɬɟ ɨɫɬɨɪɨɠɧɵ ɫ ɤɨɦɚɧɞɧɨɣ ɫɬɪɨɤɨɣ ɢ ɫɥɟɞɢɬɟ ɡɚ ɬɟɦ, ɱɬɨɛɵ ɧɟ ɡɚɩɭɫɬɢɬɶ, ɧɚɩɪɢɦɟɪ, ɬɚɤɭɸ ɤɨɦɚɧɞɭ: $
-R /*
/old
Ɉɧɚ ɪɟɤɭɪɫɢɜɧɨ ɤɨɩɢɪɭɟɬ ɜɫɟ ɫɨɞɟɪɠɢɦɨɟ ɤɨɪɧɟɜɨɝɨ ɤɚɬɚɥɨɝɚ ɜ ɩɨɞɤɚɬɚɥɨɝ old, ɤɨɬɨɪɵɣ ɬɚɤɠɟ ɫɨɞɟɪɠɢɬɫɹ ɜ ɤɨɪɧɟɜɨɦ. ɗɬɨ ɡɧɚɱɢɬ, ɱɬɨ ɜɫɟ ɫɨɞɟɪɠɢɦɨɟ old ɤɨɩɢɪɭɟɬɫɹ ɜ ɩɨɞɤɚɬɚɥɨɝ ɜɧɭɬɪɢ ɧɟɝɨ, ɬɚɤɠɟ ɢɦɟɸɳɢɣ ɢɦɹ old. ȼ ɪɟɡɭɥɶɬɚɬɟ ɜɨɡɧɢɤɚɟɬ ɛɟɫɤɨɧɟɱɧɵɣ ɰɢɤɥ, ɤɨɩɢɪɭɸɳɢɣ ɫɨɞɟɪɠɢɦɨɟ ɤɚɬɚɥɨɝɚ old. ɇɚ ɞɨɫɬɚɬɨɱɧɨ ɛɵɫɬɪɨɦ ɠɟɫɬɤɨɦ ɞɢɫɤɟ ɜɵɩɨɥɧɟɧɢɟ ɬɚɤɨɣ ɤɨɦɚɧɞɵ ɨɱɟɧɶ ɫɤɨɪɨ ɩɨɝɥɨɬɢɬ ɜɫɟ ɫɜɨɛɨɞɧɨɟ ɩɪɨɫɬɪɚɧɫɬɜɨ.
ɉɟɪɟɦɟɳɟɧɢɟ ɢ ɩɟɪɟɢɦɟɧɨɜɚɧɢɟ ɮɚɣɥɨɜ ɢ ɤɚɬɚɥɨɝɨɜ mv. . 8.4.
151
Ƚɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
Ɍɚɛɥɢɰɚ 8.4 ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɤɨɦɚɧɞɵ mv
mv fil1l file2
ɉɟɪɟɢɦɟɧɨɜɵɜɚɟɬ file1 ɜ file2.
mv /dir1 /dir2
ɉɟɪɟɢɦɟɧɨɜɵɜɚɟɬ ɤɚɬɚɥɨɝ dir1 ɜ dir2. ȿɫɥɢ ɤɚɬɚɥɨɝ dir2 ɭɠɟ ɫɭɳɟɫɬɜɭɟɬ ɢ ɧɟ ɹɜɥɹɟɬɫɹ ɩɭɫɬɵɦ, ɭɬɢɥɢɬɚ ɜɵɞɚɟɬ ɫɨɨɛɳɟɧɢɟ ɨɛ ɨɲɢɛɤɟ.
mv file1 /dir2
ɉɟɪɟɦɟɳɚɟɬ file1 ɜ ɤɚɬɚɥɨɝ dir2, ɪɚɫɩɨɥɨɠɟɧɧɵɣ ɜ ɤɨɪɧɟɜɨɦ ɤɚɬɚɥɨɝɟ.
mv file1 /dir2/file2
ȿɫɥɢ file2 ɹɜɥɹɟɬɫɹ ɤɚɬɚɥɨɝɨɦ, file1 ɩɟɪɟɦɟɳɚɟɬɫɹ ɜ /dir2/file2. ȿɫɥɢ file2 ɧɟ ɫɭɳɟɫɬɜɭɟɬ, file1 ɩɟɪɟɦɟɳɚɟɬɫɹ ɜ ɤɚɬɚɥɨɝ dir2 ɩɨɞ ɢɦɟɧɟɦ file2.
ɍɞɚɥɟɧɢɟ ɮɚɣɥɨɜ ɢ ɤɚɬɚɥɨɝɨɜ ,
rm. ,
rm
.
.
,
, . 8.5.
-R. Ɍɚɛɥɢɰɚ 8.5
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɤɨɦɚɧɞɵ
rm file1
ɍɞɚɥɹɟɬ file1.
rm file1 file2
ɍɞɚɥɹɟɬ ɮɚɣɥɵ file1 ɢ file2.
rm -R dir1
ɍɞɚɥɹɟɬ ɤɚɬɚɥɨɝ dir1 ɢ ɜɫɟ, ɱɬɨ ɜ ɧɟɦ ɧɚɯɨɞɢɬɫɹ.
rm
(
)
,
rm,
. 8.6: Ɍɚɛɥɢɰɚ 8.6 Ɉɩɰɢɢ ɤɨɦɚɧɞɵ ɝɬ
-f
Ɂɚɫɬɚɜɥɹɟɬ rm ɩɪɨɢɡɜɟɫɬɢ ɭɞɚɥɟɧɢɟ, ɧɟ ɡɚɞɚɜɚɹ ɜɨɩɪɨɫɨɜ, ɞɚɠɟ ɟɫɥɢ ɮɚɣɥ ɩɪɟɞɧɚɡɧɚɱɟɧ ɬɨɥɶɤɨ ɞɥɹ ɱɬɟɧɢɹ. ɗɬɭ ɨɩɰɢɸ ɫɥɟɞɭɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶ ɫ ɨɫɨɛɨɣ ɨɫɬɨɪɨɠɧɨɫɬɶɸ.
-i
Ɂɚɩɪɚɲɢɜɚɟɬ ɩɨɞɬɜɟɪɠɞɟɧɢɟ ɧɚ ɭɞɚɥɟɧɢɟ ɤɚɠɞɨɝɨ ɮɚɣɥɚ. ɉɨɥɟɡɧɨ ɩɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ rm ɫ ɫɢɦɜɨɥɚɦɢ-ɡɚɦɟɫɬɢɬɟɥɹɦɢ (ɨ ɧɢɯ ɞɚɥɟɟ) ɢɥɢ ɨɩɰɢɟɣ -R.
-Ɋ
Ɍɪɢ ɪɚɡɚ ɩɟɪɟɡɚɩɢɫɵɜɚɟɬ ɫɨɞɟɪɠɢɦɨɟ ɮɚɣɥɚ ɫɥɭɱɚɣɧɨɣ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶɸ ɛɚɣɬɨɜ ɞɥɹ ɟɝɨ ɩɨɥɧɨɝɨ ɮɢɡɢɱɟɫɤɨɝɨ ɭɞɚɥɟɧɢɹ. Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɭɦɟɧɶɲɚɟɬɫɹ ɲɚɧɫ ɜɨɫɫɬɚɧɨɜɥɟɧɢɹ ɮɚɣɥɚ. ɗɬɭ ɨɩɰɢɸ ɢɫɩɨɥɶɡɭɸɬ ɞɥɹ ɭɞɚɥɟɧɢɹ ɨɫɨɛɨ ɜɚɠɧɵɯ ɮɚɣɥɨɜ.
-W
ɉɵɬɚɟɬɫɹ ɜɨɫɫɬɚɧɨɜɢɬɶ ɮɚɣɥ, ɭɞɚɥɟɧɧɵɣ ɤɨɦɚɧɞɨɣ rm.
ɍɞɚɥɟɧɢɟ ɤɚɬɚɥɨɝɨɜ rmdir. .
- ,
,
. ,
rm -R.
1 52
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
Ʉɨɦɚɧɞɚ touch :
touch
.
: • touch
_
,
,
_
. • touch
,
.
.
ɋɨɡɞɚɧɢɟ ɫɫɵɥɨɤ , FreeBSD .
-
.
:
links).
(hard links)
(soft
. , ),
(hard link) — (
.
. ,
. ln
.
:
$ ln /home/foo/documents/books/fbsd/filel.txt ./file.txt
filel.txt, /home/foo/documents/books/fbsd/ , , , vi , . Is -
, file1.txt. file1.txt
vi documents/books/fbsd/file1.txt. . :
1,
-rw------- 2 foo bar 26896 Mar 25 19:18 file.txt
,
,
?
, ,
. 2 ,
,
. ,
(
). , .
,
, , /home/foo/documents/books/fbsd/ filel.txt
, ,
ln. . /home/foo/documents/books/fbsd/file1.txt .
-
153
Ƚɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
,
,
(
). .
, : • •
. "
"
. ,
,
. (soft links, symbolic links ,
Windows.
symlinks) , .
,
.
$ ln -s
-
ln
:
-s.
/home/foo/documents/books/fbsd/filel.txt file.txt :
ls -1
lrwxr-xr-x 1 foo bar 31 Mar 25 19:56 file.txt -> /home/foo/documents/ books/fbsd/filel.txt
: •
. (
,
,
,
.
)
. •
,
.
,
,
-
.
, •
( . . ). , ,
, .
• . •
,
. .
-> ,
,
, .
-
, ,
.
ɋɈȼȿɌ ȿɫɥɢ ɜɵ ɩɵɬɚɟɬɟɫɶ ɨɛɪɚɬɢɬɶɫɹ ɤ ɮɚɣɥɭ, ɧɨ ɫɢɫɬɟɦɚ ɜɵɞɚɟɬ ɫɨɨɛɳɟɧɢɟ "No such file or directory" (ɇɟɬ ɬɚɤɨɝɨ ɮɚɣɥɚ ɢɥɢ ɤɚɬɚɥɨɝɚ], ɯɨɬɹ ɨɧ ɩɪɢɫɭɬɫɬɜɭɟɬ ɜ ɥɢɫɬɢɧɝɟ, ɜɵɜɨɞɢɦɨɦ ɤɨ-ɦɚɧɞɨɣ Is, ɜɨɡɦɨɠɧɨ, ɱɬɨ ɷɬɨɬ ɮɚɣɥ ɹɜɥɹɟɬɫɹ ɭɫɬɚɪɟɜɲɟɣ ɫɢɦɜɨɥɢɱɟɫɤɨɣ ɫɫɵɥɤɨɣ, ɨɬɜɟɱɚɸɳɟɣ ɭɠɟ ɧɟɫɭɳɟɫɬɜɭɸɳɟɦɭ ɮɚɣɥɭ. ɂɫɩɨɥɶɡɭɹ ɨɩɰɢɸ -I, ɩɪɨɜɟɪɶɬɟ, ɧɟ ɹɜɥɹɟɬɫɹ ɥɢ ɮɚɣɥ ɬɚɤɨɣ ɫɫɵɥ-ɤɨɣ, ɬɚɤɠɟ ɫɭɳɟɫɬɜɭɟɬ ɥɢ ɢɫɯɨɞɧɵɣ ɮɚɣɥ. ɋɥɟɞɭɟɬ ɨɬɦɟɬɢɬɶ, ɱɬɨ ɭɞɚɥɟɧɢɟ ɢɥɢ ɩɪɨɫɬɨ ɩɟɪɟ-ɦɟɳɟɧɢɟ ɮɚɣɥɚ ɞɟɥɚɸɬ ɫɢɦɜɨɥɢɱɟɫɤɢɟ ɫɫɵɥɤɢ ɧɚ ɧɟɝɨ ɧɟɮɭɧɤɰɢɨɧɚɥɶɧɵɦɢ.
154
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
: .
-
, . ,
, .
ɉɊɂɆȿɑȺɇɂȿ ɀɟɫɬɤɢɟ ɫɫɵɥɤɢ ɢɦɟɸɬ ɟɳɟ ɨɞɧɨ ɩɪɟɢɦɭɳɟɫɬɜɨ ɩɟɪɟɞ ɫɢɦɜɨɥɢɱɟɫɤɢɦɢ: ɨɧɢ ɧɟ ɢɫɩɨɥɶɡɭɸɬ ɢɧɞɟɤɫɧɵɯ ɞɟɫɤɪɢɩɬɨɪɨɜ. ȼɧɚɱɚɥɟ ɷɬɨ ɧɟ ɤɚɠɟɬɫɹ ɩɪɨɛɥɟɦɨɣ, ɧɨ ɞɟɥɨ ɜ ɬɨɦ, ɱɬɨ ɤɨɥɢɱɟɫɬɜɨ ɢɧɞɟɤɫɧɵɯ ɞɟɫɤɪɢɩɬɨɪɨɜ ɧɚ ɞɢɫɤɟ ɨɝɪɚɧɢɱɟɧɨ. ȿɫɥɢ ɮɚɣɥɨɜ (ɞɚɠɟ ɧɟɛɨɥɶɲɨɝɨ ɪɚɡɦɟɪɚ] ɦɧɨɝɨ, ɫɜɨɛɨɞɧɵɟ ɞɟɫɤɪɢɩɬɨɪɵ ɦɨɝɭɬ ɡɚɤɨɧɱɢɬɶɫɹ, ɯɨɬɹ ɧɚ ɞɢɫɤɟ ɛɭɞɟɬ ɟɳɟ ɞɨɫɬɚɬɨɱɧɨ ɫɜɨɛɨɞɧɨɝɨ ɦɟɫɬɚ. ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɫɢɫɬɟɦɚ ɧɟ ɫɦɨɠɟɬ ɫɨɡɞɚɜɚɬɶ ɧɨɜɵɟ ɮɚɣɥɵ ɞɨ ɬɟɯ ɩɨɪ, ɩɨɤɚ ɤɚɤɢɟ-ɥɢɛɨ ɢɡ ɮɚɣɥɨɜ ɧɟ ɛɭɞɭɬ ɭɞɚɥɟɧɵ, ɛɥɚɝɨɞɚɪɹ ɱɟɦɭ ɨɫɜɨɛɨɞɹɬɫɹ ɢɧɞɟɤɫɧɵɟ ɞɟɫɤɪɢɩɬɨɪɵ.
ɍɧɢɜɟɪɫɚɥɶɧɵɟ ɨɩɰɢɢ ,
,
,
-
. 8.7. Ɍɚɛɥɢɰɚ 8.7 ɍɧɢɜɟɪɫɚɥɶɧɵɟ ɨɩɰɢɢ ɛɨɥɶɲɢɧɫɬɜɚ ɤɨɦɚɧɞ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ -i
Ɂɚɩɭɫɤ ɜ ɢɧɬɟɪɚɤɬɢɜɧɨɦ ɪɟɠɢɦɟ, ɡɚɩɪɨɫ ɩɨɞɬɜɟɪɠɞɟɧɢɹ, ɟɫɥɢ ɞɟɣɫɬɜɢɟ ɦɨɠɟɬ ɩɪɢɱɢɧɢɬɶ ɭɳɟɪɛ ɫɭɳɟɫɬɜɭɸɳɟɦɭ ɮɚɣɥɭ.
-v
ɂɧɮɨɪɦɚɬɢɜɧɵɣ ɪɟɠɢɦ. ɉɪɨɝɪɚɦɦɚ ɜɵɜɨɞɢɬ ɫɨɨɛɳɟɧɢɟ ɨ ɤɚɠɞɨɣ ɫɜɨɟɣ ɨɩɟɪɚɰɢɢ.
-f
ɉɪɨɝɪɚɦɦɚ ɜɵɩɨɥɧɹɟɬ ɞɟɣɫɬɜɢɹ ɛɟɡ ɡɚɩɪɨɫɨɜ, ɞɚɠɟ ɟɫɥɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ ɢ ɡɚɩɪɟɳɚɸɬ ɟɝɨ (ɧɚɩɪɢɦɟɪ,ɭɞɚɥɟɧɢɟ ɮɚɣɥɚ, ɤɨɝɞɚ ɩɪɚɜɚ ɞɨɫɬɭɩɚ ɭɫɬɚɧɨɜɥɟɧɵ ɬɨɥɶɤɨ ɞɥɹ ɱɬɟɧɢɹ; ɩɪɟɞɩɨɥɚɝɚɟɬɫɹ, ɱɬɨ ɩɪɢ ɷɬɨɦ ɩɨɥɶɡɨɜɚɬɟɥɶ ɢɦɟɟɬ ɩɪɚɜɨ ɧɚ ɡɚɩɢɫɶ ɜ ɤɚɬɚɥɨɝ, ɝɞɟ ɪɚɫɩɨɥɨɠɟɧ ɮɚɣɥ). ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ
Ʉɚɤ ɦɨɠɧɨ ɡɚɦɟɬɢɬɶ, ɛɨɥɶɲɢɧɫɬɜɨ ɤɨɦɚɧɞ UNIX ɜɵɩɨɥɧɹɸɬ ɭɤɚɡɚɧɧɵɟ ɞɟɣɫɬɜɢɹ ɧɚɞ ɮɚɣɥɚɦɢ ɢ ɤɚɬɚɥɨɝɚɦɢ, ɧɟ ɡɚɞɚɜɚɹ ɥɢɲɧɢɯ ɜɨɩɪɨɫɨɜ, ɞɚɠɟ ɜ ɬɟɯ ɫɥɭɱɚɹɯ, ɤɨɝɞɚ ɨɧɢ ɦɨɝɭɬ ɭɧɢɱɬɨɠɢɬɶ ɫɭɳɟɫɬɜɭɸɳɢɟ ɮɚɣɥɵ. UNIX ɧɟ ɜɟɞɟɬ ɩɨɥɶɡɨɜɚɬɟɥɟɣ ɡɚ ɪɭɤɭ, ɤɚɤ Windows. ȼ UNIX ɩɨ ɭɦɨɥɱɚɧɢɸ ɩɪɟɞɩɨɥɚɝɚɟɬɫɹ, ɱɬɨ ɩɨɥɶɡɨɜɚɬɟɥɶ ɡɧɚɟɬ, ɱɬɨ ɨɧ ɞɟɥɚɟɬ, ɤɨɝɞɚ ɩɪɨɫɢɬ ɫɢɫɬɟɦɭ ɜɵɩɨɥɧɢɬɶ ɱɬɨ-ɥɢɛɨ. ɉɨɷɬɨɦɭ ɜ ɬɟɯ ɫɥɭɱɚɹɯ, ɤɨɝɞɚ ɜɵ ɧɟ ɭɜɟɪɟɧɵ ɜ ɫɜɨɢɯ ɞɟɣɫɬɜɢɹɯ (ɧɚɩɪɢɦɟɪ, ɧɟ ɡɧɚɟɬɟ, ɟɫɬɶ ɥɢ ɜ ɤɚɬɚɥɨɝɟ, ɩɪɟɞɧɚɡɧɚɱɟɧɧɨɦ ɞɥɹ ɤɨɩɢɪɨɜɚɧɢɹ ɫɨɞɟɪɠɢɦɨɝɨ ɞɪɭɝɨɝɨ ɤɚɬɚɥɨɝɚ, ɮɚɣɥɵ ɫ ɬɚɤɢɦɢ ɠɟ ɢɦɟɧɚɦɢ], ɢɫɩɨɥɶɡɭɣɬɟ ɨɩɰɢɸ -i. Ɍɨɝɞɚ ɛɨɥɶɲɢɧɫɬɜɨ ɤɨɦɚɧɞ ɛɭɞɟɬ ɡɚɩɪɚɲɢɜɚɬɶ ɩɨɞɬɜɟɪɠɞɟɧɢɹ, ɟɫɥɢ ɜɨɡɧɢɤɧɟɬ ɭɝɪɨɡɚ ɩɨɜɪɟɠɞɟɧɢɹ ɫɭɳɟɫɬɜɭɸɳɢɯ ɮɚɣɥɨɜ.
Ɇɟɬɚɫɢɦɜɨɥɵ ɢ ɫɢɦɜɨɥɵ-ɡɚɦɟɫɬɢɬɟɥɢ . ɉɊȿȾɍɉ ɊȿɀȾȿɇɂȿ ɉɨɥɶɡɨɜɚɬɟɥɹɦ DOS: ɟɫɥɢ ɜɵ ɫɱɢɬɚɟɬɟ, ɱɬɨ ɡɧɚɤɨɦɵ ɫɢɦɜɨɥɚɦɢ-ɡɚɦɟɫɬɢɬɟɥɹɦɢ ɢ ɪɟɲɢɬɟ ɩɪɨɩɭɫɬɢɬɶ ɷɬɭ ɫɟɤɰɢɸ, ɩɨɦɧɢɬɟ, ɱɬɨ ɩɨɜɟɞɟɧɢɟ ɬɚɤɢɯ ɫɢɦɜɨɥɨɜ ɜ UNIX ɢ ɜɨ FreeBSD ɈɌɅɂ-
.
155
Ƚɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
ɑȺȿɌɋə ɨɬ ɢɯ ɩɨɜɟɞɟɧɢɹ ɜ DOS. ɑɚɫɬɢɱɧɨ ɷɬɨ ɫɜɹɡɚɧɨ ɫ ɬɟɦ, ɱɬɨ ɜ UNIX ɬɨɱɤɚ ɧɟ ɪɚɫɫɦɚɬɪɢɜɚɟɬɫɹ ɨɬɞɟɥɶɧɨ, ɚ ɫɱɢɬɚɟɬɫɹ ɨɛɵɱɧɵɦ ɫɢɦɜɨɥɨɦ ɜ ɢɦɟɧɢ ɮɚɣɥɚ. Ȼɭɞɶɬɟ ɨɫɬɨɪɨɠɧɵ ɫ ɫɢɦɜɨɥɚɦɢ-ɡɚɦɟɫɬɢɬɟɥɹɦɢ ɜ UNIX, ɨɫɨɛɟɧɧɨ, ɟɫɥɢ ɜɵ ɩɪɢɜɵɤɥɢ ɤ ɧɢɦ ɜ DOS.
,
FreeBSD,
. 8.8. 8.8
-
ɋɨɜɩɚɞɚɟɬ ɫ ɥɸɛɵɦ ɨɞɢɧɨɱɧɵɦ ɫɢɦɜɨɥɨɦ. ɇɚɩɪɢɦɟɪ, file?.txt ɫɨɜɩɚɞɚɟɬ ɫ
?
file1.txt, file2.txt ɢ fileA.txt. ɇɟ ɫɨɜɩɚɞɚɟɬ ɫ file10.txt ɢ fileAB.txt.
*
ɋɨɜɩɚɞɚɟɬ ɫ ɥɸɛɨɣ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶɸ ɫɢɦɜɨɥɨɜ. ɇɚɩɪɢɦɟɪ, f* ɫɨɜɩɚɞɚɟɬ ɫ ɢɦɟɧɚɦɢ ɮɚɣɥɨɜ f, foo, file, file1.txt, file2.txt, fileA.txt, file10.txt ɢ fileAB.txt.
[]
ɋɨɜɩɚɞɚɟɬ ɫ ɞɢɚɩɚɡɨɧɨɦ ɫɢɦɜɨɥɨɜ (ɫɦ. ɞɚɥɟɟ).
. , fil [1-3] , filea, fileb filec. ɋɈȼȿɌ
filel, file2, file ,
ffle4. ,
, file[a-c]
ɉɪɢ ɪɚɛɨɬɟ ɫ ɞɢɚɩɚɡɨɧɚɦɢ ɫɢɦɜɨɥɨɜ ɜɚɠɧɨ ɩɨɦɧɢɬɶ, ɱɬɨ ɫɨɜɩɚɞɟɧɢɟ ɨɫɧɨɜɚɧɨ ɧɚ ASCII-ɤɨɞɟ ɫɢɦɜɨɥɚ. ɇɚɩɪɢɦɟɪ, file[A-b] ɫɨɜɩɚɞɚɟɬ ɧɟ ɬɨɥɶɤɨ ɫ fileA ɢ fileb, ɧɨ ɢ ɫ fileB, fileC ɢ ɬ.ɞ. ɞɨ fileZ. Ɍɚɤ ɩɪɨɢɫɯɨɞɢɬ ɩɨɬɨɦɭ, ɱɬɨ ɜ ɤɨɞɨɜɨɣ ɬɚɛɥɢɰɟ ɩɪɨɩɢɫɧɵɟ ɛɭɤɜɵ ɩɪɟɞɲɟɫɬɜɭɸɬ ɫɬɪɨɱɧɵɦ. ɉɨ-ɷɬɨɦɭ, ɤɨɝɞɚ ɞɢɚɩɚɡɨɧ ɧɚɱɢɧɚɟɬɫɹ ɫ ɩɪɨɩɢɫɧɨɣ ɛɭɤɜɵ ɢ ɡɚɤɚɧɱɢɜɚɟɬɫɹ ɫɬɪɨɱɧɨɣ, ɜ ɧɟɝɨ ɜɯɨɞɹɬ ɜɫɟ ɩɪɨɩɢɫɧɵɟ ɛɭɤɜɵ — ɨɬ ɭɤɚɡɚɧɧɨɣ ɞɨ Z.
, . file3
, fil [1234]*
,
file4 (
file1, file2, ,
). -
.
.
file3
, , file[!1234]* file4.
-
. filel, filel,
,
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ
ɉɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɫɢɦɜɨɥɨɜ-ɡɚɦɟɫɬɢɬɟɥɟɣ ɫ ɬɚɤɢɦɢ ɤɨɦɚɧɞɚɦɢ, ɤɚɤ rm, ɧɭɠɧɨ ɛɵɬɶ ɩɪɟɞɟɥɶɧɨ ɨɫɬɨɪɨɠɧɵɦ, ɩɨɫɤɨɥɶɤɭ ɨɲɢɛɤɢ ɦɨɝɭɬ ɛɵɬɶ ɧɟɩɨɩɪɚɜɢɦɵɦɢ. ɉɪɟɞɩɨɥɨɠɢɦ, ɱɬɨ ɜɦɟɫɬɨ rm note* ɛɵɥɚ ɜɜɟɞɟɧɚ ɤɨɦɚɧɞɚ rm note *. ȼ ɩɨɫɥɟɞɧɟɦ ɫɥɭɱɚɟ ɢɧɬɟɪɩɪɟɬɚɬɨɪ ɪɚɫɫɦɚɬɪɢɜɚɟɬ ɩɪɨɛɟɥ ɤɚɤ ɪɚɡɞɟɥɢɬɟɥɶ ɚɪɝɭɦɟɧɬɨɜ. Ɍɚɤɚɹ ɨɩɟɱɚɬɤɚ ɫɢɥɶɧɨ ɦɟɧɹɟɬ ɫɦɵɫɥ ɤɨɦɚɧɞɵ: ɜɦɟɫɬɨ "ɍɞɚɥɢɬɶ ɜɫɟ ɮɚɣɥɵ, ɢɦɹ ɤɨɬɨɪɵɯ ɧɚɱɢɧɚɟɬɫɹ ɫ note", ɩɨɥɭɱɚɟɬɫɹ "ɍɞɚɥɢɬɶ ɮɚɣɥ note ɢ ȼɋȿ ɮɚɣɥɵ ɜ ɬɟɤɭɳɟɦ ɤɚɬɚɥɨɝɟ"! Ⱦɜɚɠɞɵ ɢ ɞɚɠɟ ɬɪɢɠɞɵ ɩɪɨɜɟɪɹɣɬɟ ɚɪɝɭɦɟɧɬɵ ɤɨɦɚɧɞ ɬɢɩɚ rm ɢ ɩɨɥɶɡɭɣɬɟɫɶ ɨɩɰɢɟɣ -i.
ɇɟɫɤɨɥɶɤɨ ɫɥɨɜ ɨɛ ɢɦɟɧɚɯ ɮɚɣɥɨɜ UNIX
( ,
-
156
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
,
),
,
,
,
-
(-) ,
UNIX . .
, .
( _ ). ,
,
-
,
, .
:
.
,
. .
Ɋɚɛɨɬɚ ɫ ɧɟɫɬɚɧɞɚɪɬɧɵɦɢ ɢɦɟɧɚɦɢ ɮɚɣɥɨɜ , . * File 1
,
File\l.txt file"3".txt
,
:
file4.txt file5.txt
file6.txt
. ! UNIX
*. rm *.
,
?
-
!
, , ,
,
. escape.
, (\).
, -
( )
.
rm -i \* . File\l.txt.
rm File\l.txt , File\\l.txt. ,
, . Filel.txt: No such file or directory. : rm -i
File 1. ,
rm File 1 : File 1. : rm -i "File 1". file"3".txt? file3.txt: No such file or directory. ,
, rm ffle"3".txt ,
(") :
file\"3\".txt. Ɉɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ, ɱɬɨ ɜɨ ɜɫɟɯ ɩɪɢɦɟɪɚɯ ɤɨɦɚɧɞɚ rm ɢɫɩɨɥɶɡɭɟɬɫɹ ɫ ɨɩɰɢɟɣ -i. ɗɬɨ ɫɥɟɞɭɟɬ ɫɱɢɬɚɬɶ ɯɨɪɨɲɟɣ ɩɪɢɜɵɱɤɨɣ, ɨɫɨɛɟɧɧɨ ɩɪɢ ɪɚɛɨɬɟ ɫ ɮɚɣɥɚɦɢ, ɢɦɟɸɳɢɦɢ ɧɟɫɬɚɧɞɚɪɬɧɵɟ ɢɦɟɧɚ. Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɜɵ ɜɫɟɝɞɚ ɫɦɨɠɟɬɟ ɭɛɟɞɢɬɶɫɹ, ɱɬɨ ɤɨɦɚɧɞɚ ɜɵɩɨɥɧɹɟɬ ɢɦɟɧɧɨ ɬɨ ɞɟɣɫɬɜɢɟ, ɤɨɬɨɪɨɟ ɬɪɟɛɭɟɬɫɹ.
157
Ƚɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
? ( ). . $ find
.
, FreeBSD :
,
-
find,
-name "lostfile*"
, , ,
.
,
,
,
, NFS,
-
.
.
,
-
lostfile
-
,
, . ,
find .
, -
find
man find.
,
, locate, ,
, , .
.
-
, ,
, locate,
. (
). man locate.
-
Ʉɨɦɚɧɞɵ ɨɛɪɚɛɨɬɤɢ ɬɟɤɫɬɨɜɵɯ ɮɚɣɥɨɜ , UNIX,
AT&T FreeBSD
. UNIX
,
.
-
.
ɉɨɞɫɱɟɬ ɱɢɫɥɚ ɫɬɪɨɤ, ɫɥɨɜ ɢ ɫɢɦɜɨɥɨɜ , . ,
wc. , 1160
, $ wc fbu8mcu 1160 7823
, , 7823
51584
:
51584 fbu8mcu.html
,
we -l —
,
,
, -w —
- —
:
.
ɉɪɨɫɦɨɬɪ ɬɟɤɫɬɨɜɵɯ ɮɚɣɥɨɜ: ɭɬɢɥɢɬɵ more ɢ less , ,
less. ,
more (
).
less (
)
158
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
less ( .
more) ,
. ,
),
less (
. 8.9.
8.9
,
less
/pattern
Ɂɞɟɫɶ pattern ɡɚɞɚɟɬ ɲɚɛɥɨɧ ɩɨɢɫɤɚ ɫɬɪɨɤɢ ɜ ɮɚɣɥɟ.
ɉɊɈȻȿɅ ɢɥɢ f
ɉɪɨɤɪɭɱɢɜɚɟɬ ɫɨɞɟɪɠɢɦɨɟ ɧɚ ɨɞɢɧ ɷɤɪɚɧ ɜɩɟɪɟɞ. ȿɫɥɢ ɩɟɪɟɞ ɧɚɠɚɬɢɟɦ ɤɥɚɜɢɲɢ ɩɪɨɛɟɥ ɜɜɟɫɬɢ ɱɢɫɥɨ, less ɩɪɨɤɪɭɬɢɬ ɫɨɞɟɪɠɢɦɨɟ ɜɩɟɪɟɞ ɧɚ ɭɤɚɡɚɧɧɨɟ ɱɢɫɥɨ ɫɬɪɨɤ.
b
ɉɪɨɤɪɭɱɢɜɚɟɬ ɫɨɞɟɪɠɢɦɨɟ ɧɚ ɨɞɢɧ ɷɤɪɚɧ ɧɚɡɚɞ. ȿɫɥɢ ɩɟɪɟɞ ɧɚɠɚɬɢɟɦ b ɜɜɟɫɬɢ ɱɢɫɥɨ, less ɩɪɨɤɪɭɬɢɬ ɫɨɞɟɪɠɢɦɨɟ ɧɚɡɚɞ ɧɚ ɭɤɚɡɚɧɧɨɟ ɱɢɫɥɨ ɫɬɪɨɤ.
Ʉɥɚɜɢɲɢ ɤɭɪɫɨɪɚ "↑ " ɢ "↑ "
ɉɪɨɤɪɭɱɢɜɚɟɬ ɮɚɣɥ ɧɚ ɨɞɧɭ ɫɬɪɨɤɭ. Ɂɞɟɫɶ # ɨɛɨɡɧɚɱɚɟɬ ɱɢɫɥɨ. ȼɜɟɞɢɬɟ ɟɝɨ ɢ ɧɚɠɦɢɬɟ g. less ɩɪɨɤɪɭɬɢɬ ɮɚɣɥ ɞɨ ɭɤɚɡɚɧɧɨɣ ɜɚɦɢ ɫɬɪɨɤɢ.
#g
Ɂɞɟɫɶ # ɨɛɨɡɧɚɱɚɟɬ ɱɢɫɥɨ ɨɬ 0 ɞɨ 100. ɉɨ ɷɬɨɣ ɤɨɦɚɧɞɟ less ɩɪɨɤɪɭɱɢɜɚɟɬ ɮɚɣɥ ɞɨ ɬɨɣ ɱɚɫɬɢ, ɤɨɬɨɪɚɹ ɡɚɞɚɧɚ ɜ ɩɪɨɰɟɧɬɚɯ.
#%
.
less
,
,
(
2000
grep,
grep. ,
!).
ɉɨɢɫɤ ɩɨ ɲɚɛɥɨɧɭ : , egrep, .
fgrep, UNIX fgrep ,
grep),
,
fgrep ,
"fast grep" ( grep.
, grep.
cat.
textfile grep
:
$ grep cat textfile
, , , catnip, catbird, catfish cat.
cat, concatenate, , :
$ grep "
cat "
cat. .
,
textfile
159
Ƚɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
grep: -i —
,- —
,
, -n — (
,
), -v — . egrep
, 13.
ɋɨɪɬɢɪɨɜɤɚ ɬɟɤɫɬɚ ɜ ɮɚɣɥɟ . /
-
,
.
sort. ASCII-
sort .
. 8.10. 8.10
sort
-d
ɋɨɪɬɢɪɨɜɤɚ ɜ ɫɬɢɥɟ "ɬɟɥɟɮɨɧɧɨɣ ɤɧɢɝɢ". ɂɝɧɨɪɢɪɭɸɬɫɹ ɜɫɟ ɫɢɦɜɨɥɵ, ɤɪɨɦɟ ɛɭɤɜ, ɰɢɮɪ ɢ ɬɢɪɟ.
-b
ɉɪɢ ɫɨɪɬɢɪɨɜɤɟ ɜ ɫɬɪɨɤɚɯ ɢɝɧɨɪɢɪɭɸɬɫɹ ɜɟɞɭɳɢɟ ɩɭɫɬɵɟ ɫɢɦɜɨɥɵ.
-f
ɉɪɢ ɫɨɪɬɢɪɨɜɤɟ ɫɬɪɨɱɧɵɟ ɛɭɤɜɵ (ɜɧɭɬɪɟɧɧɟ) ɩɪɟɨɛɪɚɡɭɸɬɫɹ ɜ ɩɪɨɩɢɫɧɵɟ (ɧɨ ɜ ɜɵɜɨɞɟ ɫɨɯɪɚɧɹɸɬɫɹ ɢɫɯɨɞɧɵɟ ɡɧɚɱɟɧɢɹ). Ɏɚɤɬɢɱɟɫɤɢ, ɷɬɚ ɨɩɰɢɹ ɨɬɤɥɸɱɚɟɬ ɭɱɟɬ ɪɟɝɢɫɬɪɚ.
-n
ɋɨɪɬɢɪɨɜɤɚ ɜ ɫɨɨɬɜɟɬɫɬɜɢɢ ɫ ɱɢɫɥɨɜɵɦ ɡɧɚɱɟɧɢɟɦ ɩɨɥɹ.
-t
Ɉɩɰɢɹ ɢɡɦɟɧɹɟɬ ɫɢɦɜɨɥ-ɪɚɡɞɟɥɢɬɟɥɶ ɩɨɥɟɣ. ɉɨ ɭɦɨɥɱɚɧɢɸ ɞɥɹ ɨɬɞɟɥɟɧɢɹ ɩɨɥɟɣ ɞɪɭɝ ɨɬ ɞɪɭɝɚ sort ɢɫɩɨɥɶɡɭɟɬ ɩɭɫɬɨɣ ɫɢɦɜɨɥ.
-u
ȿɫɥɢ ɜɨ ɜɯɨɞɧɵɯ ɞɚɧɧɵɯ ɩɪɢɫɭɬɫɬɜɭɸɬ ɨɞɢɧɚɤɨɜɵɟ ɫɬɪɨɤɢ, ɜ ɨɬɫɨɪɬɢɪɨɜɚɧɧɨɦ ɜɵɜɨɞɟ ɩɟɱɚɬɚɟɬɫɹ ɬɨɥɶɤɨ ɨɞɧɚ ɬɚɤɚɹ ɫɬɪɨɤɚ.
-ɝ
ȼɵɜɨɞ ɨɬɫɨɪɬɢɪɨɜɚɧɧɵɯ ɞɚɧɧɵɯ ɜ ɨɛɪɚɬɧɨɦ ɩɨɪɹɞɤɟ.
-ɨ
ȼɵɜɨɞɢɬ ɪɟɡɭɥɶɬɚɬ ɧɟ ɧɚ ɷɤɪɚɧ, ɚ ɜ ɮɚɣɥ, ɢɦɹ ɤɨɬɨɪɨɝɨ ɫɥɟɞɭɟɬ ɡɚ -ɨ. ɗɬɚ ɨɩɰɢɹ ɞɚɟɬ ɬɨɬ ɠɟ ɷɮɮɟɤɬ, ɱɬɨ ɢ ɩɟɪɟɧɚɩɪɚɜɥɟɧɢɟ ɜɵɜɨɞɚ ɜ ɮɚɣɥ (ɩɨɞɪɨɛɧɟɟ ɨ ɩɟɪɟɧɚɩɪɚɜɥɟɧɢɢ ɜɜɨɞɚ-ɜɵɜɨɞɚ ɪɚɫɫɤɚɡɚɧɨ ɞɚɥɟɟ ɜ ɷɬɨɣ ɝɥɚɜɟ).
,
-m, sort
, sort ,
,
. .
Ɂɚɦɟɧɚ ɫɬɪɨɤ ɫ ɩɨɦɨɳɶɸ tr tr. : $ tr 'a-z' 'A-z '
,
( tr
( ,
. ,
tr ) ).
160
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
-
.
tr, :
$ tr
'a-z'
'A-Z'
< file1 > file2
filel, ,
file2. tr
-d. ,
. filel $ tr -d
'AB '
tr file2:
< filel > file2
ȼɵɜɨɞ ɱɚɫɬɟɣ ɫɬɪɨɤ ɢɡ ɬɟɤɫɬɨɜɵɯ ɮɚɣɥɨɜ . ,
cut.
,
phone.txt
: Doe, John~105 Some Street~Anytown~NY~55555~123-555-1212 Doe, Jane~105 Some Street~Anytown~NY~55555~123-555-1212 James, Joe~251 Any Street~Sometown~CA~51111~321-555-1212
cut -cl-5 phone.txt: Doe, Doe, James
.
cut
-
,
cut . $ cut -fl phone.txt
, ,
,
-d.
$ cut -fl –d`~` phone.txt Doe, John Doe, Jane James, Joe
cut (~). , /etc/passwd: $ cut -f 1 -d':' /etc/passwd frank bob alice joe simba lee
.
,
cut
161
Ƚɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
Ɏɨɪɦɚɬɢɪɨɜɚɧɢɟ ɬɟɤɫɬɚ ɭɬɢɥɢɬɨɣ fmt ,
fmt ).
,
65
(
.
,
: Until he extends his circle of compassion to include all living things, man will not himself find peace. -- Dr. Albert Schweitzer
105 (
, . .
, ,
).
,
(
,
),
-
, .
$ fmt quote.txt Until he extends his circle of compassion to include all living things, man will not himself find peace. -- Dr. Albert Schweitzer
. fmt: Until he extends his circle of compassion to include all living things man will not himself find peace — Albert Schweitzer
:
fmt Until he extends his circle of compassion to include all living things man will not himself find peace — Dr. Albert Schweitzer
,
.
, Web-
,
- :
,
log,
. . . ,
, awk.
sed
,
-
. FreeBSD
. ,
.
,
UNIX .
, — ,
162
ɑɚɫɬɶ 2. ɂɫɩɨɥɶɡɨɜɚɧɢɟ FreeBSD
-
.
,
ls,
, $ ls
:
> filelist.txt
filelist.txt, .
. ,
-
ls
more: $ Is I more
,
.
more
-
. , .
, mail. .
, , cat,
,
,
mail : $ cat quote.txt | mail useraddress
-
, : $ mail useraddress < quote.txt
,
mail ,
quote.txt. cat, --
. ,
, filel, $
tr
tr, file2:
'a-z'
'A-Z'
(
,
. :
< filel > file2
,
—
,
,
.)
$ cut -fl -d'
' access.log | sort | uniq -
NCSA,
: | more log-
Web1,
: ,
Web,
sort
, —
,
, uniq - . .
more.
,
,
Web-
. $ cut -fl -d'
:
' /var/log/httpd-access.log | sort | uniq -c > hits.txt
163
Ƚɥɚɜɚ 8. Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ
,
,
.
Ⱦɨɩɨɥɧɟɧɢɟ ɤɨɦɚɧɞɧɨɣ ɫɬɪɨɤɢ ɢ ɪɟɞɚɤɬɢɪɨɜɚɧɢɟ ɢɫɬɨɪɢɢ ɤɨɦɚɧɞ . ,
-
. ,
bash (
),
,
-
tcsh, (
. )
Tab.
-
, . , "
" (
,
). Tab (bash) Ctrl+D !
(
Ctrl+D (tcsh).
,
)
$ has[Tab] basename bash
tcsh.
bashbug
Tab
:
$ Is show[Tab] showchars.cgi* showfavepics.cgi* showprofile.cgi* showcomments.cgi* showpopular.cgi* showrequests.cgi*
showuploads.cgi*
. . 100
tcsh
). .
Enter. .
bash — ,
, .bash_history.
: tcsh — "
" . -
rm ~/.history .
-
, ,
, .
.history,
, ,
. rm ~/.bash_history,
3
Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
◀
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
◀
ɉɨɥɶɡɨɜɚɬɟɥɢ, ɝɪɭɩɩɵ ɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ
◀
Ʉɨɧɮɢɝɭɪɚɰɢɹ ɫɢɫɬɟɦɵ ɢ ɫɬɚɪɬɨɜɵɟ ɫɢɟɧɚɪɢɢ
◀ ɇɚɫɬɪɨɣɤɚ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ◀ ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
ɧɚ
ɹɡɵɤɟ
ɤɨɦɚɧɞɧɨɝɨ
◀ Ɇɨɧɢɬɨɪɢɧɝ ɩɪɨɢɡɜɨɞɢɬɟɩɶɧɨɫɬɢ, ɭɩɪɚɜɥɟɧɢɟ ɩɪɨɰɟɫɫɚɦɢ ɢ ɚɜɬɨɦɚɬɢɡɚɰɢɹ ɡɚɞɚɧɢɣ ◀
ɍɫɬɚɧɨɜɤɚ ɞɨɩɨɥɧɢɬɟɥɶɧɨɝɨ ɩɪɨɝɪɚɦɦɧɨɝɨ ɨɛɟɫɩɟɱɟɧɢɹ
◀
ɉɟɱɚɬɶ
◀
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɹɞɪɚ
◀
ɉɨɞɞɟɪɠɤɚ FreeBSD
◀
0 ɠɟɫɬɤɢɯ ɞɢɫɤɚɯ ɢ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦɚɯ
◀
Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD
◀
Ɉɫɧɨɜɵ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɧɚ ɹɡɵɤɟ Perl
9 Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
◀ ɋɬɪɭɤɬɭɪɚ ɤɚɬɚɥɨɝɨɜ FreeBSD ◀ Ɇɨɧɢɬɨɪɢɧɝ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ ◀ Ɇɨɧɬɢɪɨɜɚɧɢɟ ɢ ɞɟɦɨɧɬɢɪɨɜɚɧɢɟ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ FreeBSD ◀ Ɇɨɧɬɢɪɨɜɚɧɢɟ ɢ ɞɟɦɨɧɬɢɪɨɜɚɧɢɟ ɮɚɣɥɨɜɵɯ ɞɪɭɝɢɯ ɨɩɟɪɚɰɢɨɧɧɵɯ ɫɢɫɬɟɦ
ɫɢɫɬɟɦ
◀ Ɇɨɧɬɢɪɨɜɚɧɢɟ ɢ ɞɟɦɨɧɬɢɪɨɜɚɧɢɟ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ CD-ROM ɢ ɮɥɨɩɩɢ-ɞɢɫɤɨɜ ◀ ɉɨɧɢɦɚɧɢɟ ɮɚɣɥɚ /etc/fstab
◀
ɉɪɨɜɟɪɤɚ ɢ ɜɨɫɫɬɚɧɨɜɥɟɧɢɟ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ ɫ ɩɨɦɨɲɶɸ ɭɬɢɥɢɬɵ fsck
◀ ɍɫɬɚɧɨɜɤɚ ɢ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɯ ɤɜɨɬ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ
166
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
, ,
FreeBSD, ,
. . FFS (BSD Fast File System, , UFS (Universal File System, UNIX).
FreeBSD BSD). BSD File System ( !
UNIX ) ,
, mount),
UFS
.
BSD
UFS,
,
"
BSD FFS — NetBSD
UNIX
,
(
-
,
FreeBSD). Linux, NTFS, a Windows 95/98/Me — VFAT. ,
" UFS FreeBSD.
, Mac OS X ( ,
FreeBSD, OpenBSD, , Darwin, Ext2FS, Windows NT .
ɉɊɂɆȿɑȺɇɂȿ Ȼɨɥɟɟ ɩɨɥɧɵɣ ɨɛɡɨɪ ɪɚɡɥɢɱɧɵɯ ɬɢɩɨɜ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ, ɫɭɳɟɫɬɜɭɸɳɢɯ ɜ ɫɨɜɪɟɦɟɧɧɨɦ ɤɨɦɩɶɸɬɟɪɧɨɦ ɦɢɪɟ, ɦɨɠɧɨ ɧɚɣɬɢ ɩɨ ɚɞɪɟɫɭ http://www.penguin.cz/~mhi/fs/.
FreeBSD ,
UNIX FreeBSD,
. ,
UNIX,
, (
.
FreeBSD UNIX Windows Macintosh, .
Linux, Solaris , FreeBSD UNIX, .
,
(
.
. 9.1).
-
. 9.1).
,
167
Ƚɥɚɜɚ 9. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
Is / FreeBSD.
: — @,
9.1
/,
— *. FreeBSD
bin/
Ɂɞɟɫɶ ɧɚɯɨɞɹɬɫɹ ɜɵɩɨɥɧɹɟɦɵɟ ɮɚɣɥɵ, ɫɤɨɦɩɢɥɢɪɨɜɚɧɧɵɟ ɫɨ ɫɬɚɬɢɱɟɫɤɢɦɢ ɛɢɛɥɢɨɬɟɤɚɦɢ. ɉɨɷɬɨɦɭ ɷɬɢɦ ɤɚɬɚɥɨɝɨɦ ɦɨɠɧɨ ɜɨɫɩɨɥɶɡɨɜɚɬɶɫɹ ɜ ɫɥɭɱɚɟ ɚɜɚɪɢɣɧɨɣ ɡɚɝɪɭɡɤɢ, ɤɨɝɞɚ ɧɟɬ ɞɨɫɬɭɩɚ ɤ ɩɪɨɝɪɚɦɦɚɦ, ɢɫɩɨɥɶɡɭɸɳɢɦ ɞɢɧɚɦɢɱɟɫɤɢɟ ɛɢɛɥɢɨɬɟɤɢ, ɢɥɢ ɞɪɭɝɢɦ ɮɚɣɥɨɜɵɦ ɫɢɫɬɟɦɚɦ, ɤɪɨɦɟ /.
boot/
Ɂɞɟɫɶ ɧɚɯɨɞɹɬɫɹ ɤɨɧɮɢɝɭɪɚɰɢɨɧɧɵɟ ɢ ɢɫɩɨɥɧɹɟɦɵɟ ɮɚɣɥɵ, ɧɟɨɛɯɨɞɢɦɵɟ ɞɥɹ ɡɚɝɪɭɡɤɢ ɫɢɫɬɟɦɵ. Ʉɪɨɦɟ ɬɨɝɨ, ɧɚɱɢɧɚɹ ɫ ɜɟɪɫɢɢ FreeBSD 5.0 ɜ ɷɬɨɦ ɤɚɬɚɥɨɝɟ ɪɚɡɦɟɳɚɟɬɫɹ ɹɞɪɨ. Ɉɧɨ ɭɩɪɚɜɥɹɟɬ ɜɫɟɦɢ ɭɫɬɪɨɣɫɬɜɚɦɢ ɢ ɫɟɬɶɸ, ɚ ɬɚɤɠɟ ɜɵɩɨɥɧɹɟɬ ɪɹɞ ɞɪɭɝɢɯ ɡɚɞɚɱ. ɉɨɞɪɨɛɧɭɸ ɢɧɮɨɪɦɚɰɢɸ ɨ ɹɞɪɟ ɜɵ ɧɚɣɞɟɬɟ ɜ ɝɥɚɜɟ 17
compat@
ɋɢɦɜɨɥɢɱɟɫɤɚɹ ɫɫɵɥɤɚ ɧɚ ɫɬɪɭɤɬɭɪɭ ɤɚɬɚɥɨɝɨɜ, ɨɛɟɫɩɟɱɢɜɚɸɳɭɸ ɫɨɜɦɟɫɬɢɦɨɫɬɶ ɫ ɞɪɭɝɢɦɢ ɨɩɟɪɚɰɢɨɧɧɵɦɢ ɫɢɫɬɟɦɚɦɢ, ɧɚɩɪɢɦɟɪ ɫ Linux.
dev/
ɋɩɟɰɢɚɥɶɧɵɣ ɤɚɬɚɥɨɝ. Ɏɚɣɥɵ ɜɧɭɬɪɢ ɧɟɝɨ ɹɜɥɹɸɬɫɹ ɭɫɬɪɨɣɫɬɜɚɦɢ, ɬɨɱɧɟɟ, ɮɚɣɥɚɦɢ ɫɩɟɰɢɚɥɶɧɵɯ ɬɢɩɨɜ, ɤɨɬɨɪɵɟ ɨɛɟɫɩɟɱɢɜɚɸɬ ɩɪɨɝɪɚɦɦɚɦ ɢɧɬɟɪɮɟɣɫ ɤ ɭɫɬɪɨɣɫɬɜɚɦ, ɩɨɞɞɟɪɠɢɜɚɟɦɵɦ ɹɞɪɨɦ.
etc/
ȼ ɪɚɧɧɢɯ ɜɟɪɫɢɹɯ ɫɢɫɬɟɦɵ ɡɞɟɫɶ ɪɚɡɦɟɳɚɥɢɫɶ ɪɚɡɧɨɨɛɪɚɡɧɵɟ ɮɚɣɥɵ, ɤɨɬɨɪɵɟ ɧɟ ɦɨɝɥɢ ɛɵɬɶ ɩɨɦɟɳɟɧɵ ɜ ɞɪɭɝɢɟ ɤɚɬɚɥɨɝɢ. Ɍɟɩɟɪɶ ɡɞɟɫɶ ɯɪɚɧɹɬɫɹ ɫɢɫɬɟɦɧɵɟ ɤɨɧɮɢɝɭɪɚɰɢɨɧɧɵɟ ɮɚɣɥɵ, ɜ ɬɨɦ ɱɢɫɥɟ ɛɚɡɵ ɞɚɧɧɵɯ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɯ ɩɚɪɨɥɟɣ ɢ ɫɰɟɧɚɪɢɢ ɧɚɱɚɥɶɧɨɣ ɡɚɝɪɭɡɤɢ.
home@
ȼ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɧɚɫɬɪɨɣɤɢ ɫɢɫɬɟɦɵ ɷɬɨɬ ɷɥɟɦɟɧɬ ɦɨɠɟɬ ɛɵɬɶ ɤɚɬɚɥɨɝɨɦ, ɚ ɦɨɠɟɬ ɛɵɬɶ ɫɢɦɜɨɥɢɱɟɫɤɨɣ ɫɫɵɥɤɨɣ ɧɚ /usr/home. ȼ ɧɟɦ ɫɨɛɪɚɧɵ ɜɫɟ ɧɚɱɚɥɶɧɵɟ ɤɚɬɚɥɨɝɢ ɨɛɵɱɧɵɯ ɩɨɥɶɡɨɜɚɬɟɥɟɣ.
mnt/
ɉɭɫɬɨɣ ɤɚɬɚɥɨɝ, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɣ ɞɥɹ ɦɨɧɬɢɪɨɜɚɧɢɹ ɞɪɭɝɢɯ ɞɢɫɤɨɜ
modules/
Ɂɞɟɫɶ ɧɚɯɨɞɹɬɫɹ ɡɚɝɪɭɠɚɟɦɵɟ ɦɨɞɭɥɢ ɹɞɪɚ.
ɪɝɨɫ/
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ ɩɪɨɰɟɫɫɨɜ (procfs). Ɉɧɚ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɢɧɬɟɪɮɟɣɫ ɤ ɬɚɛɥɢɰɟ ɩɪɨɰɟɫɫɨɜ. ɂɫɩɨɥɶɡɭɟɬɫɹ ɧɟɤɨɬɨɪɵɦɢ ɩɪɨɝɪɚɦɦɚɦɢ, ɨɞɧɚɤɨ ɧɟ ɹɜɥɹɟɬɫɹ ɜɚɠɧɵɦ ɤɨɦɩɨɧɟɧɬɨɦ ɪɚɛɨɬɵ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ (ɬ.ɟ. ɟɟ ɦɨɠɧɨ ɛɥɚɝɨɩɨɥɭɱɧɨ ɞɟɦɨɧɬɢɪɨɜɚɬɶ).
root/
ɇɚɱɚɥɶɧɵɣ ɤɚɬɚɥɨɝ ɩɨɥɶɡɨɜɚɬɟɥɹ root. Ɉɧ ɪɚɫɩɨɥɨɠɟɧ ɡɚ ɩɪɟɞɟɥɚɦɢ ɤɚɬɚɥɨɝɚ /home ɩɨ ɫɨɨɛɪɚɠɟɧɢɹɦ ɛɟɡɨɩɚɫɧɨɫɬɢ ɢ, ɤɪɨɦɟ ɬɨɝɨ, ɞɨɫɬɭɩɟɧ ɩɪɢ ɚɜɚɪɢɣɧɨɣ ɡɚɝɪɭɡɤɟ.
Sbin/
ɋɢɫɬɟɦɧɵɟ ɢɫɩɨɥɧɹɟɦɵɟ ɮɚɣɥɵ, ɫɤɨɦɩɢɥɢɪɨɜɚɧɧɵɟ ɫɨ ɫɬɚɬɢɱɟɫɤɢɦɢ ɛɢɛɥɢɨɬɟɤɚɦɢ. Ɉɧɢ ɨɬɥɢɱɚɸɬɫɹ ɨɬ ɮɚɣɥɨɜ, ɤɨɬɨɪɵɟ ɯɪɚɧɹɬɫɹ ɜ /bin, ɬɟɦ, ɱɬɨ ɫɩɨɫɨɛɧɵ ɢɡɦɟɧɹɬɶ ɩɨɜɟɞɟɧɢɟ ɫɢɫɬɟɦɵ, ɬɨɝɞɚ ɤɚɤ ɩɪɨɝɪɚɦɦɵ ɢɡ /bin ɩɪɟɞɫɬɚɜɥɹɸɬ ɫɨɛɨɣ ɥɢɲɶ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɟ ɭɬɢɥɢɬɵ.
stand/
Ɂɞɟɫɶ ɫɨɞɟɪɠɢɬɫɹ ɧɚɛɨɪ ɠɟɫɬɤɢɯ ɫɫɵɥɨɤ ɧɚ ɩɪɨɝɪɚɦɦɵ (hard-linked programs), ɤɨɬɨɪɵɟ ɨɛɟɫɩɟɱɢɜɚɸɬ ɫɪɟɞɭ "ɦɢɧɢ-FreeBSD" ɞɥɹ ɢɧɫɬɚɥɥɹɰɢɢ ɫɢɫɬɟɦɵ ɢ ɚɜɚɪɢɣɧɨɝɨ ɡɚɩɭɫɤɚ ɜ ɚɜɬɨɧɨɦɧɨɦ ɪɟɠɢɦɟ (standalone mode). ɋɤɨɪɟɟ ɜɫɟɝɨ, ɜɚɦ ɩɨɧɚɞɨɛɢɬɫɹ ɥɢɲɶ ɨɞɧɚ ɩɪɨɝɪɚɦɦɚ ɢɡ ɷɬɨɝɨ ɤɚɬɚɥɨɝɚ, — sysinstall. Ɉ ɧɟɣ ɪɚɫɫɤɚɡɚɧɨ ɜ ɝɥɚɜɟ 2.
sys@
ɋɫɵɥɤɚ ɧɚ ɮɚɣɥɵ ɫ ɢɫɯɨɞɧɵɦ ɤɨɞɨɦ ɹɞɪɚ, ɟɫɥɢ ɨɧɢ ɛɵɥɢ ɭɫɬɚɧɨɜɥɟɧɵ,
tmp/
ȼɪɟɦɟɧɧɵɟ ɮɚɣɥɵ. Ⱦɚɧɧɵɣ ɤɚɬɚɥɨɝ ɞɨɫɬɭɩɟɧ ɞɥɹ ɡɚɩɢɫɢ ɜɫɟɦ ɩɨɥɶɡɨɜɚɬɟɥɹɦ.
168
ɑɚɫɬɶ Ɂ. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
usr/
"ɒɥɸɡ" ɤ ɨɫɬɚɥɶɧɨɣ ɱɚɫɬɢ ɫɢɫɬɟɦɵ: ɩɪɨɝɪɚɦɦɵ, ɢɫɩɨɥɶɡɭɸɳɢɟ ɞɢɧɚɦɢɱɟɫɤɢɟ ɛɢɛɥɢɨɬɟɤɢ, ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɟ ɮɚɣɥɵ ɢ ɩɪɨɝɪɚɦɦɵ, ɭɫɬɚɧɚɜɥɢɜɚɟɦɵɟ ɚɞɦɢɧɢɫɬɪɚɬɨɪɨɦ. ȼ ɩɨɫɥɟɞɭɸɳɢɯ ɝɥɚɜɚɯ ɛɭɞɟɬ ɩɨɞɪɨɛɧɨ ɨɛɫɭɠɞɚɬɶɫɹ ɫɨɞɟɪɠɢɦɨɟ ɷɬɨɝɨ ɤɚɬɚɥɨɝɚ.
var/
ɂɡɦɟɧɹɸɳɢɟɫɹ ɮɚɣɥɵ. Ɂɞɟɫɶ ɫɨɞɟɪɠɚɬɫɹ runtime-ɮɚɣɥɵ, ɢɫɩɨɥɶɡɭɟɦɵɟ ɩɪɨɝɪɚɦɦɚɦɢ, log-ɮɚɣɥɵ, ɫɩɭɥ (spool) ɢ ɞɪɭɝɢɟ ɷɥɟɦɟɧɬɵ, ɱɶɟ ɫɨɞɟɪɠɢɦɨɟ ɢɡɦɟɧɹɟɬɫɹ ɜ ɩɪɨɰɟɫɫɟ ɧɨɪɦɚɥɶɧɨɣ ɪɚɛɨɬɵ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ.
,
FreeBSD
, FreeBSD
, Linux, ,
: "
, ,
FreeBSD. -
UNIX.
, -
/usr/local".
FreeBSD — ( .
15). /var/lib,
—
FreeBSD
/etc,
, /usr/local/lib
,
/usr/local/etc.
-
,
/usr/local/etc, ,
/usr/
local/etc/rc.d. /etc/rc.d. FreeBSD, (
,
,
).
,
-
/usr/local ,
.
, . Linux
, , ,
, FreeBSD. , , /usr/bin/python,
, Solaris, FreeBSD , , Python ,
FreeBSD. —
Linux, FreeBSD, ,
,
/usr/local/bin/python. , FreeBSD, /usr/local/bin/python.
,
.
/usr/bin/python, FreeBSD
man hier.
. Python Python,
169
Ƚɥɚɜɚ 9. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
Ɇɨɧɢɬɨɪɢɧɝ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ UNIX-
, (mount points). , :),
Windows, DOS
( .
ROM
:, D:
Windows/
,
CD.
:,
UNIX ,
. . Windows
: , UNIX
, , (
.
. 9.2).
9.2 FreeBSD (UNIX) Windows.
/dev/adO s1a FreeBSD
,
-
: -
(
).
, .
Mac OS
Windows ,
. .
FreeBSD
,
, ,
"
"
,
, -
.
Ʉɨɦɚɧɞɚ df df (disk free —
)— ;
-
170
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
(
df .
14).
-
,
.
df
: 1K-blocks 49583 4254901 19815 4
Filesystem /dev/adOsla /dev/adOslf /dev/adOsle proofs
Used 28427 1959405 12058 4
(slice)
Avail 17190 1955104 6172 0
Capacity Mounted 62% / 50% /usr 66% /var 100% /proc
on
(partition) . IDE (/dev/adO),
/usr
/var.
20
.
,
, /, . , a /var — ,
FreeBSD 50 /usr.
(/) , /usr
/var.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ȼɵɛop ɦɚɥɨɝɨ ɪɚɡɦɟɪɚ ɞɥɹ /var ɦɨɠɟɬ ɨɤɚɡɚɬɶɫɹ ɨɩɚɫɧɵɦ, ɩɨɫɤɨɥɶɤɭ log-ɮɚɣɥɵ ɬɪɚɞɢɰɢɨɧɧɨ ɪɚɡɦɟɳɚɸɬɫɹ ɜ ɤɚɬɚɥɨɝɟ /var/log. ɗɬɢ ɮɚɣɥɵ ɦɨɝɭɬ ɞɨɫɬɢɝɚɬɶ ɨɱɟɧɶ ɛɨɥɶɲɢɯ ɪɚɡɦɟɪɨɜ, ɩɨɷɬɨ-ɦɭ ɦɧɨɝɢɟ ɚɞɦɢɧɢɫɬɪɚɬɨɪɵ ɩɪɟɞɩɨɱɢɬɚɸɬ ɩɟɪɟɦɟɳɚɬɶ ɤɚɬɚɥɨɝ /war ɜ /usr/war, ɫɨɡɞɚɜɚɹ ɜ ɤɨɪɧɟɜɨɦ ɤɚɬɚɥɨɝɟ ɧɟɨɛɯɨɞɢɦɭɸ ɫɢɦɜɨɥɢɱɟɫɤɭɸ ɫɜɹɡɶ. ɉɪɟɢɦɭɳɟɫɬɜɚ ɢ ɧɟɞɨɫɬɚɬɤɢ ɪɚɡɥɢɱɧɵɯ ɦɟɬɨɞɢɤ ɪɚɡɛɢɟɧɢɹ ɞɢɫɤɚ ɧɚ ɪɚɡɞɟɥɵ ɨɛɫɭɠɞɚɸɬɫɹ ɜ ɝɥɚɜɟ 19.
Ʉɨɦɚɧɞɚ du :
df
.
,
,
.
du (disk usage — # du -d 1 22572 9 31 1520 66211
).
/home/ /home/bob /home/fred /home/alice /home/torn /home/pat
du . ( (summary), .
, -d, ).
-
du,
,
, -s
: man du. .
-
,
.
: .
(quotas).
171
Ƚɥɚɜɚ 9. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
Ɇɨɧɬɢɪɨɜɚɧɢɟ ɢ ɞɟɦɨɧɬɢɪɨɜɚɧɢɟ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ FreeBSD UNIX(/dev/adO)
, /dev/adl. (
-
.
(primary slave). /dev/daO . .)
SCSI (
19)
, . (
-
.)
Ʉɨɦɚɧɞɚ mount ,
,
, .
( /usr/home. He
df
du),
-
—
/usr
, .
(40
).
50 FreeBSD — /dev/adlsle (100 )
(
.
), /dev/adlslf (8
/dev/ad slg . /home 40. /usr/home, /usr/home , , mv /home
— , /home —
.) /home.old.
,
, rm /home. ( /home — ,
)
-
. ,
;
,
,
(union .)
.( filesystems), mkdir /home. . FreeBSD
:
/dev/adlslg # mount
/dev/adlslg
. 40-
mount /home
, . Filesystem 1K-blocks /dev/adOsla 49583 /dev/adlslg 39245453 /dev/adOslf 4254901 /dev/adOsle 19815 proofs 4
df: Used 28427 3362491 892410 12058 4
Avail 17190 32119340 3140012 6172 0
Capacity 62% 12% 22% 66% 100%
Mounted / /home /usr /var /proc
on
172
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
!
/usr/home (
/home.old,
)
/home. .
—
, . — Incorrect super block ( — Invalid argument (
,
, -
)
). -
(
mount
FreeBSD
). /dev/acdO (slice mode)
/dev/adlsle, /dev/ad3sl —
, (dedicated mode).
,
.
19.
mount .
-f, ,
,
. -f. "
,
-
, , "
, . .
,
.
-
,
fsck ( ), options,
. (
.
),
-
, -
-
,
,
-r (
.
rdonly) mount
.
,
man mount.
Ʉɨɦɚɧɞɚ umount , umount ( #
umount
— "unmount"). :
/home,
/home
umount /dev/adlslg, a umount ,
. , -
. .
,
,
,
/usr .
,
/home ,
, mount :
/var,
. umount,
,
/home,
,
, . ! : Device busy (
173
Ƚɥɚɜɚ 9. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
).
: mount, . ;
cd /. umount
-f,
-
.
Ɇɨɧɬɢɪɨɜɚɧɢɟ ɢ ɞɟɦɨɧɬɢɪɨɜɚɧɢɟ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ ɞɪɭɝɢɯ ɨɩɟɪɚɰɢɨɧɧɵɯ ɫɢɫɬɟɦ FreeBSD. , , Linux, Windows 98 FreeBSD
, NT?
, . ,
. 9.2. Ɍɚɛɥɢɰɚ 9.2Ɏɚɣɥɨɜɵɟ ɫɢɫɬɟɦɵ, ɩɨɞɞɟɪɠɢɜɚɟɦɵɟ ɫɬɚɧɞɚɪɬɧɵɦ ɹɞɪɨɦ FFS
Ȼɵɫɬɪɚɹ ɮɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ (Berkeley Fast Filesystem)
MFS
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ ɜ ɩɚɦɹɬɢ (Memory Filesystem)
NFS
ɋɟɬɟɜɚɹ ɮɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ (Network Filesystem)
MSDOSFS
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ MS-DOS (MS-DOS Filesystem)
CD9660
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ ISO 9660 (CD-ROM)
PROCFS
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ ɩɪɨɰɟɫɫɨɜ (Process Filesystem)
,
(
.
17).
Ɍɚɛɥɢɰɚ 9.3 Ⱦɨɩɨɥɧɢɬɟɥɶɧɵɟ ɮɚɣɥɨɜɵɟ ɫɢɫɬɟɦɵ FDESC
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ ɞɟɫɤɪɢɩɬɨɪɨɜ (File Descriptor Filesystem)
KERNFS
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ ɹɞɪɚ (Kernel Filesystem)
NTFS
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ Windows NT (NT Filesystem)
NULLFS
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ NULL (NULL Filesystem)
NWFS
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ Novell NetWare (NetWare Filesystem)
PORTAL
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ Portal (Portal Filesystem)
UMAPFS
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ UID map (UID map Filesystem)
UNION
Ɉɛɴɟɞɢɧɟɧɧɚɹ ɮɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ (Union Filesystem)
CODA
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ CODA (CODA Filesystem)
EXT2FS
Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ Ext2 (Ext2 Filesystem) (Linux)
, ,
,
; ,
174
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
, Ext2FS
.
-
NTFS
. ,
,
,
. ,
,
,
/modules; . CODA, PORTAL, NWFS, NULL, NTFS, UNION , . , , . /sbin:
, , MSDOSFS),
mount_od9660* mount_devfs* mount_ext2fs* mount_fdesc* mount_kernfs* mount_linprocfs*
mount_mfs* mount_msdos* mount_nfs* mount_ntfs* mount_null* mount_nwfs*
, ( , FreeBSD
mount_portal* mount_procfs* mount_std* mount_umap* mount_union*
. mount.
mount -t
mount_*
, -
. , .
,
,
mount -t nfs /mat,
,
mount_nfs /mnt.
.
ɉɊɂɆȿɑȺɇɂȿ ɑɬɨ ɤɚɫɚɟɬɫɹ ɫɬɚɛɢɥɶɧɨɫɬɢ ɢ ɫɬɟɩɟɧɢ ɡɚɜɟɪɲɟɧɧɨɫɬɢ ɱɚɫɬɢɱɧɨ ɩɨɞɞɟɪɠɢɜɚɟɦɵɯ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ, ɪɟɤɨɦɟɧɞɭɸ ɨɛɪɚɬɢɬɶɫɹ ɤ ɫɬɪɚɧɢɰɚɦ ɫɩɪɚɜɨɱɧɵɯ ɪɭɤɨɜɨɞɫɬɜ man mount_*. Ɉɧɢ ɪɚɫɫɤɚɡɵɜɚɸɬ, ɱɟɝɨ ɢɦɟɧɧɨ ɧɟ ɯɜɚɬɚɟɬ ɩɨɞɞɟɪɠɤɟ ɤɨɧɤɪɟɬɧɨɣ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ. ɇɚɩɪɢɦɟɪ, ɢɡ man mount_ntfs ɦɨɠɧɨ ɭɡɧɚɬɶ ɨ ɩɪɨɛɥɟɦɚɯ, ɤɨɬɨɪɵɟ ɦɨɝɭɬ ɜɨɡɧɢɤɧɭɬɶ ɩɪɢ ɡɚɩɢɫɢ ɮɚɣɥɨɜ, ɢ ɨɛ ɨɬɫɭɬɫɬɜɢɢ ɩɨɞɞɟɪɠɤɢ ɤɨɦɩɪɟɫɫɢɢ, a man mount union ɩɪɟɞɭɩɪɟɠɞɚɟɬ ɨɛ ɨɝɪɚɧɢɱɟɧɧɨɣ ɮɭɧɤɰɢɨɧɚɥɶɧɨɫɬɢ ɷɬɨɣ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ ɢ ɩɨɬɟɧɰɢɚɥɶɧɨɣ ɜɨɡɦɨɠɧɨɫɬɢ ɩɨɬɟɪɢ ɞɚɧɧɵɯ. Ɉɛɹɡɚɬɟɥɶɧɨ ɨɡɧɚɤɨɦɶɬɟɫɶ ɫ ɷɬɢɦɢ ɪɭɤɨɜɨɞɫɬɜɚɦɢ!
Ɇɨɧɬɢɪɨɜɚɧɢɟ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ Windows/MS-DOS Windows 98 mount_msdos.
FreeBSD. ,
MSDOSFS ,
, -W
-L,
, FAT32/VFAT. ISO 8859-1,
, ..
-
, root.
# mount_msdos /dev/adlsl /mnt
: , FreeBSD (partitions) BSD,
DOS (slices),
Linux
"
" (partitions) -
.
175
Ƚɥɚɜɚ 9. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
Windows 98
,
/dev/adlsl
,
, FreeBSD, ( /dev/adlslg). DOS (extended DOS partition), — Invalid argument ( ). DOS : /dev/adls5. MS-DOS UID/G1D , root;
,
-
5,
,
: ;
,
. . man mount_msdos.
ɋɈȼȿɌ Ɏɥɨɩɩɢ-ɞɢɫɤ Windows ɫɨɞɟɪɠɢɬ ɢɦɟɧɚ ɮɚɣɥɨɜ, ɤɨɬɨɪɵɟ ɦɨɝɭɬ ɨɬɨɛɪɚɠɚɬɶɫɹ ɜ ɫɬɚɧɞɚɪɬɧɨɦ ɤɨɪɨɬɤɨɦ ɮɨɪɦɚɬɟ MS-DOS 8.3 ɢɥɢ ɠɟ ɜ ɞɥɢɧɧɨɦ ɮɨɪɦɚɬɟ Windows 95/98 (ɩɪɢ ɷɬɨɦ ɞɨɩɨɥɧɢɬɟɥɶɧɚɹ ɢɧɮɨɪɦɚɰɢɹ ɢɡɜɥɟɤɚɟɬɫɹ ɢɡ ɦɟɬɚɞɚɧɧɵɯ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ). ȿɫɥɢ ɞɢɫɤɟɬɚ ɦɨɧɬɢɪɭɟɬɫɹ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ mount_msdos, FreeBSD ɩɨɩɵɬɚɟɬɫɹ ɧɚɣɬɢ ɧɚ ɞɢɫɤɟ ɞɥɢɧɧɵɟ ɢɦɟɧɚ ɮɚɣɥɨɜ. ȼ ɫɥɭɱɚɟ ɭɫɩɟɯɚ ɜɫɟ ɢɦɟɧɚ ɛɭɞɭɬ ɨɬɨɛɪɚɠɚɬɶɫɹ ɜ ɞɥɢɧɧɨɦ ɮɨɪɦɚɬɟ. ȿɫɥɢ ɠɟ ɫɢɫɬɟɦɚ ɨɛɧɚɪɭɠɢɬ ɬɨɥɶɤɨ ɤɨɪɨɬɤɢɟ ɢɦɟɧɚ, ɛɭɞɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ ɤɨɪɨɬɤɢɣ ɮɨɪɦɚɬ. Ɂɚɫɬɚɜɢɬɶ ɤɨɦɚɧɞɭ mount_ msdos ɩɪɢɧɭɞɢɬɟɥɶɧɨ ɨɬɨɛɪɚɠɚɬɶ ɢɦɟɧɚ ɮɚɣɥɨɜ ɜ ɞɥɢɧɧɨɦ ɢɥɢ ɤɨɪɨɬɤɨɦ ɮɨɪɦɚɬɟ ɦɨɠɧɨ ɩɪɢ ɩɨɦɨɳɢ ɨɩɰɢɢ -I ɢɥɢ -s, ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ.
Ɇɨɧɬɢɪɨɜɚɧɢɟ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ Linux Linux-
Ext2FS.
Ext2FS
, Ext2FS
. ( ,
.) 17.
: options
EXT2FS
, Linux
-
:
# mount_ext2fs /dev/adlsl /mnt
,
-
mount_ext2fs
mount,
.
ɂɋɉɈɅɖɁɈȼȺɇɂȿ FDISK ȾɅə ɉɈɅɍɑȿɇɂə ɂɇɎɈɊɆȺɐɂɂ Ɉ ɊȺɁȾȿɅȺɏ Ɉɩɪɟɞɟɥɢɬɶ, ɫ ɤɚɤɨɣ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɨɣ ɩɪɟɞɫɬɨɢɬ ɪɚɛɨɬɚɬɶ, ɩɨɡɜɨɥɹɟɬ ɤɨɦɚɧɞɚ fdisk: # fdisk /dev/adl ******* working on device /dev/adl ******* parameters extracted from in-core disklabel are: cylinders=1247 heads=255 sectors/track=63 (16065
blks/cyl)
Figures below won't work with BIOS for partitions not in cyl parameters to be used for BIOS calculations are: cylinders=1247 heads=255 sectors/track=63 (16065 blks/cyl)
1
176
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 131,(Linux filesystem) start 63, size 2104452 (1027Meg), flag 0 beg: cyl 0/ sector 1/ head 1; end: cyl 130/ sector 63/ head 254 The data for partition 2 is: sysid 130,(Linux swap or Solaris x86) start 2104515, size 787185 (384 Meg), flag 0 beg: cyl 131/ sector 1/ head 0; end: cyl 179/ sector 63/ head 254 The data for partition 3 is: sysid 131,(Linux filesystem) start 2891700, size 17141355 (8369 Meg), flag 0 beg: cyl 180/ sector 1/ head 0; end: cyl 1023/ sector 63/ head 254 The data for partition 4 is:
Ф
К
FreeBSD) (sysid]. 131, FreeBSD — 165. К , я я /usr/src/sbin/i386/fdisk/fdisk.c.
[ Linux Ext2FS fdisk,
Ɇɨɧɬɢɪɨɜɚɧɢɟ ɢ ɞɟɦɨɧɬɢɪɨɜɚɧɢɟ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ CD-ROM ɢ ɮɥɨɩɩɢ-ɞɢɫɤɨɜ — CD-ROM CD9660, , MS-DOS.
,
.
CD-ROM FFS (
FreeBSD),
Ɇɨɧɬɢɪɨɜɚɧɢɟ ɤɨɦɩɚɤɬ-ɞɢɫɤɨɜ ɢ ɞɢɫɤɟɬ .
CD-ROM IDE
SCSI — . -
/dev/acdOc,
/dev/cdOc, , (dedicated mode).
"
"
ɋɈȼȿɌ Ɉ ɬɟɤɭɳɟɦ ɫɨɝɥɚɲɟɧɢɢ ɨɛ ɢɦɟɧɚɯ ɦɨɠɧɨ ɭɡɧɚɬɶ ɩɨ ɚɞɪɟɫɭ http://www.FreeBSD.org/ handbook/disks-naming, html. # mount_cd9660
/dev/acdOc
/cdrom
-
.
, — fdcO. -
fdO • •
fdl
mount /dev/fdO /floppy mount_msdos /dev/fdO /floppy
,
,
/dev/fdO; ,
ISA, .
177
Ƚɥɚɜɚ 9. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
:
-
,
CD-ROM
,
FreeBSD !
-
.
,
-
rdonly, ,
, — . CD-ROM rdonly,
-
-
!
Ⱦɟɦɨɧɬɢɪɨɜɚɧɢɟ ɤɨɦɩɚɤɬ-ɞɢɫɤɨɜ ɢ ɞɢɫɤɟɬ -
, ,
.
: Windows
.
Mac OS
-
, . FreeBSD (
UNIX
86)
-
,
, . CD-ROM
-
(
). ,
. ,
,
-
,
,
-
. ,
, ,
.
: -
(umount/cdrom)
(umount/floppy)
.
,
Ⱦɪɭɝɢɟ ɫɦɟɧɧɵɟ ɧɨɫɢɬɟɥɢ ,
, USB
DVD. FreeBSD Zip —
FireWire,
Zip Zip umass. ,
-
. . vpO, a USB, . —
.
ɉɨɧɢɦɚɧɢɟ ɮɚɣɥɚ /etc/fstab : ,
.
,
, ,
IDE,
178
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
NFS,
MS-DOS ? !
SCSI-
CD-ROM, — cat /etc/fstab:
/etc/fstab. # Device /dev/adOslb /dev/adOsla /dev/adOslg /dev/adOslf /dev/adOsle /dev/acdOc /dev/fdO proc
Mountpoint none / /home /var /usr /cdrom /floppy /proc
FStype swap ufs ufs ufs ufs cd9660 msdos proofs
Options sw rw rw rw rw ro,noauto rw,noauto rw
Dump 0 1 2 2 2
Pass# 0 1 2 2 2
, :
-
, ,
, .
mount. . , ,
fstab
fstab — . : mount - . , preen (
fsck -p, . . clean (
),
, mount -a -t nonfs — /etc/fstab, NFS.
). , ,
. -
/etc/fstab, ,
mount;
:
# mount /home
fstab, UFS ( ,
/dev/adOslg #
.
, , FFS),
-
:
mount /floppy
, noauto, ,
! /cdrom CD-ROM noauto
,
/floppy .
mount, NFS,
-
-
. ,—
. fstab
mount,
.
, man mount
,
,
-
man mount_*,
. /etc/fstab — fsck ( .
"Pass#"; ). ,
, ,
179
Ƚɥɚɜɚ 9. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
,
1, . .
; 2 (
,
,
.
). -
,
,
,
, . ,
(pass #),
-
(dump level number).
dump.
UNIX,
. dump, .
1,
,
,
,
1
(
: "
").
,
/etc/fstab .
20.
dump, , CVSup.
,
ɉɪɨɜɟɪɤɚ ɢ ɜɨɫɫɬɚɧɨɜɥɟɧɢɟ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ ɫ ɩɨɦɨɳɶɸ ɭɬɢɥɢɬɵ fsck fsck ( )
File System Consistency checK — Microsoft ScanDisk
,
,
. /etc/fstab
.
preen (
)
- . ,
(
)
. ,
. -
, clean
fsck ,
:
/dev/adOsle: 103469 files, 858450 used, 9066025 free (25777 frags, 1130031 blocks, 0.3% fragmentation)
ɉɊɂɆ ȿɑȺɇ ɂȿ He ɛɟɫɩɨɤɨɣɬɟɫɶ ɨ ɮɪɚɝɦɟɧɬɚɰɢɢ, ɨ ɤɨɬɨɪɨɣ ɫɨɨɛɳɚɟɬ fsck. ɉɨɦɧɢɬɟ, ɱɬɨ ɞɚɠɟ ɮɪɚɝɦɟɧɬɚɰɢɹ ɨɤɨɥɨ 2-3% (ɜɪɹɞ ɥɢ ɜɚɦ ɞɨɜɟɞɟɬɫɹ ɭɜɢɞɟɬɶ ɛɨɥɶɲɟɟ ɡɧɚɱɟɧɢɟ) ɧɚɦɧɨɝɨ ɦɟɧɶɲɟ ɬɨɣ, ɱɬɨ ɩɪɢɫɭɳɚ ɬɪɚɞɢɰɢɨɧɧɵɦ ɧɚɫɬɨɥɶɧɵɦ ɨɩɟɪɚɰɢɨɧɧɵɦ ɫɢɫɬɟɦɚɦ. Ⱦɥɹ ɞɢɫɤɚ ɫ ɫɢɫɬɟɦɨɣ DOS/VFAT ɧɟɪɟɞɤɨ ɩɪɢɯɨɞɢɬɫɹ ɧɚɛɥɸɞɚɬɶ ɡɧɚɱɟɧɢɟ 50% ɢ ɛɨɥɟɟ. ɉɨɷɬɨɦɭ ɭɬɢɥɢɬɵ ɞɟɮɪɚɝɦɟɧɬɚɰɢɢ ɜ ɛɨɥɶɲɨɦ ɩɨɱɟɬɟ ɧɚ ɪɵɧɤɟ ɧɚɫɬɨɥɶɧɵɯ ɫɢɫɬɟɦ. ȼ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦɚɯ UNIX ɪɚɡɪɚɛɨɬɚɧɵ ɦɟɯɚɧɢɡɦɵ, ɤɨɬɨɪɵɟ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɪɚɡɦɟɳɚɸɬ ɞɚɧɧɵɟ ɜ ɫɨɫɟɞɧɢɯ ɫɟɤɬɨɪɚɯ, ɩɨɷɬɨɦɭ ɮɪɚɝɦɟɧɬɚɰɢɹ ɜɫɟɝɞɚ ɧɚɯɨɞɢɬɫɹ ɧɚ ɧɢɡɤɨɦ ɭɪɨɜɧɟ. ɀɟɫɬɤɢɣ ɞɢɫɤ ɫ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɨɣ UNIX ɧɟ ɩɪɢɞɟɬɫɹ ɞɟɮɪɚɝɦɟɧɬɢɪɨɜɚɬɶ ɧɢɤɨɝɞɚ (ɹ ɛɵ ɧɟ ɛɵɥ ɫɬɨɥɶ ɤɚɬɟɝɨɪɢɱɟɧ — ɉɪɢɦ. ɪɟɞ.). Ɉɛɪɚɬɢɬɟɫɶ ɤ ɪɚɡɞɟɥɭ "Ȼɥɨɤɢ, ɮɚɣɥɵ ɢ ɢɧɞɟɤɫɧɵɟ ɞɟɫɤɪɢɩɬɨɪɵ" ɞɚɥɟɟ ɜ ɷɬɨɣ ɝɥɚɜɟ, ɱɬɨɛɵ ɪɚɡɨɛɪɚɬɶɫɹ ɫ ɦɟɯɚɧɢɡɦɨɦ ɯɪɚɧɟɧɢɹ ɞɚɧɧɵɯ ɢ ɮɪɚɝɦɟɧɬɚɰɢɢ.
1 80
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
, — UNIX ,
. . ,
. .
fsck. (unclean) "
,
(investigative mode). ,
" , (
fsck ,
. . ,
. man fsck), fsck
.
. ,
,
.
, ,
.
,
-
,
,
, . #.
fsck boot ,
reboot.
,
-
. ,
fsck
. ,
!
,
.
(single-user mode):
fsck, # shutdown +5
(multiuser mode)
.
,
,
,
.
-
. "
" ,
,
fsck. ,
,
dmesg (
root) , . fsck fsck -p /dev/adlslg) ( ) . fsck , , . , fstab .
( (
exit)
fsck /etc/fstab. ,
,
).
-
fsck ( .
181
Ƚɥɚɜɚ 9. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
,
-
,
!
ɀɭɪɧɚɥɶɧɵɟ ɮɚɣɥɨɜɵɟ ɫɢɫɬɟɦɵ ɢ ɦɹɝɤɨɟ ɨɛɧɨɜɥɟɧɢɟ . (logging)
—
,
-
.
fsck, —
, FreeBSD
. . —
(Soft Updates). , )—
logFreeBSD 5.0 ,
( ,
log-
.
,
.
,
:
-
, . FreeBSD 5.0 )
(
diskcheckd. ,
,
fsck .
,
man diskcheckd. syslogd (
11). ps:
diskcheckd # ps 251
| ??
grep diskcheckd Ss 0:00.28 diskcheckd:
/etc/diskcheckd.conf; , diskcheckd, -
adO
13.26%
(diskcheckd)
ɉɊɂɆȿɑȺɇɂ ȿ ɍɬɢɥɢɬɚ fsck ɜ FreeBSD ɨɱɟɧɶ ɩɨɯɨɠɚ ɧɚ fsck ɞɪɭɝɢɯ ɨɩɟɪɚɰɢɨɧɧɵɯ ɫɢɫɬɟɦ ɡɚ ɬɟɦ ɢɫɤɥɸɱɟ-ɧɢɟɦ, ɱɬɨ ɟɣ ɧɟ ɯɜɚɬɚɟɬ ɧɟɫɤɨɥɶɤɢɯ ɭɞɨɛɧɵɯ ɷɥɟɦɟɧɬɨɜ ɢɧɬɟɪɮɟɣɫɚ, ɧɚɩɪɢɦɟɪ, ɫɬɪɨɤɢ ɫɨɫɬɨɹɧɢɹ, ɤɨɬɨɪɚɹ ɟɫɬɶ ɭ fsck ɜ Linux. Ʉɥɸɱɟɜɵɟ ɫɜɨɣɫɬɜɚ ɜɫɟɯ ɭɬɢɥɢɬ, ɤɨɧɟɱɧɨ ɠɟ, ɨɞɢɧɚɤɨɜɵ.
http://www.mckusick.com/softdep/ http://www.ece.cmu.edu/~ganger/papers/CSE-TR-254-95/.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ fsck ɞɥɹ ɜɨɫɫɬɚɧɨɜɥɟɧɢɹ ɫɭɩɟɪɛɥɨɤɨɜ ,
,
,
, .
, ,
-
182
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
: ,
. 16
31 ,
. FreeBSD .
, .
32, . ,
(
, . : "/dev/adlslh on /mnt: Incorrect super
), mount block". # **
fsck.
fsck /dev/adlslh /dev/adlslh
BAD SUPER BLOCK: MAGIC NUMBER WRONG LOOK FOR ALTERNATE SUPERBLOCKS? [yn] USING ALTERNATE SUPERBLOCK AT 32
** Last Mounted on /home2 ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 148 files, 15660 used, 7038840 free (208 fragmentation)
frags,
879829 blocks,
0.0%
UPDATE STANDARD SUPERBLOCK? [yn] ***** FILE SYSTEM WAS MODIFIED *****
Bo FreeBSD
: ,
, 32.
, fsck
. ɉɊɂɆȿɑȺɇɂȿ Ɉɩɪɟɞɟɥɢɬɶ, ɝɞɟ ɢɦɟɧɧɨ ɧɚ ɭɫɬɪɨɣɫɬɜɟ ɪɚɫɩɨɥɨɠɟɧɵ ɜɫɟ ɫɭɩɟɪɛɥɨɤɢ, ɩɨɡɜɨɥɹɟɬ ɭɬɢɥɢɬɚ newfs ɫ ɩɚɪɚɦɟɬɪɨɦ -N (ɩɪɢ ɷɬɨɦ ɜɵɜɨɞɹɬɫɹ ɞɚɧɧɵɟ ɨ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɟ ɢ ɧɢɤɚɤɢɯ ɢɡɦɟɧɟɧɢɣ ɧɟ ɜɧɨɫɢɬɫɹ): # newfs -N /dev/adlslh Warning: 2672 sector(s) in last cylinder unallocated /dev/adlslh: 14558608 sectors in 3555 cylinders of 1 tracks, 4096 sectors 7108.7MB in 223 cyl groups (16 c/g, 32.00MB/g, 7936 i/g) super-block backups (for fsck -b #) at: 32, 65568, 131104, 196640, 262176, 327712, 393248, 458784, 524320, 589856, 655392, 720928, 786464, 852000, 917536, 983072, 1048608, 1114144, 1179680, 1245216, 1310752, 1376288, 1441824, 1507360, 1572896, 1638432, 1703968, 1769504, 1835040, 1900576, 1966112, 2031648, 2097184, 2162720, 2228256, 2293792, 2359328, 2424864, 2490400, 2555936, 2621472, 2687008, 2752544, 2818080, 2883616, 2949152, 3014688, 3080224, 3145760, 3211296, 3276832, 3342368, 3407904, 3473440, 3538976, 3604512, 3670048, 3735584, 3801120, 3866656, 3932192, 3997728, 4063264, 4128800, 4194336, 4259872, 4325408, 4390944, 4456480, 4522016, 4587552, 4653088, 4718624, 4784160, 4849696, 4915232, 4980768, 5046304, 5111840, 5177376, 5242912, 5308448, 5373984, 5439520, 5505056, 5570592, 5636128, 5701664, 5767200, 5832736, 5898272,
183
Ƚɥɚɜɚ 9. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
5963808,
6029344, 6094880, 6160416, 6225952, 6291488, 6357024, 6422560,
6488096, 6553632, 6619168, 6684704, 6750240, 6815776, 6881312, 6946848, 7012384, 7077920, 7143456, 7208992, 7274528, 7340064, 7405600, 7471136, 7536672, 7602208, 7667744, 7733280, 7798816, 7864352, 7929888, 7995424, 8060960, 8126496, 8192032, 8257568, 8323104, 8388640, 8454176, 8519712, 8585248, 8650784, 8716320, 8781856, 8847392, 8912928, 8978464,
9044000,
9109536, 9175072,
9568288,
9240608, 9306144,
9633824, 9699360, 9764896,
9371680,
9830432,
9437216,
9895968,
9502752,
9961504, 10027040, 10092576,
10158112, 10223648, 10289184, 10354720, 10420256, 10485792, 10551328, 10616864, 10682400, 10747936, 10813472, 10879008, 10944544, 11010080, 11075616, 11141152, 11206688, 11272224, 11337760, 11403296, 11468832, 11534368, 11599904, 11665440, 11730976, 11796512, 11862048, 11927584, 11993120,
12058656, 12124192, 12189728, 12255264, 12320800, 12386336,
12451872, 12517408, 12582944, 12648480, 12714016, 12779552, 12845088, 12910624, 12976160, 13041696, 13107232, 13172768, 13238304, 13303840, 13369376, 13434912, 13500448, 13565984, 13631520, 13697056, 13762592, 13828128, 13893664, 13959200, 14024736, 14090272, 14155808, 14221344, 14286880, 14352416, 14417952, 14483488, 14549024
Ʉɚɤ ɦɨɠɧɨ ɜɢɞɟɬɶ, ɫɭɳɟɫɬɜɭɟɬ ɦɧɨɠɟɫɬɜɨ ɪɟɡɟɪɜɧɵɯ ɤɨɩɢɣ. ȼɵ ɬɚɤɠɟ ɦɨɠɟɬɟ ɭɤɚɡɚɬɶ ɨɩɪɟɞɟɥɟɧɧɵɣ ɫɭɩɟɪɛɥɨɤ [ɟɫɥɢ ɧɟ ɯɨɬɢɬɟ, ɱɬɨɛɵ ɨɧ ɜɵɛɢɪɚɥɫɹ ɚɜɬɨɦɚɬɢɱɟɫɤɢ), ɧɚɩɪɢɦɟɪ, ɤɨɦɚɧɞɚ fsck -ɖ 2490400 /dev/ad1s1h ɢɫɩɨɥɶɡɭɟɬ ɫɭɩɟɪɛɥɨɤ ɢɡ ɫɟɤɬɨɪɚ 2490400.
ɇɚɫɬɪɨɣɤɚ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɯ ɤɜɨɬ ,
, ? 20 (quotas).
.
, -
.
, :
options
QUOTA
17.
,
/etc/rc.conf. : enable_quotas="YES" check_quotas="NO"
, (quotacheck . YES,
,
- ),
, ).
( /etc/fstab
. groupquota. /dev/adOslg /dev/adOslf /dev/adOsle
YES ( )
userquota /
:. /home /var /usr
ufs ufs ufs
rw,userquota,groupquota 2 rw,userquota rw,gropquota
2 2 2
. . (
)
2 2
-
184
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
UID ( UID). edquota,
,
(
chfn,
). EDITOR,
,
edquota, vi,
,
, pico
,
setenv EDITOR pico.
# edquota -u bob Quotas for user test: /usr: blocks in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /var: blocks in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60)
: # edquota
-p
bob
1001-9999
UID (
). . .
, "
".
, . ,
df
, ,
fsck.
. 8192 1024
. .
. ,
,
. .
fsck, ,
,
,
, FreeBSD , Windows). .
( ,
,
8192
,
,
. ,
,
. —
-
. ,
. -
. : • • UID
GID
185
Ƚɥɚɜɚ 9. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ FreeBSD
• •
,
• •
-
, FreeBSD : . . .
, :
,
, 12
, ,
96 -
,
,
. 2048
816
. 2048
,
, -
,
, 8,
.
2048 .
32 , 70
UFS
!
,
-
. .
•
—
(hard limit) ,
-
. •
(soft limit) . (grace period), edquota -t). .
(
,
.
,
,
,
-
. : # quota bob Disk quotas for user bob (uid Filesystem blocks quota limit /home 1812 20000 40000
1015): grace
files 37
quota 0
limit grace 0
(
quota )
. (*),
, (grace)
: #
quota
bob
Disk quotas for user bob (uid 1015): Filesystem blocks quota limit grace files /home 28121* 20000 40000 6days 189
quota
limit
grace
186
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
ɉɊɂɆȿɑȺɇɂȿ
ɑɬɨɛɵ ɭɛɟɞɢɬɶɫɹ, ɱɬɨ ɤɜɨɬɵ ɭɫɬɚɧɨɜɥɟɧɵ ɩɪɚɜɢɥɶɧɨ, ɢɫɩɨɥɶɡɭɟɬɫɹ ɤɨɦɚɧɞɚ mount ɛɟɡ ɚɪɝɭɦɟɧ-ɬɨɜ. ȼɨɬ ɜɵɜɨɞ ɷɬɨɣ ɤɨɦɚɧɞɵ ɜ ɫɢɫɬɟɦɟ, ɝɞɟ ɤɜɨɬɵ ɭɫɬɚɧɨɜɥɟɧɵ ɞɥɹ ɪɚɡɞɟɥɚ /home: /dev/adOsla /dev/adOslf /dev/adOsle procfs on
on / (ufs, local) on /home (ufs, local, on /usr (ufs, local) /proc (procfs, local)
with
quotas)
ȿɫɥɢ ɮɥɚɠɨɤ with quotas ɨɬɫɭɬɫɬɜɭɟɬ, ɷɬɨ ɡɧɚɱɢɬ, ɱɬɨ ɮɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ ɛɵɥɚ ɫɦɨɧɬɢɪɨɜɚɧɚ ɛɟɡ ɤɜɨɬ. ɉɪɨɜɟɪɶɬɟ ɮɚɣɥɵ /etc/fstab, /etc/rc.conf ɢ ɤɨɧɮɢɝɭɪɚɰɢɸ ɹɞɪɚ. ȿɫɥɢ ɜɫɟ ɜɵɝɥɹɞɢɬ ɜɟɪɧɨ, ɩɨɩɪɨɛɭɣɬɟ ɩɟɪɟɡɚɝɪɭɡɢɬɶ ɫɢɫɬɟɦɭ.
:
,
enable_quotas="NO"
/etc/rc.conf;
/etc/fstab -
edquota,
.
,
UID —
edquota -p. ,
,
,
,
UNIX. ,
, ,
-
, 19,
.
FreeBSD, .
, ,
10 ɉɨɥɶɡɨɜɚɬɟɥɢ ɝɪɭɩɩɵ ɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ
Ʉɨɧɰɟɩɰɢɹ ɩɨɩɶɡɨɜɚɬɟɥɟɣ u ɝɪɭɩɩ ► Ɂɚɱɟɦ ɧɭɠɧɵ ɝɪɭɩɩɵ? ► ȼɥɚɞɟɧɢɟ ɮɚɣɥɚɦɢ ► ɉɪɚɜɚ ɞɨɫɬɭɩɚ ɤ ɮɚɣɥɚɦ ɢ ɤɚɬɚɥɨɝɚɦ ► ɋɩɢɫɤɢ ɭɩɪɚɜɥɟɧɢɹ ɞɨɫɬɭɩɨɦ [ACL] ► Ⱦɨɛɚɜɩɟɧɢɟ ɢ ɭɞɚɥɟɧɢɟ ɭɱɟɬɧɵɯ ɡɚɩɢɫɟɣ ɩɨɥɶɡɨɜɚɬɟɥɟɣ ►
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
188
. ,
-
UNIX. , . ,
, — Windows). — Windows 95/98/
( Mac OS — ,
,
-
, .
,
, —
, .
,
(
,
. .),
-
,
,
, .
(guest), Windows NT
,
2000 ,
FreeBSD. ,
,
. .
.
root,
-
. Windows NT/2000 , root),
, ,
( , ,
. , NT-
.
,
, . ,
(terminal server).
,
,
NT, . ,
, . Windows 2000 ,
. FreeBSD
.
,
UNIX
. (
, Telnet .
SSH), ,
FreeBSD,
, ,
NT-
. FreeBSD
,
-
,
.
Ʉɨɧɰɟɩɰɢɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ ɢ ɝɪɭɩɩ , UNIX),
.
FreeBSD ( :
-
Ƚɥɚɜɚ 10. ɉɨɥɶɡɨɜɚɬɟɥɢ, ɝɪɭɩɩɵ ɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ
,
root. .
6 ,
(
189
root —
,
. Windows NT/2000) -
, ,
. -
, ,
.
Web26).
,
,
( ,
, -
,
. FreeBSD — root -
root —
,
(home directory). su. root — root ,
.
UNIX-
.
, .
root ,
, .
root (
29).
. .
-
. su , root,
—
:
wheel. wheel ,
su).
FreeBSD root ( su,
. ɉɊɂɆȿɑȺɇɂȿ FreeBSD ɨɬɥɢɱɚɟɬɫɹ ɨɬ ɦɧɨɝɢɯ ɞɢɫɬɪɢɛɭɬɢɜɨɜ Linux ɢ ɞɪɭɝɢɯ ɜɟɪɫɢɣ UNIX ɬɟɦ, ɱɬɨ ɩɪɢ ɭɞɚɥɟɧɧɨɦ ɞɨɫɬɭɩɟ (ɩɨɫɪɟɞɫɬɜɨɦ Telnet ɢɥɢ ɞɚɠɟ SSH) ɧɟ ɩɨɡɜɨɥɹɟɬ ɩɨɥɶɡɨɜɚɬɟɥɸ root ɪɟɝɢɫɬɪɢɪɨɜɚɬɶɫɹ ɜ ɫɢɫɬɟɦɟ. ɗɬɨ ɨɞɧɚ ɢɡ ɜɚɠɧɵɯ ɦɟɪ ɛɟɡɨɩɚɫɧɨɫɬɢ. Ⱦɥɹ ɩɨɥɭɱɟɧɢɹ ɞɨɫɬɭɩɚ ɜ ɤɚɱɟɫɬɜɟ root ɧɟɨɛɯɨɞɢɦɨ ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɬɶɫɹ ɤɚɤ ɨɛɵɱɧɵɣ ɩɨɥɶɡɨɜɚɬɟɥɶ (ɟɫɬɟɫɬɜɟɧɧɨ, ɩɪɢɧɚɞɥɟɠɚɳɢɣ ɤ ɝɪɭɩɩɟ wheel] ɢ ɡɚɩɭɫɬɢɬɶ ɤɨɦɚɧɞɭ su. Ɍɚɤɨɣ ɩɨɞɯɨɞ ɡɚɬɪɭɞɧɹɟɬ ɞɨɫɬɭɩ ɧɟɚɜɬɨɪɢɡɨɜɚɧɧɵɦ ɩɨɥɶɡɨɜɚɬɟɥɹɦ, ɩɨɫɤɨɥɶɤɭ ɜ ɷɬɨɦ ɫɥɭɱɚɟ ɢɦ ɤɪɨɦɟ ɩɚɪɨɥɹ root ɬɪɟɛɭɟɬɫɹ ɟɳɟ ɢ ɩɚɪɨɥɶ ɤɨɝɨɥɢɛɨ ɢɡ ɝɪɭɩɩɵ wheel. Ɉɩɵɬɧɵɣ ɯɚɤɟɪ ɧɚɣɞɟɬ ɫɩɨɫɨɛ ɟɝɨ ɭɡɧɚɬɶ, ɧɨ ɷɬɨ ɩɨɬɪɟɛɭɟɬ ɨɬ ɧɟɝɨ ɞɨɩɨɥɧɢɬɟɥɶɧɵɯ ɡɚɬɪɚɬ ɫɢɥ ɢ ɜɪɟɦɟɧɢ. ȿɫɥɢ ɜɚɦ ɩɨɬɪɟɛɭɟɬɫɹ ɨɬɤɥɸɱɢɬɶ ɷɬɨ ɫɜɨɣɫɬɜɨ, ɫɞɟɥɚɬɶ ɷɬɨ ɦɨɠɧɨ ɜ ɮɚɣɥɟ /etc/ttys, ɞɨɛɚɜɢɜ ɤɥɸɱɟɜɨɟ ɫɥɨɜɨ secure ɜ ɩɨɥɟ ɫɩɪɚɜɚ ɨɬ ɩɨɥɹ network ɜ ɪɚɡɞɟɥɟ Pseudo terminals (ɉɫɟɜɞɨɬɬɟɪɦɢɧɚɥɵ): ttypO ttypl ttyp2
none none none
network network network
secure secure secure
Ɉɞɧɚɤɨ ɩɨɦɧɢɬɟ, ɱɬɨ ɷɬɨ ɱɪɟɡɜɵɱɚɣɧɨ ɪɢɫɤɨɜɚɧɧɵɣ ɲɚɝ. ɉɨɞɨɛɧɵɯ ɞɟɣɫɬɜɢɣ ɫɥɟɞɭɟɬ ɢɡɛɟɝɚɬɶ, ɪɟɝɢɫɬɪɢɪɭɹɫɶ ɜ ɫɢɫɬɟɦɟ ɤɚɤ ɨɛɵɱɧɵɣ ɩɨɥɶɡɨɜɚɬɟɥɶ ɢ ɡɚɩɭɫɤɚɹ ɤɨɦɚɧɞɭ su.
,
( ,
, bin, operator, daemon, nobody , .
).
190
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
,
, ,
. : ( (
.
),
. 10.1).
,
(user
1),
, -
-
,
-
.
, (user 2),
,
. user 1 -.
,
"
"
root — ,
root.
, , "
,
"
,
. . ,
-
root.
10.1 , .
Ɂɚɱɟɦ ɧɭɠɧɵ ɝɪɭɩɩɵ? . . users. (
, )
"
" , wheel (
. man adduser. /etc/ group).
, root. ,
wheel: root, .
,
,
su. -
Ƚɥɚɜɚ 10. ɉɨɥɶɡɨɜɚɬɟɥɢ, ɝɪɭɩɩɵ ɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ
,
,
191
,
,
(
.
. 10.2).
, . "
"
.
Ɋɢɫɭɧɨɤ 10.2
, .
ȼɥɚɞɟɧɢɟ ɮɚɣɥɚɦɢ .
UNIX
:
,
.
,
-
. ( 1s
- (
,
, . .
. -1 (
10.1). )
,
): 10.1 # ls -la/home/frank total 3126 drwxr-xr-x 3 frank drwxr-xr-x 52 root -rw-r--r-1 bob -rw-rw-r-1 bob -rw-r--r-1 frank -rw-r--r-1 bob drwxr-xr-x 2 root drwxr-xr-x 12 root
,
users users users bob users users users wheel
512 May12 9216 Mar 291090 Jan23 2703 Dec22 3657 Jan 92195 Sep 512 Jan 1024 Feb18
?
, .
drwxr-xr-x, —
(user), . ,
(others) — , :
2000 7 13:37 2000 l.bmp 1998 contents.html 9 14:11 file. txt 11 21:31 1 . uu 2 14:19 files 1999 more-files
(read), :
(write)
(execute).
(group)
1 92
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
1 2 3
r— w— —
; ,
;
.
, , ,
-
-rwxrw-r-- . (rwx) ,
, rw,
(r--)
. rw-r--r--. , ,
(.. ). ,
-
. contents.html
;
.
ɉɊɂɆȿɑȺɇɂȿ ɉɨɥɶɡɨɜɚɬɟɥɶ ɦɨɠɟɬ ɭɞɚɥɹɬɶ ɮɚɣɥɵ, ɩɪɢɧɚɞɥɟɠɚɳɢɟ ɞɪɭɝɨɦɭ ɩɨɥɶɡɨɜɚɬɟɥɸ, ɬɨɥɶɤɨ ɜ ɨɞɧɨɦɟɞɢɧɫɬɜɟɧɧɨɦ ɫɥɭɱɚɟ: , . Ʉɨɦɚɧɞɚ rm (remove — ɭɞɚɥɢɬɶ) ɡɚɩɪɚɲɢɜɚɟɬ ɩɨɞɬɜɟɪɠɞɟɧɢɟ: ɫɥɟɞɭɟɬ ɥɢ ɨɬɦɟɧɢɬɶ ɞɟɣɫɬɜɢɟ ɩɪɚɜ ɞɨɫɬɭɩɚ ɢ ɜɥɚɞɟɧɢɹ ɮɚɣɥɨɦ ɢ ɭɞɚɥɢɬɶ ɟɝɨ. # ls -l tempfile -rw-r--r-- 1 root users 0 Aug # rm tempfile override rw-r--r-- root/users
7
21:44
for
tempfile
tempfile?
ɂɡɦɟɧɟɧɢɟ ɩɪɚɜ ɜɥɚɞɟɧɢɹ ɮɚɣɥɨɦ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ chown .
,
root: . chown (change owner —
): #
chown
bob
file.txt
file.txt ( ,
frank,
a frank
)
bob. ,
. :
chown #
bob
chown bob
/home/frank
,
,
10.1).
"." ( ".." 10.1
, /home/frank
.
. bob —
, ,
. ,
,
,
.
,
Ƚɥɚɜɚ 10. ɉɨɥɶɡɨɜɚɬɟɥɢ, ɝɪɭɩɩɵ ɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ
193
. . 10.1.
ɋɈȼȿɌ
Ʉɚɠɞɵɣ ɚɞɦɢɧɢɫɬɪɚɬɨɪ ɞɨɥɠɟɧ ɡɧɚɬɶ ɩɨɥɟɡɧɭɸ ɨɩɰɢɸ ɤɨɦɚɧɞɵ chown: -R. Ɉɧɚ ɡɚɫɬɚɜɥɹɟɬ ɤɨɦɚɧɞɭ ɜɵɩɨɥɧɹɬɶɫɹ ɪɟɤɭɪɫɢɜɧɨ, ɬ.ɟ. ɞɥɹ ɬɟɤɭɳɟɝɨ ɤɚɬɚɥɨɝɚ, ɜɫɟɯ ɮɚɣɥɨɜ ɧɟɦ ɢ ɜɫɟɯ ɮɚɣɥɨɜ ɜɨ ɜɫɟɯ ɩɨɞɤɚɬɚɥɨɝɚɯ, ɧɚɯɨɞɹɳɢɯɫɹ ɧɢɠɟ ɜ ɢɟɪɚɪɯɢɢ. ɗɬɚ ɨɩɰɢɹ ɩɪɢɦɟɧɹɟɬɫɹ, ɧɚɩɪɢɦɟɪ, ɩɪɢ ɜɨɫɫɨɡɞɚɧɢɢ ɭɱɟɬɧɨɣ ɡɚɩɢɫɢ, ɤɨɝɞɚ ɧɟɨɛɯɨɞɢɦɨ ɢɡɦɟɧɢɬɶ ɩɪɚɜɚ ɜɥɚɞɟɧɢɹ ɜɫɟɦɢ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɦɢ ɮɚɣɥɚɦɢ: #
chown
-R bob
/home/frank
ɂɡɦɟɧɟɧɢɟ ɝɪɭɩɩɨɜɵɯ ɩɪɚɜ ɜɥɚɞɟɧɢɹ ɮɚɣɥɨɦ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ chgrp — chgrp.
chown , #
chgrp
users
.
:
contents.html
:
contents.html -rw-rw-r--
1 bob
users
2703 Dec 22
1998
, users FreeBSD ,
contents.html
, ,
bob
bob. :
-
bob.
:
bob, bob, bob
bob.
( .
, frank) . -
,
frank
chgrp —
chown; :
#
chown
bob.users
contents.html
bob
contents.html
users.
: #
chown
.users
chown,
chgrp
contents.html
.
-R,
ɉɪɚɜɚ ɞɨɫɬɭɩɚ ɤ ɮɚɣɥɚɦ ɢ ɤɚɬɚɥɨɝɚɦ 10.1. .
, ,
— d.
,
. ,
, • 4
:
—
( w—
ls); (
), ; 5
— -
, .
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD _____________________________________
194
, (d),
,
,
drwxr-xr-x
, .
:
, —
.
"
".
, . .
ȼɡɚɢɦɨɫɜɹɡɶ ɦɟɠɞɭ ɩɪɚɜɚɦɢ ɞɨɫɬɭɩɚ ɮɚɣɥɨɜ ɢ ɤɚɬɚɥɨɝɨɜ . 10.1 , .
,
,
,
10.1
ɋɨɡɞɚɬɶ ɮɚɣɥ
-
+
ɜ
ɉɟɪɟɡɚɩɢɫɚɬɶ ɫɨɞɟɪɠɚɧɢɟ ɮɚɣɥɚ
-
+
-
+
Ɋɟɞɚɤɬɢɪɨɜɚɬɶ ɫɨɞɟɪɠɚɧɢɟ ɮɚɣɥɚ
-
+
-
+
ɉɟɪɟɢɦɟɧɨɜɚɬɶ ɮɚɣɥ
-
-
+
+
ɍɞɚɥɢɬɶ ɮɚɣɥ
-
-
+
+
,
(rm), ; # rm file.txt override rw-r--r-- bob/users
,
for l.uu?
,
,
! ,
, (" ")
. rm -f.
FreeBSD TOT -
,
, mv (move — . ,
, .
, -
, .
,
). , , .
Ƚɥɚɜɚ 10. ɉɨɥɶɡɨɜɚɬɟɥɢ, ɝɪɭɩɩɵ ɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ 195
ɂɡɦɟɧɟɧɢɟ ɩɪɚɜ ɞɨɫɬɭɩɚ ɤ ɮɚɣɥɚɦ ɢ ɤɚɬɚɥɨɝɚɦ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ chmod chmod (change mode — :
).
chmod .
, .
:
.
,
,
,
, .
.
10.2. 10.2 0 ɧɟɬ ɞɨɫɬɭɩɚ # ɞɨɫɬɭɩ ɧɚ ɜɵɩɨɥɧɟɧɢɟ (ɞɥɹ ɤɚɬɚɥɨɝɨɜ — ɩɨɢɫɤ) # ɞɨɫɬɭɩ ɧɚ ɡɚɩɢɫɶ 4 ɞɨɫɬɭɩ ɧɚ ɱɬɟɧɢɟ
,
"
" — 5,
"
"
-
6, " -- 7. , . 10.3.
,
.
"
-
Ɍɚɛɥɢɰɚ 10.3 ɉɪɚɜɚ ɞɨɫɬɭɩɚ ɜ ɱɢɫɥɟɧɧɨɣ ɮɨɪɦɟ 755
ɱɬɟɧɢɟ/ɡɚɩɢɫɶ/ɜɵɩɨɥɧɟɧɢɟ ɞɥɹ ɜɥɚɞɟɥɶɰɚ, ɱɬɟɧɢɟ/ɜɵɩɨɥɧɟɧɢɟ ɞɥɹ ɝɪɭɩɩɵ ɢ
644
ɱɬɟɧɢɟ/ɡɚɩɢɫɶ ɞɥɹ ɜɥɚɞɟɥɶɰɚ, ɬɨɥɶɤɨ ɱɬɟɧɢɟ ɞɥɹ ɝɪɭɩɩɵ ɢ ɨɫɬɚɥɶɧɵɯ
600
ɱɬɟɧɢɟ/ɡɚɩɢɫɶ ɞɥɹ ɜɥɚɞɟɥɶɰɚ, ɞɥɹ ɝɪɭɩɩɵ ɢ ɨɫɬɚɥɶɧɵɯ ɞɨɫɬɭɩɚ ɧɟɬ
ɨɫɬɚɥɶɧɵɯ
: #
chmod
755
testscript.sh
,
"
"
: .
-
,
6 7
.
0— 1—
. .
: ,
, .
196
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
• 2—
, setgid. ,
,
, • 4—
,
-
. , setuid.
,
, ,
,
.
(
, 755
,
). , -
0755. ,
, 3755 setgid
755. ,
.
,
. .
chmod
,
,
.
-
.
ɉɨɥɧɨɟ ɨɩɢɫɚɧɢɟ ɝɢɛɤɨɝɨ ɫɢɧɬɚɤɫɢɫɚ ɤɨɦɚɧɞɵ chmod ɫɨɞɟɪɠɢɬɫɹ ɜ ɫɩɪɚɜɨɱɧɨɦ ɪɭɤɨɜɨɞ-ɫɬɜɟ man chmod.
.
. 10.4. (u —
,
, —
—
(
, g -
, (+,-,=),
—
.
10.4
go+w
ɞɨɛɚɜɢɬɶ ɩɪɚɜɨ ɧɚ ɡɚɩɢɫɶ ɞɥɹ ɝɪɭɩɩɵ ɢ ɨɫɬɚɥɶɧɵɯ ɩɨɥɶɡɨɜɚɬɟɥɟɣ
+ɯ
ɞɨɛɚɜɢɬɶ ɩɪɚɜɨ ɧɚ ɜɵɩɨɥɧɟɧɢɟ ɞɥɹ ɜɫɟɯ
ɨ-r
ɭɞɚɥɢɬɶ ɩɪɚɜɨ ɧɚ ɱɬɟɧɢɟ ɞɥɹ ɨɫɬɚɥɶɧɵɯ ɩɨɥɶɡɨɜɚɬɟɥɟɣ
ugo=rw
ɭɫɬɚɧɨɜɢɬɶ ɜɫɟɦ ɩɪɚɜɚ ɧɚ ɱɬɟɧɢɟ ɢ ɡɚɩɢɫɶ
a=rw
ɫɨɜɩɚɞɚɟɬ ɫ ugo=rw
+t
ɞɨɛɚɜɢɬɶ ɛɢɬ ɭɫɬɨɣɱɢɜɨɫɬɢ (sticky bit)
+s
ɞɨɛɚɜɢɬɶ ɛɢɬɵ setuid ɢ setgid
# chmod g+w file.txt
chmod. Ʉɚɤ ɢ ɤɨɦɚɧɞɵ chown ɢ chgrp, chmod ɩɨɞɞɟɪɠɢɜɚɟɬ ɨɩɰɢɸ -R.
, )).
—
Ƚɥɚɜɚ 10. ɉɨɥɶɡɨɜɚɬɟɥɢ, ɝɪɭɩɩɵ ɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ
197
ɋɩɢɫɤɢ ɭɩɪɚɜɥɟɧɢɹ ɞɨɫɬɭɩɨɦ ɉɊɂɆȿɑȺɇɂȿ Ɋɚɡɞɟɥ, ɩɨɫɜɹɳɟɧɧɵɣ ɫɩɢɫɤɚɦ ɭɩɪɚɜɥɟɧɢɹ ɞɨɫɬɭɩɨɦ, ɨɬɧɨɫɢɬɫɹ ɬɨɥɶɤɨ ɤ FreeBSD 5.0, ɩɨɫɤɨɥɶɤɭ FreeBSD 4.x ɢɯ ɧɟ ɩɨɞɞɟɪɠɢɜɚɟɬ.
(Access Control Lists, ACL) ,
5.0.
FreeBSD
. ,
, (maximum ACL. ACL
. permission
mask),
, UFS.
,
,
.
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɩɨɞɞɟɪɠɤɢ ACL ɜ ɹɞɪɟ ,
FreeBSD 5.0
(UFS Extensions)
UFS
. .
,
,
-
. , UFS Intel x86 i386/conf/GENERIC, ACL , options options options
. Alpha —
, - , /usr/src/sys/ /usr/src/sys/alpha/conf/GENERIC. :
UFS__EXTATTR UFS__EXTTR__AUTOSTART UFS__ACL
, .
,
.
,
,
,
17. ,
ACL.
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ ɞɥɹ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ACL , ,
extattrctl. .
,
ACL
/usr,
:
, .attribute/system: mkdir
ACL -
/usr/.attribute
extattrctl
root,
/usr/.attribute
/usr/.attribute/system
/usr/.attribute/system (cd /usr/.attribute/system) ACL :
extattrctl initattr -p /usr 388 posixle.acl_access
/usr/
198
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
. (
):
extattrctl initattr -p /usr 388 posixle.acl_default ,
.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ Ɏɚɣɥɵ, ɫɨɡɞɚɜɚɟɦɵɟ ɩɪɟɞɵɞɭɳɢɦɢ ɤɨɦɚɧɞɚɦɢ, ɦɨɝɭɬ ɞɨɫɬɢɝɚɬɶ ɱɪɟɡɜɵɱɚɣɧɨ ɛɨɥɶɲɢɯ ɪɚɡɦɟɪɨɜ — ɞɨ ɧɟɫɤɨɥɶɤɢɯ ɝɢɝɚɛɚɣɬ ɧɚ ɛɨɥɶɲɢɯ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦɚɯ. ɉɨɷɬɨɦɭ ɞɨ ɡɚɩɭɫɤɚ ɤɨɦɚɧɞ ɭɛɟɞɢ-ɬɟɫɶ, ɱɬɨ ɧɚ ɠɟɫɬɤɨɦ ɞɢɫɤɟ ɢɦɟɟɬɫɹ ɞɨɫɬɚɬɨɱɧɨ ɫɜɨɛɨɞɧɨɝɨ ɩɪɨɫɬɪɚɧɫɬɜɚ.
,
.
ACL
.
ɉɨɥɭɱɟɧɢɟ ɢɧɮɨɪɦɚɰɢɢ ɨ ɬɟɤɭɳɢɯ ɭɫɬɚɧɨɜɤɚɯ ACL ACL,
getfacl. ACL
-
acltest.txt getfacl acltest.txt
644 :
#file:acltest.txt #owner: #group:0 user::rwgroup::r-other:: ------
.
—
(
root). ,
. .
ɍɫɬɚɧɨɜɤɚ ɦɚɫɤɢ ɦɚɤɫɢɦɚɥɶɧɵɯ ɩɪɚɜ ɞɨɫɬɭɩɚ (
,
(maximum permissions mask) ),
,
-
ACL. ,
ACL
. ,
,
.
ACL,
, .
,
ACL :
setfacl. setfacl
action
permissions
action — acltest.txt
(
filename
, ACL, filename —
,
. .), permissions — . ACL :
Ƚɥɚɜɚ 10. ɉɨɥɶɡɨɜɚɬɟɥɢ, ɝɪɭɩɩɵ ɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ
199
setfacl -m m::r acltest.txt getfacl acltest.txt #file:acltest.txt #owner:0 #group:0 user::rwgroup::r-mask::r-other:: ------
setfacl ,
, m:: .
,
-m
,
ACLr
read —
, ,
m::rw.
,
. getfacl
: .
Ⱦɨɛɚɜɥɟɧɢɟ ɩɨɥɶɡɨɜɚɬɟɥɹ ɢɥɢ ɝɪɭɩɩɵ ɜ ACL ACL ,
setfacl. foobar
:
setfacl -m u:foobar:r acltest.txt getfacl acltest.txt #file:acltest.txt t#owner: 0 #group: 0 user::rwuser:foobar:r-group::r-mask::r-other:: -----
,
ACL
foobar. .
, : setfacl -m u:foobar:rw #flie:acltest.txt towner:0 #group:0 user::rwuser:foobar:rwgroup::r-mask::rwother:: --
acltest.txt
,
getfacl
foobar
.
, . (
,
, -n.
), ,
, setfacl -n -m u:foobar:rw acltest.txt
ACL ACL
foobar, :
200 ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD ɋɈȼȿɌ ɉɨɪɹɞɨɤ ɫɥɟɞɨɜɚɧɢɹ ɨɩɰɢɣ ɜɚɠɟɧ. Ɉɩɰɢɹ -n ɞɨɥɠɧɚ ɩɪɟɞɲɟɫɬɜɨɜɚɬɶ ɨɩɰɢɢ ɞɟɣɫɬɜɢɹ (ɜ ɞɚɧɧɨɦ ɫɥɭɱɚɟ m]. ȿɫɥɢ ɢɯ ɩɨɦɟɧɹɬɶ ɦɟɫɬɚɦɢ, ɤɨɦɚɧɞɚ ɜɵɞɚɫɬ ɨɲɢɛɤɭ: setfacl: acl_from_text() failed: Invalid argument.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ɉɨɦɧɢɬɟ, ɱɬɨ ɩɪɢ ɞɨɛɚɜɥɟɧɢɢ ɧɨɜɨɣ ɡɚɩɢɫɢ ɜ ACL ɛɟɡ ɨɩɰɢɢ -n ɦɚɫɤɚ ɦɚɤɫɢɦɚɥɶɧɵɯ ɩɪɚɜ ɞɨɫɬɭɩɚ ɨɛɧɨɜɥɹɟɬɫɹ ɚɜɬɨɦɚɬɢɱɟɫɤɢ. ɇɚɩɪɢɦɟɪ, ɟɫɥɢ ɬɟɤɭɳɚɹ ɦɚɫɤɚ ɪɚɡɪɟɲɚɟɬ ɬɨɥɶɤɨ ɱɬɟɧɢɟ ɢ ɜ ACL ɞɨɛɚɜɥɹɟɬɫɹ ɩɨɥɶɡɨɜɚɬɟɥɶ ɫ ɩɪɚɜɚɦɢ ɧɚ ɱɬɟɧɢɟ ɢ ɡɚɩɢɫɶ, ɦɚɫɤɚ ɨɛɧɨɜɥɹɟɬɫɹ ɚɜɬɨɦɚ-ɬɢɱɟɫɤɢ ɬɚɤɠɟ ɫ ɩɪɚɜɚɦɢ ɧɚ ɱɬɟɧɢɟ ɢ ɡɚɩɢɫɶ. ȿɫɥɢ ɜɚɦ ɷɬɨ ɧɟ ɧɭɠɧɨ, ɢɫɩɨɥɶɡɭɣɬɟ ɨɩɰɢɸ -n.
ɋɈȼȿɌ Ʉɨɝɞɚ ɨɩɰɢɹ -n ɧɟ ɢɫɩɨɥɶɡɭɟɬɫɹ, ɦɚɫɤɚ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɩɨɜɵɲɚɟɬ ɩɪɚɜɚ ɞɨɫɬɭɩɚ ɞɨ ɬɟɯ, ɤɨɬɨɪɵɟ ɢɦɟɟɬ ɞɨɛɚɜɥɹɟɦɵɣ ɜ ACL ɩɨɥɶɡɨɜɚɬɟɥɶ (ɟɫɥɢ ɨɧɢ ɜɵɲɟ]. Ɍɨɱɧɨ ɬɚɤ ɠɟ ɦɚɫɤɚ ɦɨɠɟɬ ɛɵɬɶ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɩɨɧɢɠɟɧɚ. ɇɚɩɪɢɦɟɪ, ɩɨɫɥɟ ɭɞɚɥɟɧɢɹ ɟɞɢɧɫɬɜɟɧɧɨɣ ACL-ɡɚɩɢɫɢ ɩɨɥɶɡɨɜɚɬɟɥɹ ɫ ɩɪɚɜɚɦɢ ɧɚ ɡɚɩɢɫɶ, ɩɪɚɜɚ ɧɚ ɡɚɩɢɫɶ ɛɭɞɭɬ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɭɞɚɥɟɧɵ ɢɡ ɦɚɫɤɢ. ɉɪɟɞɨɬɜɪɚɬɢɬɶ ɩɨɧɢɠɟɧɢɟ ɩɪɚɜ ɞɨɫɬɭɩɚ ɜ ɦɚɫɤɟ ɩɨɡɜɨɥɹɟɬ ɬɚ ɠɟ ɨɩɰɢɹ -n.
foobar ACL
:
#flie:acltest.txt #owner: #group:0 user::rwuser:foobar:rwgroup::r-mask::rwother:: --
, ACL
,
setfacl
-
m::r
:
acltest.txt
:
getfacl #file:acltest.txt #owner: #group:0 user::rwuser:foobar:rwgroup::r-mask::r-other:: -----
#
, .
effective:
r--
foobar —
— .
ACL,
.
: setfacl -n -m u:foobar:rw,u:guest:r,g:visitors:r acltest.txt
—
guest
visitors.
,
foobar, -n
Ƚɥɚɜɚ 10. ɉɨɥɶɡɨɜɚɬɟɥɢ, ɝɪɭɩɩɵ ɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ 201
, ,
.
Ɂɚɩɪɟɳɟɧɢɟ ɞɨɫɬɭɩɚ ɫ ɩɨɦɨɳɶɸ ACL ACL , -
, ACL
.
,
foobar,
:
setfacl -m u:foobar: acltest.txt
foobar
-
-
acltest.txt, . ACL
,
,
.
ɍɞɚɥɟɧɢɟ ɡɚɩɢɫɢ ɢɡ ACL -
ACL.
setfacl
,
-
foobar: setfacl -x u:foobar: acltest.txt
ɍɞɚɥɟɧɢɟ ɜɫɟɯ ɡɚɩɢɫɟɣ ɢɡ ACL ACL
-b.
: setfacl -b
acltest.txt
ACL,
ACL getfacl setfacl.
,
Ⱦɨɛɚɜɥɟɧɢɟ ɢ ɭɞɚɥɟɧɢɟ ɭɱɟɬɧɵɯ ɡɚɩɢɫɟɣ ɩɨɥɶɡɨɜɚɬɟɥɟɣ , adduser adduser
, . adduser. Linux, root.
useradd,
.
-
adduser .
-s (silent —
), .
10.2
: Ʌɢɫɬɢɧɝ 10.2 ɉɪɢɦɟɪɚ ɫɟɚɧɫɚ ɪɚɛɨɬɵ adduser Use option ``-silent" if you don't want to see all warnings and ↪ questions. Check /etc/shells Check /etc/master.passwd Check /etc/group Enter your default shell: csh date ksh no sh tcsh [ksh] :
202.
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
Your default shell is: ksh -> /usr/local/bin/ksh Enter your default HOME partition: [/home]: Copy dotfiles from: /usr/share/skel no [/usr/share/skel]: Send message from file: /etc/adduser.message no [/etc/adduser.message]: Use password-based authentication (y/n) [ ]: Enable account password at creation (y/n) [ ]: Use an empty password (y/n) [n]: n Ok, let's go. Don't worry about mistakes. I will give you the chance later ↪ correct any input. Enter username [a-zO-9_-]: joe Enter full name [ ]: Joe User Enter shell csh date ksh no sh tcsh [ksh]: Enter home directory (full path) [/home/joe]: Uid [1005]: Enter login class: default []: Login group joe [joe]: Login group is ``joe". Invite joe into other groups: guest no [no] : Use password-based authentication (y/n) [ ]: Use an empty password (y/n) [n]: n Enter password [ ]: Enter password again [ ]: Enable account password at creation (y/n) [ ]:
Name: Password: Fullname: Uid: Gid: Class: Groups: HOME: Shell: OK? (y/n)
to
joe **** Joe User 1005 1005 (joe) joe /home/joe /usr/local/bin/ksh [y] :
Added user ``joe" Send message to ``joe" and: no root second_mail_address [no]: Joe
User,
your account ``joe" was created. Have fun! See also chpass(l), finger(l), passwd(l) Add anything to default message (y/n) [n]: Send message (y/n) [y]: n Copy files from /usr/share/skel to /home/joe Add another user? (y/n) [y]: n Goodbye!
Enter
— .
(
-
),
,
;
, .
,
-
,
, .
,
-
Ƚɥɚɜɚ 10. ɉɨɥɶɡɨɜɚɬɟɥɢ, ɝɪɭɩɩɵ ɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ
203
ȼɨ FreeBSD 4.0 ɢ ɜɵɲɟ ɤɨɦɚɧɞɧɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ csh, ɜɫɬɪɨɟɧɧɵɣ ɜ ɨɫɧɨɜɧɭɸ ɱɚɫɬɶ ɫɢɫɬɟɦɵ, ɧɚ ɫɚɦɨɦ ɞɟɥɟ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ tcsh, ɬ.ɟ. ɜɟɪɫɢɸ csh ɫ ɛɨɥɟɟ ɲɢɪɨɤɢɦɢ ɜɨɡɦɨɠɧɨɫɬɹɦɢ, tcsh ɦɨɠɧɨ ɭɤɚɡɚɬɶ ɜ ɤɚɱɟɫɬɜɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ, ɧɨ ɷɬɨ ɡɧɚɱɟɧɢɟ ɫɨɜɩɚɞɚɟɬ ɫ csh.
/etc/adduser.message, -
. — ,
25).
,
, ( - ):
Is .cshrc .login_conf .mail_aliases .profile
.mailrc .shrc
.rhosts .login
12. -
— GID,
(UID ). .
. , UID
. . (
rmuser, ), 10.3 I rmuser j oe Matching password
rmuser ________________________________ entry:
joeiIRBpIrE/nkDQo:1008:1008::0:0:Joe Is this the entry you wish to (/home/joe)? Updating Updating ↪ done. Removing Removing Removing Removing
adduser
10.3.
user:/home/joe:/bin/csh
remove?
Remove user's
password file, updating databases, done. group file: (removing group joe -- personal
home directory
group
user's home directory (/home/joe): done. files belonging to joe from /tmp: done. files belonging to joe from /var/tmp: done. files belonging to joe from /var/tmp/vi.recover:
matching password entry (
is
empty)
done.
)
,
.
.
Ɏɚɣɥɵ /etc/passwd ɢ /etc/master.passwd ,
UNIX,
/etc/passwd,
. (
).
(vi, pico,
, emacs
.). :
204
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
/etc/passwd, , root. . /etc/security/master.passwd. FreeBSD passwd , : , , , , , ", " "). /etc/passwd , /etc/passwd, root — , . FreeBSD /etc/passwd: joe:*:1008:1008:Joe
/etc/shadow, /etc/ master.passwd. , (:). - , ( , :" ", " 0644, a /etc/master.passwd —
0600. , /etc/master.passwd, MD5.
User:/home/joe:/bin/csh
/etc/master.passwd: joe:$1$32iknJXS$TnJOJj9LzYGwWRZonOu/IO:1008:1008: Joe ↪ /bin/csh
. .
--
25
User:/home/joe:
, .
FreeBSD /etc/passwd
/etc/pwd.db db, .
/etc/master.passwd,
pwd_mkdb adduser/rmuser. chfn (change full name —
chfn, passwd .
) edquota,
9,
,
chfn — vi).
/etc/ spwd.db.
EDITOR ( -
, /etc/master.passwd .
-
,
pwd_mkdb -p /etc/master.passwd. FreeBSD-
master.passwd
,
/etc
: #
pwd_mkdb
-p
/etc/master.passwd.new
, master.passwd.new. /etc/master.passwd /etc/spwd.db /etc/passwd . pwd_mkdb /etc/passwd; . .
-
/etc , a /etc/ pwd.db, , /etc/ passwd - ,
Ƚɥɚɜɚ 10. ɉɨɥɶɡɨɜɚɬɟɥɢ, ɝɪɭɩɩɵ ɢ ɩɪɚɜɚ ɞɨɫɬɭɩɚ
205
ɉɊɂɆȿɑȺɇɂȿ ȼɨ FreeBSD ɮɚɣɥ /etc/passwd ɧɟ ɢɫɩɨɥɶɡɭɟɬɫɹ, ɨɧ ɩɪɟɞɧɚɡɧɚɱɟɧ ɥɢɲɶ ɞɥɹ ɫɨɜɦɟɫɬɢɦɨɫɬɢ ɫɨ ɫɬɨɪɨɧɧɢɦɢ ɩɪɢɥɨɠɟɧɢɹɦɢ. Ȼɨɥɶɲɢɧɫɬɜɨ ɫɨɜɪɟɦɟɧɧɵɯ ɭɬɢɥɢɬ ɱɟɪɩɚɟɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɩɨɥɶɡɨɜɚɬɟɥɹɯ ɢɡ ɮɚɣɥɚ /etc/pwd.db
Ɏɚɣɥ /etc/group ( /etc), ,
/etc/ group (
)
/etc/passwd (
root). ,
/etc/group. , " "
:
(
), -
.
wheel:*:10:root,bob,frank
, .
/etc/group ,
,
, "
. .
, "
FreeBSD
, .
ɍɩɪɚɜɥɟɧɢɟ ɝɪɭɩɩɚɦɢ , ,
—
.
/etc/group ,
. . adduser . ,
.
, ,
,
,
Web-
. 100 ( ,
).
1000.
,
1000, ,
100, .
.
,
. .
,
11
Ʉɨɧɮɢɝɭɪɚɰɢɹ ɫɢɫɬɟɦɵ ɢ ɫɬɚɪɬɨɜɵɟ ɫɰɟɧɚɪɢɢ
◀
ɉɨɧɢɦɚɧɢɟ ɩɪɨɰɟɫɫɚ ɧɚɱɚɥɶɧɨɣ ɡɚɝɪɭɡɤɢ FreeBSD
◀
ɋɢɟɧɚɪɢɢ ɤɨɧɮɢɝɭɪɢɪɨɜɚɧɢɹ ɪɟɫɭɪɫɨɜ
◀ ◀ ◀
Ⱦɟɦɨɧ inetd ɢ ɮɚɣɥ ɤɨɧɮɢɝɭɪɚɰɢɢ inetd.conf ɋɢɫɬɟɦɚ ɜɟɞɟɧɢɹ ɠɭɪɧɚɥɨɜ [syslogd] ɢ ɮɚɣɥ syslog.conf Ɂɚɦɟɬɤɢ ɨ ɮɚɣɩɟ /etc/re.local
Ƚɥɚɜɚ 11. Ʉɨɧɮɢɝɭɪɚɰɢɹ ɫɢɫɬɟɦɵ ɢ ɫɬɚɪɬɨɜɵɟ ɫɰɟɧɚɪɢɢ
207
FreeBSD,
-
, .
,
OS.
, (
, ,
"
Windows
Mac ,
")
. UNIX, Linux.
FreeBSD ,
,
fsck
, ,
LILO (
FreeBSD
Linux). (runlevel), ,
,
Linux. A boot, FreeBSD Linux Solaris. , , .
ɉɨɧɢɦɚɧɢɟ ɩɪɨɰɟɫɫɚ ɧɚɱɚɥɶɧɨɣ ɡɚɝɪɭɡɤɢ FreeBSD (bootstrapping process) FreeBSD . .
, , . -
,
BIOS ,
CMOS. IDE
, —
SCSI. .
,
. .
BIOS
(Master Boot Record) (MBR) . MBR
—
-
,
. .
512 ). 0 (bootO).
•
(.. . MBR
, MBR -
, . Fl FreeBSD F2
Linux
F3
??
Default:
Fl
.
,
,
. •
1 (bootl). (slice),
, bootO.
-
208
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
disklabel, ( boot2. , 2 (bootl).
#
19) .
boot l , ,
,
,
. FreeBSD (
,
, -
). (loader),
,
. #
(loader).
/boot. /boot/defaults/loader.conf /boot/loader.conf, .( /boot/loader.conf , /boot/defaults/loader.conf, /etc/rc.conf, .) 10 . , . , : (single-user mode) boot -s, kernel.old, CD-ROM — boot - . , , ( man boot). . . , , ( , /modules/portal.ko) . , . ok, :
ok load portal. ko /modules/portal.ko text=0xld18 data=0xlf4+0x4 syms=[0x4+0x8d0+0x4+0x6bf] ok Ismod 0x100000: kernel (elf kernel, Ox355be4) Ox455be4: /boot/kernel.conf (userconfig script, 0x456000: portal.ko (elf module, )
,
. ) ,
, Enter, — boot (
)
, ,
Ox4c)
? load ( ,
-
Ismod (
). ,
. man loader. ,
, FreeBSD: ,
. ,
Ƚɥɚɜɚ 1 1 . Ʉɨɧɮɢɝɭɪɚɰɢɹ ɫɢɫɬɟɦɵ ɢ ɫɬɚɪɬɨɜɵɟ ɫɰɟɧɚɪɢɢ 209
•
(resource configuration), . (kernel). ,
,
-
. .
dmesg, dmesg.
ɋɈȼȿɌ dmesg ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɞɨɜɨɥɶɧɨ ɩɪɢɦɢɬɢɜɧɨɟ ɫɪɟɞɫɬɜɨ, ɤɨɬɨɪɨɟ ɥɢɲɶ ɜɵɜɨɞɢɬ ɧɚ ɷɤɪɚɧ ɜɫɟ ɫɨɨɛɳɟɧɢɹ, ɧɚɤɨɩɥɟɧɧɵɟ ɜ ɩɪɨɰɟɫɫɟ ɡɚɝɪɭɡɤɢ ɫɢɫɬɟɦɵ. Ⱦɨɫɬɚɬɨɱɧɨ ɩɪɨɫɬɨ ɜɜɟɫɬɢ ɤɨɦɚɧɞɭ dmesg, ɢɥɢ dmesg I less ɞɥɹ ɛɨɥɟɟ ɭɞɨɛɧɨɝɨ ɱɬɟɧɢɹ.
,
. Automatic reboot in progress ( init Resource Configuration script (/etc/re). , /etc/ 9. , (mount -a -t nonfs) . fsck , . .
• init. init, ). fstab, fsck , , fsck , , ,
. ,
.
ɁȺɓɂɌȺ ɉɊɈɐȿɋɋȺ ɁȺȽɊɍɁɄɂ ɋɥɟɞɭɟɬ ɨɬɦɟɬɢɬɶ, ɱɬɨ ɩɨ ɭɦɨɥɱɚɧɢɸ, ɤɨɝɞɚ ɫɢɫɬɟɦɚ ɜɯɨɞɢɬ ɜ ɨɞɧɨɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɣ ɪɟɠɢɦ (boot -s ɜ ɤɨɦɚɧɞɧɨɣ ɫɬɪɨɤɟ ɡɚɝɪɭɡɱɢɤɚ loader), ɨɧɚ ɧɟ ɡɚɩɪɚɲɢɜɚɟɬ ɩɚɪɨɥɶ, ɩɪɟɞɨɫɬɚɜɥɹɹ ɩɪɢ ɷɬɨɦ ɞɨɫɬɭɩ ɫ ɩɪɚɜɚɦɢ ɩɨɥɶɡɨɜɚɬɟɥɹ root. ȿɫɥɢ ɤɬɨ-ɥɢɛɨ, ɤɪɨɦɟ ɚɞɦɢɧɢɫɬɪɚɬɨɪɚ, ɢɦɟɟɬ ɜɨɡɦɨɠɧɨɫɬɶ ɪɚɛɨɬɚɬɶ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɧɚ ɤɨɧɫɨɥɢ ɢ ɩɟɪɟɡɚɝɪɭɠɚɬɶ ɦɚɲɢɧɭ, ɬɨ ɫɢɫɬɟɦɚ ɢɦɟɟɬ ɨɱɟɧɶ ɫɟɪɶɟɡɧɭɸ ɞɵɪɭ ɜ ɡɚɳɢɬɟ. Ʉ ɫɱɚɫɬɶɸ, ɷɬɭ ɩɪɨɪɟɯɭ ɥɟɝɤɨ ɡɚɲɬɨɩɚɬɶ. ȼ ɮɚɣɥɟ /etc/ttys, ɫɨɞɟɪɠɚɳɟɦ ɬɟɪɦɢɧɚɥɶɧɵɟ ɧɚɫɬɪɨɣɤɢ ɞɥɹ ɪɚɡɥɢɱɧɵɯ ɫɩɨɫɨɛɨɜ ɞɨɫɬɭɩɚ (ɤɨɧɫɨɥɶ, ɜɢɪɬɭɚɥɶɧɵɟ ɬɟɪɦɢɧɚɥɵ, ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɵɟ ɬɟɪɦɢɧɚɥɵ ɢ ɫɟɬɟɜɵɟ (ɩɫɟɜɞɨ] ɬɟɪɦɢɧɚɥɵ], ɧɟɨɛɯɨɞɢɦɨ ɡɚɦɟɧɢɬɶ ɭɫɬɚɧɨɜɤɭ secure ɧɚ insecure ɜ ɫɬɪɨɤɟ console: console none
unknown off insecure
ɗɬɢ ɭɫɬɚɧɨɜɤɢ ɫɨɨɛɳɚɸɬ ɫɢɫɬɟɦɟ, ɱɬɨ ɤɨɧɫɨɥɶ ɹɜɥɹɟɬɫɹ ɧɟɡɚɳɢɳɟɧɧɨɣ ɬɨɱɤɨɣ ɞɨɫɬɭɩɚ. ȼ ɪɟɡɭɥɶɬɚɬɟ ɫɢɫɬɟɦɚ ɬɪɟɛɭɟɬ ɜɜɨɞɚ ɩɚɪɨɥɹ ɩɪɢ ɡɚɝɪɭɡɤɟ ɜ ɨɞɧɨɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɦ ɪɟɠɢɦɟ.
ɉɊɂɆȿɑ Ⱥɇɂȿ Ɍɟɪɦɢɧɚɥɶɧɵɣ ɦɟɬɨɞ console ɢɫɩɨɥɶɡɭɟɬɫɹ ɬɨɥɶɤɨ ɜ ɨɞɧɨɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɦ ɪɟɠɢɦɟ. ɉɪɢ ɡɚɝɪɭɡɤɟ ɜ ɩɨɥɧɨɦ ɦɧɨɝɨɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɦ ɪɟɠɢɦɟ ɧɚ ɨɞɧɨɦ ɮɢɡɢɱɟɫɤɨɦ ɬɟɪɦɢɧɚɥɟ ɞɨɫɬɭɩɧɨ ɧɟɫɤɨɥɶɤɨ ɜɢɪɬɭɚɥɶɧɵɯ ɬɟɪɦɢɧɚɥɨɜ (ɩɟɪɟɤɥɸɱɚɬɶɫɹ ɦɟɠɞɭ ɧɢɦɢ ɩɨɡɜɨɥɹɸɬ ɤɨɦɛɢɧɚɰɢɢ ɤɥɚɜɢɲ Alt+F1, Alt+F2 ɢ ɬ.ɞ.]. ɗɬɢ ɬɟɪɦɢɧɚɥɵ ɜɫɟɝɞɚ ɩɪɟɞɨɫɬɚɜɥɹɟɬ ɩɪɢɝɥɚɲɟɧɢɟ ɞɥɹ ɪɟɝɢɫɬɪɚɰɢɢ ɜ ɫɢɫɬɟɦɟ. ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɭɫɬɚɧɨɜɤɢ secure ɢ insecure ɜɵɩɨɥɧɹɸɬ ɫɥɟɞɭɸɳɭɸ ɮɭɧɤɰɢɸ: ɩɪɢ
210
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
ɩɨɩɵɬɤɟ ɜɯɨɞɚ ɫ ɩɪɚɜɚɦɢ root ɫɢɫɬɟɦɚ ɬɪɟɛɭɟɬ ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɬɶɫɹ ɜ ɤɚɱɟɫɬɜɟ ɨɛɵɱɧɨɝɨ ɩɨɥɶɡɨɜɚɬɟɥɹ, ɚ ɡɚɬɟɦ ɩɨɥɭɱɢɬɶ ɩɪɚɜɚ ɞɨɫɬɭɩɚ root ɩɨɫɪɟɞɫɬɜɨɦ ɤɨɦɚɧɞɵ su.
,
, (
).
, Ctrl+Alt+Delete
, .
. (
,
), .
, options
: SC_DISABLE_REBOOT
17.
ɑɬɨ ɦɨɠɟɬ ɡɚɦɟɞɥɢɬɶ ɩɪɨɰɟɫɫ ɡɚɝɪɭɡɤɢ? . , scndmail
,
, httpd (Apache);
.
DNS,
/etc/ , ,
. , ; resolv.conf. ( ,
Sendmail,
Apache,
TCP/IP
23.) , .
-
, .
?
/etc/resolv.conf, Sendmail Apache . 127.0.0.1 (localhost) , init (NFS)
.
, FreeBSD-
, ;
,
, mount,
. mount -a -t nonfs . ,
,
9,
NFS ( ). NFS,
init /etc/re. /etc/fstab (
, NFS. ,
noauto) .
NFS, !
ɋɰɟɧɚɪɢɢ ɤɨɧɮɢɝɭɪɢɪɨɜɚɧɢɹ ɪɟɫɭɪɫɨɜ /etc, .
, ,
,
-
11.
211
FreeBSD -
. ,
,
. -
/etc
, . /etc/rc.conf. FreeBSD,
,
. 11.1.
11.1 config.
/etc/re /etc/rc.diskless1
init
/etc/rc.diskless2 /etc/defaults/rc.conf
init
. , ,
. /etc/
/etc/rc.conf defaults/rc.conf.
/etc, ! .
/etc/re, sysctl
.
/etc/re, serial .
/etc/re, pccard
PC-
.
/etc/re.network
TCP/IP.
/etc/re.network6
re.network, IPv6.
/etc/re.atm
ATM-
re.network; WAN.
/etc/rc.firewall
re.network; ipfw.
/etc/rc.firewall6
re.networkG; ip6fw.
/etc/re.i386
,
86 (
,
).
/etc/re.shutdown /etc/re.suspend
.
init ,
.
/etc/re.devfs
(device filesystem).
/etc/re.local . rc.d!
/usr/local/etc/rc.d/ /usr/local/X11 R6/etc/rc.d/
, ( ).
,
212 ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
/etc/defaults/rc.conf, /etc/rc.conf , , -
rc.d. FreeBSD .
Ɏɚɣɥ /etc/defaults/rc.conf ,
/etc/rc. ;
; , -
,
,
. .
/etc/rc
. -
FreeBSD , .
, FreeBSD
— /etc/ ,
rc.conf.
/etc/rc
. ,
,
.
,
, .
rc.conf /etc/re. /etc/defaults, .
rc.conf ,
, . /etc/defaults/
/etc/rc.conf
, ,
rc.conf. . .)
(IP, , sendmail sshd. /etc/defaults/rc.conf,
,
. -
,
11.1. Ʌɢɫɬɢɧɝɟ 11.1 Ɏɪɚɝɦɟɧɬ ɮɚɣɥɚ /etc/defaults/rc.conf # named #s e c u r i t y . # named_enable=MNO"
sandbox, # # ( # #
named_program="named" named_flags="" #named_flags="-u
bind
, " ; ).
-g bind"
named,
. DNS-
man (
NO
)). named, . # #
named. named.
, /etc/r named. /etc/defaults/rc.conf YES/NO. , ". NO, YES, ( , named_flags
,— -
Ƚɥɚɜɚ 11. Ʉɨɧɮɢɝɭɪɚɰɢɹ ɫɢɫɬɟɦɵ ɢ ɫɬɚɪɬɨɜɵɟ ɫɰɟɧɚɪɢɢ
2I 3
Ɏɚɣɥ /etc/rc.conf ,
,
named. /etc/rc.conf ( :
— )
,
,
"
named_enable="YES"
named_* ;
-
/etc/defaults/rc.conf
, , , /etc/rc (
init, YES.
,
"
" named). .
bind, , ,
).
(
-
,
mynamed.
( mynamed /etc/rc.conf
,
named), —
: named_program="mynamed" named_flags="-u bind -g
bind"
# grep "named_enable" /etc/re.network:
/etc/re* case ${
,
,
named_enable)
in
/etc/rc.network. :
, network_pass2 () echo
init:
{
-n
'Doing
${named_enable} echo -n ↪ $ {named_flags}
additional
network
setup:' case
in [* ] [ ] [Ss]) ' named'; ${named__program:-named} ~
;; esac
,
rc.conf ; Doing additional network setup: -
named_* , ,
named, . ɉɊɂɆȿɑȺɇɂȿ
Ɉ ɫɨɡɞɚɧɢɢ ɫɰɟɧɚɪɢɟɜ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ɱɢɬɚɣɬɟ ɜ ɝɥɚɜɟ 13. ɗɬɨ ɩɨɦɨɠɟɬ ɜɚɦ ɜ ɞɚɥɶɧɟɣɲɟɦ ɩɪɢ ɢɡɭɱɟɧɢɢ ɫɰɟɧɚɪɢɟɜ ɤɨɧɮɢɝɭɪɢɪɨɜɚɧɢɹ ɪɟɫɭɪɫɨɜ.
, TCP/IP. FreeBSD /etc/rc.conf
,
/etc/rc.conf ,
,
.
11.2 :
-
214
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
11.2
/etc/rc.conf
# #
, ,
/etc/defaults/rc.conf , .
# # — sysinstall generated deltas -- # kern_securelevel="l" kern_securelevel_enable="YES" linux_enable="YES" sendmail_enable="YES" s shd_enable="YES" portmap_enable="NO" nfs_server_enable="NO" inetd_enable="NO"
network_interfaces="fxpO
lo0"
ifconfig_fxp0="inet 10.6.7.101 netmask defaultrouter="10.6.1.1" hostname="freebsdl.testnetwork.com" usbd_enable="YES"
255.0.0.0"
, (
, , NFS-
)
. ; . sysinstall (
/etc/rc.conf ). ),
,
,
(
,
/etc/re
, —
-
/usr/local/etc.
Ʉɚɬɚɥɨɝɢ /usr/local/etc ɢ /usr/local/X11R6/etc , 9 /usr/local"?
:"
,
, ,
.
,
/usr/local/etc
/etc, . ɉɊɂɆȿɑȺɇɂȿ ȼɚɠɧɨ ɨɬɦɟɬɢɬɶ, ɱɬɨ ɪɚɡɧɢɰɚ ɦɟɠɞɭ ɮɚɣɥɚɦɢ ɜ ɤɚɬɚɥɨɝɟ /etc ɢ ɤɚɬɚɥɨɝɟ /usr/local/etc ɡɚɤɥɸɱɚɟɬɫɹ ɧɟ ɜ ɬɨɦ, ɱɬɨ ɩɟɪɜɵɟ ɧɟɥɶɡɹ ɪɟɞɚɤɬɢɪɨɜɚɬɶ, ɚ ɜɬɨɪɵɟ ɦɨɠɧɨ. Ɇɧɨɝɢɟ ɮɚɣɥɵ ɢɡ /usr/ local/etc ɬɨɱɧɨ ɬɚɤ ɠɟ ɧɟ ɩɨɞɜɟɪɝɚɸɬɫɹ ɪɟɞɚɤɬɢɪɨɜɚɧɢɸ, ɩɨɫɤɨɥɶɤɭ ɧɟ ɫɨɞɟɪɠɚɬ ɤɚɤɢɯ-ɥɢɛɨ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɯ ɤɨɧɮɢɝɭɪɚɰɢɣ ɢɥɢ ɧɟ ɩɪɟɞɩɨɥɚɝɚɸɬ ɢɡɦɟɧɟɧɢɹ [ɯɨɬɹ ɷɬɨɬ ɤɚɬɚɥɨɝ ɜɤɥɸɱɚɟɬ ɢ ɮɚɣɥɵ, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɟ ɞɥɹ ɧɚɫɬɪɨɣɤɢ ɤɨɧɮɢɝɭɪɚɰɢɣ). Ɋɚɡɥɢɱɢɟ ɡɚɤɥɸɱɚɟɬɫɹ ɜ ɬɨɦ, ɱɬɨ ɮɚɣɥɵ ɢɡ /etc ɭɩɪɚɜɥɹɸɬ ɨɫɧɨɜɨɣ ɫɢɫɬɟɦɵ, ɬɨɥɶɤɨ ɬɟɦɢ ɩɪɨɝɪɚɦɦɚɦɢ, ɤɨɬɨɪɵɟ ɹɜɥɹɸɬɫɹ ɱɚɫɬɶɸ ɢɧɫɬɚɥɥɹɰɢɢ FreeBSD. Ɏɚɣɥɵ ɠɟ ɢɡ /usr/local/etc ɫɨɞɟɪɠɚɬ ɤɨɧɮɢɝɭɪɚɰɢɢ ɩɪɨɝɪɚɦɦ, ɢɧɫɬɚɥɥɢɪɭɟɦɵɯ ɚɞɦɢɧɢɫɬɪɚɬɨɪɨɦ ɢɡ ɤɨɥɥɟɤɰɢɢ ɩɨɪɬɨɜ ɢɥɢ ɞɪɭɝɢɯ ɩɚɤɟɬɨɜ. Ʉɪɨɦɟ ɬɨɝɨ, ɤɚɬɚɥɨɝ /usr/local/etc ɫɥɭɠɢɬ ɞɥɹ ɯɪɚɧɟɧɢɹ ɧɚɱɚɥɶɧɵɯ ɫɰɟɧɚɪɢɟɜ, ɤɨɬɨɪɵɟ ɜɵ ɛɭɞɟɬɟ ɩɢɫɚɬɶ ɫɚɦɢ.
,
/usr/local/etc .
15,
.
Ƚɥɚɜɚ 11. Ʉɨɧɮɢɝɭɪɚɰɢɹ ɫɢɫɬɟɦɵ ɢ ɫɬɚɪɬɨɜɵɟ ɫɰɟɧɚɪɢɢ
215
rc.d ( Configuration for Daemons — init /etc/re.*.
Resource ). ,
/usr/local/etc/rc.d ,
. apache.sh, mysql-server.sh ,
samba.sh. start ,
init
.sh, ,
,
-
,
stop;
,
start. ,
: # /usr/local/etc/rc.d/apache.sh
start
.sample ( . Apache,
, config (
-
, ,
).
, apache.sh,
.
,
;
,
Samba ,
. .sample), /usr/local/XHR6/etc
(
, -
,
samba.sh.sample).
, init. /usr/local/etc, XII — GNOME,
,
. .
,
rc.d. /usr/local/ etc/rc.d. .
rc.conf: local_startup="/usr/local/etc/rc.d ↪ .
/usr/XHR6/etc/rc.d"
#
ɋɨɡɞɚɧɢɟ ɫɰɟɧɚɪɢɟɜ ɞɥɹ ɡɚɩɭɫɤɚ ɩɪɨɝɪɚɦɦ ɩɪɢ ɡɚɝɪɭɡɤɟ ɫɢɫɬɟɦɵ , . ,
. /usr/local/etc/rc.d. rc.d -
,
init
.sh (
start ). man re: #!/bin/sh
-
#
# case "$1" in start) /usr/local/sbin/foo
/
-d
&&
foobar
echo
-n
'
foo'
216
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD ______________________________________
;; *) echo "unknown option: $1 - should be 'start'" >&2 ;; esac
,
, foo.sh.
,
(chmod +x foo.sh)! :
perl,
,
.
.sh. !
13.
Ⱦɟɦɨɧ inetd ɢ ɮɚɣɥ ɤɨɧɮɢɝɭɪɚɰɢɢ inetd.conf , /etc,
.conf
— inetd,
.
. inetd . inetd telnet,
,
.
telnet-
, telnetd. 23, ,
inetd (
, telnetd -
. ), ,
/usr/libexec. ; ,
-
(
,
). ɉ Ɋɂ Ɇ ȿɑȺ ɇ ɂ ȿ ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɞɟɦɨɧɚ inetd ɢɫɤɥɸɱɚɟɬ ɧɟɨɛɯɨɞɢɦɨɫɬɶ ɜɵɩɨɥɧɹɬɶ ɝɥɚɜɧɵɣ ɩɪɨɰɟɫɫ telnetd, ɩɪɟɞɫɬɚɜɥɹɸɳɢɣ ɨɩɚɫɧɨɫɬɶ ɫ ɬɨɱɤɢ ɡɪɟɧɢɹ ɛɟɡɨɩɚɫɧɨɫɬɢ, ɟɫɥɢ ɜ telnetd ɨɛɧɚɪɭɠɢɬɫɹ ɭɹɡɜɢɦɨɟ ɦɟɫɬɨ. Ɇɧɨɝɢɟ ɞɟɦɨɧɵ (sshd httpd sendmail ɢ ɞɪɭɝɢɟ] ɡɚɩɭɫɤɚɸɬɫɹ ɜ "ɫɚɦɨɫɬɨɹɬɟɥɶɧɨɦ" ɪɟɠɢɦɟ, ɚ ɧɟ ɜɵɡɵɜɚɸɬɫɹ ɞɟɦɨɧɨɦ inetd. Ƚɥɚɜɧɵɣ ɩɪɨɰɟɫɫ (ɜɵɩɨɥɧɹɟɦɵɣ ɫ ɩɪɚɜɚɦɢ root) ɩɪɨɫɥɭɲɢɜɚɟɬ ɧɨɜɵɟ ɫɨɟɞɢɧɟɧɢɹ ɢ ɩɨɪɨɠɞɚɟɬ ɧɨɜɵɟ ɩɪɨɰɟɫɫɵ, ɤɨɬɨɪɵɦɢ ɜɥɚɞɟɟɬ ɩɨɥɶɡɨɜɚɬɟɥɶ, ɤɨɬɨɪɵɣ ɧɟ ɢɦɟɟɬ ɩɪɚɜ ɞɨɫɬɭɩɚ. ɗɬɨ ɩɨɜɵɲɚɟɬ ɝɢɛɤɨɫɬɶ ɢ ɫɤɨɪɨɫɬɶ ɩɪɨɝɪɚɦɦɵ, ɧɨ ɫɨɡɞɚɟɬ ɨɩɪɟɞɟɥɟɧɧɵɣ ɪɢɫɤ ɞɥɹ ɛɟɡɨɩɚɫɧɨɫɬɢ ɫɢɫɬɟɦɵ, inetd ɬɚɤɠɟ ɡɚɩɭɫɤɚɟɬɫɹ ɫ ɩɪɚɜɚɦɢ ɞɨɫɬɭɩɚ root, ɩɨɷɬɨɦɭ ɟɝɨ ɜɡɥɨɦ ɫɬɨɥɶ ɠɟ ɨɩɚɫɟɧ ɞɥɹ ɫɢɫɬɟɦɵ. Ɍɟɦ ɧɟ ɦɟɧɟɟ, ɱɟɦ ɛɨɥɶɲɟ ɞɟɦɨɧɨɜ ɜɵɩɨɥɧɹɟɬɫɹ ɫ ɬɚɤɢɦɢ ɩɪɚɜɚɦɢ, ɬɟɦ ɛɨɥɶɲɟ ɜɟɪɨɹɬɧɨɫɬɶ ɧɚɣɬɢ ɞɵɪɭ ɜ ɡɚɳɢɬɟ.
/etc/inetd.conf . 11.2. 11.2
,
,
. inetd /
ftp
File Transfer Protocol (ɉɪɨɬɨɤɨɥ ɩɟɪɟɞɚɱɢ ɮɚɣɥɨɜ)
ɉɨɪɬ21/ɌɋɊ
telnet
ɍɞɚɥɟɧɧɵɣ ɬɟɪɦɢɧɚɥ
ɉɨɪɬ 23/TɋɊ
Ƚɥɚɜɚ 11. Ʉɨɧɮɢɝɭɪɚɰɢɹ ɫɢɫɬɟɦɵ ɢ ɫɬɚɪɬɨɜɵɟ ɫɰɟɧɚɪɢɢ
217
/ ɋɟɪɜɟɪ biff (ɭɜɟɞɨɦɥɟɧɢɟ
comsat
ɉɨɪɬ512/UDɊ
ɩɨɥɶɡɨɜɚɬɟɥɟɣ ɨ ɜɯɨɞɹɳɟɣ ɩɨɱɬɟ) ntalk
chat-ɫɟɪɜɟɪ ɤɨɦɚɧɞɧɨɣ ɫɬɪɨɤɢ
ɉɨɪɬ 518/TCP,UDP
ftp (IPv6)
File Transfer Protocol (ɉɪɨɬɨɤɨɥ ɩɟɪɟɞɚɱɢ ɮɚɣɥɨɜ)
IPv6
telnet (IPv6)
IPv6
,
,
11.3
,
,
. 11.3.
inetd /
ɪɨɪɁ
Post Office Protocol (ɉɨɱɬɨɜɵɣ ɩɪɨɬɨɤɨɥ)
ɉɨɪɬ 110/ɌɋɊ
imap4
Interim Mail Access Protocol (ɉɪɨɬɨɤɨɥ ɞɨɫɬɭɩɚ ɤ ɩɨɱɬɨɜɨɣ ɫɥɭɠɛɟ)
ɉɨɪɬ 143/ɌɋɊ
smtp
ɉɨɪɬ 25/ɌɋɊ
Qmail (ɚɥɶɬɟɪɧɚɬɢɜɚ SMTP-ɫɟɪɜɟɪɭ Sendmail)
netbios-ssn Ɋɚɡɞɟɥɹɟɦɵɣ ɞɨɫɬɭɩ ɤ ɮɚɣɥɚɦ ɧɚ netbios-ns ɩɥɚɬɮɨɪɦɟ Windows ɫ ɩɨɦɨɳɶɸ Samba
ɉɨɪɬ 139/ɌɋɊ ɉɨɪɬ137/ɌɋɊ
ɉɪɨɫɦɨɬɪ ɢɧɮɨɪɦɚɰɢɢ ɨ ɩɨɥɶɡɨɜɚɬɟɥɟ
finger
-
ɉɨɪɬ 79/ɌɋɊ
, inetd
# ps -waux | grep inetd root 110 0.0 0.6 1032 # kill -HUP 110
752
: ??
Ss
11: 57PM
0:00.01
inetd
ȿɫɥɢ ɫɢɫɬɟɦɚ ɪɚɛɨɬɚɟɬ ɧɚ ɭɪɨɜɧɟ ɛɟɡɨɩɚɫɧɨɫɬɢ 1 ɢɥɢ ɜɵɲɟ (ɞɚɧɧɚɹ ɨɩɰɢɹ ɜɵɛɢɪɚɟɬɫɹ ɩɪɢ ɢɧɫɬɚɥɥɹɰɢɢ, ɭɪɨɜɟɧɶ 1 ɧɚɡɵɜɚɟɬɫɹ Medium — ɫɪɟɞɧɢɣ), ɬɨ ɞɟɦɨɧ inetd ɧɟ ɛɭɞɟɬ ɡɚɩɭɳɟɧ. ɗɬɨ ɟɳɟ ɪɚɡ ɩɨɞɬɜɟɪɠɞɚɟɬ, ɧɚɫɤɨɥɶɤɨ ɨɩɚɫɧɵ ɫɥɭɠɛɵ, ɜɵɩɨɥɧɹɸɳɢɟɫɹ ɜ inetd. Ʉɨɝɞɚ ɫɢɫɬɟɦɚ ɪɚ-ɛɨɬɚɟɬ ɧɚ ɷɬɨɦ ɭɪɨɜɧɟ ɡɚɳɢɬɵ, ɞɟɦɨɧ ɜɫɟ ɠɟ ɦɨɠɧɨ ɡɚɩɭɫɬɢɬɶ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ inetd -wW/. ɑɬɨɛɵ ɪɚɡɪɟɲɢɬɶ ɟɝɨ ɩɨɫɬɨɹɧɧɭɸ ɪɚɛɨɬɭ, ɢɡ ɮɚɣɥɚ /etc/rc. conf ɧɭɠɧɨ ɭɫɬɪɚɧɢɬɶ ɫɥɟɞɭɸɳɭɸ ɫɬɪɨɤɭ: inetd_enable="NO"
FreeBSD,
inetd .
/etc/inetd.conf, ,
,
cvs , .
Samba ,
. ,
. , . Samba (netbios-ssn netbios-ns) smbd nmbd /usr/local/sbin, , -Samba inetd, .
218
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
( /usr/Iocal/libexec. /usr/local, .
,
,
) , ,
-
qpopper ( qpopper popper.
inetd. ),
: stream top
nowait root /usr/local/libexec/qpopper qpopper
.
. man
,
inetd
inetd inetd.
ɋɢɫɬɟɦɚ ɜɟɞɟɧɢɹ ɠɭɪɧɚɥɨɜ (syslogd) ɢ ɮɚɣɥ syslog.conf /var/log. , syslogd, . /etc/syslog.conf, log. , ( auth, authpriv, console, cron, daemon, ftp, kern, Ipr, mail, mark, news, ntp, security, syslog, user, uucp localO — local7) " ", . ( ) — emerg, alert, crit, err, warning, notice, info debug. , FreeBSD, logsyslogd; Sendmail syslog() , mail; syslogd syslog.conf. syslog.conf : * . err;kern.debug;auth.notice;mail.crit /dev/console *.notice,'kern.debug;Ipr.info,'mail.crit;news.err /var/log/messages security.* /var/log/security mail.info /var/log/maillog 1pr.info /var/log/lpd-errs cron.* /var/log/cron *.err root *.notice,'news.err *.alert *.emerg
root root *
: notice,
, debug
err
,
, , /var/log/security, /var/log/maillog. log-
( . . ).
crit FreeBSD,
.( syslog.)
info /var/log/messages — ,
Linux, .
logsyslog.conf
,
,
Ƚɥɚɜɚ 11. Ʉɨɧɮɢɝɭɪɚɰɢɹ ɫɢɫɬɟɦɵ ɢ ɫɬɚɪɬɨɜɵɟ ɫɰɟɧɚɪɢɢ
err, notice emerg —
root, 11.4
219
alert . syslogd
. 11.4
syslogd
/path/to/file
ɋɨɨɛɳɟɧɢɹ ɡɚɩɢɫɵɜɚɸɬɫɹ ɜ ɭɤɚɡɚɧɧɵɣ ɮɚɣɥ.
@some.hostname.com
ɋɨɨɛɳɟɧɢɹ ɩɟɪɟɧɚɩɪɚɜɥɹɸɬɫɹ ɞɟɦɨɧɭ syslogd ɧɚ ɦɚɲɢɧɟ some.hostname.com (ɫ ɢɫɩɨɥɶɡɨɜɚɧɢɟɦ ɫɟɬɟɜɨɣ ɫɥɭɠɛɵ syslog).
userl
ɋɨɨɛɳɟɧɢɹ ɜɵɜɨɞɹɬɫɹ ɧɚ ɥɸɛɨɣ ɬɟɪɦɢɧɚɥ, ɫ ɤɨɬɨɪɨɝɨ ɩɨɥɶɡɨɜɚɬɟɥɶ userl ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɥɫɹ ɜ ɫɢɫɬɟɦɟ.
root,userl ,user2
ɋɨɨɛɳɟɧɢɹ ɨɬɨɛɪɚɠɚɸɬɫɹ ɧɚ ɬɟɪɦɢɧɚɥɚɯ ɜɫɟɯ ɭɤɚɡɚɧɧɵɯ ɩɨɥɶɡɨɜɚɬɟɥɟɣ. ɋɨɨɛɳɟɧɢɹ ɜɵɜɨɞɹɬɫɹ ɜɫɟɦ ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɧɧɵɦ
*
ɩɨɥɶɡɨɜɚɬɟɥɹɦ. ɋɨɨɛɳɟɧɢɹ ɩɟɪɟɫɵɥɚɸɬɫɹ ɩɨɥɶɡɨɜɚɬɟɥɸ root ɩɨ ɷɥɟɤɬɪɨɧɧɨɣ ɩɨɱɬɟ.
| "mail root"
syslogd man syslogd man syslog.conf. ɉɊɂɆȿɑȺɇɂȿ Ʉɚɠɞɵɣ log-ɮɚɣɥ ɢɡ ɤɚɬɚɥɨɝɚ /var/log ɨɛɧɨɜɥɹɟɬɫɹ ɜ ɫɨɨɬɜɟɬɫɬɜɢɢ ɫɨ ɫɜɨɢɦ ɧɚɛɨɪɨɦ ɩɪɚɜɢɥ. ɇɚɩɪɢɦɟɪ, ɮɚɣɥ /uar/log/maillog ɚɪɯɢɜɢɪɭɟɬɫɹ ɢ ɫɨɡɞɚɟɬɫɹ ɡɚɧɨɜɨ ɤɚɠɞɵɣ ɞɟɧɶ ɩɪɨɝɪɚɦɦɨɣ periodic. Ɉɫɬɚɥɶɧɵɟ ɮɚɣɥɵ, ɧɚɩɪɢɦɟɪ /var/log/cron ɢ /var/log/messages, ɨɛɧɨɜɥɹɸɬɫɹ ɞɪɭɝɢɦɢ ɦɟɬɨɞɚɦɢ (ɡɚɱɚɫɬɭɸ ɫɚɦɢɦɢ ɩɪɨɝɪɚɦɦɚɦɢ, ɤɨɬɨɪɵɟ ɡɚɩɢɫɵɜɚɸɬ ɢɧɮɨɪɦɚɰɢɸ ɜ ɧɢɯ). ɉɪɢ ɚɪɯɢɜɢɪɨɜɚɧɢɢ, ɤɚɤ ɩɪɚɜɢɥɨ, ɢɫɩɨɥɶɡɭɟɬɫɹ ɭɬɢɥɢɬɚ gzip. Ⱦɥɹ ɩɨɢɫɤɚ ɢɧɮɨɪɦɚɰɢɢ ɜ ɡɚɚɪɯɢɜɢɪɨɜɚɧɧɵɯ ɮɚɣɥɚɯ ɫɥɟɞɭɟɬ ɜɨɫɩɨɥɶɡɨɜɚɬɶɫɹ ɤɨɦɚɧɞɨɣ gzcat ɜ ɫɨɱɟɬɚɧɢɢ ɫ ɨɛɵɱɧɨɣ ɭɬɢɥɢɬɨɣ ɞɝɟɪ: # gzcat /var/log/messages.2.gz
| grep "rejected"
Ɂɚɦɟɬɤɢ ɨ ɮɚɣɥɟ /etc/rc,local ,
/etc/rc.local, .
, FreeBSD Linux. /usr/local/etc/rc.d, — . , : /usr/local /etc/rc.local, .
, rc.d, . , , ,
,
/etc. .
, rc.local ,
,
rc.d. , -
FreeBSD. rc.local
11.3.
/etc/rc,
220
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
Ʌɢɫɬɢɧɝ 11.3 Ɏɪɚɝɦɟɧɬ ɮɚɣɥɚ /etc/rc, ɞɟɦɨɧɫɬɪɢɪɭɸɳɢɣ ɩɨɞɞɟɪɠɤɭ /etc/ɝɫ.local # grep - 5 re.local /etc/rc # ( # . # /etc/defaults/rc.conf # /etc/rc.conf, # # Use /etc/rc.local # # --- re.local --# if [ -r /etc/defaults/rc.conf ]; • . /etc/defaults/rc.conf • source_rc_confs # elif [ -r /ete/rc.conf ]; then # . /ete/rc.conf # --- re.local --# if [ -r /ete/rc.local ]; then echo -n 'starting local sh /etc/re.local echo '.' fi # # *.sh # ----------------------------------
)
rc.local, , . /etc/rc.
then
daemons:'
$local_startup,
, , —
sh /etc/rc.local. rc.local. rc.d.
12
ɇɚɫɬɪɨɣɤɚ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
ɑɬɨ ɬɚɤɨɟ ɤɨɦɚɧɞɧɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ? ► Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦɢ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚɦɢ ► ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɚɥɶɬɟɪɧɚɬɢɜɧɵɯ ɤɨɦɚɧɞɧɵɯ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɜ ► Ɏɚɣɥɵ ɢɧɢɰɢɚɥɢɡɚɰɢɢ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ► ɇɚɫɬɪɨɣɤɚ ɫɪɟɞɵ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ► ɉɟɪɟɦɟɧɧɵɟ ɫɪɟɞɵ ɢ ɩɟɪɟɦɟɧɧɵɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ►
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
222
, X-Window,
FreeBSD ,
,
-
.
,
,
.
.
? 8. , ,
FreeBSD. : .
,
(shell)
, Windows, , UNIX , . 17). ,
!
Windows Mac OS. COMMAND.COM MS-DOS, . . (shell). , , , ( . ? . 12.1. -
. " .
"
,
-
, ,
. ɨɛɨɥɨɱɤɚ
Ɋɢɫɭɧɨɤ 12,1 ,
ɩɨɥɶɡɨɜɚɬɟɥɶ
Ƚɥɚɜɚ 12. ɇɚɫɬɪɨɣɤɚ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
—
223
,
.
, , .
,
,
, . (shell)
.
, . Windows 95 ,
, ,
(Windows 3.1, DESQview " " DOS ( . . ,
DOS). ).
-
MS-
, .
" ( . .
" (shelling out) DOS UNIX). FreeBSD,
8 , sh, csh, bash, ksh
.
, tcsh.
, .
-
13 Bourne (sh),
. .
Ɋɚɛɨɬɚ ɫ ɤɨɦɚɧɞɧɵɦɢ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚɦɢ FreeBSD tcsh,
, /bin/tcsh. bash (
,
FreeBSD Linux), BSD Linux),
System V (
UNIX.
. UNIX .
,
Linux FreeBSD GNU BSD. bash, FreeBSD — tcsh. GNU, Linux
Linux bash , Public License, GPL), bash
Linux
,
, bash -
,
,
tcsh , .
.
Linux,
GNU (GNU , -
bash
.
, ksh
:
zsh.
, . tcsh
.
bash.
-
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
224
ɍɫɬɚɧɨɜɤɚ ɤɨɦɚɧɞɧɵɯ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɜ FreeBSD (
.
15).
. -
, .
(package manager). Packages. -
sysinstall /stand/sysinstall, Configure, CD-ROM ( FreeBSD) FTP. , , .
Shells
(X). .
Enter "
"
Install. .
sysinstall, Exit Install —
Configuration, . /usr/local/bin, man bash.
Exit .
( ) -
, ,
( 15)
, -
.
, /usr/local,
,
(
, FreeBSD).
, ,
/usr/ports sysinstall.
, /usr/ports/shells .
. ( ,
/usr/ports) ,
, ,
44bsd-csh/ Makefileesh README.html bashl/ bash2/
. Makefile, .
es/osh/rc/vshnu/ /pash/ruby-shell/wapsh/ flash/pdksh/sash/zsh/ ksh93/perlsh/scsh/sh-devel/ nradsh/pkg/tcsh/
make: , .
-
, make install.
-
Ƚɥɚɜɚ 12. ɇɚɫɬɪɨɣɤɚ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
225
make clean, :
,
# cd /usr/ports/shells/bash2 # make # make install # make
clean
. ɉɊɂɆȿɑȺɇɂȿ ȿɫɥɢ ɢɫɩɨɥɶɡɭɟɬɫɹ tcsh, ɦɨɠɟɬ ɩɨɬɪɟɛɨɜɚɬɶɫɹ ɜɵɩɨɥɧɢɬɶ ɤɨɦɚɧɞɭ rehash, ɤɨɬɨɪɚɹ ɡɚɫɬɚɜɥɹɟɬ ɤɨɦɚɧɞɧɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ ɡɚɧɨɜɨ ɩɪɨɱɟɫɬɶ ɮɚɣɥɵ ɤɨɧɮɢɝɭɪɚɰɢɢ, ɱɬɨɛɵ ɨɛɧɨɜɢɬɶ ɩɭɬɢ, ɤ ɤɨɬɨ-ɪɵɦ ɦɨɝɥɢ ɞɨɛɚɜɢɬɶɫɹ ɧɨɜɵɟ ɩɪɨɝɪɚɦɦɵ. ȼ ɢɧɨɦ ɫɥɭɱɚɟ ɞɨɫɬɭɩ ɤ ɧɢɦ ɦɨɠɟɬ ɨɤɚɡɚɬɶɫɹ ɧɟɜɨɡ-ɦɨɠɧɵɦ ɛɟɡ ɜɵɯɨɞɚ ɢɡ ɫɢɫɬɟɦɵ ɢ ɩɨɜɬɨɪɧɨɝɨ ɜɯɨɞɚ ɜ ɧɟɟ (ɮɚɤɬɢɱɟɫɤɢ, ɛɟɡ ɩɟɪɟɡɚɩɭɫɤɚ ɤɨɦɚɧ-ɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ].
Ɏɚɣɥ /etc/shells ,
,
, /etc/shells
/etc/shells. ,
. :
# cat /etc/shells # $FreeBSD: src/etc/shells,v #
1.3
1999/08/27
#
23:23:45
peter
Exp
$
chpass(l).
# Ftpd #
, .
/bin/sh /bin/csh /bin/tcsh /usr/local/bin/bash /usr/local/bin/zsh /usr/local/bin/ksh
/etc/shells —
,
,
,
. ,
,
, .
setuid UID
,
,
root.
/etc/master.passwd /etc/passwd).
10).
root, ,
, ,
,
(
setuid
.
chsh
/etc/shells. ( 8:
-
,
226
ɑɚɫɬɶ ɗ. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
/etc/master.passwd: foo:*:$!$LXZkCuzD$70a8LyRgbjYOb.XrXiBad.:1001:1001::999066364:0:Foo Bar:/hom e/foo:/usr/local/bin/ksh /etc/passwd: foo:*:1001:1001::Foo Bar:/home/foo:/usr/local/bin/ksh
(
/usr/local/bin/ksh),
/etc/shells, , FTP
.
FTP. /etc/shells,
, ,
adduser (
.
10). ,
/etc/shells. :
root ,
/etc/shells, telnet/ssh) .
(
,
FTP, .
,
-
(
/etc/shells
), ( , telnet
root). FTP
ssh, .
, /etc/shells. -
.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɚɥɶɬɟɪɧɚɬɢɜɧɵɯ ɤɨɦɚɧɞɧɵɯ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɜ , .
: ,
-
Linux
bash, (
). —
, .
ɂɡɦɟɧɟɧɢɟ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ɜ ɩɪɨɰɟɫɫɟ ɪɚɛɨɬɵ . tcsh, -
bash (
),
, bash
tcsh. # bash bash-2. 0 4 #
: bash, .
: —
tcsh. (login shell)
Ƚɥɚɜɚ 12. ɇɚɫɬɪɨɣɤɚ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
227
ɂɡɦɟɧɟɧɢɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ɩɨ ɭɦɨɥɱɚɧɢɸ , ,
,
.login (
,
), .
, ,
/etc/shells. chsh (change shell — ). . , , Linux, chsh — , . chsh chpass, chfn : . chsh , vi. pico, ( .) chsh. , . # chsh frank #Changing user database Shell: /bin/tcsh Full Name: Frank Allen Office Location: Office Phone: Home Phone: Other ~ ~
information
for
FreeBSD , -
. ,
, EDITOR. root
frank.
information:
vi
.
. .
, .
vi
, .
,
:q!,
Enter. .
:q! /bin/tcsh
Shell:
, /usr/local/bin/bash. vi ( (change — $, /bin/tcs$
frank . chsh frank), ) w (word — :
tcsh. ).
228
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
tcsh
Escape /bin/bash.
bash
.
(
bin) i (insert . /usr/local /usr/local/bin/bash. :w (write — :q Enter. /etc.
)— Escape. Enter
. ,
),
, /etc/passwd.
/etc/master.passwd
/usr/local/bin/bash (
/bin/tcsh. /etc/shells),
, .
ɉɪɨɝɪɚɦɦɵ, ɢɫɩɨɥɶɡɭɟɦɵɟ ɜ ɤɚɱɟɫɬɜɟ ɤɨɦɚɧɞɧɵɯ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɜ .
, , /sbin/nologin),
( . ,
UNIX (
, TinyFugue). . ,
-
. /usr/bin/mail (
). . . ,
-
-
chsh .
,
— .
, :
pty (
), ,
.
pty
,
.
( ),
, telnet) ,
:
FreeBSD/i386 (stripes.somewhere.com)
(ttyp2)
login: frank Password: Last login: Sat May 5 18:35:52 from w044. Z064002043. Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved.
(
Ƚɥɚɜɚ 12. ɇɚɫɬɪɨɣɤɚ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
229
FreeBSD 4.3-RELEASE (STRIPES) #0: Wed Jan 31 18:45:43 PST 2001 Welcome to the system! Today's news: nothing. You have mail. login: /usr/local/bin/foosh: No such Connection closed by foreign host.
file
or
, . (
directory
,
,
, ,
),
, /etc/motd ( ). /etc/ mold , . —
,
,
. -
, /sbin/nologin —
,
.
,
.
,
,
:
You have mail. This account is currently not available. Connection to stripes.somewhere.com closed.
,
.
/sbin/nologin ,
:
, ,
. ,
telnet
. ,
ssh, . -
—
.
/bin/Is , . ,
/usr/bin/fmger. , ,
, ,
.
.
!
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ȿɫɥɢ ɩɪɨɝɪɚɦɦɚ-ɨɛɪɚɛɨɬɱɢɤ ɩɨɞɨɛɧɨɝɨ ɬɢɩɚ ɧɚɩɢɫɚɧɚ ɧɚ ɋ ɢɥɢ ɞɪɭɝɨɦ ɩɨɞɨɛɧɨɦ ɹɡɵɤɟ, ɝɞɟ ɬɪɟɛɭɟɬɫɹ ɹɜɧɨ ɜɵɞɟɥɹɬɶ ɛɥɨɤ ɩɚɦɹɬɢ ɩɟɪɟɞ ɟɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɟɦ, ɫɥɟɞɭɟɬ ɜɧɢɦɚɬɟɥɶɧɨ ɫɥɟɞɢɬɶ ɡɚ ɜɨɡɦɨɠɧɨɫɬɶɸ ɩɟɪɟɩɨɥɧɟɧɢɹ ɛɭɮɟɪɚ! ɗɬɨ ɨɞɧɚ ɢɡ ɫɚɦɵɯ ɪɚɫɩɪɨɫɬɪɚɧɟɧɧɵɯ ɞɵɪ ɜ ɡɚɳɢɬɟ ɫɟɬɟɜɵɯ ɫɥɭɠɛ. ɇɚɣɞɹ ɛɪɟɲɶ ɬɚɤɨɝɨ ɬɢɩɚ, ɨɫɨɛɟɧɧɨ, ɟɫɥɢ ɩɪɨɝɪɚɦɦɚ ɜɵɩɨɥɧɹɟɬɫɹ ɫ ɩɪɚɜɚɦɢ ɩɨɥɶɡɨɜɚɬɟɥɹ root (ɟɫɥɢ ɟɟ ɛɢɬ setuid ɭɫɬɚɧɨɜɥɟɧ ɢ ɜɥɚɞɟɥɶɰɟɦ ɹɜɥɹɟɬɫɹ root), ɚɬɚɤɭɸɳɢɣ ɦɨɠɟɬ ɩɨɥɭɱɢɬɶ ɩɨɥɧɵɣ ɤɨɧɬɪɨɥɶ ɧɚɞ ɫɢɫɬɟɦɨɣ. 8 ɷɬɨɣ ɨɛɥɚɫɬɢ ɧɟɨɛɯɨɞɢɦɨ ɛɵɬɶ ɩɪɟɞɟɥɶɧɨ ɨɫɬɨɪɨɠɧɵɦ!
Ɏɚɣɥɵ ɢɧɢɰɢɚɥɢɡɚɰɢɢ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ,
. ,
-
-
230
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
,
. . ,
. tcsh
,
bash
-
. FreeBSD , tcsh .
.
bash
,
ɉɊɂɆȿɑȺɇɂȿ ɉɪɢ ɫɨɡɞɚɧɢɢ ɧɨɜɨɣ ɭɱɟɬɧɨɣ ɡɚɩɢɫɢ ɩɨɥɶɡɨɜɚɬɟɥɹ, ɤɨɧɮɢɝɭɪɚɰɢɨɧɧɵɟ ɮɚɣɥɵ ɩɨ ɭɦɨɥɱɚɧɢɸ ɤɨɩɢɪɭɸɬɫɹ ɢɡ ɤɚɬɚɥɨɝɚ /usr/share/skel (ɩɪɢɫɬɚɜɤɚ dot ɩɟɪɟɞ ɢɦɟɧɟɦ ɤɚɠɞɨɝɨ ɮɚɣɥɚ ɨɩɭɫɤɚɟɬɫɹ] ɜ ɧɚɱɚɥɶɧɵɣ ɤɚɬɚɥɨɝ ɩɨɥɶɡɨɜɚɬɟɥɹ. ɉɪɢ ɧɟɨɛɯɨɞɢɦɨɫɬɢ ɦɨɠɧɨ ɫɤɨɩɢɪɨɜɚɬɶ ɜɫɟ ɤɨɧɮɢɝɭɪɚɰɢɨɧɧɵɟ ɮɚɣɥɵ ɜ ɤɚɬɚɥɨɝ /usr/local/share/skel, ɜɧɟɫɬɢ ɜ ɧɢɯ ɢɡɦɟɧɟɧɢɹ, ɚ ɡɚɬɟɦ ɭɤɚ-ɡɚɬɶ ɜ ɮɚɣɥɟ /etc/adduser.conf ɧɨɜɨɟ ɦɟɫɬɨɧɚɯɨɠɞɟɧɢɟ ɮɚɣɥɨɜ, ɩɪɢɦɟɧɹɟɦɵɯ ɩɨ ɭɦɨɥɱɚɧɢɸ. Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɦɨɠɧɨ ɜɧɟɫɬɢ ɝɥɨɛɚɥɶɧɵɟ ɢɡɦɟɧɟɧɢɹ ɜ ɤɨɧɮɢɝɭɪɚɰɢɢ ɤɨɦɚɧɞɧɵɯ ɢɧɬɟɪɩɪɟɬɚ-ɬɨɪɨɜ ɟɳɟ ɞɨ ɫɨɡɞɚɧɢɹ ɭɱɟɬɧɵɯ ɡɚɩɢɫɟɣ ɩɨɥɶɡɨɜɚɬɟɥɟɣ.
Ɏɚɣɥɵ tcsh/csh: .cshrc, .login ɢ .logout ,
tcsh, — /etc/csh.cshrc. , FreeBSD ( . 12.1).
/etc/csh.login. ,
Ʌɢɫɬɢɧɝ 12.1 Ƚɥɨɛɚɥɶɧɵɟ ɮɚɣɥɵ /etc/csh.cshrc ɢ /etc/csh.login ____________ # cat /etc/csh.cshrc # $FreeBSD: src/etc/csh.cshrc,v 1.3 # # .cshrc
1999/08/27
23:23:40
peter
Exp
$
csh(l).
# cat /etc/csh.login # $FreeBSD: src/etc/csh.login,v 1.19.2.1 2000/07/31 20:13:26 rwatson ↪ Exp $ # # .login csh(l). # , 4.2, # setenv BLOCKSIZE # # # login.conf(5), charset lang. # locale/usr/share/locale/* # # Ч # msgs -f # # mesg
,
,
.
,
,
,
,
, . ,
-
Ƚɥɚɜɚ 12. ɇɚɫɬɪɨɣɤɚ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ 231
. .login. — /usr/share/skel/dot.cshrc) .
: .cshrc .cshrc ( -
,
: alias alias alias alias alias
h j la If 11
history 25 jobs -1 Is -a Is -FA Is -1A
: set path = (/sbin /bin /usr/sbin /usr/bin /usr/games ↪ sbin /usr/local/bin /usr/XHR6/bin $HOME/bin)
/usr/local/ —
, : setenv setenv setenv
EDITOR vi PAGER more BLOCKSIZE
. .
.csfarc .login,
,
, .
.login ( # #
[
-
/usr/share/skel/dot.login) :
/usr/games/fortune
]
&&
: /usr/games/fortune
, fortune
-s
, .
, /tmp,
,
.
/etc/csh.logout, -
:
# cat /etc/csh.logout # $FreeBSD: src/etc/csh.logout,v 1.3 1999/08/27 23:23:41 peter Exp $ # #
.logout
csh(l).
.logout ,
.
.
ɉɊɂɆȿɑȺɇɂȿ ȼɫɟ ɜɵɲɟɩɟɪɟɱɢɫɥɟɧɧɵɟ ɮɚɣɥɵ ɜɵɩɨɥɧɹɸɬɫɹ ɩɪɢ ɡɚɩɭɫɤɟ tcsh ɜ ɤɚɱɟɫɬɜɟ ɧɚɱɚɥɶɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ. Ɉɞɧɚɤɨ ɤɨɦɚɧɞɧɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ ɦɨɠɟɬ ɛɵɬɶ ɡɚɩɭɳɟɧ ɢ ɩɪɢ ɞɪɭɝɢɯ ɨɛɫɬɨɹɬɟɥɶɫɬɜɚɯ. ɇɚɩɪɢɦɟɪ, ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɫɰɟɧɚɪɢɹ (ɤɨɝɞɚ ɬɪɟɛɭɟɦɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ ɭɤɚɡɚɧ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɜ ɫɬɪɨɤɟ ɫɰɟɧɚɪɢɹ). ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɮɚɣɥɵ .login ɢ .logout (ɚ ɬɚɤɠɟ ɢɯ ɷɤɜɢɜɚɥɟɧɬɵ ɫɢɫɬɟɦɧɨɝɨ ɭɪɨɜɧɹ) ɢɝɧɨɪɢɪɭɸɬɫɹ.
Ɏɚɣɥɵ bash: .profile, .shrc ɢ .bashjogout bash
tcsh: ,
.
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
532
(
/etc/profile,
, 12.2).
/etc/csh.cshrc) ,
12.2
( /etc/profile
# cat /etc/profile # $FreeBSD: src/etc/profile,v 1.12.2.1 # 6. .profile # 7. , 8. 4.2, 9. BLOCKSIZE=K; export BLOCKSIZE # 10. 11. login.conf(5) , 12. locale13. 14. setlocale(3). # 15. Ч 16. msgs -f 17. 18. mesg
/etc/csh.cshrc
2000/07/31 20:13:26 rwatson Exp $ sh(l). -
charset lang. /usr/share/locale/*
, /etc/csh.login.
/etc/profile bash
,
. .profile, ( Bourne:
PATH)
# /usr/games /usr/XHR6/bin PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/bin:/usr/ XllR6/bin:$HOME/bin; export PATH BLOCKSIZE=K; EDITOR=vi; PAGER=more;
export BLOCKSIZE export EDITOR export PAGER
6. ENV 7. sh. ENV=$HOME/.shrc; export
, ENV
ENV
.shrc. . ,
.profile. .cshrc, a
tcsh
, (
# alias alias alias alias alias alias
):
h='fc -11 j=jobs m=$PAGER 11='Is -laFo1 l='ls -1' g='egrep -i1
# # set prompt:
` `username@hostname$
' '
# PSl="'whoami'(T hostname | sed 's/\..*//''"
# #
case
'id
-u~ in 0) PS1="${PS1}#
,
";;
Ƚɥɚɜɚ 12. ɇɚɫɬɪɨɣɤɚ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ #
*)
PS1="${PS1}$
233
";;
# esac
.logout
tcsh,
bash .
.bash_logout, .
-
ɉɊɂɆȿɑȺɇɂȿ ɉɟɪɟɱɢɫɥɟɧɧɵɟ ɜɵɲɟ ɮɚɣɥɵ ɢɫɩɨɥɶɡɭɸɬɫɹ ɢɧɬɟɪɩɪɟɬɚɬɨɪ bash ɬɨɝɞɚ, ɤɨɝɞɚ ɨɧ ɜɵɩɨɥɧɹɟɬɫɹ ɤɚɤ ɧɚɱɚɥɶɧɵɣ ɤɨɦɚɧɞɧɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ. ȼ ɢɧɨɦ ɫɥɭɱɚɟ ɨɧ ɧɟ ɨɛɪɚɳɚɟɬɫɹ ɤ .profile, ɚ ɱɢɬɚɟɬ ɮɚɣɥ .bashrc Ɉɛɵɱɧɨ ɷɬɨɬ ɮɚɣɥ ɜ FreeBSD ɨɬɫɭɬɫɬɜɭɟɬ.
ɇɚɫɬɪɨɣɤɚ ɫɪɟɞɵ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ , (
)
.
.
,
, .
,
tcsh
bash.
,
, .
ɉɊɂɆȿɑȺɇɂȿ ɉɨɞɪɨɛɧɭɸ ɢɧɮɨɪɦɚɰɢɸ ɨ ɛɨɥɶɲɨɦ ɱɢɫɥɟ ɜɫɬɪɨɟɧɧɵɯ ɤɨɦɚɧɞ, ɱɚɫɬɶ ɢɡ ɤɨɬɨɪɵɯ ɩɪɟɞɫɬɚɜɥɟɧɚ ɜ csh/tcsh, ɱɚɫɬɶ ɜ bash, ɚ ɱɚɫɬɶ — ɜ ɨɛɨɢɯ, ɦɨɠɧɨ ɧɚɣɬɢ ɜ ɫɩɪɚɜɨɱɧɨɦ ɪɭɤɨɜɨɞɫɬɜɟ man builtin
ɇɚɫɬɪɨɣɤɚ tcsh (alias). . ,
,
. .cshrc: alias
11
Is
-1
11 /usr/local
Is -1 /usr/local.
, — ? tcsh. ,
man tcsh. \!^ ( . .
,
alias lookup
grep \!
lookup frank. unalias
lookup
— \!:2, \!:3
\!:1), ,
:
/etc/passwd
unalias:
234
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
.
prompt: ,
, Perl. "
"
, ,
, . ,
sed (stream editor — )
,
:
'whoami'@'hostname
|
sed
's/\..*//'":!}
"
, pwd (present working
, ):
directory — # {
-
!.
,
# set prompt="{ { root@www:23}
,
set prompt="{ /root:24}
'pwd':!}
"
,
tcsh (
). ,
" set,
,
". , ,
. -
: set path = (/sbin /usr/sbin /bin /usr/bin /usr/local/bin /usr/ contrib/bin /usr/XllR6/bin /usr/local/sbin /usr/games . /usr/local/ mystuff)
. delete #
stty
-
stty. , , .
backspace :
,
-a
speed 38400 baud; 60 rows; 80 columns; Iflags: icanon isig iexten echo echoe -echoic echoke -echonl echoctl echoprt -altwerase -noflsh -tostop -flusho pendin . -nokerninfo -extproc iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel -ignbrk brkint -inpck -ignpar -parmrk oflags: opost onlcr -oxtabs cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb crtscts -dsrflow -dtrflow -mdmbuf cchars: discard = ^0; dsusp = ^Y; eof = ^D; eol = ; eo12 = ; erase = ^?; intr = ^C; kill = ^U; lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W;
,
(erase) :
# stty erase ^H
^ ,
-
Ƚɥɚɜɚ 12. ɇɚɫɬɪɨɣɤɚ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
, ,
235
(watch), ,
.
: set watch=(l any any) set who="%n has %a %1
from %M."
tcsh, 60
autologout.
, — .
. : unset
autologout;
, , ,
, — rehash.
bash ,
bash ,
tcsh, alias
11=4s
-
tcsh. .
=,
,
, lookup bash
,
, .
1
-laFo
bash. (primary)
, (PS1
(secondary) . tcsh,
,
bash
PS2), ,
. ( !,
, # {
tcsh):
PS1="{ 'whoami'( hostname root@www:17)
|
sed
's/\
. . * / / ' ' :\!)
,
"
,
: # {
PS1="{ -pwd-\ /root:18}
:!}
path ,
PATH.
.
, export.
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/bin:/usr/ ↪ XllR6/bin:$HOME/bin; export PATH
( . . )
.
-
236
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
ɉɟɪɟɦɟɧɧɵɟ ɫɪɟɞɵ ɢ ɩɟɪɟɦɟɧɧɵɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ tcsh bash 13, ,
. .
,
-
.
ɉɟɪɟɦɟɧɧɵɟ ɫɪɟɞɵ ,
,
.
, .
,
.
, EDITOR, , BLOCKSIZE . , ,
-
,
chfn
, .
TERM du
,
df:
-
,— .
,
,
printenv,
12.3. Ʌ ɢ ɫ ɬ ɢ ɧ ɝ 1 5 . 3 ɉ ɪ ɢ ɦ ɟ ɪ ɜ ɵ ɜ ɨ ɞ ɚ ɤ ɨ ɦ ɚ ɧ ɞ ɵ p r i n t e n v _ # printenv PATH=/sbin : /usr/sbin : /bin: /usr/bin : /usr/local/bin : /usr/contrib/bin : /usr/
↪ XllR6/bin:. MAIL=/var/mail/frank BLOCKSIZE=1k
FTP_PASSIVE_MODE=YES USER=frank LOGNAME=frank
HOME=/home/frank
SHELL=/bin/tcsh SSH_CLIENT=192.168.173.230 SSH_TTY=/dev/ttypO TERM=vtlOO HOSTTYPE=FreeBSD VENDOR=intel OSTYPE=FreeBSD MACHTYPE=i386 SHLVL=1 PWD=/home/frank GROOP=users
50095
22
HOST=stripes.somewhere.com
REMOTEHOST=192.168.173.230 PATHSET=true EDITOR=vi VISUAL=pico
,
.
-
Ƚɥɚɜɚ 12. ɇɚɫɬɪɨɣɤɚ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
COLOR
237
- :
gold tcsh
# setenv COLOR gold
B bash
, :
4 COLOR=gold 5 export COLOR
,
.
null
.
ɉɟɪɟɦɟɧɧɵɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ,
.
.
.
,
,
,
-
—
. tcsh
—
bash.
-
set. tcsh
set. ,
# set history noclobber
100 #
tcsh
:
set
,
bash
:
# VISUAL=pico
unset unset
:#
autologout
13, .
-
,
13 ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚ ɹɡɵɤɟ ɤɨ ɦ ɚ ɧ ɞ ɧ ɨ ɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
◀ ɉɪɢɦɟɪ ɩɪɨɫɬɨɣ ɩɪɨɝɪɚɦɦɵ gɥɹ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ◀ ɉɟɪɟɦɟɧɧɵɟ ◀ ȼɡɚɢɦɨɞɟɣɫɬɜɢɟ ɫ ɩɨɥɶɡɨɜɚɬɟɥɟɦ ◀ Ⱥɪɢɮɦɟɬɢɱɟɫɤɢɟ ɨɩɟɪɚɢɢɢ ɜ ɫɰɟɧɚɪɢɹɯ ◀ ɐɢɤɥɵ ◀ ɍɫɥɨɜɧɵɟ ɨɩɟɪɚɬɨɪɵ ◀ Ʉɨɞ ɡɚɜɟɪɲɟɧɢɢ ◀ Ɏɭɧɤɰɢɢ ◀ Ɏɚɣɥɨɜɵɟ ɞɟɫɤɪɢɩɬɨɪɵ ◀ Ɉɬɥɚɞɤɚ ɫɰɟɧɚɪɢɟɜ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ◀ Ɋɚɫɲɢɪɟɧɧɵɟ ɜɨɡɦɨɠɧɨɫɬɢ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ Ʉɨɝn
Ƚɥɚɜɚ 13. ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚ ɹɡɵɤɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ 239
8
, .
, .
: ,
-
. FreeBSD .
FreeBSD
,
"
",
.
. . FreeBSD
, .
,
,
,
, ,
,
, . . ,
,
,
,
Internet . -
Perl
, DOS",
"
. bat-
, ,
, DOS, .
,
,
, , . FreeBSD,
. , FreeBSD: •
. ,
,
FreeBSD, -
,
. •
.
, ,
5—10
. •
. 100
,
, .
"for"
-
•
.
-
, ,
. FreeBSD .
•
,
. .
FreeBSD
"
-
".
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
240
, . •
.
,
,
, ,
, .
,
FreeBSD.
ɉɊɂɆȿɑȺɇɂȿ ɋɧɚɱɚɥɚ ɦɵ ɪɚɫɫɤɚɠɟɦ ɨ ɤɨɦɚɧɞɚɯ, ɩɪɢɫɭɳɢɯ ɜɫɟɦ ɤɨɦɚɧɞɧɵɦ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚɦ Bourne. ȼɬɨɪɚɹ ɱɚɫɬɶ ɝɥɚɜɵ ɩɨɫɜɹɳɟɧɚ ɪɚɫɲɢɪɟɧɧɵɦ ɜɨɡɦɨɠɧɨɫɬɹɦ Ʉɨrn ɢ ɞɪɭɝɢɯ ɤɨɦɚɧɞɧɵɯ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɜ, ɩɨɞɞɟɪɠɢɜɚɸɳɢɯ ɫɬɚɧɞɚɪɬ POSIX. ȿɫɥɢ ɧɭɠɧɚ ɩɪɨɝɪɚɦɦɚ, ɫɩɨɫɨɛɧɚɹ ɪɚɛɨɬɚɬɶ ɜ ɪɚɡɧɵɯ ɫɢɫɬɟɦɚɯ, ɢ ɡɚɪɚɧɟɟ ɧɟɢɡɜɟɫɬɧɨ, ɤɚɤɢɟ ɢɧɬɟɪɩɪɟɬɚɬɨɪɵ ɛɭɞɭɬ ɩɪɢɦɟɧɹɬɶɫɹ, ɢɦɟɟɬ ɫɦɵɫɥ ɨɝɪɚɧɢɱɢɬɶɫɹ ɧɚɛɨɪɨɦ ɨɛɳɢɯ ɤɨɦɚɧɞ.
ɉɊɂɆȿɑȺɇɂȿ Ɉ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɢ ɜ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚɯ ɫɟɦɟɣɫɬɜɚ csh ɜ ɷɬɨɣ ɝɥɚɜɟ ɧɟ ɪɚɫɫɤɚɡɵɜɚɟɬɫɹ. ɋɥɟɞɭɟɬ ɨɬɦɟɬɢɬɶ, ɱɬɨ ɩɨɞɨɛɧɵɟ ɢɧɬɟɪɩɪɟɬɚɬɨɪɵ ɧɟ ɫɥɢɲɤɨɦ ɭɞɨɛɧɵ ɞɥɹ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ, ɩɨɫɤɨɥɶɤɭ ɢɦ ɧɟɞɨɫɬɚɟɬ ɦɧɨɝɢɯ ɩɨɥɟɡɧɵɯ ɫɜɨɣɫɬɜ (ɜɤɥɸɱɚɹ ɮɭɧɤɰɢɢ ɢ ɨɛɦɟɧ ɩɨɬɨɤɨɜ STDOUT ɢ STDERR]. Ɋɟɤɨɦɟɧɞɭɟɬɫɹ ɢɫɩɨɥɶɡɨɜɚɬɶ ɤɨɦɚɧɞɧɵɟ ɢɧɬɟɪɩɪɟɬɚɬɨɪɵ ɫɟɦɟɣɫɬɜɚ Bourne.
ɉɪɢɦɟɪ ɩɪɨɫɬɨɣ ɩɪɨɝɪɚɦɦɵ ɞɥɹ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ "Hello, World!". Bourne: 1. 2. 3. 4. 5.
• • • •
#!/bin/sh #
"Hello, #
World!", Bourne.
echo echo "Hello World!" echo exit 0
!
. .
.
.
: chmod
u+x
hello
(
,
hello). .
:
bash$ ./hello Hello World! bash$
. •
"
1: #!,
"
FreeBSD,
, .
Ƚɥɚɜɚ 13. ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚ ɹɡɵɤɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
Bourne, /bin/sh. : /usr/bin/perl, /usr/local/bin/python . . 2 5: . ,
•
24 I
Perl Python —
(
). .
•
3
.
4:
# .
. : ,
•
6: ,
(
. , STDOUT echo STDOUT . "Hello, World!" STDOUT.
echo ). .
•
7:
echo , ( . .
).
,
, .
,
. -
. • •
.
8: 9:
.
echo exit .(
,
-
.)
,
, ,
.
0,
,
0,
, :
. .
, -
.
, . ,
-
,
.
printf echo ,
printf. . echo: 1. #!/bin/sh 2. 3. # 4. # 5. 10.printf "\nHello 11. exit 0
,
"Hello,
,
printf
World!", Bourne.
World!\n\n!"
.
242
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
,
printf
. ,
(
,
, "n" —
, -
, ).
. ,
echo,
,
printf. .
,
. ,
printf ,
,
. -
printf
printf "Hello, "World!\n\n"
:
" printf
"Hello, World!", , printf
. . printf, "Hello" "World!" printf
echo . :
Ɍɚɛɥɢɰɚ 13.1 ɍɩɪɚɜɥɹɸɳɢɟ ɫɢɦɜɨɥɵ ɮɨɪɦɚɬɢɪɨɜɚɧɢɹ ɜɵɜɨɞɚ ɤɨɦɚɧɞɵ printf
Ɂɜɭɤɨɜɨɣ ɫɢɝɧɚɥ. ȼɨ ɜɪɟɦɟɧɚ ɬɟɥɟɬɚɣɩɨɜ ɧɚ ɦɚɲɢɧɟ ɡɜɟɧɟɥ ɧɚɫɬɨɹɳɢɣ ɡɜɨɧɨɤ. ȼ ɧɚɲɢ ɞɧɢ ɷɬɨɬ ɫɢɦɜɨɥ ɩɨɞɚɟɬ ɫɢɝɧɚɥ ɧɚ ɞɢɧɚɦɢɤ ɤɨɦɩɶɸɬɟɪɚ.
\ɚ
\ɖ
ɉɟɱɚɬɚɟɬ ɫɢɦɜɨɥ "backspace".
\f
ɉɟɱɚɬɚɟɬ ɫɢɦɜɨɥ "ɩɟɪɟɯɨɞ ɤ ɧɨɜɨɣ ɫɬɪɚɧɢɰɟ".
\n
ɋɢɦɜɨɥ ɩɟɪɟɯɨɞɚ ɤ ɧɨɜɨɣ ɫɬɪɨɤɟ.
\ɝ
ȼɵɜɨɞɢɬ ɫɢɦɜɨɥ ɜɨɡɜɪɚɬɚ ɤɚɪɟɬɤɢ, (ɜɨɡɜɪɚɳɚɟɬɫɹ ɤ ɩɟɪɜɨɦɭ ɫɢɦɜɨɥɭ ɫɬɪɨɤɢ)
\t
ɉɟɱɚɬɚɟɬ ɫɢɦɜɨɥ ɬɚɛɭɥɹɰɢɢ.
\v
ɉɟɱɚɬɚɟɬ ɫɢɦɜɨɥ ɜɟɪɬɢɤɚɥɶɧɨɣ ɬɚɛɭɥɹɰɢɢ.
\`
ɋɢɦɜɨɥ ɨɞɢɧɚɪɧɨɣ ɤɚɜɵɱɤɢ.
\"
ɋɢɦɜɨɥ ɞɜɨɣɧɨɣ ɤɚɜɵɱɤɢ.
\\
ɋɢɦɜɨɥ ɨɛɪɚɬɧɨɣ ɤɨɫɨɣ ɱɟɪɬɵ. ɉɟɱɚɬɚɟɬ ɫɢɦɜɨɥ, ɡɚɞɚɧɧɵɣ ɜɨɫɶɦɟɪɢɱɧɵɦ ASCII-ɤɨɞɨɦ num. ȼɟɪɨɹɬɧɨ, ɜɚɦ ɧɢɤɨɝɞɚ ɧɟ ɩɪɢɞɟɬɫɹ ɩɨɥɶɡɨɜɚɬɶɫɹ ɢɦ ɜ ɫɰɟɧɚɪɢɹɯ.
\num
,
. .
ɉɟɪɟɦɟɧɧɵɟ , ,
.
-
Ƚɥɚɜɚ 13. ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚ ɹɡɵɤɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
, ( . .
,
243
).
:
. ,
, ,
—
, —
.
, ,
,
. .
ɉɪɢɫɜɨɟɧɢɟ ɡɧɚɱɟɧɢɹ ɩɟɪɟɦɟɧɧɨɣ : myvar=5
myvar 5
${myvar}
5. ,
$. .
STDOUT, . .
echo
ɉ Ɋ ɂ Ɇ ȿɑ Ⱥ ɇ ɂ ȿ ȼ ɩɪɢɫɜɨɟɧɢɢ ɩɟɪɟɦɟɧɧɵɯ ɜɚɠɧɭɸ ɪɨɥɶ ɢɝɪɚɸɬ ɩɭɫɬɵɟ ɫɢɦɜɨɥɵ. ȼɵɪɚɠɟɧɢɟ myvar=5 ɩɪɢɫɜɚɢɜɚɟɬ 5 ɩɟɪɟɦɟɧɧɨɣ myvar. Ⱥ ɜɵɪɚɠɟɧɢɟ myvar = 5 ɩɪɢɜɨɞɢɬ ɤ ɨɲɢɛɤɟ, ɩɨɫɤɨɥɶɤɭ ɢɧɬɟɪɩɪɟɬɚɬɨɪ ɬɪɚɤɬɭɟɬ myvar ɤɚɤ ɢɦɹ ɤɨɦɚɧɞɵ, ɤɨɬɨɪɭɸ ɨɧ ɩɵɬɚɟɬɫɹ ɡɚɩɭɫɬɢɬɶ, ɚ ɧɟ ɤɚɤ ɢɦɹ ɩɟɪɟɦɟɧɧɨɣ.
,
,
.
— ,
.
:
myvarB=$myvar myvar -
myvarB
myvarB.
,
.
, (
STDIN . . -
). , export.
. ,
:
MYVAR=5 export MYVAR
,
MYVAR, ,
-
, .
ɂɦɟɧɚ ɩɟɪɟɦɟɧɧɵɯ .
,
.
.
,
. ,
. avg_rainfall ( xyz123.
_
),
, ,
,
244
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
ɋɈȼȿɌ ɉɨ ɫɨɝɥɚɲɟɧɢɸ ɜ ɢɦɟɧɚɯ ɥɨɤɚɥɶɧɵɯ ɩɟɪɟɦɟɧɧɵɯ ɢɫɩɨɥɶɡɭɸɬɫɹ ɫɢɦɜɨɥɵ ɧɢɠɧɟɝɨ ɪɟɝɢɫɬɪɚ, ɚ ɜ ɢɦɟɧɚɯ ɩɟɪɟɦɟɧɧɵɯ ɫɪɟɞɵ — ɜɟɪɯɧɟɝɨ. ɇɟɤɨɬɨɪɵɟ ɩɪɨɝɪɚɦɦɢɫɬɵ ɩɪɟɞɩɨɱɢɬɚɸɬ ɢɫɩɨɥɶɡɨɜɚɬɶ ɫɦɟɲɚɧɧɵɟ ɢɦɟɧɚ ɞɥɹ ɥɨɤɚɥɶɧɵɯ ɩɟɪɟɦɟɧɧɵɯ, ɱɬɨ ɩɨɡɜɨɥɹɟɬ ɨɬɥɢɱɚɬɶ ɢɯ ɨɬ ɞɪɭɝɢɯ ɤɨɦɚɧɞ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ, ɤɨɬɨɪɵɟ, ɤɚɤ ɩɪɚɜɢɥɨ, ɫɨɫɬɨɹɬ ɢɡ ɫɢɦɜɨɥɨɜ ɬɨɥɶɤɨ ɧɢɠɧɟɝɨ ɪɟɝɢɫɬɪɚ.
ȼɡɚɢɦɨɞɟɣɫɬɜɢɟ ɫ ɩɨɥɶɡɨɜɚɬɟɥɟɦ , STDIN. (
-
,
STDIN). "Hello,
read. World",
,
STDIN,
,
: I. 2.
#!/bin/sh
3.
#
Hello,
21. . 22. . echo • echo -n "Please enter your • read name 8. echo 8. echo "Hello, ${name}!" 9. echo 1 1 . exit 0
name:
Id,
#
"
: Please enter your name: Hello, Mike!
Mike
, •
6:
: echo.
-n
,
, ,
echo. your name:. • 7:
read name.
, , •
— Enter,
STDIN, . read ,
. read
Please enter
-
. 9:
echo
Hello, -
name. .
(
read 13.1).
,
13.1.
.
.
Ƚɥɚɜɚ 13. ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚ ɹɡɵɤɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
245
Ʌɢɫɬɢɧɝ 13.1 ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɧɟɫɤɨɥɶɤɢɯ ɩɟɪɟɦɟɧɧɵɯ ɜ ɚɪɝɭɦɟɧɬɟ ɤɨɦɚɧɞɵ read #!/bin/sh echo echo -n ↪
"
read varl echo
echo echo echo echo exit
, :
"
var2
var3
"The value of varl is: "The value of var2 is: "The value of var3 is:
${varl)" ${var2)" ${var3)"
0
: ,
: 557 2024 57240
The value of varl is: 557 The value of var2 is: 2024 The value of var3 is: 57240
He
,
.
-
read . ,
,
,
,
.
,
,
-
,
. , : Enter three numbers separated by spaces or tabs: 1 2 3 4 5 6 7 8 9 0 The value of varl is: 1 The value of var2 is: 2 The value of var3 is: 3 4 5
6 7 8
9
0
Ɉɛɪɚɛɨɬɤɚ ɚɪɝɭɦɟɧɬɨɜ ɤɨɦɚɧɞɧɨɣ ɫɬɪɨɤɢ -
. .
,
.
. ,
$1-$9. POSIX,
${10}, ${11}
. .
, ,
Bourne
$1-$9.
,
$0 ,
$# —
.
$@ —
:
#!/bin/sh echo echo "The name of the program is: $0" echo "The total number of arguments received is: echo "The complete argument string is: #@" echo "Your first name is: $1" echo "Your last name is: $2" echo exit 0
$#"
-
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
246
: bash$ ./yourname Michael Urban The name of the program is: ./yourname The total number of arguments received is: 2" The complete argument string is: Michael Urban" Your first name is: Michael Your last name is: Urban bash$
ɉɊɂɆȿɑȺɇɂ ȿ Ʉɨɦɚɧɞɧɵɣ ɢɧɬɟɪɩɪɟɬɚɬɨɪ FreeBSD, ɩɨɞɞɟɪɠɢɜɚɸɳɢɣ ɫɬɚɧɞɚɪɬ POSIX, ɢɦɟɟɬ ɤɨɦɚɧɞɭ getopts — ɛɨɥɟɟ ɝɢɛɤɢɣ ɫɩɨɫɨɛ ɨɛɪɚɛɨɬɤɢ ɚɪɝɭɦɟɧɬɨɜ ɤɨɦɚɧɞɧɨɣ ɫɬɪɨɤɢ ɜ ɫɰɟɧɚɪɢɢ. Ɇɵ ɢɡɭɱɢɦ ɷɬɭ ɤɨɦɚɧɞɭ ɩɪɢ ɨɛɫɭɠɞɟɧɢɢ ɪɚɫɲɢɪɟɧɧɵɯ ɜɨɡɦɨɠɧɨɫɬɟɣ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɜ ɢɧɬɟɪɩɪɟɬɚɬɨɪɟ Ʉɨɬ. ȿɫɥɢ ɜɵ ɫɨɡɞɚɟɬɟ Bourne-ɫɰɟɧɚɪɢɢ (ɬ.ɟ. ɨɧɢ ɢɫɩɨɥɶɡɭɸɬ sh), ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɟ ɞɥɹ ɞɪɭɝɢɯ UNIX-ɫɢɫɬɟɦ, ɧɟ ɫɥɟɞɭɟɬ ɩɪɢɦɟɧɹɬɶ getopts, ɩɨɫɤɨɥɶɤɭ ɷɬɚ ɤɨɦɚɧɞɚ ɹɜɥɹɟɬɫɹ ɧɟɫɬɚɧɞɚɪɬɧɨɣ ɞɥɹ Bourne. ȼ ɪɟɡɭɥɶɬɚɬɟ ɩɪɨɝɪɚɦɦɚ ɦɨɠɟɬ ɨɤɚɡɚɬɶɫɹ ɧɟɪɚɛɨɬɨɫɩɨɫɨɛɧɨɣ ɜ ɞɪɭɝɢɯ ɫɢɫɬɟɦɚɯ.
ɉɨɞɫɬɚɧɨɜɤɚ ɤɨɦɚɧɞ .
`. .` ,
(
,
~).
,
:
TodayDate='date'
date
TodayDate. .
Ⱥɪɢɮɦɟɬɢɱɟɫɤɢɟ ɨɩɟɪɚɰɢɢ ɜ ɫɰɟɧɚɪɢɹɯ Bourne ,
-
-
, ,
.
:
var3='expr varl + var2`
varl
varl
var3. .
,
.
varl+var2 . . -
5/2
,
.
. 2. (%).
,
1.
5%2
,
,
, *
,
:
.
,
pr 2 * 2 . 2 \* 2.
(*) .
Ƚɥɚɜɚ 13. ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚ ɹɡɵɤɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
247
( ). 0.
-
, ,
1.
:
2 + 2 = 4 + 1
0(
),
2 + 2 = 3 + 1
1( != "
). .
".
,
,
5 != 3 .
— 1( :
). -
, .
.
,
/ 1( (\>=)
5 \> 4
,
).
(\ /dev/null echo $?
0
bash$ bash$ Is -2 /dev/null Is: illegal option — 2 usage: Is [-ABCFGHLPRTWabcdfgiklnoqrstul] bash$ echo $?
[file
...]
1
bash$
0 (
$? Is
/dev/null).
.
Is
1.
$? .
,
AND/OR. .
,
AND/OR, if:
if tar then
cvfz
backup.tar.gz
documents/2000/*
rm -r documents/2000 e l s e echo "Archive operation
failed"
fi
. if then, . .
0,
tar. .
0,
else. test.
, ,
. .
test test
: if [-f program, conf] then : # touch program.conf done
else
"program.conf. ,
0 .(
then. .
—
Ƚɥɚɜɚ 13. ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚ ɹɡɵɤɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
).
,
1, touch. , 13.3.
else, test .
261
test
-
13.3 -f
Ɏɚɣɥ ɫɭɳɟɫɬɜɭɟɬ ɢ ɷɬɨ ɨɛɵɱɧɵɣ ɮɚɣɥ
-d
Ɏɚɣɥ ɫɭɳɟɫɬɜɭɟɬ ɢ ɹɜɥɹɟɬɫɹ ɤɚɬɚɥɨɝɨɦ
-s
Ɏɚɣɥ ɫɭɳɟɫɬɜɭɟɬ ɢ ɟɝɨ ɪɚɡɦɟɪ ɛɨɥɶɲɟ ɧɭɥɹ
-
Ɏɚɣɥ ɫɭɳɟɫɬɜɭɟɬ ɢ ɹɜɥɹɟɬɫɹ ɫɩɟɰɢɚɥɶɧɵɦ ɮɚɣɥɨɦ ɫɢɦɜɨɥɶɧɨɝɨ ɭɫɬɪɨɣɫɬɜɚ
-ɖ
Ɏɚɣɥ ɫɭɳɟɫɬɜɭɟɬ ɢ ɹɜɥɹɟɬɫɹ ɫɩɟɰɢɚɥɶɧɵɦ ɮɚɣɥɨɦ ɛɥɨɱɧɨɝɨ ɭɫɬɪɨɣɫɬɜɚ
-r
Ɏɚɣɥ ɫɭɳɟɫɬɜɭɟɬ ɢ ɞɨɫɬɭɩɟɧ ɞɥɹ ɱɬɟɧɢɹ
-w
Ɏɚɣɥ ɫɭɳɟɫɬɜɭɟɬ ɢ ɞɨɫɬɭɩɟɧ ɞɥɹ ɡɚɩɢɫɢ
-ɯ
Ɏɚɣɥ ɫɭɳɟɫɬɜɭɟɬ ɢ ɞɨɫɬɭɩɟɧ ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ
ɍɫɬɚɧɨɜɤɚ ɤɨɞɚ ɡɚɜɟɪɲɟɧɢɹ , ,
.
, ,
exit. .
,
$?
-
. .
,
,
,
. ,
,
0 .
1.
0
,
. . ,
,
,
-
. :
if [-r program.conf] then : # else exit 1 fi if [touch /tmp/program.lock] then : # else exit 2 fi
# exit
if
program.conf. 1. — /tmp/program.lock.
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
262
, 2.
,
, 0. .
,
.
ɉɟɪɟɯɜɚɬ ɩɪɟɪɵɜɚɧɢɣ ɩɪɢ ɜɵɯɨɞɟ ,
FreeBSD
-
,
( -
kill, , Ctrl-C). , . ,
, Ctrl-C,
. -
.
,
#!/bin/sh # trap 'echo "Interrupt received. echo -n "Enter a number: " readln num exit 0
: Quitting."
1>$2'
1, 2, 3 . "Enter a number", received"
1
2
3
15
15.
, 2 (INT). "Interrupt
Ctrl-C, ,
. , 1>&2
echo. .
, echo
-
STDERR. .
-
STDERR
1>&2.
.
, ,
(
). Ctrl-C, .
, trap
''
:
2
,
2
.
,
. . ,
. ɉɊɂɆȿɑȺɇɂȿ ɋɢɝɧɚɥ 1 5 (ɩɨɫɵɥɚɟɦɵɣ ɩɨ ɭɦɨɥɱɚɧɢɸ ɤɨɦɚɧɞɨɣ kill) ɢ ɞɪɭɝɢɟ ɫɢɝɧɚɥɵ ɤɨɦɚɧɞɵ kill ɦɨɠɧɨ ɩɟɪɟɯɜɚɬɵɜɚɬɶ, ɨɞɧɚɤɨ ɷɬɨ ɧɟ ɨɬɧɨɫɢɬɫɹ ɤ ɫɢɝɧɚɥɭ 9 (SIGKILL) Ɉɧ ɢɫɩɨɥɶɡɭɟɬɫɹ ɜ ɤɚɱɟɫɬɜɟ
13.4.
Ƚɥɚɜɚ 13. ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚ ɹɡɵɤɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
263
ɩɨɫɥɟɞɧɟɣ ɜɨɡɦɨɠɧɨɫɬɢ ɩɪɟɪɜɚɬɶ ɪɚɛɨɬɭ ɩɪɨɝɪɚɦɦɵ, ɤɨɝɞɚ ɨɫɬɚɥɶɧɵɟ ɦɟɬɨɞɵ ɧɟ ɩɨɦɨɝɚɸɬ. ɉɨɷɬɨɦɭ ɟɝɨ ɧɟɥɶɡɹ ɧɢ ɩɟɪɟɯɜɚɬɢɬɶ, ɧɢ ɢɝɧɨɪɢɪɨɜɚɬɶ. Ɍɚɛɥɢɰɚ 13.4 Ɋɚɫɩɪɨɫɬɪɚɧɟɧɧɵɟ ɫɢɝɧɚɥɵ ɩɪɟɪɵɜɚɧɢɣ ɢ ɢɯ ɞɟɣɫɬɜɢɟ 0
ȼɵɯɨɞ
1
HUP — Ɉɛɪɵɜ ɫɟɚɧɫɚ (ɢɥɢ ɨɬɫɨɟɞɢɧɟɧɢɟ)
2
2INT — ɉɪɟɪɵɜɚɧɢɟ (Ctrl-C)
3
QUIT — ȼɵɯɨɞ (Ctrl-\)
15
TERM — Ɉɛɵɱɧɚɹ ɤɨɦɚɧɞɚ kill
Ɏɭɧɤɰɢɢ ,
.
"
". .
, ,
—
, -
.
,
, —
.
, -
,
.
:
#!/bin/sh on_exit() { rm -rf /tmp/myprogram.* mv logflie logfile.old mail [email protected] < report.txt } trap on_exit 0 1 2 3 15
,
? . .
—
, ,
.
,
-
,
, . -
,
.
, .
,
, .
,
,
-
,
.
Ɏɚɣɥɨɜɵɟ ɞɟɫɤɪɢɩɬɨɪɵ ,
-
. . : F.D.
STDIN. ,
. -
.
-
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
264
F.D. 1 STDOUT. , , F.D. 2 STDERR.
. ,
. .
,
. . :
exec. #!/bin/sh # exec > testfile.txt # ↪ testfile.txt echo "Line 1 of the echo "Line 2 of the echo "Line 3 of the echo "Line 4 of the echo "line 5 of the exit 0
F.D.
1
(STDOUT)
STDOUT, file" file" file" file" file"
exec
STDOUT ,
testfile.txt.
echo
,
testfile.txt, .
,
, .
.
-
STDIN :
read.
#!/bin/sh # exec < testfile.txt while read string do echo $string done exit 0
F.D.
(STDIN)
,
testfile.txt,
,
: Line Line Line Line Line
1 2 3 4 5
of of of of of
the file the file the flie the file the file
? read. , read
read
.
, read
-
.
Ɉɬɥɚɞɤɚ ɫɰɟɧɚɪɢɟɜ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ , .
,
Ƚɥɚɜɚ 13. ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚ ɹɡɵɤɟ ɤɨɦɚɧɞɧɨɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ
265
. -xv
-
#!/bin/sh.
: #!
/bin/sh -xv
more less,
STDOUT
.
STDERR ,
.
-
: #!/bin/sh -xv # result=`echo $result exit 0
"2
*
12
/
(2+2)'
|
` echo
STDOUT STDERR :
more. . /xvtest 2>&1 | more
: 1. 2. 3.
./xvtest 2>&1 #!/bin/sh -xv
|
more
# ↪ 15. result='echo "2 * 12 / ( 2 + 3 ) " 16. + echo 2 * 12 / (2 + 3) 6. + be
7. 9.
+ result=4 8. echo $result + echo 4
1 2 3
|
`
8. 4 exit 0 + exit
0
, +
.
. 3
,
,
result. 4, 5
6. 6—
4 8-10.
9 "echo 4".
echo, (4) , 8
5— result. " "
bc , .
echo. ,
10
echo.
Ɋɚɫɲɢɪɟɧɧɵɟ ɜɨɡɦɨɠɧɨɫɬɢ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ Ʉɨrn n . . UNIX
: Bourne,
, -
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
266
rn.
-
,
. ,
,
Bourne. rn. ɋɈȼȿɌ Ȼɨɥɶɲɢɧɫɬɜɨ ɦɟɬɨɞɨɜ, ɨ ɤɨɬɨɪɵɯ ɪɚɫɫɤɚɡɚɧɨ ɞɚɥɟɟ, ɩɨɞɞɟɪɠɢɜɚɸɬɫɹ ɢ ɤɨɦɚɧɞɧɵɦɢ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚɦɢ ɫɬɚɧɞɚɪɬɚ POSIX, ɤɨɬɨɪɵɣ ɜɯɨɞɢɬ ɜ ɫɨɫɬɚɜ FreeBSD ɤɚɤ /bin/sh. ȿɫɥɢ ɫɰɟɧɚɪɢɣ ɩɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɞɪɭɝɢɯ ɫɢɫɬɟɦ, ɝɞɟ POSIX ɩɨɞɞɟɪɠɢɜɚɟɬɫɹ ɧɟ ɜɫɟɝɞɚ, ɧɟ ɫɥɟɞɭɟɬ ɢɫɩɨɥɶɡɨ-ɜɚɬɶ ɪɚɫɲɢɪɟɧɧɵɟ ɜɨɡɦɨɠɧɨɫɬɢ, ɩɨɫɤɨɥɶɤɭ ɭɤɚɡɚɧɢɟ #!/bin/sh ɜ ɩɟɪɜɨɣ ɫɬɪɨɤɟ ɫɰɟɧɚɪɢɹ ɝɨ-ɜɨɪɹɬ ɫɢɫɬɟɦɟ, ɱɬɨ ɨɧɚ ɫɩɨɫɨɛɧɚ ɜɵɩɨɥɧɢɬɶ ɟɝɨ. ɗɬɨ ɦɨɠɟɬ ɩɪɢɜɟɫɬɢ ɤ ɫɟɪɶɟɡɧɵɦ ɨɲɢɛɤɚɦ.
ɉɨɥɭɱɟɧɢɟ ɢ ɭɫɬɚɧɨɜɤɚ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ Ʉɨɝɩ ,
. -
(The Public Domain Korn Shell) FreeBSD ( sysinstall), /usr/ports/shells/pdksh. , #/usr/local/bin/ksh. Korn Bourne, . . rn. ,
#!/bin/sh :
rn
, Bourne.
rn.
ȼɫɬɪɨɟɧɧɚɹ ɚɪɢɮɦɟɬɢɤɚ rn , Bourne.
.
-
r, ,
rn
. ,
,
exec. rn .
:
let.
let x=7+5
12. , if
((
Ȼɨɥɶɲɟ
=
Ȼɨɥɶɲɟ ɢɥɢ ɪɚɜɧɨ
&1 1>&2 /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 sOutputFile=/dev/fd/3 - && exit 0
311
.
\ -
#
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \ -sOutputFile=- - && exit 0
else # # # # echo exit 0 fi exit 2
,
HP/PCL,
. ,
.
$first_line
&&
cat
&& printf
,
"\033S10H"
&&
.
, ,
, , GhostScript.
PostScript ,
%!.
then, . . , .
ɉɊɂɆȿɑȺɇɂȿ GhostScript ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɨɱɟɧɶ ɦɨɳɧɭɸ ɩɪɨɝɪɚɦɦɭ ɫ ɛɨɥɶɲɢɦ ɱɢɫɥɨɦ ɨɩɰɢɣ. ȿɟ ɞɨɤɭɦɟɧ-ɬɚɰɢɸ ɦɨɠɧɨ ɧɚɣɬɢ ɩɨ ɚɞɪɟɫɭ http://www.cs.wisc.edu/~ghost/index.html.
Ɏɢɥɶɬɪ ɩɟɱɚɬɢ Ipf ɉɊɂɆȿɑȺɇɂȿ FreeBSD ɫɨɞɟɪɠɢɬ ɩɪɨɝɪɚɦɦɭ ɩɨɞ ɧɚɡɜɚɧɢɟɦ Ipf, ɞɟɣɫɬɜɭɸɳɭɸ ɤɚɤ ɮɢɥɶɬɪ ɩɟɱɚɬɢ. Ɉɧɚ ɢɦɟɟɬ ɦɚɫɫɭ ɜɨɡɦɨɠɧɨɫɬɟɣ, ɜɤɥɸɱɚɹ ɜɟɞɟɧɢɟ ɭɱɟɬɚ (ɫɤɨɥɶɤɨ ɫɬɪɚɧɢɰ ɧɚɩɟɱɚɬɚɧɨ, ɤɟɦ ɢɦɟɧɧɨ ɢ ɬ.ɞ.). ɂɧɮɨɪɦɚɰɢɹ ɨɛ ɷɬɨɣ ɩɪɨɝɪɚɦɦɟ ɫɨɞɟɪɠɢɬɫɹ ɜ ɫɩɪɚɜɨɱɧɨɦ ɪɭɤɨɜɨɞɫɬɜɟ man cap.
Ɏɢɥɶɬɪɵ ɩɪɟɨɛɪɚɡɨɜɚɧɢɹ (conversion filters)
-
, ,
. 1 , . 1 ).
(
,
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
312
. 16.2
,
l r:
Ɍɚɛɥɢɰɚ 16.2 Ɉɩɰɢɢ ɩɪɟɨɛɪɚɡɨɜɚɧɢɹ ɤɨɦɚɧɞɵ Ipr -d
Ɏɚɣɥ ɜ ɮɨɪɦɚɬɟ DVI (ɢɫɩɨɥɶɡɭɟɬɫɹ ɫɢɫɬɟɦɨɣ Ɍɟɏ.)
-f
Ɏɢɥɶɬɪ ɞɥɹ ɩɟɱɚɬɢ ɮɚɣɥɨɜ ɫ ɢɫɯɨɞɧɵɦ ɤɨɞɨɦ ɧɚ ɹɡɵɤɟ FORTRAN.
-ɫ
Ɏɚɣɥ ɫɨɞɟɪɠɢɬ ɞɚɧɧɵɟ ɩɪɨɝɪɚɦɦɵ cifplot. ɉɨɫɥɟɞɧɹɹ ɧɟ ɜɤɥɸɱɟɧɚ ɜ ɫɨɫɬɚɜ FreeBSD.
-g
Ɏɚɣɥ ɫɨɞɟɪɠɢɬ ɞɚɧɧɵɟ, ɩɨɥɭɱɟɧɧɵɟ ɫ ɩɨɦɨɳɶɸ ɩɪɨɰɟɞɭɪ ɜɵɱɟɪɱɢɜɚɧɢɹ (plot routines) UNIX. ɗɬɢ ɩɪɨɰɟɞɭɪɵ ɜɤɥɸɱɟɧɵ ɜ FreeBSD.
-d
Ɏɚɣɥ ɫɨɞɟɪɠɢɬ ɞɚɧɧɵɟ ɩɪɨɝɪɚɦɦɵ troff, ɧɟɡɚɜɢɫɹɳɟɣ ɨɬ ɭɫɬɪɨɣɫɬɜɚ. Ɉɧɢ ɧɟ ɩɨɞɞɟɪɠɢɜɚɸɬɫɹ ɧɢɤɚɤɢɦ ɩɪɨɝɪɚɦɦɧɵɦ ɨɛɟɫɩɟɱɟɧɢɟɦ, ɜɤɥɸɱɟɧɧɵɦ ɜ FreeBSD.
-t
Ɏɚɣɥ ɫɨɞɟɪɠɢɬ ɤɨɦɚɧɞɵ ɋ/Ⱥ/Ɍ ɞɥɹ ɭɫɬɚɪɟɜɲɢɯ ɜɟɪɫɢɣ ɩɪɨɝɪɚɦɦɵ troff.
-v
Ɏɚɣɥ ɫɨɞɟɪɠɢɬ ɪɚɫɬɪɨɜɨɟ ɢɡɨɛɪɚɠɟɧɢɟ (ɞɥɹ ɪɚɡɥɢɱɧɵɯ ɭɫɬɪɨɣɫɬɜ ɩɟɱɚɬɢ ɢɡɨɛɪɚɠɟɧɢɣ). Ȼɨɥɶɲɢɧɫɬɜɨ ɩɨɥɶɡɨɜɚɬɟɥɟɣ ɧɟ ɩɪɢɦɟɧɹɟɬ ɷɬɨɬ ɮɨɪɦɚɬ.
.
,
, ,
-
-
-
cifplot .
, ,
-
UNIX, , . , ) PostScript (
groff (
):
#!/bin/sh exec grops
grops groff
, PostScript. grops.
groff 1 , , lpr
-t
/usr/local/Iibexec PostScript. groff :
g2ps, -t -
myfile
myfile —
,
. , /etc/printcap (
-
).
ɇɚɫɬɪɨɣɤɢ ɜ ɮɚɣɥɟ /etc/printcap /etc/printcap ,
" .
, :
, .
",
, ,
-
Ƚɥɚɜɚ 16. ɉɟɱɚɬɶ
/etc/printcap . , , /etc/printcap
313
, -
/
. :
.
simba|lp|local line printer:\ # :sh:\ :lp=/dev/lptO:sd=/var/spool/lpd/simba:lf=/var/log/lpd-errs: :if=/usr/libexec/if-ps:
,
. 1 (
simba,
,
),
.
.
, ,
. .
,
-
—
. . :1 (
local printer —
-
).
/dev/lptO (LPT1 DOS). :sd — /var/spool/lpd/simba ( ). :lf , . , if-ps (
, log file, . .
,
. PostScript).
ɍɫɬɚɧɨɜɤɚ ɮɢɥɶɬɪɨɜ ɩɪɟɨɛɪɚɡɨɜɚɧɢɹ . (
),
. :if.
. 16.3
: Ɍɚɛɥɢɰɚ 16.3 Ɉɩɰɢɢ ɮɢɥɶɬɪɨɜ ɜ ɮɚɣɥɟ /etc/printcap /etc/printcap DVI
:df
FORTRAN
:rf
cifplot
:cf
plot
:gf
dittroff
:nf
troff
:rf
raster
:if
,
. ,
. (
, ):
:rf=/usr/local/libexec/g2ps:
,
groff PostScript
314
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
, :if. ,
,
,
Ipd .
ȼɤɥɸɱɟɧɢɟ Ipd ,
,
/etc/printcap Ipd.
root,
Ipd. /etc/ rc,conf
, : lpd_enable="YES"
,
,
.
-
,
,
.
ɉɟɱɚɬɶ ɢɡ ɤɨɦɚɧɞɧɨɣ ɫɬɪɨɤɢ .
1 Ipr file_name
file_name — , , - .
,
. . ,
,1
. .
,
,
.
•
PRINTER, .
•
LPDEST, 1 .
•
1 , /etc/printcap.
•
PRINTER LPDEST 1 ,
/etc/printcap .
.
Ipr . 16.4: 16.4
Ipr
-I
ɂɫɩɨɥɶɡɨɜɚɬɶ ɮɢɥɶɬɪ, ɤɨɬɨɪɵɣ ɩɟɱɚɬɚɟɬ ɤɨɞɵ ɭɩɪɚɜɥɹɸɳɢɯ ɫɢɦɜɨɥɨɜ ɢ ɢɝɧɨɪɢɪɭɟɬ ɩɟɪɟɯɨɞ ɧɚ ɧɨɜɭɸ ɫɬɪɚɧɢɰɭ.
-ɪ
ȼɵɜɨɞ ɮɨɪɦɚɬɢɪɭɟɬɫɹ ɫ ɩɨɦɨɳɶɸ ɪr. ɉɪɨɝɪɚɦɦɚ ɪr ɮɨɪɦɚɬɢɪɭɟɬ ɫɬɪɚɧɢɰɵ ɩɨ 66 ɫɬɪɨɤ ɧɚ ɤɚɠɞɨɣ ɫ ɡɚɝɨɥɨɜɤɨɦ ɜɜɟɪɯɭ, ɫɨɞɟɪɠɚɳɢɦ ɞɚɬɭ ɢ ɜɪɟɦɹ ɫɨɡɞɚɧɢɹ ɮɚɣɥɚ, ɧɨɦɟɪ ɫɬɪɚɧɢɰɵ, ɚ ɬɚɤɠɟ ɩɹɬɶ ɩɭɫɬɵɯ ɫɬɪɨɤ ɜɧɢɡɭ.
-
Ƚɥɚɜɚ 16. ɉɟɱɚɬɶ
-Ɋ
ɉɨɫɵɥɚɟɬ ɡɚɞɚɧɢɟ ɧɚ ɭɤɚɡɚɧɧɵɣ ɩɪɢɧɬɟɪ.
-h
Ɉɬɤɥɸɱɚɟɬ ɩɟɱɚɬɶ ɬɢɬɭɥɶɧɨɣ ɫɬɪɚɧɢɰɵ. ɇɟ ɞɚɟɬ ɧɢɤɚɤɨɝɨ ɷɮɮɟɤɬɚ, ɟɫɥɢ ɩɟɱɚɬɶ ɬɚɤɢɯ ɫɬɪɚɧɢɰ ɨɬɤɥɸɱɟɧɚ ɩɨ ɭɦɨɥɱɚɧɢɸ.
315
-ɬ
ɉɨɫɵɥɚɟɬ ɷɥɟɤɬɪɨɧɧɨɟ ɫɨɨɛɳɟɧɢɟ ɫ ɭɜɟɞɨɦɥɟɧɢɟɦ ɨ ɡɚɜɟɪɲɟɧɢɢ ɡɚɞɚɧɢɹ ɩɟɱɚɬɢ.
-r
ɍɞɚɥɹɟɬ ɮɚɣɥ ɩɨ ɡɚɜɟɪɲɟɧɢɢ ɫɩɭɥɢɧɝɚ. ɗɬɨɣ ɨɩɰɢɟɣ ɧɟ ɫɥɟɞɭɟɬ ɩɨɥɶɡɨɜɚɬɶɫɹ, ɩɨɫɤɨɥɶɤɭ ɨɧɚ ɭɞɚɥɢɬ ɮɚɣɥ ɞɨ ɬɨɝɨ, ɤɚɤ ɨɧ ɛɭɞɟɬ ɭɫɩɟɲɧɨ ɧɚɩɟɱɚɬɚɧ. ȼ ɫɨɱɟɬɚɧɢɢ ɫ ɨɩɰɢɟɣ -s (ɨɩɢɫɚɧɚ ɜ ɫɥɟɞɭɸɳɟɦ ɩɭɧɤɬɟ), ɨɧɚ ɧɟ ɭɞɚɥɢɬ ɮɚɣɥ ɞɨ ɡɚɜɟɪɲɟɧɢɹ ɩɟɱɚɬɢ.
-s
ɂɫɩɨɥɶɡɨɜɚɬɶ ɫɢɦɜɨɥɢɱɟɫɤɢɟ ɫɫɵɥɤɢ. ȼɦɟɫɬɨ ɤɨɩɢɪɨɜɚɧɢɹ ɮɚɣɥɨɜ ɜ ɤɚɬɚɥɨɝ ɫɩɭɥɚ, ɷɬɚ ɨɩɰɢɹ ɩɨɡɜɨɥɹɟɬ ɫɨɡɞɚɜɚɬɶ ɫɢɦɜɨɥɢɱɟɫɤɢɟ ɫɫɵɥɤɢ ɧɚ ɫɭɳɟɫɬɜɭɸɳɢɟ ɮɚɣɥɵ. Ɉɧɚ ɩɨɡɜɨɥɹɟɬ ɩɟɱɚɬɚɬɶ ɮɚɣɥɵ, ɫɥɢɲɤɨɦ ɛɨɥɶɲɢɟ ɩɨ ɪɚɡɦɟɪɭ, ɱɬɨɛɵ ɪɚɡɦɟɫɬɢɬɶ ɢɯ ɜ ɤɚɬɚɥɨɝɟ ɫɩɭɥɚ. ɉɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɷɬɨɣ ɨɩɰɢɢ ɫɥɟɞɢɬɟ ɡɚ ɬɟɦ, ɱɬɨɛɵ ɮɚɣɥ ɧɟ ɛɵɥ ɢɡɦɟɧɟɧ ɢɥɢ ɭɞɚɥɟɧ ɞɨ ɨɤɨɧɱɚɧɢɹ ɩɟɱɚɬɢ.
-#n
Ɂɞɟɫɶ n — ɱɢɫɥɨ ɤɨɩɢɣ ɤɚɠɞɨɝɨ ɮɚɣɥɚ.
-J job
Ɂɞɟɫɶ job — ɢɦɹ ɡɚɞɚɧɢɹ, ɩɟɱɚɬɚɟɦɨɟ ɧɚ ɬɢɬɭɥɶɧɨɣ ɫɬɪɚɧɢɰɟ. ɉɨ ɭɦɨɥɱɚɧɢɸ ɷɬɨ ɢɦɹ ɩɟɪɜɨɝɨ ɭɤɚɡɚɧɧɨɝɨ ɮɚɣɥɚ.
-Ɍ
ɇɚɡɜɚɧɢɟ, ɢɫɩɨɥɶɡɭɟɦɨɟ ɩɪɨɝɪɚɦɦɨɣ ɪɝ ɤɚɤ ɡɚɝɨɥɨɜɨɤ ɜɜɟɪɯɭ ɫɬɪɚɧɢɰɵ. ɉɨ ɭɦɨɥɱɚɧɢɸ ɷɬɨ ɢɦɹ ɮɚɣɥɚ. ɗɬɚ ɨɩɰɢɹ ɩɪɢɦɟɧɹɟɬɫɹ ɬɨɥɶɤɨ ɜɦɟɫɬɟ ɫ -ɪ.
-i n
Ɂɞɟɫɶ n — ɱɢɫɥɨ ɫɬɨɥɛɰɨɜ, ɧɚ ɤɨɬɨɪɨɟ ɜɵɪɚɜɧɢɜɚɟɬɫɹ ɩɟɱɚɬɚɟɦɵɣ ɜɵɜɨɞ.
-w n
ȼ ɞɚɧɧɨɦ ɫɥɭɱɚɟ n — ɲɢɪɢɧɚ ɫɬɪɚɧɢɰɵ ɜ ɤɨɥɨɧɤɚɯ. ɉɪɢɦɟɧɹɟɬɫɹ ɬɨɥɶɤɨ ɜɦɟɫɬɟ ɫ ɨɩɰɢɟɣ -ɪ.
ɉɟɱɚɬɶ ɢɡ X-Window -Window Netscape,
.
Web-
. Netscape Print, Print To: , . Printer, Ipr,
File,
Print.
. 16.1. Print Command:
— ,
.
. Ipr (
, ).
, Ipr -Window PostScript, PostScript. Netscape Ipr
. GhostScript
PostScript
-PostScript,
.
— ,
. .
.
UNIX, Netscape PostScript.
-
ɑɚɫɬɶ Ɂ. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
301
16.1 Print Netscape. , File , netscape.ps., Netscape PostScript.
ɉɟɱɚɬɶ ɜ StarOffice StarOffice, Printer Setup . 16.2.
,
, .
,
StarOffice ,
PostScriptAdd new
GhostScript .
,
printer,
. Configuration. , StarOffice PostScript GhostScript, StarOffice),
(
Generic Printerin, 1 . StarOffice,
GhostScript
16.2 Printer Configuration StarOffice.
(
,
).
-
Ƚɥɚɜɚ 16. ɉɟɱɚɬɶ
317
ɉɪɨɜɟɪɤɚ ɫɨɫɬɨɹɧɢɹ ɡɚɞɚɧɢɣ ɩɟɱɚɬɢ ,
,
, .
Ipq. :
-
PRINTER, . ,
, /etc/printcap.
1 ,
Ipq , Ipq
.
, :
bash$ Ipq -P simba simba is ready and printing Rank Owner Job Files active mike 5 /home/murban/sample.txt 2nd mike 6 /home/murban/samplel.txt 3rd jack 7 /home/jack/myfile. txt 4th jack 8 ...
Total 2000 2500 3200 5500
.
-P
Ipq .
simba, -
Size bytes bytes bytes bytes
Ipq
. ,
.
Ipq, ,
.
.
,
,
-
. :
,
.
. 3, job,
, (
.
),
4
. ,
. .
, . . 16.5.
Ipq 16.5
Ipq
-P name
Ipq ɜɵɜɨɞɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɫɨɫɬɨɹɧɢɢ ɨɱɟɪɟɞɢ ɩɪɢɧɬɟɪɚ ɫ ɢɦɟɧɟɦ name, ɚ ɧɟ ɩɪɢɧɬɟɪɚ ɩɨ ɭɦɨɥɱɚɧɢɸ.
-I
ɗɬɚ ɨɩɰɢɹ ɡɚɫɬɚɜɥɹɟɬ Ipq ɜɵɜɟɫɬɢ ɩɨɞɪɨɛɧɭɸ ɢɧɮɨɪɦɚɰɢɸ ɨ ɤɚɠɞɨɦ ɮɚɣɥɟ ɜ ɨɱɟɪɟɞɢ, ɞɚɠɟ ɟɫɥɢ ɨɧɚ ɧɟ ɩɨɦɟɳɚɟɬɫɹ ɜ ɨɞɧɨɣ ɫɬɪɨɤɟ. (ȼ ɩɪɟɞɵɞɭɳɟɦ ɩɪɢɦɟɪɟ ɜɦɟɫɬɨ ɬɪɨɟɬɨɱɢɹ ɛɵɥ ɛɵ ɜɵɜɟɞɟɧ ɩɨɥɧɵɣ ɩɭɬɶ ɤ ɮɚɣɥɭ.)
-ɚ
ȼɵɜɨɞɢɬ ɫɨɫɬɨɹɧɢɟ ɥɨɤɚɥɶɧɵɯ ɨɱɟɪɟɞɟɣ ɜɫɟɯ ɩɪɢɧɬɟɪɨɜ.
ɍɞɚɥɟɧɢɟ ɡɚɞɚɧɢɣ ɢɡ ɨɱɟɪɟɞɢ ,
lprm .
,
,
318
ɑɚɫɬɶ ɗ. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
. ,
-
Iprm,
.
root, .
Iprm (
,
).
, root —
-
.
: bash$ Iprm 5 dfA001simba.samplenet.org cfA001simba.samplenet.org bash $
dequeued dequeued
, (
, ),
,
—
, ).
,
Iprm "
. Iprm ( .
", .
,
, Iprm
Permission denied (
). ,
Iprm . 16.6. 16.6 -Ɋ name
.
Iprm
Ɉɩɰɢɹ ɭɤɚɡɵɜɚɟɬ ɢɦɹ ɩɪɢɧɬɟɪɚ, ɢɡ ɨɱɟɪɟɞɢ ɤɨɬɨɪɨɝɨ ɫɥɟɞɭɟɬ ɭɞɚɥɢɬɶ ɡɚɞɚɧɢɟ. ȿɫɥɢ ɨɩɰɢɹ ɧɟ ɡɚɞɚɧɚ, ɩɪɢɧɬɟɪɨɦ ɩɨ ɭɦɨɥɱɚɧɢɸ ɹɜɥɹɟɬɫɹ ɡɧɚɱɟɧɢɟ ɩɟɪɟɦɟɧɧɨɣ ɫɪɟɞɵ PRINTER ɢɥɢ ɩɪɢɧɬɟɪ ɫ ɩɫɟɜɞɨɧɢɦɨɦ Ip. ɋɢɦɜɨɥ ɞɟɮɢɫɚ ɭɤɚɡɵɜɚɟɬ ɧɚ ɭɞɚɥɟɧɢɟ ɢɡ ɨɱɟɪɟɞɢ ɜɫɟɯ ɡɚɞɚɧɢɣ, ɩɪɢɧɚɞɥɟɠɚɳɢɯ ɬɟɤɭɳɟɦɭ ɩɨɥɶɡɨɜɚɬɟɥɸ. ȿɫɥɢ ɢɫɩɨɥɶɡɭɟɬɫɹ ɩɨɥɶɡɨɜɚɬɟɥɟɦ root, ɬɨ ɭɞɚɥɹɟɬ ɜɫɟ ɡɚɞɚɧɢɹ.
user_name ɍɞɚɥɹɟɬ ɜɫɟ ɡɚɞɚɧɢɹ ɭɤɚɡɚɧɧɨɝɨ ɩɨɥɶɡɨɜɚɬɟɥɹ. ɗɬɨɣ ɨɩɰɢɟɣ ɦɨɠɟɬ ɜɨɫɩɨɥɶɡɨɜɚɬɶɫɹ ɬɨɥɶɤɨ ɩɨɥɶɡɨɜɚɬɟɥɶ root, ɬɚɤ ɤɚɤ ɨɛɵɱɧɵɟ ɩɨɥɶɡɨɜɚɬɟɥɢ ɦɨɝɭɬ ɭɞɚɥɹɬɶ ɬɨɥɶɤɨ ɫɜɨɢ ɡɚɞɚɧɢɹ.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ɍɞɚɥɟɧɢɟ ɬɟɤɭɳɟɝɨ ɩɟɱɚɬɚɟɦɨɝɨ ɡɚɞɚɧɢɹ ɧɟ ɡɚɫɬɚɜɢɬ ɩɪɢɧɬɟɪ ɧɟɦɟɞɥɟɧɧɨ ɨɫɬɚɧɨɜɢɬɶ ɩɟɱɚɬɶ. ȼ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɨɛɴɟɦɚ ɟɝɨ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ, ɜ ɛɭɮɟɪɟ ɩɪɢɧɬɟɪɚ ɦɨɠɟɬ ɧɚɯɨɞɢɬɶɫɹ ɧɟɫɤɨɥɶ-ɤɨ ɫɬɪɚɧɢɰ ɞɚɧɧɵɯ. Ⱥ ɷɬɨ ɡɧɚɱɢɬ, ɱɬɨ ɱɚɫɬɶ ɞɨɤɭɦɟɧɬɚ (ɢɥɢ ɞɚɠɟ ɜɟɫɶ ɞɨɤɭɦɟɧɬ ɧɟɛɨɥɶɲɨɝɨ ɪɚɡɦɟɪɚ) ɛɭɞɟɬ ɪɚɫɩɟɱɚɬɚɧɚ ɭɠɟ ɩɨɫɥɟ ɭɞɚɥɟɧɢɹ ɡɚɞɚɧɢɹ ɢɡ ɨɱɟɪɟɞɢ.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ɍɞɚɥɢɬɶ ɡɚɞɚɧɢɹ ɩɪɢɧɬɟɪɚ ɦɨɠɧɨ ɥɢɲɶ ɢɡ ɬɨɣ ɫɢɫɬɟɦɵ, ɨɬɤɭɞɚ ɨɧɢ ɛɵɥɢ ɩɨɫɥɚɧɵ (ɟɫɥɢ ɤ ɩɪɢɧɬɟɪɭ ɨɛɪɚɳɚɟɬɫɹ ɧɟɫɤɨɥɶɤɨ ɦɚɲɢɧ ɜ ɫɟɬɢ).
Ƚɥɚɜɚ 16. ɉɟɱɚɬɶ
319
ɍɩɪɚɜɥɟɧɢɟ ɩɪɢɧɬɟɪɨɦ 1 .
-
.
, ,
"
".
,1
, (
)
-
. ,
Ipc .
,
1
. 1
.
ɉɪɨɝɪɚɦɦɚ Ipc ɜ ɢɧɬɟɪɚɤɬɢɜɧɨɦ ɪɟɠɢɦɟ ,
1
: 1
>
help (
?
, -
Enter), help (
)
. (
).
, start
,
status
stat,
, ?Ambiguous command ( ,
,1
-
sta, .
1
--
). ?Invalid command (
).
ɋɨɫɬɨɹɧɢɟ ɨɱɟɪɟɞɢ ,
stat.
(
)
.
lpc> status lp lp: queuing is enabled printing is enabled 2 entries in spool area waiting for lp to become
ready
,
status, . ,
all :
(offline?) lpc>
.
, ,
,
. . ,
status .
Ɂɚɩɪɟɬ ɩɟɱɚɬɢ ɢ ɨɫɬɚɧɨɜ ɞɟɦɨɧɚ abort
,
stop (
-
320
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
).
: all ( )
(
). ,
abort .
-
:
lpc> abort 1 lp: printing disabled daemon (pid 597) killed lpc>
status: lpc> status all lp: queuing is enabled printing is disabled 2 entries in spool area printer idle lpc>
: •
,
.
abort
.
. .
•
,
.
,
. , ,
. ,
stop .
,
. ,
abort, , stop
abort, .
.
,
,
-
.
ɋɈȼȿɌ ȿɫɥɢ ɩɪɢɧɬɟɪ ɧɟɨɛɯɨɞɢɦɨ ɨɬɤɥɸɱɢɬɶ ɧɚ ɞɥɢɬɟɥɶɧɵɣ ɫɪɨɤ (ɧɚɩɪɢɦɟɪ, ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɬɟɤɭɳɟɝɨ ɨɛɫɥɭɠɢɜɚɧɢɹ), ɟɝɨ ɢɦɹ ɫɥɟɞɭɟɬ ɫɞɟɥɚɬɶ ɩɫɟɜɞɨɧɢɦɨɦ ɞɪɭɝɨɝɨ ɩɪɢɧɬɟɪɚ ɜ ɮɚɣɥɟ /etc/printcap. ȿɫɥɢ ɷɬɨ ɫɢɫɬɟɦɧɵɣ ɩɪɢɧɬɟɪ ɩɨ ɭɦɨɥɱɚɧɢɸ, ɨɛɹɡɚɬɟɥɶɧɨ ɫɞɟɥɚɣɬɟ Iɪ ɬɚɤɠɟ ɩɫɟɜɞɨɧɢɦɨɦ ɞɪɭ-ɝɨɝɨ ɩɪɢɧɬɟɪɚ. Ɍɨɝɞɚ ɜɫɟ ɡɚɞɚɧɢɹ ɛɭɞɭɬ ɩɟɪɟɧɚɩɪɚɜɥɹɬɶɫɹ ɧɚ ɞɪɭɝɨɣ ɩɪɢɧɬɟɪ, ɧɟ ɬɪɟɛɭɹ ɨɬ ɩɨɥɶɡɨɜɚɬɟɥɟɣ ɜɧɟɫɟɧɢɹ ɢɡɦɟɧɟɧɢɣ ɜ ɤɨɧɮɢɝɭɪɚɰɢɸ. Ɋɚɡɭɦɟɟɬɫɹ, ɩɪɟɞɩɨɱɬɢɬɟɥɶɧɟɟ ɩɟɪɟɧɚɩɪɚ-ɜɢɬɶ ɜɵɜɨɞ ɩɪɢɧɬɟɪ ɬɚɤɨɝɨ ɠɟ ɬɢɩɚ ɢ ɪɚɫɩɨɥɨɠɟɧɧɵɣ ɝɞɟ-ɬɨ ɧɟɩɨɞɚɥɟɤɭ. Ʉɪɨɦɟ ɬɨɝɨ, ɜɫɟɦ ɩɨɥɶɡɨɜɚɬɟɥɹɦ ɧɭɠɧɨ ɧɚɩɪɚɜɢɬɶ ɭɜɟɞɨɦɥɟɧɢɟ ɨ ɬɨɦ, ɝɞɟ ɨɧɢ ɫɦɨɝɭɬ ɧɚɣɬɢ ɫɜɨɢ ɪɚɫɩɟɱɚɬɤɢ.
abort,
.
stop ,
-
abort, , . ,
—
,
,
,
.
.
Ƚɥɚɜɚ 16. ɉɟɱɚɬɶ
321
-
disable. : all (
) ).
(
:
lpc> disable lp 1p=
queuing all
status lp:
disabled lpc>
queuing is disabled printing is enabled 3 entries in spool area waiting for lp to become
ready
(offline?)
lpc>
,
— (
,
.
, ),
-
. , ,
-
:
bash$ Ipr myfile.txt Ipr: Printer queue is bash$
disabled
down. ,
disable, ,
down
,
. -
stop, ,
disable, .
. .
status ,
Ipq,
.
: lpc> down lp:
lp
Printer
printer
and
is
down
queuing
for maintenance.
disabled
lpc>
Ipq, bash$ Ipq Warning: lp is down: Warning: lp queue is Printer is down for Rank Owner bash$
Printer is down turned off maintenance. Job Files
, enable
: for maintenance. Total
, all (
: lpc> enable lp lp: queuing enabled lpc> status lp lp: queuing is enabled printing is disabled
)
Size
.
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
322
3 entries in spool area Printer is down for maintenance. lpc>
,
,
,
. ,
.
-
down,
up. ,
,
,
. .
restart, .
ɉɟɪɟɡɚɩɭɫɤ ɞɟɦɨɧɚ, ɨɛɪɚɛɚɬɵɜɚɸɳɟɝɨ ɫɩɭɥ ,
, ,
restart. .
-
, (
restart ) lpc>
restart
). " : all (
"
. -
,
.
lp 1 : daemon (pid 2102) daemon started lpc>
:
killed lp:
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ B ɧɟɤɨɬɨɪɵɯ ɫɥɭɱɚɹɯ, ɤɨɦɚɧɞɚ restart ɨɫɬɚɧɚɜɥɢɜɚɟɬ ɜɵɩɨɥɧɹɸɳɢɣɫɹ ɞɟɦɨɧ, ɧɨ ɧɟ ɡɚɩɭɫɤɚɟɬ ɟɝɨ ɫɧɨɜɚ (ɤɚɤ ɞɨɥɠɧɨ ɛɵɬɶ). ɂɡ-ɡɚ ɷɬɨɝɨ ɫɥɟɞɭɟɬ ɩɪɨɜɟɪɹɬɶ ɜɵɜɨɞ ɤɨɦɚɧɞɵ Ipq. ȿɫɥɢ ɜ ɧɟɦ ɩɪɢɫɭɬɫɬɜɭɟɬ ɫɨɨɛɳɟɧɢɟ: Warning: no daemon present (ɉɪɟɞɭɩɪɟɠɞɟɧɢɟ: ɨɬɫɭɬɫɬɜɭɟɬ ɞɟɦɨɧ), ɷɬɨ ɡɧɚɱɢɬ, ɱɬɨ ɞɟɦɨɧ ɛɵɥ ɨɫɬɚɧɨɜɥɟɧ, ɧɨ ɧɟ ɡɚɩɭɳɟɧ ɫɧɨɜɚ. ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɞɨɫɬɚɬɨɱɧɨ ɟɳɟ ɪɚɡ ɜɵɩɨɥɧɢɬɶ ɤɨɦɚɧɞɭ restart ɜ ɢɧɬɟɪɚɤɬɢɜɧɨɦ ɪɟɠɢɦɟ ɩɪɨɝɪɚɦɦɵ lɪɫ, ɢ ɩɪɨɛɥɟɦɚ ɪɟɲɢɬɫɹ.
Ɉɱɢɫɬɤɚ ɤɚɬɚɥɨɝɚ ɨɱɟɪɟɞɢ clean
.
1 (
1
, :
,
,
, ).
,
-
all,
.
ɂɡɦɟɧɟɧɢɟ ɩɪɢɨɪɢɬɟɬɚ ɡɚɞɚɧɢɣ ɩɟɱɚɬɢ topq. : topq printer_name numjob(s), -
, ,
.
, ,
,
— :
. num Job(s) . . . -
Ƚɥɚɜɚ 16. ɉɟɱɚɬɶ Rank 1st 2nd 3rd 4th
Owner murban murban murban murban
Job 8 9 10 12
Files myfile.txt cardlist.txt lions.txt schedule.txt
323
Total Size 151625 bytes 38311 bytes 1113 bytes 6599 bytes
topq 1 12 10 9 8. lpc> lp:
topq lp
12
moved moved moved moved
10
9 8
cfA008simba.samplenet.org cfA009simba.samplenet.org cfA010simba.samplenet.org cfA012simba.samplenet.org
lpc>
Rank 1st 2nd 3rd 4th
Owner murban murban murban murban
Job 12 10 9 8
: Files schedule.txt lions.txt cardlist.txt myfile.txt
Total Size 6599 bytes 1113 bytes 38311 bytes 151625 bytes
-
topq .
topq . ,
.
topq ,
,
,
.
,
-
Iprm. ȼɵɯɨɞ ɢɡ lɪɫ
1
quit
exit .
1 >.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɩɪɨɝɪɚɦɦɵ lɪɫ ɜ ɧɟɢɧɬɟɪɚɤɬɢɜɧɨɦ ɪɟɠɢɦɟ .
l : ,
-
,
. ,
1
. # Ipc restart lp lp: daemon (pid 2280) lp: daemon started #
, :
killed
,
.
324
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
ɍɩɪɚɜɥɟɧɢɟ ɞɨɫɬɭɩɨɦ ɤ lɪɫ 1 , operator.
-
root. ,
-
operator, .
1 , , . , ,
,
10.
Ɉɫɧɨɜɵ ɫɟɬɟɜɨɣ ɩɟɱɚɬɢ . :
/etc/printcap simba|1 |local line printer:\
:lp=::rm=nova:rp=simba:sd=/var/spool/lpd/simba:lf=/var/log/lpd-errs:
simba ,
( .
.
,
,
r
nova.
1) , 2.
,
,
. .
, ,
, . ,
,
.
Ɋɟɲɟɧɢɟ ɩɪɨɛɥɟɦ . , .
ɉɪɢɧɬɟɪ ɧɟ ɩɨɥɭɱɚɟɬ ɞɚɧɧɵɯ, ɡɚɞɚɧɢɹ ɧɚɯɨɞɹɬɫɹ ɜ ɨɱɟɪɟɞɢ Ipq , Warning: no daemon present, . , l ,
. 1 ,
.
ɉɪɢɧɬɟɪ ɫɢɝɧɚɥɢɡɢɪɭɟɬ ɨ ɩɪɢɟɦɟ ɞɚɧɧɵɯ, ɧɨ ɧɟ ɩɟɱɚɬɚɟɬ He-PostScript-
PostScript-
.
-
, PostScript.
ȼɦɟɫɬɨ ɢɡɨɛɪɚɠɟɧɢɹ ɢɥɢ Web-ɫɬɪɚɧɢɰɵ ɩɟɱɚɬɚɸɬɫɹ ɫɨɬɧɢ ɫɬɪɚɧɢɰ ɦɭɫɨɪɚ PostScript. He-PostScript-
,
-
Ƚɥɚɜɚ 16. ɉɟɱɚɬɶ
. "
GhostScript He-PostScript-
PostScript
325
".
ɉɪɢɧɬɟɪ ɪɚɛɨɬɚɟɬ ɦɟɞɥɟɧɧɨ (polled mode) (
,
). lptcontrol
:
-
, .
.
,
Iptcontrol.
ȼɵɜɨɞ ɩɟɱɚɬɚɟɬɫɹ "ɥɟɫɟɧɤɨɣ" : Line
one
of
the
file. Line two of the file. Line three of the file.
,
. , Windows
, UNIX
DOS/Windows
(LF). :
, .
, UNIX
,
.
-
DOS,
,
,
. . ,
-
,
. . ,
CR
LF
LF. HP-PCL,
-
: #!/bin/sh # # hpif 400 401 /usr/local/libexec/hpif # 500
,
stdin
stdout.
.
# # #
LF
CR+LF.
.
printf exit
Ipd HP-PCL.
"\033Sk2G"
&&
cat
&& printf
"\033S10H"
ss exit 0
2
,
, . HP-PCL, tr.
LF :
CR LF
Ɂ26
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
#!/bin/sh # , " " # PCL. /bin/cat | tr '\ 13' '\ 13\ 10' && exit exit 2
,
ȼɟɫɶ ɬɟɤɫɬ ɩɟɱɚɬɚɟɬɫɹ ɜ ɨɞɧɨɣ ɫɬɪɨɤɟ, ɩɨɜɟɪɯ ɭɠɟ ɧɚɩɟɱɚɬɚɧɧɨɝɨ ɬɟɤɫɬɚ ,
,
.
"
,
,
CR.
".
LF ,
. CR
LF
, -
.
. , "
".
,
-
17
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɹɞɪɚ
Ɋɨɥɶ ɹɞɪɚ ► Ɂɚɱɟɦ ɤɨɧɮɢɝɭɪɢɪɨɜɚɬɶ ɫɨɛɫɬɜɟɧɧɨɟ ɹɞɪɨ? ► Ʉɨɧɮɢɝɭɪɚɰɢɨɧɧɵɟ ɮɚɣɥɵ ɹɞɪɚ ► ɋɨɡɞɚɧɢɟ ɤɨɧɮɢɝɭɪɚɰɢɨɧɧɨɝɨ ɮɚɣɥɚ ɹɞɪɚ ► Ʉɨɦɩɢɥɹɰɢɹ ɢ ɭɫɬɚɧɨɜɤɚ ɹɞɪɚ ► ɉɨɞɚɜɥɟɧɢɟ ɮɚɣɥɨɜ ɭɫɬɪɨɣɫɬɜ ɜ ɤɚɬɚɥɨɝɟ /dev ► Ⱥɜɚɪɢɣɧɨɟ ɜɨɫɫɬɚɧɨɜɥɟɧɢɟ ►
328
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
UNIX :
. , ,
. . FreeBSD . 100%, ,
, . .
Ɋɨɥɶ ɹɞɪɚ —
. . TCP/ IP , -
, , . — —
MS-DOS Windows
.
, C:\WINDOWS\SYSTEM, . UNIX. (" " )
, OS /boot.
.
Windows, Mac
FreeBSD
,
,
,
, , —
.
Windows,
. ,
.
,
. ,
,
FreeBSD Windows NT
Mach (
, ,
. (microkernel architecture), . . . Mac OS X) -
, . Linux
Windows 95/98
,
(monolithic)
. , , , ,
FreeBSD
. , Linux, .
, :
. -
,
-
Ƚɥɚɜɚ 17. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɹɞɪɚ
,
329
, .
,
. , ,
-
.
,
,
-
,
,
.
FreeBSD
,
.
Ɂɚɱɟɦ ɤɨɧɮɢɝɭɪɢɪɨɜɚɬɶ ɫɨɛɫɬɜɟɧɧɨɟ ɹɞɪɨ? FreeBSD
-
GENERIC. ,
FreeBSD
. 86
,
.
, (
, IRIX
SGI
Mac OS X .
Apple), GENERIC ,
, ).
(
,
.
, . . , , ,
-
. GENERIC. ,
.
, (
,
,
). ,
, FreeBSD. ɉɊɂɆȿɑȺɇɂȿ Ⱦɚɠɟ ɹɞɪɨ GENERIC ɩɨɡɜɨɥɹɟɬ ɨɬɤɥɸɱɢɬɶ ɩɪɨɜɟɪɤɭ ɜɫɟɯ ɢɡɜɟɫɬɧɵɯ ɟɦɭ ɭɫɬɪɨɣɫɬɜ. Ⱦɥɹ ɷɬɨɝɨ ɩɪɟɞɧɚɡɧɚɱɟɧ ɤɨɧɮɢɝɭɪɚɬɨɪ ɡɚɝɪɭɡɤɢ (ɫɦ. ɩɪɢɥɨɠɟɧɢɟ ȼ]. Ɉɧ ɩɨɡɜɨɥɹɟɬ ɹɜɧɨ ɭɫɬɪɚɧɢɬɶ ɬɟ ɭɫɬɪɨɣɫɬɜɚ, ɤɨɬɨɪɵɟ ɜɵɡɵɜɚɸɬ ɤɨɧɮɥɢɤɬɵ ɩɪɟɪɵɜɚɧɢɣ ɢɥɢ ɚɞɪɟɫɨɜ ɩɚɦɹɬɢ (ɢɥɢ ɧɟ ɩɪɢɫɭɬɫɬɜɭɸɬ ɜ ɫɢɫɬɟɦɟ]. ɗɬɨ, ɟɫɬɟɫɬɜɟɧɧɨ, ɧɟ ɢɡɦɟɧɹɟɬ ɫɚɦɨɝɨ ɹɞɪɚ ɢ ɫɤɨɦɩɢɥɢɪɨɜɚɧɧɵɯ ɫ ɧɢɦ ɷɥɟɦɟɧɬɨɜ, ɧɨ, ɩɨ ɤɪɚɣɧɟɣ ɦɟɪɟ, ɭɫɤɨɪɹɟɬ ɡɚɝɪɭɡɤɭ ɫɢɫɬɟɦɵ.
,
USB-
,
. ., . .
, SCSI, (
9). . (
-
, EXT2FS, ,
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
330
,
, ).
. ,
(SMP, Symmetric Multi-Processing) ,
GENERIC. ,
.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ dmesg ɞɥɹ ɫɛɨɪɚ ɢɧɮɨɪɦɚɰɢɢ ɨ ɡɚɩɭɫɤɟ ɹɞɪɚ ,
,
,
.
, . , dmesg. dmesg, less, 17.1
. ,
, 17.1.
dmesg
less
# dmesg | less Copyright ( ) 1992-2001 The FreeBSD Project. Copyright ( ) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.2-STABLE #1: Sun Mar 4 14:05:42 PST 2001 [email protected]:/usr/obj/usr/src/sys/STRIPES Timecounter "i8254" frequency 1193182 Hz CPU: Pentium Ill/Pentium III Xeon/Celeron (598.06-MHz 686-class CPO) Origin = "Genuinelntel" Id = 0x683 Stepping = 3 Features=Ox383f9ff
real memory = 132907008 (129792K bytes) config> di snO config> di IncO config> di ieO config> di feO config> di edO config> di csO config> di btO config> di aicO config> di ahaO config> di advO config> q avail memory = 125018112 (122088K bytes) Preloaded elf kernel "kernel" at Oxc044aOOO. Preloaded userconfig_script "/boot/kernel.conf" at Oxc044a09c. Pentium Pro MTRR support enabled mdO: Malloc disk npxO: on motherboard npxO: INT 16 interface pcibO: on motherboard pciO: on pcibO pciO: at 2.0 irq 11 pcibl: at device 30.0 on pciO pcil: on pcibl
Ƚɥɚɜɚ 17. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɹɞɪɚ
331
fxpO: port Oxde80-0xdebf mem OxffSfeOOO↪ 0xff8fefff irq 11 at device 8.0 on pcil fxpO: Ethernet address 00:dO:b7:o7:74:f1 fxpl: port OxdfOO-Oxdf3f mem ↪ Oxff700000-Oxff7f ffff,0xff8ff000-0xff8fffff irq 11 at device 9.0 on pcil fxpl: Ethernet address 00:dO:b7:bd:5d:13 isabO:
at
device
isaO: on isabO atapciO: , . di), dmesg. .
. , not found,
, dmesg
. ,
,
.
Ʉɨɧɮɢɝɭɪɚɰɢɨɧɧɵɟ ɮɚɣɥɵ ɹɞɪɚ FreeBSD Red Hat Linux Linux. FreeBSD
linuxconf
make config,
.
, ,
. /
" .
.
",
, ,
diff
grep,
GENERIC, .
NOTES ,
, /
. , .
,
FreeBSD
config"
" . FreeBSD /sys/i386/conf.
, GENERIC.
,
332
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
ɉɊɂɆȿɑȺɇɂȿ ȿɫɥɢ ɜɵ ɪɚɛɨɬɚɟɬɟ ɧɚ ɩɥɚɬɮɨɪɦɟ Alpha, ɚ ɧɟ ɯ86, ɜ ɢɦɟɧɢ ɩɪɟɞɵɞɭɳɟɝɨ ɤɚɬɚɥɨɝɚ ɧɟɨɛɯɨɞɢɦɨ ɡɚɦɟɧɢɬɶ 1386 ɧɚ alpha. ɇɟɤɨɬɨɪɵɟ ɩɚɪɚɦɟɬɪɵ, ɭɤɚɡɚɧɧɵɟ ɜ ɷɬɨɣ ɝɥɚɜɟ ɛɭɞɭɬ ɞɪɭɝɢɦɢ, ɨɞɧɚɤɨ ɫɚɦ ɩɨɞɯɨɞ ɨɫɬɚɧɟɬɫɹ ɩɪɟɠɧɢɦ.
Ʉɨɧɮɢɝɭɪɚɰɢɨɧɧɵɣ ɮɚɣɥ GENERIC .
GENERIC ( "
"
, ). .
GENERIC
, ,
,
: i386 I386_CPO I486_CPU I586_CPU I686_CPU GENERIC 32
machine cpu cpu cpu cpu ident maxusers
" ,
"
:
,
GENERIC
.
,
17.2. 17.2
GENERIC MATH_EMULATE #Support for x87 emulation INET #InterNETworking INET6 #IPv6 communications protocols FFS #Berkeley Fast Filesystem SOFTUPDATES #Enable FFS soft updates support MFS #Memory Filesystem MD_ROOT #MD is a potential root device NFS #Network Filesystem NFS_ROOT #NFS usable as root device, NFS required MSDOSFS #MSDOS Filesystem CD9660 #ISO 9660 Filesystem DEVFS #Device Filesystem PROOFS #Process filesystem COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] SCSI_DELAY=15000 #Delay (in ms) before probing SCSI UCONSOLE #Allow users to grab the console USERCONFIG #boot -c editor VISUAL_USERCONFIG #fvisual boot -c editor KTRACE #ktrace(l) support SYSVSHM #SYSV-style shared memory SYSVMSG #SYSV-style message queues SYSVSEM #SYSV-style semaphores P1003_1B #Posix P1003_1B real-time extensions _KPOSIX_PRIORITY_SCHEDOLING KBD_INSTALL_CDEV # install a CDEV entry in /dev
options options options options options options options options options options options options options options options options options options options options options options options options options
,
device. .
.
GENERIC. . 17.3.
device,
Ƚɥɚɜɚ 17. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɹɞɪɚ
17.3
,
3ɁɁ
GENERIC
# PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use # these NICs! device miibus # MII bus support device dc # DEC/Intel 21143 and various workalikes
device device
fxp pen
devicerl devicesf devicesis deviceste devicetl devicetx devicevr devicewb devicexl
# # # # # # # # # #
Intel EtherExpress PRO/100B (82557, # AMD Am79C79x PCI 10/100 NICs
82558)
RealTek 8129/8139 Adaptec AIC-6915 ( " Starfire'') Silicon Integrated Systems SiS 900/SiS 7016 Sundance ST201 (D-Link DFE-550TX) Texas Instruments ThunderLAN SMC EtherPower II (83cl70 ''EPIC1') VIA Rhine, Rhine II Winbond W89C840F 3Com (''Boomerang'', ''Cyclone'')
ɉɨɞɫɤɚɡɤɢ ɹɞɪɭ ɨɬɧɨɫɢɬɟɥɶɧɨ ɭɫɬɪɨɣɫɬɜ ɉɊɂɆȿɑ Ⱥɇ ɂȿ Ⱦɚɧɧɵɣ ɪɚɡɞɟɥ ɩɨɫɜɹɳɟɧ FreeBSD 5.0, ɬɚɤ ɤɚɤ FreeBSD 4.x ɧɟ ɩɨɞɞɟɪɠɢɜɚɟɬ ɮɚɣɥɵ, ɫɨɞɟɪɠɚɳɢɟ ɩɨɞɫɤɚɡɤɢ ɹɞɪɭ ɨɬɧɨɫɢɬɟɥɶɧɨ ɭɫɬɪɨɣɫɬɜ.
FreeBSD
,
(device hints), ,
. : device
ataO
at isa? port IO_WD1 irq 14
device
atal
at isa? port IO_WD2 irq 15
: device
ata , /boot/device.hints,
,
ata . :
hint.ata. .at="isa" hint.ata.0.port="OxlFO" hint.ata.0.irq="14" hint.ata.1.at="isa" hint.ata.1.port="0x170" hint.ata.1.irq="15"
, ata.
(IRQ — interrupt request) .
,
: # statically compile in device #hints "GENERIC.hints"
wiring instead of /boot/device.hints #Default places to look for devices.
Ɏɚɣɥ LINT /sys/i386/conf ,
LINT, .
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
334
,
. . ,
GENERIC, (
LINT. ).
, . .
,
,
LINT. FreeBSD .
LINT, ,
-
. ,
FreeBSD 5.0
, NOTES LINT
LINT .
NOTES, . NOTES,
LINT, ,
make lint. , (
,
,
).
ɋɨɡɞɚɧɢɟ ɤɨɧɮɢɝɭɪɚɰɢɨɧɧɨɝɨ ɮɚɣɥɚ ɹɞɪɚ ,
.
GENERIC
, .
,
,
,
. ,
.
CUSTOM: #
GENERIC CUSTOM
.
CUSTOM , —
GENERIC c u
machine cpu ident maxusers
,
,
,
CUSTOM. maxusers. Pentium III:
1386 I686_CPU CUSTOM 64
ɉɊɂɆȿɑȺɇɂȿ Ɉɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ ɧɚ ɡɧɚɱɟɧɢɟ ɨɩɰɢɢ maxusers: ɷɬɨ ɧɟ ɦɚɤɫɢɦɚɥɶɧɨ ɜɨɡɦɨɠɧɨɟ ɱɢɫɥɨ ɩɨɥɶɡɨɜɚɬɟɥɟɣ, ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɧɧɵɯ ɜ ɫɢɫɬɟɦɟ (ɩɨɫɥɟɞɧɟɟ ɡɚɞɚɟɬɫɹ ɜ ɫɬɪɨɤɟ device pty ). ɗɬɚ ɩɟɪɟɦɟɧɧɚɹ ɨɬɜɟɱɚɟɬ ɡɚ ɛɨɥɟɟ ɬɨɧɤɢɟ ɧɚɫɬɪɨɣɤɢ: ɩɨ ɟɟ ɡɧɚɱɟɧɢɸ ɜɵɱɢɫɥɹɸɬɫɹ ɪɚɡɦɟɪɵ ɜɧɭɬɪɟɧɧɢɯ ɬɚɛɥɢɰ, ɧɚɩɪɢɦɟɪ, ɦɚɤɫɢɦɚɥɶɧɨ ɜɨɡɦɨɠɧɨɟ ɱɢɫɥɨ ɩɪɨɰɟɫɫɨɜ (ɨɧɨ ɪɚɜɧɨ 16*maxusers+20). Ɂɧɚɱɟɧɢɟ ɷɬɨɣ ɨɩɰɢɢ ɩɪɢɦɟɪɧɨ ɪɚɜɧɨ ɨɠɢɞɚɟɦɨɦɭ ɱɢɫɥɭ ɩɨɥɶɡɨɜɚɬɟɥɟɣ, ɨɞɧɚɤɨ ɧɟ ɫɥɟɞɭɟɬ ɞɟɥɚɬɶ ɟɝɨ ɦɟɧɶɲɢɦ 4. ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɞɨɩɭɫɬɢɦɨɟ ɱɢɫɥɨ ɩɪɨɰɟɫɫɨɜ ɛɭɞɟɬ ɩɪɟɜɵɲɟɧɨ ɡɧɚɱɢɬɟɥɶɧɨ ɪɚɧɶɲɟ, ɱɟɦ ɦɨɠɧɨ ɨɠɢɞɚɬɶ.
. ,
,
dmesg
NOTES, -
Ƚɥɚɜɚ 17. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɹɞɪɚ
.
335
, !
-
,
#. -
—
,
GENERIC, ,
.
, ,
-
-
,
.
Ʉɨɦɩɢɥɹɰɢɹ ɢ ɭɫɬɚɧɨɜɤɚ ɹɞɪɚ ,
.
,
(
)
: #
cd /usr/src
# #
make make
buildkernel KERNCONF=CUSTOM installkernel KERNCONF=CUSTOM
,
KERNCONF GENERIC. ,
,
, ,
,
/boot (
:
make #
— /boot/kernel.old). .
make
kernel
KERNCONF=CUSTOM
ɉɊɂɆȿɑȺɇɂȿ ɍ ɹɞɪɚ ɭɫɬɚɧɨɜɥɟɧ ɮɥɚɠɨɤ schg (ɫɢɫɬɟɦɧɨ-ɧɟɢɡɦɟɧɹɟɦɵɣ). ɗɬɨ ɡɧɚɱɢɬ, ɱɬɨ ɞɚɠɟ ɩɨɥɶɡɨɜɚɬɟɥɶ root ɧɟ ɦɨɠɟɬ ɭɞɚɥɢɬɶ ɢɥɢ ɩɟɪɟɡɚɩɢɫɚɬɶ ɮɚɣɥ, ɧɟ ɨɬɤɥɸɱɢɜ ɩɪɟɞɜɚɪɢɬɟɥɶɧɨ ɷɬɨɬ ɮɥɚɠɨɤ. ɐɟɥɶ make installtarget ɩɵɬɚɟɬɫɹ ɨɬɤɥɸɱɢɬɶ ɟɝɨ ɞɨ ɭɫɬɚɧɨɜɤɢ ɧɨɜɨɝɨ ɹɞɪɚ. ɇɨ ɟɫɥɢ ɫɢɫɬɟɦɚ ɪɚɛɨɬɚɟɬ ɧɚ ɭɪɨɜɧɟ securelevel 1 ɢɥɢ ɜɵɲɟ (ɷɬɚ ɧɚɫɬɪɨɣɤɚ ɡɚɳɢɬɵ ɜɵɛɢɪɚɟɬɫɹ ɜɨ ɜɪɟɦɹ ɢɧɫɬɚɥɥɹɰɢɢ ɢɥɢ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɜ ɮɚɣɥɟ /etc/ɝɫ.conf, ɫɦ. man securelevel), ɮɥɚɠɨɤ ɬɟɤɭɳɟɝɨ ɹɞɪɚ ɧɟɥɶɡɹ ɨɬɤɥɸɱɢɬɶ. ɇɟɨɛɯɨɞɢɦɨ ɩɟɪɟɡɚɝɪɭɡɢɬɶɫɹ ɜ ɨɞɧɨɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɦ ɪɟɠɢɦɟ (ɩɟɪɟɯɨɞ ɜ ɧɟɝɨ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ shutdown ɜ ɷɬɨɦ ɫɥɭɱɚɟ ɧɟ ɪɚɛɨɬɚɟɬ) ɢ ɩɪɨɞɨɥɠɢɬɶ ɢɧɫɬɚɥɥɹɰɢɸ ɧɨɜɨɝɨ ɹɞɪɚ.
Ⱦɨɛɚɜɥɟɧɢɟ ɮɚɣɥɨɜ ɭɫɬɪɨɣɫɬɜ ɜ ɤɚɬɚɥɨɝɟ /dev ɉɊɂɆȿɑȺɇɂȿ Ⱦɚɧɧɵɣ ɪɚɡɞɟɥ ɧɟɩɪɢɦɟɧɢɦ ɤ FreeBSD 5.0, ɩɨɫɤɨɥɶɤɭ ɜ ɷɬɨɣ ɜɟɪɫɢɢ ɢɫɩɨɥɶɡɭɟɬɫɹ ɢɧɬɟɪɮɟɣɫ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ DEVFS ɤ ɫɢɫɬɟɦɧɵɦ ɭɫɬɪɨɣɫɬɜɚɦ ɢ ɜɢɪɬɭɚɥɶɧɚɹ ɮɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ /dev ɫɨɡɞɚɟɬɫɹ ɞɢɧɚɦɢɱɟɫɤɢ ɜɨ ɜɪɟɦɹ ɡɚɝɪɭɡɤɢ ɫɢɫɬɟɦɵ.
,
, ,
/dev. ,
-
. ,
, .
. /dev #
. /MAKEDEV
MAKEDEV:
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
336
,
,
"
"
-
/dev, .
—
(
,
sndO). : # ./MAKEDEV sndO
Ⱥɜɚɪɢɣɧɨɟ ɜɨɫɫɬɚɧɨɜɥɟɧɢɟ ,
. ,
,
(
"*** Error code 1"), , . , WebFreeBSD (http://
— , .
,
www.freebsd.org) ,
. (
18), , -CURRENT . : freebsd-current FreeBSD).
, -STABLE)
(
freebsd-stable (
—
:
-
Web-
,
,
. , .
, .
.
,
. )
(
10 ,
/boot/kernel.old
. ȼɇɂɆȺɇɂȿ! ɉɨɦɧɢɬɟ, ɱɬɨ ɩɪɢ ɫɥɟɞɭɸɳɟɣ ɩɨɩɵɬɤɟ ɫɛɨɪɤɢ ɢ ɢɧɫɬɚɥɥɹɰɢɢ ɹɞɪɚ ɮɚɣɥ /boot/kernel.old ɛɭɞɟɬ ɩɟɪɟɡɚɩɢɫɚɧ ɬɟɤɭɳɢɦ (ɬ.ɟ. ɧɟɪɚɛɨɬɨɫɩɨɫɨɛɧɵɦ ɹɞɪɨɦ]. ɑɬɨɛɵ ɢɡɛɟɠɚɬɶ ɷɬɨɝɨ, ɫɞɟɥɚɣɬɟ ɤɨɩɢɸ ɹɞɪɚ kernel.old ɫ ɞɪɭɝɢɦ ɢɦɟɧɟɦ, ɧɚɩɪɢɦɟɪ, /boot/kernel.frank. ɗɬɢɦ ɹɞɪɨɦ ɜɵ ɜɫɟɝɞɚ ɫɦɨ-ɠɟɬɟ ɜɨɫɩɨɥɶɡɨɜɚɬɶɫɹ ɜ ɫɥɭɱɚɟ ɧɟɭɞɚɱɧɨɣ ɡɚɝɪɭɡɤɢ.
,
: ps, top
,
,
,
. ,
18).
-
—
libkvm. , .
,
.
libkvm
world (
, .
w,
make
18
ɉɨɞɞɟɪɠɤɚ FreeBSD
Ɉɬɫɥɟɠɢɜɚɧɢɟ ɢɫɯɨɞɧɨɝɨ ɤɨɞɚ FreeBSD ɑɬɨ ɬɚɤɨɟ make world?
► ►
ɇɚ ɱɬɨ ɫɥɟɞɭɟɬ ɨɛɪɚɬɢɬɶ ɜɧɢɦɚɧɢɟ ɩɟɪɟɞ ɫɛɨɪɤɨɣ ɜɫɟɣ ɫɢɫɬɟɦɵ
►
Ɂɚɞɚɱɢ, ɜɵɩɨɩɧɩɟɦɵɟ ɞɨ ɫɛɨɪɤɢ ɜɫɟɣ ɫɢɫɬɟɦɵ
►
ɋɛɨɪɤɚ ɫɢɫɬɟɦɵ ɢɡ ɢɫɯɨɞɧɵɯ ɮɚɣɥɨɜ
►
ɂɫɩɨɥɶɡɨɜɚɧɢɟ mergemaster ɞɥɹ ɩɪɨɜɟɪɤɢ ɢɡɦɟɧɟɧɧɵɯ ɤɨɧɮɢɝɭɪɚɰɢɨɧɧɵɯ ɮɚɣɥɨɜ ɉɟɪɟɡɚɝɪɭɡɤɚ ɫɢɫɬɟɦɵ ɩɨɫɥɟ ɨɛɧɨɜɥɟɧɢɹ
► ►
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeSSD
338
, .
,
, . ,
.
,
Internet ( ,
), ,
! Microsoft
"
Windows NT/2000. Macintosh . FreeBSD . FreeBSD (4.0, 5.0) (3.4, 4.1.1), , , , ", , CVSup make world).
. " (service pack)
-
Windows -
Linux. . , -
,
-
" FreeBSD (
,
. , .
Ɉɬɫɥɟɠɢɜɚɧɢɟ ɢɫɯɨɞɧɨɝɨ ɤɨɞɚ FreeBSD ,
-
. (
,
) 2.
.
, . FreeBSD
CVS (CVS -
repository), .
Linux (
, ,
), FreeBSD
, .
, ,
CVS.
Ɉɛɴɹɫɧɟɧɢɟ ɜɟɬɜɟɣ ɢɫɯɨɞɧɨɝɨ ɤɨɞɚ STABLE ɢ CURRENT FreeBSD ,
. (
),
,
. . . .
,
Ƚɥɚɜɚ 18. ɉɨɞɞɟɪɠɤɚ FreeBSD
339
,
,
-
.
-
CURRENT (
),
- STABLE (
).
5.x . .) . . "
"
(3.x, 4.x, , -
. :
, ,
18.1.
. ,
FreeBSD,
CURRENT --
,
CURRENT STABLE.
-
! CURRENT ,
—
. .
, ,
CURRENT — STABLE ( CURRENT, . . CURRENT CURRENT,
— ,
( , 5.0), STABLE , a STABLE — .
). CURRENT , .
CURRENT ,
STABLE
,
.
.
ȼɵɛɨɪ ɰɟɥɢ ɨɛɧɨɜɥɟɧɢɹ ,
,
.
:
, CVSup.
). FreeBSD.
,
, ;
-
,
(
,
15.)
. . , RELENG — RELease ENGineer (
, ),
RELEASE. .
. 18.1
CVSup.
(
340
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
18.1 RELENG_5_0_0_RELEASE
FreeBSD 5.0
RELENG_4_2_0_RELEASE
FreeBSD 4.2
RELENG_4_1_1_RELEASE
FreeBSD 4.1.1
RELENG_3_5_0_RELEASE
FreeBSD 3.5
,
, ( ,
RELEASE
). FreeBSD , .
.
,
. 18.2.
ɋɈȼȿɌ Ɉɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ, ɱɬɨ ɬɚɛɥ. 18.2 ɨɬɧɨɫɢɬɫɹ ɤ ɥɟɬɭ 2001 ɝɨɞɚ. ɂɡ-ɡɚ ɞɢɧɚɦɢɱɟɫɤɨɣ ɩɪɢɪɨɞɵ ɪɚɡɪɚɛɨɬɤɢ ɜɟɬɜɟɣ ɩɨɞɨɛɧɚɹ ɢɧɮɨɪɦɚɰɢɹ ɫɨ ɜɪɟɦɟɧɟɦ ɭɫɬɚɪɟɜɚɟɬ. ɍɡɧɚɬɶ ɨ ɬɟɤɭɳɟɦ ɫɨɫɬɨɹɧɢɢ ɪɚɡɪɚɛɨɬɤɢ ɦɨɠɧɨ ɭɡɧɚɬɶ ɩɨ ɚɞɪɟɫɭ http://www.freebsd.org/handbook/cvsup.html.
Ɍɚɛɥɢɰɚ 18.2 Ⱦɟɫɤɪɢɩɬɨɪɵ ɜɟɬɜɟɣ ɢ ɨɛɨɡɧɚɱɟɧɢɟ ɜɟɪɫɢɣ ɞɥɹ ɩɪɨɦɟɠɭɬɨɱɧɵɯ ɜɟɪɫɢɣ ɤɨɞɚ RELENG_5
FreeBSD 5-CURRENT
RELENG_4_3
FreeBSD 4.3-STABLE
RELENG_4
FreeBSD 4-STABLE (Ȼɨɥɶɲɟ ɧɟ ɩɨɞɞɟɪɠɢɜɚɟɬɫɹ)
ɑɬɨ ɬɚɤɨɟ make world? , FreeBSD: ,
. .
-
FreeBSD ,
. make world. , .
,
-
,
, .
, "
"
, . ,
,
Ƚɥɚɜɚ 18. ɉɨɞɞɟɪɠɤɚ FreeBSD
341
.
-
: . ,— .
, ,
-
,
. ( 29. (world)
.
-
)
: (
),
.
, .
,
,
.
-
. .
,
,
. , make world
,
,
.
— on-line),
(
,
, . FreeBSD (FreeBSD Group)
, (
make world
,
).
, .
(make world) ,
, . :
,
, .
,
STABLE
, CURRENT
( ). ,
FreeBSD.
.
, ,
, . make world .
STABLE CURRENT, [email protected] [email protected], , , , , . [email protected] (make world)
342
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
. ,
, ,
, ,
.
ɉɊɂɆȿɑȺɇɂȿ Ɉɛɚ ɫɩɢɫɤɚ ɪɚɫɫɵɥɤɢ ɫɥɟɞɭɸɬ ɫɬɚɧɞɚɪɬɭ majordomo ɉɨɞɩɢɫɚɬɶɫɹ ɧɚ ɥɸɛɨɣ ɢɡ ɧɢɯ ɦɨɠɧɨ, ɩɨɫɥɚɜ ɷɥɟɤɬɪɨɧɧɨɟ ɫɨɨɛɳɟɧɢɟ: subscribe freebsd-stable
ɩɨ ɚɞɪɟɫɭ [email protected]. ɇɟ ɩɨɫɵɥɚɣɬɟ ɡɚɩɪɨɫɵ ɩɨ ɩɨɞɩɢɫɤɟ ɧɚ ɚɞɪɟɫɚ freebsdstable ɢɥɢ freebsd-current! ɗɬɨ ɨɞɧɚ ɢɡ ɫɚɦɵɯ ɪɚɫɩɪɨɫɬɪɚɧɟɧɧɵɯ ɨɲɢɛɨɤ ɜ Internet! Ⱦɜɚ ɷɬɢɯ ɚɞɪɟɫɚ ɩɪɟɞɧɚɡɧɚɱɟɧɵ ɞɥɹ ɤɨɧɬɪɨɥɹ ɬɪɚɮɢɤɚ ɫɩɢɫɤɚ ɪɚɫɫɵɥɤɢ, ɚ ɧɟ ɞɥɹ ɩɨɞɩɢɫɤɢ. ȼɵ ɩɨɥɭɱɢɬɟ ɡɚɩɪɨɫ ɩɨɞɬɜɟɪɠɞɟɧɢɹ, ɤɨɬɨɪɵɣ ɧɟɨɛɯɨɞɢɦɨ ɩɟɪɟɫɥɚɬɶ ɨɛɪɚɬɧɨ, ɱɬɨɛɵ ɜɚɫ ɜɤɥɸɱɢ-ɥɢ ɜ ɫɩɢɫɨɤ ɪɚɫɫɵɥɤɢ. ɑɬɨɛɵ ɨɬɩɢɫɚɬɶɫɹ, ɩɪɨɞɟɥɚɣɬɟ ɬɨ ɠɟ ɫɚɦɨɟ, ɡɚɦɟɧɢɜ ɫɥɨɜɨ subscribe ɧɚ unsubscribe ɜ ɬɟɥɟ ɫɨɨɛɳɟɧɢɹ.
,
,
, /usr/src) ( ), . ( ,
,— —
make world . ( , STABLE CURRENT. . ) ( , /usr/src , 29). FreeBSD . . , .
ɈɌɋɅȿɀɂȼȺɇɂȿ ɈɒɂȻɈɄ ɂ ɈɌɑȿɌɕ Ɉ ɉɊɈȻɅȿɆȺɏ Ȼɚɡɚ ɞɚɧɧɵɯ ɨɲɢɛɨɤ, ɨɛɧɚɪɭɠɟɧɧɵɯ ɜɨ FreeBSD, ɞɨɫɬɭɩɧɚ ɜ ɨɩɟɪɚɬɢɜɧɨɦ ɪɟɠɢɦɟ. ɋɨɫɬɨɹɧɢɟ ɜɫɟɯ ɨɛɧɚɪɭɠɟɧɧɵɯ ɨɲɢɛɨɤ ɢ ɡɚɩɪɨɫɨɜ ɧɚ ɫɨɡɞɚɧɢɟ ɧɨɜɵɯ ɫɜɨɣɫɬɜ ɦɨɠɧɨ ɩɪɨɫɦɨɬɪɟɬɶ ɩɨ ɚɞɪɟɫɭ http://wvuw.FreeBSD.org/cgi/query-pr-summary.cgi. Ɇɨɠɧɨ ɬɚɤɠɟ ɨɛɪɚɬɢɬɶɫɹ ɤ ɫɬɪɚɧɢɰɟ http://www.freebsd.org ɢ ɫɥɟɞɨɜɚɬɶ ɫɫɵɥɤɟ Bug Reports (Ɉɬɱɟɬɵ ɨɛ ɨɲɢɛɤɚɯ). ȼɵ ɬɚɤɠɟ ɢɦɟɟɬɟ ɜɨɡɦɨɠɧɨɫɬɶ ɫɨɨɛɳɢɬɶ ɨ ɧɚɣɞɟɧɧɵɯ ɨɲɢɛɤɚɯ. ɂɦɟɧɧɨ ɬɚɤ ɪɚɡɪɚɛɨɬɱɢɤɢ ɢ ɭɡɧɚɸɬ ɨ ɧɢɯ — ɨɬ ɩɨɥɶɡɨɜɚɬɟɥɟɣ. Ⱦɥɹ ɷɬɨɝɨ ɩɪɢɦɟɧɹɟɬɫɹ ɭɬɢɥɢɬɚ send-pr. Ɂɚɩɭɫɬɢɬɟ ɷɬɭ ɤɨɦɚɧɞɭ, ɢ ɨɧɚ ɨɬɤɪɨɟɬ ɬɟɤɫɬɨɜɵɣ ɪɟɞɚɤɬɨɪ ɫ ɝɨɬɨɜɵɦ ɲɚɛɥɨɧɨɦ, ɫɨɞɟɪɠɚɳɢɦ ɢɧɮɨɪɦɚɰɢɸ ɨ ɜɚɲɟɣ ɫɢɫɬɟɦɟ ɢ ɧɟɫɤɨɥɶɤɨ ɩɨɥɟɣ ɞɥɹ ɜɜɨɞɚ ɞɚɧɧɵɯ ɨɛ ɨɛɧɚɪɭɠɟɧɧɨɣ ɨɲɢɛɤɟ. ɉɨɫɥɟ ɫɨɯɪɚɧɟɧɢɹ ɮɚɣɥɚ ɢ ɜɵɯɨɞɚ ɢɡ ɪɟɞɚɤɬɨɪɚ ɨɬɱɟɬ ɩɟɪɟɫɵɥɚɟɬɫɹ ɩɪɹɦɨ ɛɚɡɟ ɞɚɧɧɵɯ GNATS ɢ ɩɪɨɫɦɚɬɪɢɜɚɟɬɫɹ ɪɚɡɪɚɛɨɬɱɢɤɚɦɢ. Ʉɨɧɟɱɧɨ ɠɟ, ɩɪɟɠɞɟ ɱɟɦ ɨɬɩɪɚɜɥɹɬɶ ɨɬɱɟɬ ɨɛ ɨɲɢɛɤɟ, ɭɛɟɞɢɬɟɫɶ, ɱɬɨ ɨ ɧɟɣ ɟɳɟ ɧɟ ɫɨɨɛɳɢɥɢ. Ⱦɥɹ ɷɬɨɝɨ ɫɥɟɞɭɟɬ ɨɛɪɚɬɢɬɶɫɹ ɩɨ ɩɪɢɜɟɞɟɧɧɨɦɭ ɜɵɲɟ LJRL ɢ ɩɪɨɢɡɜɟɫɬɢ ɩɨɢɫɤ ɩɨ ɨɬɱɟɬɚɦ. Ʉɪɨɦɟ ɬɨɝɨ, ɠɟɥɚɬɟɥɶɧɨ ɛɵɬɶ ɩɨɞɩɢɫɚɧɧɵɦ ɧɚ ɨɞɢɧ ɢɡ ɞɜɭɯ ɨɛɫɭɠɞɚɜɲɢɯɫɹ ɪɚɧɟɟ ɫɩɢɫɤɨɜ ɪɚɫɫɵɥɤɢ: freebsd-stable ɢɥɢ freebsd-current. ɇɟɩɥɨɯɨ ɞɨ ɨɬɩɪɚɜɤɢ ɨɬɱɟɬɚ ɩɨɦɟɫɬɢɬɶ ɫɨɨɛ-ɳɟɧɢɟ ɜ ɫɩɢɫɨɤ ɪɚɫɫɵɥɤɢ, ɩɨɨɛɳɚɬɶɫɹ ɫ ɞɪɭɝɢɦɢ ɩɨɥɶɡɨɜɚɬɟɥɹɦɢ, ɤɨɬɨɪɵɟ ɬɚɤɠɟ ɦɨɝɥɢ ɫɬɨɥ-ɤɧɭɬɶɫɹ ɫ ɷɬɨɣ ɨɲɢɛɤɨɣ. ɋɤɨɪɟɟ ɜɫɟɝɨ, ɨɛ ɨɲɢɛɤɟ ɭɠɟ ɢɡɜɟɫɬɧɨ ɢ, ɜɨɡɦɨɠɧɨ, ɱɬɨ ɭɠɟ ɧɚɣɞɟɧ ɜɪɟɦɟɧɧɵɣ ɫɩɨɫɨɛ ɟɟ ɨɛɨɣɬɢ.
,
,
Ƚɥɚɜɚ 18. ɉɨɞɞɟɪɠɤɚ FreeBSD
343
Ɂɚɞɚɱɢ, ɜɵɩɨɥɧɹɟɦɵɟ ɞɨ ɫɛɨɪɤɢ ɜɫɟɣ ɫɢɫɬɟɦɵ ,
.
-
RELEASE,
, .
, )—
( .
,
. ,
. ,
,
,
,
.
, , . -
,
(CD-R, DVD-RAM, DVD-R
. .),
, ,
,
NFS
(
CVSup.
20). . .
,
,
-
,
. —
. .
.
ɋɢɧɯɪɨɧɢɡɚɰɢɹ ɥɨɤɚɥɶɧɨɝɨ ɞɟɪɟɜɚ ɢɫɯɨɞɧɨɝɨ ɤɨɞɚ ɫ ɞɟɪɟɜɨɦ STABLE, CURRENT ɢɥɢ RELEASE . , , Anonymous CVS CVSup.
FreeBSD, Web).
. Synchronizing Your Source ( CVSup, .
FreeBSD
CVSup CVSup ,
,
15. CVSup 15.
•
(
cvsupit ,
.
STABLE,
STABLE 4.3-RELEASE, ( .
)
. , RELENG_4_3. , ".", —
•
Enter . ,
, .
cvsupit, . ), , -
-
344
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
3.
. . /etc/cvsupfile.
,
-
— periodic,
cvsupit
!
-
. , CURRENT,
STABLE
,
. 15.
-
. CVSup
RELEASE
CVSup — RELEASE,
. (
). .
cvsupit cvsupit /etc/cvsupfile 18.1.
cvsupit
/etc/cvsupfile. .
,
Ʌɢɫɬɢɧɝ 18.1 ɉɪɢɦɟɪ ɮɚɣɥɚ /etc/cvsupfile, ɫɨɡɞɚɧɧɨɝɨ ɭɬɢɥɢɬɨɣ cvsupit ________ *default *default *default *default
host=cvsup8.FreeBSD.org base=/usr prefix=/usr release=cvs
*default
tag=RELENG_4
*default
delete
use-rel-suffix
src-all *default tag=. ports-all doc-all
. 4.3-RELEASE *default
-
tag=RELENG_4_3_0_RELEASE
, STABLE
, :
CVSup,
"
"
( CURRENT).
—
.
make world .
/etc/cvsupfile , .
. ,
,
CVSup , .
• CVSup
—
, .
(Connection refused — ).
, -
Ƚɥɚɜɚ 18. ɉɨɞɞɟɪɠɤɚ FreeBSD
CVSup.
( .
cvsup8.freebsd.org), CVSup • CVSup , , IP-
345
, -
,
,
(
,
).
. NAT, NAT, , 5999.
. CVSup . CVSup.
• CVSup
/usr/src! ,
. CVS , .
-
. .
,
Ɍɟɤɫɬɨɜɵɣ ɮɚɣɥ UPDATING ,
UPDATING
/usr/src.
,
-
, (
—
, ).
! — (
UPDATING
)
,
. , ,
make world. ,
. make world
/etc
. ,
,
. , -
—
. .
UPDATING, ,
. mergemaster, /etc. make world.
, ,
mergemaster
Ɉɛɴɟɞɢɧɟɧɢɟ ɮɚɣɥɨɜ /etc/group ɢ /etc/passwd ɫ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɦɢ ɧɨɜɵɦɢ ɜɟɪɫɢɹɦɢ /etc
. , .
make world — .
,
-
. ,
.
/etc/group. /usr/src/etc/group. 20 . /usr/src/etc/group
,
/etc/group , ,
/etc/group. , 100.
,
.
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
346
—
-
diff.
18.2. Ʌɢɫɬɢɧɝ 18.2 ɋɪɚɜɧɟɧɢɟ ɮɚɣɥɨɜ /etc/group ɢ /usr/src/etc/group ɫ ɩɨɦɨɳɶɸ diff # diff /etc/group / usr/ sr c/etc/group | *** /etc/group Wed May 2 09:57:10 ---- /usr/src/etc/group Fri Aug 27 16:23:41 1999
less 2001
*************** *** 8,24 **** bin:*:7: news:*:8: man:*:9:
-
wheel:*:10:root,frank,joe games:*:13: uucp:*:66: xten:*:67:xten dialer:*:68: + network:*:69: - mysql:*:88: - users:*:100: nogroup:*:65533 : nobody:*:65534:
, /usr/src/etc/group network. , GID group. , /etc/group
-, /etc/group
/etc/group, +.
-
, , . (
, )
. find: #
find
/
-group -print
chmod, ,
. passwd, group.
,
/usr/src/etc/master.passwd. /etc/master.passwd adduser.
Ɉɛɴɟɞɢɧɟɧɢɟ ɮɚɣɥɚ /etc/make.conf ɫ ɟɝɨ ɧɨɜɨɣ ɜɟɪɫɢɟɣ make.conf /etc/rc.conf
FreeBSD /etc/ defaults/rc.conf)
.
, make, make world. /etc/make.conf, ( /etc/defaults/make.conf, . ,
. ( CFLAGS= NOPROFILE=
FreeBSD (FreeBSD handbook) /etc/defaults/make.conf /etc/make.conf): -pipe true
10.
# Avoid compiling profiled libraries — He #
-
Ƚɥɚɜɚ 18. ɉɨɞɞɟɪɠɤɚ FreeBSD
347
, .
ɋɛɨɪɤɚ ɫɢɫɬɟɦɵ ɢɡ ɢɫɯɨɞɧɵɯ ɮɚɣɥɨɜ ,
.
,
. ,
make world . 18.3.
, 18.3
• .
,
make world
ɢɡ make buildworld make installworld
make world
Ʉɨɦɩɢɥɢɪɭɟɬ ɢ ɭɫɬɚɧɚɜɥɢɜɚɟɬ ɜɫɟ, ɤɪɨɦɟ ɹɞɪɚ
make buildkernel make installkernel
make kernel
Ʉɨɦɩɢɥɢɪɭɟɬ ɢ ɭɫɬɚɧɚɜɥɢɜɚɟɬ ɹɞɪɨ
make world
make kernel ,
,
-
. .
Ɉɱɢɫɬɤɚ ɤɚɬɚɥɨɝɚ /usr/obj , ,
.
make world .
/usr/obj ,
,
,
. /usr/obj
( . schg (
),
root. ,
, rm -rf \.*.
, 1 2 3
cd /usr/obj chflaqs -R noschg rm -rf *
), rm -rf. -
: *
,
securelevel 1 -
( /etc/rc.conf, . man securelevel schg. .
29). ,
Ɂɚɩɭɫɤ ɡɚɩɢɫɢ ɜ log-ɮɚɣɥ log-
make world , )
. (
.
,
,
, ,
.
-
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
348
,
script.
"
",
.
-
script
exit. f script -/buildworld.out Script started, output # make buildworld
file
is
-/buildworld.out
...
# exit Script done,
output
file
is
-/buildworld.txt
,
. .
log-
make world
.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ɇɟ ɪɚɡɦɟɳɚɣɬɟ log-ɮɚɣɥ ɜ ɤɚɬɚɥɨɝɟ /tmp! Ɏɚɣɥɵ ɢɡ ɷɬɨɝɨ ɤɚɬɚɥɨɝɚ ɭɞɚɥɹɸɬɫɹ ɩɪɢ ɤɚɠɞɨɣ ɡɚɝɪɭɡɤɟ ɫɢɫɬɟɦɵ, ɢ ɤɨɝɞɚ ɧɨɜɚɹ ɋɢɫɬɟɦɚ ɧɚɱɧɟɬ ɪɚɛɨɬɚɬɶ, ɮɚɣɥ ɛɭɞɟɬ ɭɞɚɥɟɧ.
make buildworld /usr/src, make: # make buildworld
-
buildworld
,
. :
-j, # make -j4 buildworld
. ( 10). /usr/src . ,
/usr/obj. —
/usr/src/usr.sbin, . CVSup, ,
,
,
.
-
.
#
"signal ". 11 ,
. .
, ,
. .
FreeBSD ,
. # , .
buildworld
"*** Error code I ****. ,
,
Ƚɥɚɜɚ 18. ɉɨɞɞɟɪɠɤɚ FreeBSD
349
,
.
,
,
.
/usr/obj
,
.
/usr/obj
. , stable/freebsd-stable . ,
http://www.freebsd.org ( current/freebsd-current) , uname - , .
CVSup
Ɉɛɧɨɜɥɟɧɢɟ ɹɞɪɚ ,
,
. . GENERIC GENERIC (
17),
: # make buildkernel # make
installkernel
: #
make
kernel
FreeBSD 5.0),
/kernel (/boot/kernel /kernel.old (/booVkernel.old FreeBSD 5.0). , . ,
( . .
GENERIC, . . /usr/src #
make
buildkernel
make
— GENERIC, /boot/kernel , ). installkernel
KERNCONF=GENERIC
kernel.GENERIC: #
/boot/kernel
-
:
KERNCONF=GENERIC
. kernel.prev ( #
)
/boot/kernel.GENERIC
: # make buildkernel KERNCONF=CUSTOM
/boot/ , :
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
350
,
CUSTOM .
/boot/kernel:
# make installkernel KERNCONF=CUSTOM
,
,
,
. 18.4.
Ɍɚɛɥɢɰɚ 18.4 ɇɨɜɵɟ ɹɞɪɚ (FreeBSD 4.4) /kernel
ɇɨɜɨɟ ɫɩɟɰɢɚɥɶɧɨɟ ɹɞɪɨ
/kernel.GENERIC
ɇɨɜɨɟ ɹɞɪɨ GENERIC
/kernel.old
ɋɬɚɪɨɟ ɪɚɛɨɬɨɫɩɨɫɨɛɧɨɟ ɹɞɪɨ
,
, GENERIC (
-
11).
,
. make ,
world. ,
-
. •
. . , (
).
,
-
.
•
! securelevel 1 schg
installkernel .
, loader),
-s . /usr/src
,
make -
(
boot
.
mount make installkernel.
make installworld ,
(
),
.
. . loader (
reboot.
-
) boot -s.
,
, .
.
-
Ƚɥɚɜɚ 18. ɉɨɞɞɟɪɠɤɚ FreeBSD
351
ɉɊɂɆȿɑȺɇɂȿ ȿɫɥɢ ɫɢɫɬɟɦɚ ɧɟ ɡɚɝɪɭɡɢɬɫɹ (ɨɧɚ ɦɨɠɟɬ ɚɜɚɪɢɣɧɨ ɡɚɜɟɪɲɢɬɶ ɪɚɛɨɬɭ, ɜɵɞɚɬɶ ɫɨɨɛɳɟɧɢɹ ɨɛ ɨɲɢɛɤɚɯ ɢ ɬ.ɞ.), ɩɟɪɟɡɚɝɪɭɡɢɬɟɫɶ ɫɧɨɜɚ ɢ ɩɨɩɵɬɚɣɬɟɫɶ ɡɚɩɭɫɬɢɬɶ ɜ ɨɞɧɨɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɦ ɪɟɠɢɦɟ ɪɟɡɟɪɜɧɨɟ ɹɞɪɨ. ɉɵɬɚɣɬɟɫɶ ɞɨ ɬɟɯ ɩɨɪ, ɩɨɤɚ ɧɟ ɞɨɫɬɢɝɧɟɬɟ ɹɞɪɚ, ɤɨɬɨɪɨɟ ɢɫɩɨɥɶɡɨɜɚɥɨɫɶ ɪɚɧɟɟ (ɨɧɨ ɞɨɥɠɧɨ ɡɚɝɪɭɠɚɬɶɫɹ ɛɟɡ ɩɪɨɛɥɟɦ, ɜɟɞɶ ɟɞɢɧɫɬɜɟɧɧɨɟ, ɱɬɨ ɢɡɦɟɧɢɥɨɫɶ ɜ ɫɢɫɬɟɦɟ, — ɷɬɨ ɹɞɪɨ). ɇɚ ɷɬɨɣ ɫɬɚɞɢɢ ɫɥɟɞɭɟɬ ɨɬɥɨɠɢɬɶ ɩɪɨɰɟɫɫ make world ɢ ɪɚɡɨɛɪɚɬɶɫɹ ɫ ɧɨɜɵɦ ɹɞɪɨɦ. ɋɤɨɪɟɟ ɜɫɟɝɨ, ɧɟɭɞɚɱɧɚɹ ɡɚɝɪɭɡɤɚ ɹɞɪɚ ɜ ɬɚɤɨɣ ɮɚɡɟ ɫɜɹɡɚɧɚ ɫ ɜɪɟɦɟɧɧɵɦɢ ɩɪɨɛɥɟɦɚɦɢ ɜ ɢɫɯɨɞɧɨɦ ɤɨɞɟ, ɤɨɬɨɪɵɟ ɛɭɞɭɬ ɪɟɲɟɧɵ ɜ ɛɥɢɠɚɣɲɟɦ ɛɭɞɭɳɟɦ.
root.
,
/usr/src make world. , ,
. .
, log-
.
# make installworld
. ,
ps
,
top,
.
, .
,
-
,
.
ȼɨɡɦɨɠɧɵɟ ɬɪɭɞɧɨɫɬɢ -
make installworld
,
,
-
, ,
—
.
,
. ,
# .
/etc/group , .
. ,
/etc/master.passwd
ɂɫɩɨɥɶɡɨɜɚɧɢɟ mergemaster ɞɥɹ ɩɪɨɜɟɪɤɢ ɢɡɦɟɧɟɧɧɵɯ ɤɨɧɮɢɝɭɪɚɰɢɨɧɧɵɯ ɮɚɣɥɨɜ :
/etc (
,
, /var/log , -
.
/usr/share) make world
/etc, . ,
/etc FreeBSD, mergemaster . , #
.
mergemaster, ,
. ,
-
,
-Rp /etc /etc. old
/etc.
:
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
352
, mergemaster . ) - (
, -v ( ).
diff,
# mergemaster -cv
mergemaster (
, ).
,
-
,
/var/tmp/temproot. ( ,
/etc ,
). /var/tmp/temproot. diff, PAGER ( diff 18.3.
/etc , ). .
,
.
,
Ʌɢɫɬɢɧɝ 18.3 ȼɨɡɦɨɠɧɨɫɬɢ ɩɨ ɨɛɴɟɞɢɧɟɧɢɸ ɮɚɣɥɨɜ ɜ mergemaster ___________
*************** *** ---
321,326 **** 327,333 --kern_securelevel="-l" update_motd="YES': start_yinum="" + unaligned_print="YES" alpha (or NO).
# range: -1..3 ; '-!' is the most insecure # update version info in /etc/motd (or NO) # set to YES to start vinum # print unaligned access warnings on the
############################################### ### Define Use Use Use Use again
'd' 'i' 'm' 'v'
to to to to
Default is
source_rc_confs,
the mechanism used by
/etc/re.*
##
delete the temporary ./etc/defaults/rc.conf install the temporary ./etc/defaults/rc.conf merge the old and new versions view to differences between the old and new versions to
leave
the
temporary
, /var/tmp/temproot , mergemaster — 'm'
file
to deal with by hand
, .
-
. , .
sdiff. (
)
(
)
*** Type h at the sdiff prompt pccard beep="l" %
# pccard beep
|
(%)
. to get usage help
pccard_beep="2"
# pccard beep
, .
, .
: # mergemaster -cv -w 120
, -w
, -
Ƚɥɚɜɚ 18. ɉɨɞɞɟɪɠɤɚ FreeBSD
sdiff
353
-
'h',
. mergemaster. ).
( . , mergemaster /var/tmp/temproot. , "n ". /var/tmp/temproot
,
,
. mergemaster ,
,
,
, /etc.
,
-
. •
!
/etc . mergemaster,
(
, /etc.old), -
Ctrl+C,
/etc. • Mergemaster
,
mergemaster .
/var/tmp/temproot! , /var/tmp/temproot
"n ".
ɉɟɪɟɡɚɝɪɭɡɤɚ ɫɢɫɬɟɦɵ ɩɨɫɥɟ ɨɛɧɨɜɥɟɧɢɹ : •
?
•
buildworld?
• • • •
? ? installworld? ,
ps top?
•
/etc
?
" ", #
.
reboot
?
top.
,
, uname -
ps
: #
uname
-a
FreeBSD stripes.somewhere.com 4.3-STABLE FreeBSD 4.3-STABLE #0: Wed Jan 31 18:45:43 PST2001 [email protected]:/usr/src/sys/compile/CUSTOM i386 , ! make world.
19
Ɉ ɠɟɫɬɤɢɯ ɞɢɫɤɚɯ ɢ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦɚɯ
◀ Ɋɟɠɢɦɵ ɞɨɫɬɭɩɚ
IDE/ȺɌȺ
◀ Ⱦɢɫɤɢ SCSI ◀ Ƚɟɨɦɟɬɪɢɢ ɠɟɫɬɤɨɝɨ ɞɢɫɤɚ ◀ Ɋɚɡɛɢɟɧɢɟ ɠɟɫɬɤɨɝɨ ɞɢɫɤɚ ɧɚ ɪɚɡɞɟɥɵ ◀ ɋɨɡɞɚɧɢɟ ɞɢɫɤɨɜɵɯ ɦɟɬɨɤ ◀ ɉɨɞɝɨɬɨɜɤɚ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ ɤ ɢɫɩɨɥɶɡɨɜɚɧɢɸ
Ƚɥɚɜɚ 19. Ɉ ɠɟɫɬɤɢɯ ɞɢɫɤɚɯ ɢ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦɚɯ
. Macintosh (
)
Windows (
355
BIOS
), UNIX-
,
,
.
FreeBSD
. 9,
UNIX , : ,
. (slices)
,
,
,
.
, sysinstall
.
-
.
Ɋɟɠɢɦɵ ɞɨɫɬɭɩɚ IDE/ATA IDE (Integrated Drive Electronics — ,
). ,
, ( , ATA (Advanced Technology IDE IDE/ATA SCSI.
, , SCSI). Attachment — . , ,
). IDE-
. .
SCSIIDE ( ). ,
.
IDE 86. ,
,
FreeBSD.
Ɋɟɠɢɦɵ ɊIO IO (Programmed I/O IO DMA .
IO
) . BIOS
,
. Ultra DMA.
, IO
. 19.1. Ɍɚɛɥɢɰɚ 19.1 Ɋɟɠɢɦɵ ɩɟɪɟɞɚɱɢ ɞɚɧɧɵɯ ɊIO , 162
3,3
ȺɌȺ
163
5,2
ȺɌȺ
/
356
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD PIO
,
# 8,3
ȺɌȺ
# 11,1
ȺɌȺ-2
# 16,7
ȺɌȺ-2
/
ɉɊɂɆȿɑȺɇɂȿ Ȼɨɥɶɲɢɧɫɬɜɨ ɫɨɜɪɟɦɟɧɧɵɯ ɦɚɬɟɪɢɧɫɤɢɯ ɩɥɚɬ ɢɫɩɨɥɶɡɭɸɬ ɞɥɹ ɪɚɛɨɬɵ ɫ ɨɛɨɪɭɞɨɜɚɧɢɟɦ ɲɢɧɭ PCI. ȿɫɥɢ ɜɚɦ ɩɪɢɯɨɞɢɬɫɹ ɢɦɟɬɶ ɞɟɥɨ ɫɨ ɫɬɚɪɵɦɢ ɫɢɫɬɟɦɚɦɢ, ɝɞɟ ɨɫɧɨɜɧɨɣ ɲɢɧɨɣ ɹɜɥɹɟɬɫɹ ISA, ɦɚɤɫɢɦɚɥɶɧɵɦ ɜɨɡɦɨɠɧɵɦ ɪɟɠɢɦɨɦ ɛɭɞɟɬ PIO Mode 2. Ʌɸɛɨɣ ɛɨɥɟɟ ɫɤɨɪɨɫɬɧɨɣ ɪɟɠɢɦ ɩɪɟɜɵɫɢɬ ɜɨɡɦɨɠɧɨɫɬɢ ɫɚɦɨɣ ɲɢɧɵ.
Ɋɟɠɢɦɵ DMA IO
, .
SCSI-
,
,
. . 19.2. ,
DMA. -
90-
.
, .
. Ɍɚɛɥɢɰɚ 19.2 Ɋɟɠɢɦɵ ɩɟɪɟɞɚɱɢ ɞɚɧɧɵɯ DMA DMA
,
Single Word Mode 0
/
2,1
ATA
Single Word Mode 1
4,2
ATA
Single Word Mode 2
8,3
ATA
Multiword Mode 0
4,2
ATA
Multiword Mode 1
13,3
ATA-2
Multiword Mode 2
16,7
ATA-2
DMA
,
,
,
.
. DMA-
,
Windows
, -
DMA ,
95. .
Ɋɟɠɢɦ Ultra DMA , DMA /
Ultra DMA. . SCSI,
. Ultra DMA DMA.
,
-
Ƚɥɚɜɚ 19. Ɉ ɠɟɫɬɤɢɯ ɞɢɫɤɚɯ ɢ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦɚɯ
. 33 Ultra DMA IDE: 80
357
, / .
-
. 19.3. 40.
Ɍɚɛɥɢɰɚ 19.3 Ɋɟɠɢɦɵ ɩɟɪɟɞɚɱɢ ɞɚɧɧɵɯ Ultra DMA Ultra DMA , #
16,7
ATA/ATAPI-4
#
25,0
ATA/ATAPI-4
#
33,3
ATA/ATAPI-4
#
44,4
ATA/ATAPI-5
#
66,7
ATA/ATAPI-5
#
100,0
ATA/ATAPI-6
/
,
1998
,
UDMA, :
• • 80• •
,
Ultra DMA; IDE; ( Ultra DMA
IDE), (
Ultra DMA; BIOS).
,
, ,
IO,
,
-
BIOS.
,
-
UDMA, "
, BIOS (
" . UDMA),
UDMA
,
. Ultra DMA. , dmesg:
FreeBSD .
,
ad0: 6194MB UDMA33
[13424/15/63]
at
,
,
ataO-master
using
UDMA , (
,
-
),
MS-DOS
UDMA.
, .
Ⱦɢɫɤɢ SCSI IDE, SCSI ( IDE.
SCSI. . 19.4)
,
1. ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD 19.4
SCSI ,
/
,
,
,
SCSI-1
SCSI
5
6
8
50
SCSI-2
Fast SCSI
10
3
8
50
10
6
16
68
Wide SCSI Fast Wide SCSI SCSI-3
20
3
16
68
20
1,5-3
4-8
50
Wide Ultra SCSI
40
1.5-3
4-16
68
Ultra2 SCSI
40
12
8
50
Wide Ultra2 SCSI
80
12
16
68
Ultra3 SCSI
160
12
16
68
Ultra SCSI
Ultra160 SCSI
160
12
16
68
Ultra320 SCSI
320
12
16
68
,
SCSI
.
-
.
. SCSI,
SCSI-
16.
, ( .
.
, ),
SCSI IDE/ATA . ,
, IDE/ATA ). , (
, SCSI. (
,
Iomega ZIP, . SCSI FireWire (IEEE 1394). SCSIIDE1,5—2 .
...
, ,
). ). . PC Guide
,
,
, ( ,
Web-
. SCSI-
.
, SCSI , SCSI BIOS,
:
) , -
( SCSI-
,
,
.
, SCSI-
,
. SCSI
8
,
, SCSIhttp://www.pcguide.com.
,
Ƚɥɚɜɚ 19. Ɉ ɠɟɫɬɤɢɯ ɞɢɫɤɚɯ ɢ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦɚɯ
, fdisk ( FreeBSD ,
359
). , , Pentium 166 :
Windows. FreeBSD. IDE-
70- -
—
8
.
.
,
. ,
,
,
,
IDE
. ,
(
.
,
—
—
. 19.1),
,
.
,
. ɝɨɥɨɜɤɚ
ɞɨɪɨɠɤɚ ɐɂɅɂɇȾɊ -
Ɋɢɫɭɧɨɤ 19.1
, .
.
-
, 8
.
— .
. (
64, , 512).
(
63). .
.
,
9,
fdisk
:
# fdisk /dev/ad1 ******* Working on device /dev/adl ******* parameters extracted from in-core disklabel are: cylinders=1247 heads=255 sectors/track=63 (16065 blks/cyl) Media sector size is 512
( 1247 cylinders 10.2GB
.
! 255 ,
/
255
heads
x
63
)
:
sectors/track x 512 bytes/sector =
?
? 64
,
, —
,
. ,
-
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
360
,
. ,
BIOS. (
LBA
,
Extended INT13).
Ɋɟɠɢɦ LBA ɢ ɩɪɟɞɟɥ 528 Ɇɛ -
, ,
528 ,
,
-
. BIOS . 19.5.
.
,
Ɍɚɛɥɢɰɚ 19.5 Ɉɝɪɚɧɢɱɟɧɢɹ, ɧɚɤɥɚɞɵɜɚɟɦɵɟ ɧɚ ɝɟɨɦɟɬɪɢɸ ɠɟɫɬɤɨɝɨ ɞɢɫɤɚ ɐɢɥɢɧɞɪɵ
10
210-1 = 1023
Ƚɨɥɨɜɤɢ
8
28-1 = 255
ɋɟɤɬɨɪ/Ⱦɨɪɨɠɤɚ
6
26-1 = 63
, (
255
1023 — ,
, ).
-
,
. 528 . 1993 .
16 , BIOS
.
, .. 1023
, BIOS ).
LBA 1024
, 1852 463
.
! LBA (Logical Block Addressing — BIOS " ", , ( 255). ,
16 64
.
, ,
BIOS.
...
.
Ɋɟɠɢɦɵ Extended INT13 ɢ ɩɪɟɞɟɥ 8.4 Ƚɛ ,
LBA -
, .
8,4
,
.
. BIOS,
Extended INT13 (
-
13), Windows (
-
BIOS, Addressing Packet), ,
FreeBSD). 16-
).
(Disk (
Ƚɥɚɜɚ 19.0 ɠɟɫɬɤɢɯ ɞɢɫɤɚɯ ɢ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦɚɯ
8,4
Extended INT13, , , ,
,
. 16383
, 16 ,
"
IDE
63
.
, .
,
361
".
,
FreeBSD ,
137 — 65536... (
.—
.)
ɉɪɚɤɬɢɱɟɫɤɢɟ ɜɨɩɪɨɫɵ FreeBSD
,
LBA, .
, 8,4 ,
,
,
-
10
.
, , . FireWire (IEEE 1394),
, SCSI
,
. ,
IDE/ATA.
Ɋɚɡɛɢɟɧɢɟ ɠɟɫɬɤɨɝɨ ɞɢɫɤɚ ɧɚ ɪɚɡɞɟɥɵ : , IDE-
.
, ,
,
SCSI-
. ,
. , (slave) 9, — /dev/adl. (SCSI , adl,
40 , /dev/dal.) ,
IDE. .
.
, ,
,
.
Ɋɚɡɞɟɥɵ BIOS (Slices) . FreeBSD
, BIOS Windows
BIOS. FreeBSD . , BSD".
, BIOS, ,
.
BIOS FreeBSD ,
. " Macintosh,
" (partitions). "
" (slices).
, .
"
Ɋɚɡɞɟɥɵ BSD FreeBSD, : /var, /usr, /home
. .
,
-
# ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeB
.
BSD,
19.6.
.
BSD (
,
), . 19.6
BSD
ɚ
Ʉɨɪɧɟɜɨɣ ɪɚɡɞɟɥ (/)
b
Ɋɚɡɞɟɥ swap
ɫ
Ⱥɞɪɟɫɭɟɬɫɹ ɤ ɫɥɨɸ ɰɟɥɢɤɨɦ ɢɥɢ ɜɫɟɦɭ ɞɢɫɤɭ ɜ "ɨɩɚɫɧɨɦ" ɪɟɠɢɦɟ. ("Ɉɩɚɫɧɵɣ" ɪɟɠɢɦ ɢɫɩɨɥɶɡɨɜɚɥɫɹ ɜ ɩɪɨɲɥɨɦ, ɱɬɨɛɵ ɨɛɨɣɬɢ ɩɪɨɛɥɟɦɵ ɫ ɝɟɨɦɟɬɪɢɟɣ ɞɢɫɤɚ. Ɉɧ ɧɟ ɢɫɩɨɥɶɡɭɟɬɫɹ ɜɨ FreeBSD 4.4 ɢ 5.0)
d
Ⱦɥɹ ɨɛɳɟɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ (ɧɟ ɢɫɩɨɥɶɡɭɟɬɫɹ ɭɬɢɥɢɬɨɣ Disklabel Editor)
ɟ
Ⱦɥɹ ɨɛɳɟɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ
f
Ⱦɥɹ ɨɛɳɟɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ
g
Ⱦɥɹ ɨɛɳɟɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ
h
Ⱦɥɹ ɨɛɳɟɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ
. 19.2 ,
. . IDE/ATA ). BSD (e).
adO
(adl) ad3 (
,
1 (s1).
1
1
BSD e
19.2
/dev/ad1s1e
FreeBSD:
, DOS (Extended DOS Partition) ( ).
, DOS/Windows-
-
Linux. , DOS, , DOS).
, DOS,
FreeBSD. . FreeBSD 5(..
. , Windows,
Linux-
FreeBSD . Linux
Ƚɥɚɜɚ 19. Ɉ ɠɟɫɬɤɢɯ ɞɢɫɤɚɯ ɢ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦɚɯ
. DOS/
363
(
FreeBSD
)
,
FreeBSD:
, FreeBSD
.
Linux
. 19.7,
/
. , FreeBSD.
DOS
Ɍɚɛɥɢɰɚ 19.7 ɋɨɨɬɜɟɬɫɬɜɢɟ ɦɟɬɨɤ ɜ Linux ɢ FreeBSD Linux
FreeBSD
/dev/hdb4
/dev/ad1s3a
/dev/hdb5
/dev/ad1s3b
/dev/hdb6
/dev/ad1s3e
/dev/hdb7
/dev/ad1s3f
Ɋɟɞɚɤɬɨɪ ɫɥɚɣɫɨɜ (fdisk) ɜ ɩɪɨɝɪɚɦɦɟ sysinstall root
/stand/sysinstall "Fdisk",
"Configure". partition) Editor". . slave.
"Slice (PC-Style , adl ( , , , -
, ). , /var/run/dmesg.boot.
,
, .
,
,
, "Single". -
,
"Master", , fdisk (fixed disk —
—
"Slave".
(
) ).
, BIOS ( ,
).
fdisk
,
, ,
sysinstall. ,
! .
,
. FreeBSD, Linux — "Use Entire Disk" ( . 19.3. : ( .
BIOS
DOS.
,
, ).
, . " FreeBSD (adlsl)
, " ,
, "
,
.
-
"
-
),
1
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
19.3
Slice Editor ( "Use Entire Disk").
. , Slice Editor
W. ,
Q. .
,
None ( ). Boot Manager (BootMgr).
, FreeBSD
, ,
"Standard" — MBR Linux BootMgr FreeBSD),
, . DOS fdisk /MBR, ( LILO , , Windows.
, ,
,
FreeBSD, — Disklabel Editor ( sysinstall,
.
).
Label (
),
.
adl
disklabel.
Disklabel Editor. . Disklabel Editor — BSD.
ɉɊɂɆȿɑȺɇɂȿ Disklabel Editor ɜɨ FreeBSD ɧɟ ɩɨɡɜɨɥɹɟɬ ɢɡɦɟɧɹɬɶ ɪɚɡɦɟɪɵ ɫɭɳɟɫɬɜɭɸɳɢɯ ɪɚɡɞɟɥɨɜ. ɗɬɨɝɨ ɧɟɥɶɡɹ ɫɞɟɥɚɬɶ, ɧɟ ɩɟɪɟɮɨɪɦɚɬɢɪɨɜɚɜ ɟɝɨ ɫ ɩɨɬɟɪɟɣ ɜɫɟɯ ɞɚɧɧɵɯ, ɩɨɷɬɨɦɭ ɬɳɚɬɟɥɶɧɨ ɩɪɨɞɭɦɚɣɬɟ ɫɯɟɦɭ ɫɨɡɞɚɧɢɹ ɪɚɡɞɟɥɨɜ ɞɨ ɬɨɝɨ, ɤɚɤ ɫɨɯɪɚɧɹɬɶ ɢɡɦɟɧɟɧɢɹ!
ɉɨɥɧɚɹ ɪɚɡɦɟɬɤɚ ɪɚɡɞɟɥɚ FreeBSD , , BSD /var
. ,
,
"Adding a New Disk". Disklabel Editor FreeBSD, , /usr, FreeBSD , .
Ƚɥɚɜɚ 19. Ɉ ɠɟɫɬɤɢɯ ɞɢɫɤɚɯ ɢ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦɚɯ
365
"Auto Defaults for all!" ( ). (
.
, FreeBSD-
. 19.4).
,
. 19.4 Disklabel Editor
(
"Auto
Defaults for all!".
. log-
100 log-
/var. ,
100
,
/var
Web-
20
,
. .
, , ,
D.
,
/var
— Disklabel Editor. /var /usr. "Free:"
,
. .(
,
,
W.) " ",
"Partition name: adlsl", ,
. /var 200 ,
.
,
.( .)
"200m".
,
, (
FS — ,
).
/var. .
"Free:" "/usr", .
. 19.5.
Ⱦɨɛɚɜɥɟɧɢɟ ɧɨɜɨɝɨ ɞɢɫɤɚ BSD. He
, .
,
"Partition name: adlsl" /home),
BSD , ..
. (
, .
40
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
366
,
:
(
, 20G),
,
-
.
19.5
.
(
)
.
FS
.
, .
/etc/fstab . ,
-
.
,
,
D.
. W.
ɉɊɂɆȿɑ Ⱥɇ ɂȿ ȿɫɥɢ ɜɵ ɫɨɡɞɚɞɢɬɟ ɛɨɥɟɟ ɱɟɬɵɪɟɯ ɪɚɡɞɟɥɨɜ, ɜɫɟ "ɡɚɪɟɡɟɪɜɢɪɨɜɚɧɧɵɟ" ɢɦɟɧɚ ɛɭɞɭɬ ɢɫɩɨɥɶɡɨɜɚɧɵ, ɧɚɱɢɧɚɹ ɫ ɚ ɢ ɖ; ɫ ɛɭɞɟɬ ɩɪɨɩɭɳɟɧɨ, ɩɨɫɤɨɥɶɤɭ ɨɧɨ ɢɦɟɟɬ ɫɩɟɰɢɚɥɶɧɨɟ ɡɧɚɱɟɧɢɟ. Ⱦɥɹ ɪɚɡɞɟɥɨɜ ɩɨɫɥɟ d ɛɭɞɟɬ ɢɫɩɨɥɶɡɨɜɚɧɚ "ɩɭɫɬɚɹ" ɦɟɬɤɚ X, ɢ ɜɵ ɧɟ ɫɦɨɠɟɬɟ ɢɯ ɤɨɪɪɟɤɬɧɨ ɩɪɢɦɟɧɢɬɶ.
ɋɨɯɪɚɧɟɧɢɟ ɢɡɦɟɧɟɧɢɣ ɢ ɮɨɪɦɚɬɢɪɨɜɚɧɢɟ ɞɢɫɤɚ FreeBSD
newfs. -
sysinstall. ,
Newfs
Y,
. . ,
.
,
Part.
, ,
d . ,
, , .
. 19.6.
, : adlsle, adlslf . W newfs, Q
. . . sysinstall.
-
Ƚɥɚɜɚ 19. Ɉ ɠɟɫɬɤɢɯ ɞɢɫɤɚɯ ɢ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦɚɯ
367
ɉɨɞɝɨɬɨɜɤɚ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɵ ɤ ɢɫɩɨɥɶɡɨɜɚɧɢɸ , , /etc/fstab. /etc/fstab
.
. mount 9. :
FreeBSD.
.
mount ,
,
, /mnt/newdisk. ( mount:
.) #
mount
/dev/adlsle
/mnt/newdisk
,
,
df. To
, . #
umount
umount:
/mnt/newdisk
— FreeBSD!
20
Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD
◀ ɉɟɪɟɯɨɞ ɤ FreeBSD ◀ ɑɟɝɨ ɞɟɥɚɬɶ ɧɟ ɫɥɟɞɭɟɬ ◀ Ɍɨɧɤɚɹ ɧɚɫɬɪɨɣɤɚ ɩɪɨɢɡɜɨɞɢɬɟɥɶɧɨɫɬɢ ◀ ɉɨɞɝɨɬɨɜɤɚ ɤ ɯɭɞɲɟɦɭ: ɪɟɡɟɪɜɧɵɟ ɤɨɩɢɢ
Ƚɥɚɜɚ 20. Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD
FreeBSD,
369
,
. ,
-
. FreeBSD.
, . -
:
, . .
-
,
, .
FreeBSD
. FreeBSD ,
— Linux. ,
, .
Windows, ,
, ,
,
,
.
ɉɟɪɟɯɨɞ ɤ FreeBSD 15-20% FreeBSD. Linux. NetBSD, OpenBSD
. ,
UNIX65%.
(
FreeBSD , UNIX,
UNIX-
,
Windows NT/2000 , , , . , . . Linux
20-30%
, )
FreeBSD , -
FreeBSD.
. , -
,
Linux.
FreeBSD , Web,
. FreeBSD
. -
FreeBSD :
, Windows NT/2000
, .
Linux .
370
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
, "
"
,
FreeBSD
.
FreeBSD .
ɉɟɪɟɯɨɞ ɨɬ Windows NT/2000 Windows NT/2000
, .
,
Windows NT/2000
. —
UNIX-
.
ɋɈȼȿɌ ȼɫɬɪɨɟɧɧɵɟ ɫɪɟɞɫɬɜɚ Windows NT/2000 ɢ ɉɈ ɨɬ ɫɬɨɪɨɧɧɢɯ ɩɪɨɢɡɜɨɞɢɬɟɥɟɣ ɡɧɚɱɢɬɟɥɶɧɨ ɩɨɜɵɲɚɸɬ ɜɨɡɦɨɠɧɨɫɬɢ ɭɞɚɥɟɧɧɨɝɨ ɞɨɫɬɭɩɚ ɤ ɷɬɨɣ ɩɥɚɬɮɨɪɦɟ. ȼ ɩɪɢɧɰɢɩɟ, ɭɞɚɥɟɧɧɨ ɭɩɪɚɜɥɹɬɶ ɦɨɠɧɨ ɫɥɭɠɛɚɦɢ, ɫɨɞɟɪɠɚɳɢɦɢɫɹ ɜ ɩɚɧɟɥɢ ɭɩɪɚɜɥɟɧɢɹ Services. Ʉɪɨɦɟ ɬɨɝɨ, ɫɭɳɟɫɬɜɭɸɬ ɪɚɡɥɢɱɧɵɟ ɦɟɬɨɞɵ ɭɞɚɥɟɧɧɨɝɨ ɞɨɫɬɭɩɚ ɤ ɤɨɦɚɧɞɧɨɣ ɫɬɪɨɤɟ DOS ɧɚ ɫɟɪɜɟɪɧɨɣ ɦɚɲɢɧɟ. Ɉɞɧɚɤɨ ɨɧɢ ɧɟ ɩɪɟɞɫɬɚɜɥɹɸɬ ɫɨɛɨɣ ɩɨɥɧɨɰɟɧɧɨɣ ɮɭɧɤɰɢɨɧɚɥɶɧɨɫɬɢ ɦɚɲɢɧɵ, ɬɚɤ ɤɚɤ ɨɝɪɚɧɢɱɟɧɵ ɢɫɩɨɥɶɡɭ-ɟɦɵɦ ɦɟɯɚɧɢɡɦɨɦ ɭɩɪɚɜɥɟɧɢɹ. ȼɨɡɦɨɠɧɨɫɬɶ ɤɨɧɮɢɝɭɪɢɪɨɜɚɧɢɹ ɩɪɨɝɪɚɦɦɧɨɝɨ ɨɛɟɫɩɟɱɟɧɢɹ, ɭɫɬɚɧɨɜɥɟɧɧɨɝɨ ɧɚ ɫɟɪɜɟɪɟ, ɡɚɱɚɫɬɭɸ ɡɚɜɢɫɢɬ ɨɬ ɤɥɢɟɧɬɫɤɢɯ ɩɪɨɝɪɚɦɦ. Ɉ ɧɢɯ ɪɚɫɫɤɚɡɚɧɨ ɜ ɫɥɟɞɭɸɳɟɦ ɪɚɡɞɟɥɟ.
Windows -
: ,
— .
.
,
, Windows
, .
-
, .
FreeBSD,
, Web-
(
. -
,
. .), . Telnet ( ,
UNIX. , ,
SSH) — .
,
-
,
. ,
-
: ( Windows, ,
, .
,
, )
— .
Windows NT/2000
. .
, o-
Ƚɥɚɜɚ 20. Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD
371
,
Windows,
FreeBSD
. Administrator.
root root
. -
: ,
(
,
).
Windows NT/2000 FreeBSD. • FreeBSD User, Group Other. ACL •
(
Windows NT/2000 paths), "
Windows NT/2000 (Access Control Lists). FreeBSD 5.0 . 10), Windows NT/2000 — . " " (trusted , . , Windows " -
,
(
),
-
. FreeBSD
. Kerberos (
29). •
FreeBSD
16 .
-
. •
Windows NT/2000
27 . FreeBSD root,
( •
set-user-ID —
FreeBSD
. •
•
). . . Windows NT/2000 -
UNIX
. Windows ( ,
, setuid -
FreeBSD
.
UNIX. , Domain Controller Windows NT/2000) NIS (yellowpages, " "). NIS man nis. , NetBIOS Windows, UNIXNFS. Samba FreeBSD Windows. NFS 31, Samba 32.
,
372
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
• Windows
Authenticode. "
", .
. /
,
UNIX FreeBSD , . 15.
, .
Windows NT/2000 , UNIX,
, ,
. Windows , FreeBSD, UNIX (
: . .
,
), UNIX. , Administration, Networking, and Security) — http://www.sans.org.
Windows,
FreeBSD (
,
, ,
SANS (System ,
-
, . 20.1).
.
Ɍɚɛɥɢɰɚ 20.1 ɉɪɨɝɪɚɦɦɧɨɟ ɨɛɟɫɩɟɱɟɧɢɟ ɫɟɪɜɟɪɨɜ Windows Windows NT/2000
FreeBSD
Mail (SMTP)
Microsoft Exchange
Sendmail
Ɉɫɧɨɜɧɨɣ ɫɢɫɬɟɦɟ
Mail (POP)
Microsoft Exchange
qpopper
ɉɨɪɬɚɯ
MAIL (IMAP)
Microsoft Exchange
IMAP-UW
ɉɨɪɬɚɯ ɉɨɪɬɚɯ
News (NNTP)
Microsoft Exchange
inn
ȼɟɞɟɧɢɟ
Microsoft SMS
syslogd
Ɉɫɧɨɜɧɨɣ ɫɢɫɬɟɦɟ
ɫɢɫɬɟɦɧɵɯ ɠɭɪɧɚɥɨɜ Web/HTTP
Microsoft IIS
Apache
ɉɨɪɬɚɯ
FTP
Microsoft IIS
ftpd
Ɉɫɧɨɜɧɨɣ ɫɢɫɬɟɦɟ
Ⱦɢɧɚɦɢɱɟɫɤɢɟ Web-ɫɬɪɚɧɢɰɵ
Cold Fusion, ASP
PHP
ɉɨɪɬɚɯ
DNS
Microsoft Active Directory
BIND
Ɉɫɧɨɜɧɨɣ ɫɢɫɬɟɦɟ
Remote Access (ɍɞɚɥɟɧɧɵɣ ɞɨɫɬɭɩ)
Microsoft Terminal Server
Telnet, SSH
Ɉɫɧɨɜɧɨɣ ɫɢɫɬɟɦɟ
Directory Services (ɋɥɭɠɛɵ ɤɚɬɚɥɨɝɨɜ)
Microsoft Active Directory
OpenLDAP
ɉɨɪɬɚɯ
Ƚɥɚɜɚ 20. Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD
,
373
Windows
, .
: UNIX
. .
, Web-
, DNS-cep
: • UNIX.
, .
• Windows,
UNIX "
"
, .
,
UNIX.
,
,
UNIX,
,
Windows-
Microsoft (service packs).
.
— ,
(
.
,
) Web-
(hotfixes),
Microsoft. FreeBSD , , ,
, ,
,
. FreeBSD ,
, ,
. CVSup
, .
FreeBSD,
, (patches). . FreeBSD Security Officer (
, ),
,
,
-
.
. .
,
-
.
,
-
, make world,
.
18.
,
FreeBSD, . ,
18,
RELEASE, ,
, .
374
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
Linux , Linux UNIX, . , Linux).
(
FreeBSD,
Windows NT/2000.
FreeBSD , , Linux
. FreeBSD
,
-
, ,
,
Windows. Linux
FreeBSD:
12 13 14 15 16 17 FreeBSD?
:
, , (/usr/bin, /var/lib
,
/usr/local. FreeBSD " " . .).
. 20.2 .
,
Linux. Ɍɚɛɥɢɰɚ 20.2 ɋɪɚɜɧɟɧɢɟ ɪɚɫɩɨɥɨɠɟɧɢɹ ɧɟɤɨɬɨɪɵɯ ɪɟɫɭɪɫɨɜ ɜ Linux ɢ FreeBSD Linux
FreeBSD
Ʉɨɪɧɟɜɨɣ ɤɚɬɚɥɨɝ ɫɟɪɜɟɪɚ Apache
/var/lib/apache
/usr/local/www
Ʉɨɧɮɢɝɭɪɚɰɢɨɧɧɵɣ ɮɚɣɥ Apache
/var/lib/apache/conf
/usr/local/etc/apache
Ⱦɜɨɢɱɧɵɟ ɮɚɣɥɵ
/var/lib/apache/sbin
/usr/local/sbin/
ȼɵɩɨɥɧɹɟɦɵɣ ɮɚɣɥ Sendmail
/usr/lib/sendmail
/usr/sbin/sendmail
Ʉɚɬɚɥɨɝ ɛɚɡɵ ɞɚɧɧɵɯ MySQL
/var/lib/mysql
/var/db/mysql
ɇɚɱɚɥɶɧɵɟ ɫɰɟɧɚɪɢɢ ɡɚɩɭɫɤɚ ɫɢɫɬɟɦɵ
/etc/rc.d
/etc/re.*
ɇɚɱɚɥɶɧɵɟ ɫɰɟɧɚɪɢɢ ɡɚɩɭɫɤɚ, ɭɫɬɚɧɨɜɥɟɧɧɵɟ ɩɨɥɶɡɨɜɚɬɟɥɟɦ
/etc/rc.d
/usr/local/etc/rc.d
Ⱦɜɨɢɱɧɵɟ ɮɚɣɥɵ, ɭɫɬɚɧɨɜɥɟɧɧɵɟ ɩɨɥɶɡɨɜɚɬɟɥɟɦ
/usr/bin
/usr/local/bin
Ȼɢɛɥɢɨɬɟɤɢ, ɭɫɬɚɧɨɜɥɟɧɧɵɟ ɩɨɥɶɡɨɜɚɬɟɥɟɦ
/usr/lib
/usr/local/lib
Ɏɚɣɥɵ ɪɚɡɞɟɥɹɟɦɨɝɨ ɞɨɫɬɭɩɚ, ɭɫɬɚɧɨɜɥɟɧɧɵɟ ɩɨɥɶɡɨɜɚɬɟɥɟɦ
/usr/share
/usr/local/share
Ƚɥɚɜɚ 20. Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD 375
Linux
)
RPM ( FreeBSD,
/ .
FreeBSD, FreeBSD
(Linux BSD). 15.
,
System V,
Ɋɚɡɞɟɥɵ ɢ ɬɢɩɵ ɮɚɣɥɨɜɵɯ ɫɢɫɬɟɦ Ext2FS,
Linux,
DOS: "
BIOS, ",
"
.
"
"
",
. (
-
!), FreeBSD
(slice),
. :
,
BIOS, BSD). ,
( , .
,
. FreeBSD
,
FreeBSD , Ext2FS. ,
19. Linux
UFS/FFS. FreeBSD
-
17.
ɉɨɪɬɵ ɢ ɩɚɤɟɬɵ ,
Linux,
, RPM.
FreeBSD,
(
, /usr/lib).
, FreeBSD
.
(pkg_*) ,
Linux
UNIX,
. FreeBSD
. ,
,
,
. (committers).
15.
ɋɢɧɯɪɨɧɢɡɚɰɢɹ ɫɢɫɬɟɦɵ FreeBSD
,
Linux:
-
, Linux
.
. .
,
Linux.
, -
376
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
, . , FreeBSD
CVSup, Linux
(hotfixes) (
18. RPM, FreeBSD .
) : ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ
Ɉɛɧɨɜɥɟɧɢɟ ɤɨɦɩɨɧɟɧɬɨɜ ɫɢɫɬɟɦɵ (ɚ ɧɟ ɫɢɫɬɟɦɵ ɰɟɥɢɤɨɦ) ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɷɮɮɟɤɬɢɜɧɵɣ ɦɟɬɨɞ, ɤɨɬɨɪɵɣ ɪɚɛɨɬɚɟɬ ɜ ɛɨɥɶɲɢɧɫɬɜɟ ɫɥɭɱɚɟɜ (ɨɫɨɛɟɧɧɨ ɞɥɹ ɧɟɛɨɥɶɲɢɯ ɤɨɦɩɨɧɟɧɬɨɜ ɫɢɫɬɟɦɵ]. ɇɨ ɱɟɦ "ɮɭɧɞɚɦɟɧɬɚɥɶɧɟɟ" ɫɨɫɬɚɜɧɨɣ ɷɥɟɦɟɧɬ ɫɢɫɬɟɦɵ, ɬɟɦ ɛɨɥɶɲɟ ɜɟɪɨɹɬɧɨɫɬɶ ɬɨɝɨ, ɱɬɨ ɞɥɹ ɟɝɨ ɤɨɪɪɟɤɬɧɨɣ ɪɚɛɨɬɵ ɩɨɬɪɟɛɭɟɬɫɹ ɜɵɩɨɥɧɢɬɶ make world (ɫɦ. ɝɥɚɜɭ 18]. Ɍɚɤɢɟ ɜɚɠɧɵɟ ɫɨɫɬɚɜɧɵɟ ɱɚɫɬɢ ɫɢɫɬɟɦɵ ɜɤɥɸɱɚɸɬ, ɤɚɤ ɩɪɚɜɢɥɨ, ɨɫɧɨɜɧɵɟ ɛɢɛɥɢɨɬɟɤɢ (ɜ ɤɚɬɚɥɨɝɟ /usr/lib] ɢ ɡɚɝɨɥɨɜɨɱɧɵɟ ɮɚɣɥ (/usr/include) Ʉ ɦɟɧɟɟ ɪɢɫɤɨɜɚɧɧɵɦ ɨɛɥɚɫɬɹɦ ɨɬɧɨɫɹɬɫɹ ɞɜɨɢɱɧɵɟ ɮɚɣɥɵ ɜ /usr/bin ɢ /usr/sbin.
Linux
FreeBSD
10. FreeBSD , a /etc/passwd — Linux /etc/shadow . /etc/shadow Linux, FreeBSD. . 20.1 ( CD-
(shadow passwords). /etc/master.passwd ( ). , /etc/passwd master.passwd Perl, mkpasswd.pl).
20.1 Linux
FreeBSD
#!/usr/bin/perl 5 6 ), $newshell = "/bin/csh"; open (PASSWD,"/etc/passwd"); @passwd = ; close (PASSWD) ; open (SHADOW,"/etc/shadow"); @shadow = ; close (SHADOW); foreach $user (@shadow) { @sdata = split(/:/,$user); $passhash(@sdata[0]} = @sdata[l];
bash
FreeBSD-
( /bin/csh
#
/etc/passwd
#
/etc/shadow
# #
} foreach $user (gpasswd) { @pdata = split(/:/,$user); @pdata[6] = $newshell."\n" if (@pdata[6] eq "/bin/bash\n"); @pdata[l] = $passhash{@pdata[0]}; # " "
Ƚɥɚɜɚ 20. Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD splice (@pdata,4 ,0 ,undef , " " , " ") ; foreach (gpdata) { print " $_" ; print ":" unless ($_ =~ /\n/) ; }
377
# #
}
root Linux: % ./mkpasswd.pl > new. master . passwd
,
new.master.passwd FreeBSD/etc (pwd_mkdb ). , /etc/ master. passwd FreeBSD. , 15 , ( daemon, bin, news , Linux FreeBSD ). /etc/master.passwd new.master.passwd. /etc/master.passwd. , pwd_mkdb hash: # pwd_mkdb -p /etc/new. master .passwd
, root.
,
.
.
-
, ,
pwd_mkdb, . Linux FreeBSD : 10 FreeBSD
. System.map.
Linux
(jump vectors) .
FreeBSD
,
. FreeBSD
11 , tcsh .
bash.
tcsh, , . .
csh
-
bash,
. Linux (
12 /compat/linux, , linux.ko ( "
) -
Linux-
. kldstat). Linux.
"
-
, .
, FreeBSD,
.
-
378
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
•
FreeBSD root. (
.
/etc/ttys
10).
•
5.0 FreeBSD " 17.
/dev, ,
DEVFS, PCI FreeBSD .
• "
"
, .
Linux , , FreeBSD
. ethl Linux
ethO fxpO.
fxpl
PCI
, "
DEVFS .
"
, " ,
,
Linux
Ethernet ,
FreeBSD
.
ɑɬɨ "ɫɥɟɞɭɟɬ" ɢ "ɧɟ ɫɥɟɞɭɟɬ" ɞɟɥɚɬɶ , ,
. -
. ,
:
•
. , "
"
,
,
.
, ,
[email protected]. , . •
(
,
)
-
. ,
setuid,
-
,
.
•
CVSup. , (
-
). sudo (/usr/ports/security/sudo)
•
-
. ,
-
sudo , .
•
ntpd
.
ntpdate /etc/rc.conf:
Ƚɥɚɜɚ 20. Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD
379
ntpdate_enable="YES" ntpdate_f lags="tick.usno.navy.mil" xntpd_enable="YES"
NTP-
ntpdate,
,
. NTP-
ntpd, /etc/ntp.conf.
,
man ntp.conf. FreeBSD.
,
13
-
15
-
Linux;
( Microsoft
).
,
14
. ?
, .
,
,
, Web-
,
,
.
,
.
29. FreeBSD. freebsdfreebsd-
15 ,
[email protected]. [email protected] [email protected]. STABLE CURRENT, [email protected] [email protected]. 16 log. httpd-access.log httpd-error.log, Apache, , Web. Apache rotatelogs n, log. /var , , , . •
"
".
: •
. ,
,
, Soft Updates .
.
,
,
. •
PortSentry .
-
380
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
IP-
,
.
, IP-
,
" shutdown ),
• ( , securelevel 1
"
.
.
. -
boot -s . .
-
! •
. ,
350-
,
,
-
, .
.
•
(
)
-
wheel
! .
root •
.
(
, \ Document.txt),
,
, , -
, (
,
).
• Windows-
Perl FTP.
,
,
, ( .
, #!/usr/bin/perI)
-
CGI-
, ,
,
ASCII-
. .
-
.
Ɍɨɧɤɚɹ ɧɚɫɬɪɨɣɤɚ ɩɪɨɢɡɜɨɞɢɬɟɥɶɧɨɫɬɢ FreeBSD ,
.
, ,
, ,
Linux .
FreeBSD .
Windows. ,
, FreeBSD
FreeBSD ,
. .
Ƚɥɚɜɚ 20. Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD
381
. (
–
17),
.
ɇɚɫɬɪɨɣɤɢ ɹɞɪɚ , .
GENERIC ,
. ,
. MAXUSERS (
, 32).
, (
),
,
(
,
NMBCLUSTERS 128
MAXUSERS
. .). 256 (
). ɋɈȼȿɌ Ɂɧɚɱɟɧɢɟ ɨɩɰɢɢ NMBCLUSTERS, ɜɵɱɢɫɥɹɟɦɨɟ ɤɚɤ (MAXUSERS * 1ȼ) + 512, ɭɩɪɚɜɥɹɟɬ ɱɢɫɥɨɦ ɞɨɫɬɭɩɧɵɯ ɫɟɬɟɜɵɯ ɛɭɮɟɪɨɜ ɩɚɦɹɬɢ (ɢɯ ɦɨɠɧɨ ɩɪɨɫɦɨɬɪɟɬɶ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ netstat -m). ȿɫɥɢ ɜɵɜɨɞ ɩɨɤɚɡɵɜɚɟɬ, ɱɬɨ ɜɫɟ ɨɧɢ ɢɫɩɨɥɶɡɨɜɚɧɵ, ɚ ɭɜɟɥɢɱɟɧɢɟ ɡɧɚɱɟɧɢɹ MAXUSERS ɧɟ ɢɡɦɟɧɹɟɬ ɫɢɬɭɚɰɢɸ, ɨɩɰɢɸ NMBCLUSTERS ɦɨɠɧɨ ɧɚɫɬɪɨɢɬɶ ɜ ɹɞɪɟ ɧɟɡɚɜɢɫɢɦɨ, ɭɫɬɚɧɨɜɢɜ ɞɥɹ ɫɢɥɶɧɨ ɡɚɝɪɭɠɟɧɧɵɯ ɫɢɫɬɟɦ ɡɧɚɱɟɧɢɟ, ɪɚɜɧɨɟ 16384 ɢɥɢ 32768. Ɇɨɠɧɨ ɩɨɫɬɭɩɢɬɶ ɢ ɩɨɞɪɭɝɨɦɭ: ɭɫɬɚɧɨɜɢɬɶ ɡɧɚɱɟɧɢɟ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɣ ɩɟɪɟɦɟɧɧɨɣ ɧɚ ɷɬɚɩɟ ɡɚɩɭɫɤɚ ɹɞɪɚ. Ⱦɥɹ ɷɬɨɝɨ ɤ ɮɚɣɥɭ /boot/loader.conf ɧɟɨɛɯɨɞɢɦɨ ɞɨɛɚɜɢɬɶ ɫɬɪɨɤɭ kern.ipc.nmbclusters="16384".
ɋɢɫɬɟɦɚ Soft Updates ɢ ɚɫɢɧɯɪɨɧɧɚɹ ɡɚɩɢɫɶ ,
FreeBSD (synchronous writes).
,
,
, . ,
.
,
,
,
"
,
, 9 Soft Updates .
. Soft Updates, , (I/O) . GENERIC
"
.
, .
tunefs. FFS,
FreeBSD. ,
,
,
tunefs , -
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
382
.
tunefs
-
/sbin, . boot -s
( :
).
-
tunefs -n enable / tunefs n enable /usr tunefs -n enable /var
. tunefs.
/sbin/tunefs (
, Soft Updates)
, . ,
— ,
. (
). , async
,
/etc/fstab. :
mount
mount,
,
# mount -
async /usr /dev/adOslf
async :
/etc/fstab, /dev/adOslf
/usr
ufs
rw,async
2
2
ȼɨɩɪɨɫɵ ɝɟɨɦɟɬɪɢɢ ɞɢɫɤɚ FreeBSD, . ,
-
(
, ,
),
-
. , .
, (
, -
,
-
,
:
,
, ).
, .
.
,
,
: , ). ).
— /var, /usr
( /home (
, ,
Ƚɥɚɜɚ 20. Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD
383
ɋɈȼȿɌ ȼ UNIX ɚɥɝɨɪɢɬɦɵ ɭɩɪɚɜɥɟɧɢɹ ɜɢɪɬɭɚɥɶɧɨɣ ɩɚɦɹɬɶɸ, ɤɚɤ ɩɪɚɜɢɥɨ, ɨɩɬɢɦɢɡɢɪɨɜɚɧɵ ɬɚɤɢɦ ɨɛɪɚɡɨɦ, ɱɬɨɛɵ ɪɚɡɞɟɥ ɩɨɞɤɚɱɤɢ ɛɵɥ ɜɞɜɨɟ ɛɨɥɶɲɟ, ɱɟɦ ɨɛɴɟɦ ɮɢɡɢɱɟɫɤɨɣ ɩɚɦɹɬɢ. ɉɨɷɬɨɦɭ, ɧɚɩɪɢɦɟɪ, ɩɪɢ 256 Ɇɛ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ ɫɥɟɞɭɟɬ ɫɨɡɞɚɜɚɬɶ ɪɚɡɞɟɥ ɩɨɞɤɚɱɤɢ ɜ 512 Ɇɛ. Ɋɚɡɞɟɥ ɦɟɧɶɲɟɝɨ ɪɚɡɦɟɪɚ ɩɪɢɜɟɞɟɬ ɤ ɡɚɦɟɞɥɟɧɢɸ, ɤɨɝɞɚ ɨɩɟɪɚɰɢɢ ɩɨɫɬɪɚɧɢɱɧɨɣ ɡɚɩɢɫɢ ɛɭɞɭɬ ɩɟɪɟɤɪɵɜɚɬɶ ɞɪɭɝ ɞɪɭɝɚ.
ɇɟɫɤɨɥɶɤɨ ɧɚɫɬɪɨɟɤ ɫ ɩɨɦɨɳɶɸ sysctl (
sysctl kern.ipc.nmbclusters,
,
). /etc/sysctl.conf,
. . .
/etc/sysctl.conf :
vf s.vmiodirenable=l kern.ipc.maxsockbuf=2097152 kern.ipc.somaxconn=8192 kern.ipc.maxsockets=l6424 kern.maxfiles=65536 kern.maxfilesperproc=32768 net.inet.tcp.rfc1323=l net.inet.tcp.delayed_ack=0 net.inet.tcp.sendspace=65535 net.inet.tcp.recvspace=65535 net.inet.udp.recvspace=65535 net.inet.udp.maxdgram=57344 net.local.stream.recvspace=65535 net.local.stream.sendspace=65535
,
, .
,
,
sysctl.conf,
/etc/ :
sysctl
# sysctl vfs.vmiodirenable vfs.vmiodirenable: 0
,
-w:
# sysctl -w vfs.vmiodirenable=l vfs.vmiodirenable: 0 -> 1
ɉɨɥɟɡɧɵɟ ɫɩɪɚɜɨɱɧɵɟ ɪɭɤɨɜɨɞɫɬɜɚ man tuning. , ,
, .
man tunefs Soft Updates, ,
tunefs FFS.
,
man
384
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
sysctl .
ɉɨɞɝɨɬɨɜɤɚ ɤ ɯɭɞɲɟɦɭ: ɪɟɡɟɪɜɧɵɟ ɤɨɩɢɢ ,
, ,
, —
.
,
? , . ,
,
.
—
,
.
ɋɨɡɞɚɧɢɟ ɤɥɸɱɟɜɵɯ ɮɚɣɥɨɜ ,
, . —
-
,
.
• /etc/rc.conf. • /etc/master.passwd.
. . .
• /etc/mail/myconfig.mc.
sendmail. .
• etc/fstab. • /usr/local/etc/*. .
.
,
.
,
-
,
. tar(
,
,
FreeBSD-
).
:
# tar cvfz — /etc/rc.conf /etc/master.passwd /etc/fstab /usr/local/etc | uuencode seedflies.tar.gz | mail -s "Seed Files" [email protected]
/etc/periodic/daily
-
crontab
root.
Ɋɟɡɟɪɜɧɵɟ ɤɨɩɢɢ . ,
, .
, ,
.
Ƚɥɚɜɚ 20. Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD
385
, . dump.
UNIX /etc/ fstab ( , -
dump, 9).
"
" ,
.
. . , (/dev/rsaO
. ),
, .
,
, .
SCSI-
SCSI.
,
,
,
FreeBSD
Fire Wire (IEEE 1394). IDE/ATAPI. !
,
dump
. /home: # dump -Ou -f /dev/nrsaO /home
0( . .
0 dump,
), ,
/etc/dumpdates. " " .
,
ɉɊɂɆȿɑȺɇɂȿ ɍɫɬɪɨɣɫɬɜɨ nrsaO ɫɨɜɩɚɞɚɟɬ ɫ rsaO ɡɚ ɢɫɤɥɸɱɟɧɢɟɦ ɬɨɝɨ, ɱɬɨ ɩɟɪɜɨɟ ɢɦɹ ɭɤɚɡɵɜɚɟɬ ɧɚ "ɧɟɩɟɪɟɦɚɬɵɜɚɟɦɨɟ" ɭɫɬɪɨɣɫɬɜɨ. ɗɬɨ ɢɦɹ ɭɤɚɡɵɜɚɟɬ ɩɪɨɝɪɚɦɦɟ, ɱɬɨ ɩɨ ɨɤɨɧɱɚɧɢɢ ɡɚɩɢɫɢ ɥɟɧɬɭ ɩɟɪɟɦɚɬɵɜɚɬɶ ɧɟ ɧɭɠɧɨ. ɇɨɫɢɬɟɥɢ ɧɚ ɦɚɝɧɢɬɧɨɣ ɥɟɧɬɟ, ɜ ɱɚɫɬɧɨɫɬɢ ɫɨ SCSI-ɢɧɬɟɪɮɟɣɫɨɦ, ɢɫɩɨɥɶɡɭɸɬ ɢɦɟɧɚ ɭɫɬɪɨɣɫɬɜɚ ɤɚɤ ɨɩɰɢɢ, ɡɚɞɚɸɳɢɟ ɭɬɢɥɢɬɟ dump ɪɟɠɢɦ ɪɚɛɨɬɵ ɫ ɥɟɧɬɨɣ. ɋɦ. ɬɚɛɥ. 20.3. Ɍɚɛɥɢɰɚ 20.3 Ɇɟɬɚɢɦɟɧɚ ɭɫɬɪɨɣɫɬɜɚ ɜ ɤɚɱɟɫɬɜɟ ɨɩɰɢɣ ɭɩɪɚɜɥɟɧɢɹ /dev/saO
Ɋɟɚɥɶɧɨɟ ɢɦɹ ɭɫɬɪɨɣɫɬɜɚ
/dev/rsaO
ɍɤɚɡɵɜɚɟɬ dump ɩɟɪɟɦɨɬɚɬɶ ɥɟɧɬɭ ɤ ɧɚɱɚɥɭ ɩɨ ɡɚɜɟɪɲɟɧɢɢ ɡɚɩɢɫɢ
/dev/nrsaO
ɍɤɚɡɵɜɚɟɬ dump ɧɟ ɩɟɪɟɦɚɬɵɜɚɬɶ ɥɟɧɬɭ ɤ ɧɚɱɚɥɭ ɩɨ ɡɚɜɟɪɲɟɧɢɢ ɡɚɩɢɫɢ
/dev/ersaO
ɍɤɚɡɵɜɚɟɬ dump ɜɨɡɜɪɚɬɢɬɶ ɤɚɫɫɟɬɭ ɢɡ ɤɚɫɫɟɬɨɩɪɢɟɦɧɢɤɚ ɩɨ ɡɚɜɟɪɲɟɧɢɢ ɡɚɩɢɫɢ
" , #
dump -lu -f /dev/nrsaO /home
"
, dump:
386
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
,
dump . 3,
,
4,
, 3. 2,
.
,
-
3 .
,
4, 0 ,
, . : 0, (
—
1,
).
. . man dump.
ȼɨɫɫɬɚɧɨɜɥɟɧɢɟ restore. . ,
,
. restore
cd, : # restore
-if
/dev/nrsaO
( delete.
)
: cd, Is, pwd, add, delete , (
add). extract .
.
,
restore
man restore.
restore> add frank restore> extract
: # restore
-rf
/dev/nrsaO
, .
,
.
, .
, mt (magnetic tape —
). ,
, .
(fast forward —
,
,
fsf
):
mt -f /dev/nrsaO fsf 2
fsf 2 (
, . .
mt . mt)
fsf:
_____________________ Ƚɥɚɜɚ 20. Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD
387
mt -f /dev/nrsaO rewind mt -f /dev/nrsaO fsf 1
dump
,
restore .
:
-s
restore ,
mt,
,
.
, dump restore, http:// www.nethamilton.net/dump.html. , dump, restore mt.
Ɂɟɪɤɚɥɶɧɵɟ ɫɟɪɜɟɪɚ .
-
,
.
, (
,
).
-
,
. , , FreeBSD-
—
,
.
-
,
. CVSup. ,
.
CVSup , .
, usr/local/www, /var/mail , , /usr/local/sbin , . .
,
/etc.
CVSup. : /home, -
, . cvsupd ( cvsup),
. root,
:
cd /usr/local/etc mkdir -p cvsup/sup cd cvsup/sup mkdir home www mail etc
# # # #
: .cvs
releases. . :
upgrade home rsymlink
*
" home
"
cvsupd home.cvs
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
388
releases
:
home list=home.cvs prefix=/
, .
.cvs cvsupd: # cvsupd -b /usr/local/etc/cvsup -
1 -1 /dev/stdout
,
-
. /etc
mirror-supfile ( 20.2, serverl.hostname.com
).
. 20.2 *default *default *default *default
CVSup (mirror-supfile)
host=serverl.hostname.com delete use-rel-suffix compress preserve
*default base=/usr *default release=home home *default base=/usr/local *default release=www www *default base=/var *default release=mail mail *default base=/usr *default release=etc etc
: /etc, ,
/etc -
!
/usr/etc. CVSup
. mirror-supfile :
CVSup # cvsup -L 2
.
/etc/mirror-supfile
,
,
. Ctrl+C.
CVSup ,
.
-
,
, . . /usr/etc
, pwd_mkdb
master.passwd (
"
Ƚɥɚɜɚ 20. Ʉɭɪɫ ɜɵɠɢɜɚɧɢɹ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ FreeBSD
389
Linux"). ,
. CVSup .
,
-
,
!
-
,
-
, CVSup . CVSup
4-5
15
/etc/periodic/daily
, , root. -
crontab .
,
-L.
mirror-supfile.
. /usr/local/etc/cvsup/sup —
cvsupd .
-
, . ,
, .
,
,
,
-
FreeBSD
. . ,
, .
-
21
Perl
◀ ◀ Perl
Perl? FreeBSD
◀
Perl
◀
Perl
◀ ◀
Perl ,
Perl
Ƚɥɚɜɚ 21. Ɂɧɚɤɨɦɫɬɜɨ ɫ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟɦ ɧɚ ɹɡɵɤɟ Perl
UNIX "
Perl. .
Perl
391
Internet ", Perl
,
-
,
,
.
,
, Perl .
, ,
,
,
Perl FreeBSD
C++ ( ). Perl
-
.
ɑɬɨ ɬɚɤɨɟ Perl? Perl
, ,
,
.
FreeBSD
. "Practical Extraction and Report Language" — ( (Larry Wall) awk. , Perl 6. Perl ,
). Perl .
. —
,
-
, "
"
,
Perl. , (
)
. ,
FreeBSD
,
,
Perl ,
, Internet.
Perl
Perl ɜɨ FreeBSD , Perl.
,
.
, "
, .
Perl -
, C++ ,
, ", .
,
,
Perl — /usr/bin/perl.
13, .
Perl -
-
. .
/bin/sh. ,
FreeBSD, -
.
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
392
" (batch programs, ,
" -
MS-DOS). , . A Perl , ,
Web-
.
Perl
,
,
,
(
, ,
).
Perl ,
, adduser,
,
. Perl ,
FreeBSD. sockstat. , majordomo ( ,
adduser, pkg_version , ).
, ,
Perl,
. Perl
, ,
-
,
.
ɋɢɥɶɧɵɟ ɫɬɨɪɨɧɵ Perl Perl (
)
(
).
,
,
,
, -
, ,
,
,
, , . Perl
, , .
Perl Web-
CGI-
,
. Internet
,
. Perl ,
: ,
.
,
, -
Perl
,
,
-
. Perl ,
. Perl . "
—
" ,
, ,
( Internet
. -
Ƚɥɚɜɚ 21. Ɂɧɚɤɨɦɫɬɜɨ ɫ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟɦ ɧɚ ɹɡɵɤɟ Perl
393
), .
Perl — Linux, IRIX, Windows
,
-
FreeBSD.
ɋɥɚɛɵɟ ɫɬɨɪɨɧɵ Perl Perl .
.
, Perl . Perl
, ,
Perl
.
,
,
. ,
,
,
,
,
,
, .
"
"
Perl —
.
PYTHON ɂ ȾɊɍȽɂȿ əɁɕɄɂ, ɋɅȿȾɍɘɓɂȿ ɁȺ PERL ɉɨɫɥɟ ɫɬɪɟɦɢɬɟɥɶɧɨɝɨ ɜɡɥɟɬɚ Perl ɩɨɹɜɢɥɨɫɶ ɧɟɦɚɥɨ ɩɪɨɟɤɬɨɜ, ɫɬɪɟɦɢɜɲɢɯɫɹ ɢɡɧɢɱɬɨɠɢɬɶ ɟɝɨ ɧɟɞɨɫɬɚɬɤɢ. Ɇɧɨɝɢɟ ɹɡɵɤɢ (REBOL, Java, Ruby ɢ ɦɧɨɝɢɟ ɞɪɭɝɢɟ] ɧɚɯɨɞɢɥɢɫɶ ɜ ɫɬɚɞɢɢ ɪɚɡɪɚɛɨɬɤɢ ɤ ɬɨɦɭ ɦɨɦɟɧɬɭ, ɤɨɝɞɚ Perl ɭɠɟ ɧɚɛɪɚɥ "ɤɪɢɬɢɱɟɫɤɭɸ ɦɚɫɫɭ" ɜ ɦɢɪɟ ɫɟɪɜɟɪɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ. ɉɨ ɩɹɬɚɦ ɡɚ ɧɢɦ ɫɥɟɞɭɟɬ ɹɡɵɤ, ɪɚɡɪɚɛɨɬɚɧɧɵɣ ɩɨɱɬɢ ɨɞɧɨɜɪɟɦɟɧɧɨ, — Python. Pytyon — ɹɡɵɤ ɟɳɟ ɛɨɥɟɟ ɨɛɴɟɤɬɧɨ-ɨɪɢɟɧɬɢɪɨɜɚɧɧɵɣ, ɱɟɦ Perl, ɫ ɠɟɫɬɤɢɦ ɫɢɧɬɚɤɫɢɫɨɦ. Ɂɞɟɫɶ ɧɟ ɩɪɢɦɟɧɹɸɬɫɹ ɫɤɨɛɤɢ ɜ ɫɬɢɥɟ ɋ, ɜɦɟɫɬɨ ɧɢɯ ɢɫɩɨɥɶɡɭɟɬɫɹ ɨɛɹɡɚɬɟɥɶɧɚɹ ɬɚɛɭɥɹɰɢɹ, ɤɨɬɨɪɚɹ ɡɧɚɱɢɬɟɥɶɧɨ ɭɩɪɨɳɚɟɬ ɜɥɨɠɟɧɧɨɫɬɶ ɛɥɨɤɨɜ ɭɩɪɚɜɥɟɧɢɹ ɩɨɬɨɤɨɦ ɜɵɩɨɥɧɟɧɢɹ ɩɪɨɝɪɚɦɦɵ. Ʉɪɨɦɟ ɬɨɝɨ, Python ɩɨɞɞɟɪɠɢɜɚɟɬ "ɬɨɱɟɱɧɭɸ" ɢɟɪɚɪɯɢɸ ɨɛɴɟɤɬɨɜ ɢ ɫɬɪɨɝɨ ɫɬɪɭɤɬɭɪɢɪɨɜɚɧɧɵɟ ɦɨɞɭɥɢ ((ɢɥɢ "ɫɥɨɜɚɪɢ"), ɨɛɟɫɩɟɱɢɜɚɹ ɛɨɥɟɟ ɩɪɹɦɨɣ ɢ ɪɚɫɲɢɪɹɟɦɵɣ ɢɧɬɟɪɮɟɣɫ ɤ ɨɛɴɟɤɬɚɦ, ɱɟɦ Perl. ɉɪɨɝɪɚɦɦɵ ɧɚ Perl ɤɨɦɩɢɥɢɪɭɸɬɫɹ ɜɨ ɜɧɭɬɪɟɧɧɢɣ ɤɨɞ (ɤɨɬɨɪɵɣ ɡɚɬɟɦ ɜɵɩɨɥɧɹɟɬɫɹ ɢɧɬɟɪɩɪɟɬɚɬɨɪɨɦ) ɩɪɢ ɤɚɠɞɨɦ ɡɚɩɭɫɤɟ, a Python ɝɟɧɟɪɢɪɭɟɬ ɫɩɟɰɢɚɥɶɧɵɣ ɤɨɞ (ɮɚɣɥ .ɪɭɫ) ɥɢɲɶ ɩɪɢ ɩɟɪɜɨɦ ɡɚɩɭɫɤɟ ɩɪɨɝɪɚɦɦɵ, ɱɬɨ ɫɢɥɶɧɨ ɭɫɤɨɪɹɟɬ ɜɫɟ ɩɨɫɥɟɞɭɸɳɢɟ. ɑɚɫɬɢɱɧɨ ɬɚɤɨɣ ɩɨɞɯɨɞ ɹɜɥɹɟɬɫɹ ɨɛɹɡɚɬɟɥɶɧɵɦ, ɩɨɫɤɨɥɶɤɭ ɜɫɟ ɨɛɴɟɤɬɧɨ-ɨɪɢɟɧɬɢɪɨɜɚɧɧɵɟ ɩɪɨɝɪɚɦɦɧɵɟ ɫɪɟɞɵ ɹɜɥɹɸɬ ɫɨɛɨɣ ɨɛɦɟɧ ɫɤɨɪɨɫɬɢ ɧɚ ɫɬɪɭɤɬɭɪɢɡɚɰɢɸ. Python ɦɟɧɟɟ ɜɨɫɩɪɢɢɦɱɢɜ ɤ ɨɲɢɛɤɚɦ, ɱɟɦ Perl, ɚ ɩɪɨɝɪɚɦɦɵ ɧɚ ɧɟɦ ɥɟɝɱɟ ɩɨɞɞɟɪɠɢɜɚɬɶ. Ɉɞɧɚɤɨ ɟɦɭ ɧɟɞɨɫɬɚɟɬ ɧɟɤɨɬɨɪɵɯ ɜɨɡɦɨɠɧɨɫɬɟɣ ɩɨ ɨɛɪɚɛɨɬɤɟ ɬɟɤɫɬɚ, ɬɨ ɟɫɬɶ ɜ ɬɨɣ ɨɛɥɚɫɬɢ, ɤɨɬɨɪɚɹ ɹɜɥɹɟɬɫɹ ɫɚɦɨɣ ɫɢɥɶɧɨɣ ɜ Perl. ɏɨɬɹ Python ɧɟ ɹɜɥɹɟɬɫɹ ɱɚɫɬɶɸ ɨɫɧɨɜɧɨɣ ɫɢɫɬɟɦɵ FreeBSD, ɟɝɨ ɦɨɠɧɨ ɭɫɬɚɧɨɜɢɬɶ ɢɡ ɧɚɛɨɪɚ ɩɨɪɬɨɜ /usr/ports/lang/python. ɉɨɫɤɨɥɶɤɭ ɜ ɩɪɨɲɥɨɦ Perl ɬɨɠɟ ɢɧɫɬɚɥɥɢɪɨɜɚɥɫɹ ɢɡ ɩɨɪɬɨɜ, ɚ ɢɫɩɨɥɶɡɨɜɚɧɢɟ Python ɪɚɫɬɟɬ ɜɫɟ ɛɵɫɬɪɟɟ, ɦɨɠɧɨ ɨɠɢɞɚɬɶ, ɱɬɨ Python ɩɨɹɜɢɬɫɹ ɜ /usr/bin ɭɠɟ ɞɨɫɬɚɬɨɱɧɨ ɫɤɨɪɨ.
Ɉɫɧɨɜɵ ɫɨɡɞɚɧɢɹ ɫɰɟɧɚɪɢɟɜ ɧɚ Perl Perl
, 13.
, :
#/usr/bin/perl
( ) , . .
:
,
,
, -
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
394
#!/usr/bin/perl $string = "Hello world!"; $hostname = 'hostname'; if ($hostname eq "uncia") print $string."\n"; print "date'; }
{
, "if/fi"
if
,
"case/esac".
(;),
. : "$ = 1" ,
Perl
"$ =1". , Perl
.
, ,
. Perl
,
: — "
" .
, Perl
. . .
Perl
,
,
, (
#
, adduser Perl, chmod:
majordomo). -
chmod +x myscript.pl
, — -rwxr-xr-x
1 frank
, "." ( . .
frank
170 Jun 14
2000 myscript.pl*
, ,
),
# ./myscript.pl Hello world! Sat Apr 28 15:29:17
0755 (
10): ./
PDT 2001
Perl
,
, . #
-
, , perl:
perl myscript.pl
.
perl . #
-
:
-w ,
:
perl -w myscript.pl
#!/usr/bin/perl -w
ɉɟɪɟɦɟɧɧɵɟ ɢ ɨɩɟɪɚɬɨɪɵ Perl
,
-
. .
Ƚɥɚɜɚ 21. Ɂɧɚɤɨɦɫɬɜɨ ɫ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟɦ ɧɚ ɹɡɵɤɟ Perl
(
395
),
,
Perl " )
( Perl
-
" (literals). ($). ,
, , . Perl
(
. .). , ,
, . . Perl
. ,
, , "123blah"
,
,
"123". :
(+, -, =),
(++
(+=, -=, *=), (>, , = 5) { print "Greater than 5\n" ; } else { print "Must be less than 5\n" ; }
ɉɊɂɆȿɑȺɇɂȿ
Ɉɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ, ɱɬɨ ɜ ɭɫɥɨɜɢɢ ($ɚ == 5) ɢɫɩɨɥɶɡɭɟɬɫɹ ɪɚɜɟɧɫɬɜɚ ==, ɚ ɧɟ ɨɩɟɪɚɬɨɪ ɩɪɢɫɜɚɢɜɚɧɢɹ =. Ɉɩɟɪɚɬɨɪ == ɢ ɞɪɭɝɢɟ ɨɩɟɪɚɬɨɪɵ ɫɪɚɜɧɟɧɢɹ ɜɫɟɝɞɚ ɩɪɢɦɟɧɹɸɬɫɹ ɜ ɭɫ-
398
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
ɥɨɜɧɵɯ ɨɩɟɪɚɬɨɪɚɯ. ȿɫɥɢ ɫɪɚɜɧɢɜɚɟɦɵɟ ɡɧɚɱɟɧɢɹ ɹɜɥɹɸɬɫɹ ɫɬɪɨɤɚɦɢ, ɚ ɧɟ ɱɢɫɥɚɦɢ, ɢɫɩɨɥɶɡɭ-ɸɬɫɹ ɢɯ ɫɬɪɨɤɨɜɵɟ ɷɤɜɢɜɚɥɟɧɬɵ: eq ɜɦɟɫɬɨ ==, It ɜɦɟɫɬɨ 0)
+
1 ɢɥɢ ɩ ɜɯɨɠɞɟɧɢɣ ɩɪɟɞɵɞɭɳɟɝɨ ɬɟɤɫɬɚ (ɩ > 1)
*?
Ɂɚɫɬɚɜɥɹɟɬ ɩɪɨɢɡɜɨɞɢɬɶ ɩɨɢɫɤ ɫ ɤɜɚɧɬɢɮɢɤɚɬɨɪɨɦ *, ɧɚɱɢɧɚɹ ɫ ɦɢɧɢɦɚɥɶɧɨɝɨ ɫɨɨɬɜɟɬɫɬɜɢɹ
, ,
402
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
{m}
Ɍɨɱɧɨ m ɜɯɨɠɞɟɧɢɣ ɩɪɟɞɵɞɭɳɟɝɨ ɬɟɤɫɬɚ
{m,n}
Ɉɬ n ɞɨ m ɜɯɨɠɞɟɧɢɣ ɩɪɟɞɵɞɭɳɟɝɨ ɬɟɤɫɬɚ
{m,}
m ɢɥɢ ɛɨɥɟɟ ɜɯɨɠɞɟɧɢɣ ɩɪɟɞɵɞɭɳɟɝɨ ɬɟɤɫɬɚ
^
Ⱥɧɤɟɪ ɧɚɱɚɥɚ ɫɬɪɨɤɢ
$
Ⱥɧɤɟɪ ɤɨɧɰɚ ɫɬɪɨɤɢ
\b
Ƚɪɚɧɢɰɚ ɫɥɨɜɚ
\ȼ
ɇɟ ɝɪɚɧɢɰɚ ɫɥɨɜɚ Escape-
\ɏ
ɗɤɪɚɧɢɪɭɟɬ (ɬ.ɟ. ɫɱɢɬɚɟɬ ɥɢɬɟɪɚɥɨɦ, ɚ ɧɟ ɨɩɟɪɚɬɨɪɨɦ) ɥɸɛɨɣ ɫɢɦɜɨɥ X (ɧɚɩɪɢɦɟɪ,".")
\r
ȼɨɡɜɪɚɬ ɤɚɪɟɬɤɢ
\n
ɇɨɜɚɹ ɫɬɪɨɤɚ
\f
ɇɨɜɚɹ ɫɬɪɚɧɢɰɚ
\t
Ɍɚɛɭɥɹɰɢɹ
\d
ɐɢɮɪɵ (ɷɤɜɢɜɚɥɟɧɬɧɨ ɤɥɚɫɫɭ [0-9])
\w
ɋɢɦɜɨɥɵ, ɩɪɢɦɟɧɹɟɦɵɟ ɜ ɫɥɨɜɚɯ (ɷɤɜɢɜɚɥɟɧɬɧɨ ɤɥɚɫɫɭ [a-zA-ZO-9_ ] )
\s
ɉɭɫɬɨɣ ɫɢɦɜɨɥ (ɷɤɜɢɜɚɥɟɧɬɧɨ ɤɥɚɫɫɭ [\r\t\n\f])
\D
HE ɰɢɮɪɵ
\W
HE ɫɥɨɜɚ
\S
HE ɩɭɫɬɨɣ ɫɢɦɜɨɥ
\###
ɋɢɦɜɨɥ ɫ ASCII-ɤɨɞɨɦ ### (ɜ ɜɨɫɶɦɟɪɢɱɧɨɦ ɩɪɟɞɫɬɚɜɥɟɧɢɢ)
\ɫɏ
ɋɢɦɜɨɥ Control+X (ɝɞɟ X — ɥɸɛɨɣ ɫɢɦɜɨɥ)
ɉɊɂɆȿɑȺɇɂȿ ɉɪɢ ɝɪɭɩɩɢɪɨɜɤɟ ɜ ɪɟɝɭɥɹɪɧɨɦ ɜɵɪɚɠɟɧɢɢ ɧɚɢɜɵɫɲɢɦ ɩɪɢɨɪɢɬɟɬɨɦ ɨɛɥɚɞɚɸɬ ɫɤɨɛɤɢ, ɡɚ ɧɢɦɢ ɫɥɟɞɭɸɬ ɤɜɚɧɬɢɮɢɤɚɬɨɪɵ, ɚɧɤɟɪɵ ɢ, ɧɚɤɨɧɟɰ, ɨɩɟɪɚɬɨɪ ɜɵɛɨɪɚ.
, .
.
,i
: /abc/i. , UNIX-
.
, " "
" tr///
? Perl s///, , substr( ).
": ,
-
=~, ,
.
,
,
-
Ƚɥɚɜɚ 21. Ɂɧɚɤɨɦɫɬɜɨ ɫ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟɦ ɧɚ ɹɡɵɤɟ Perl
,
s,
403
-
.
-
:
$mystring =~ s/^test[0-9]/foo/g;
,
-
HTML-
:
$myhtml =~ s//>/g;
,
g .
c
,
,
. ?
([0-9]) .
,
, . , /abc(123)(.*)\l\2/, ,
. \1 0,
# —
\#, , \2 —
, 123,
-
.*.
1. . ,
,
,
\1
,
$2.
\2, ,
$1
, .
:
$mystring =~ s/^test([0-9])/foo$l/g;
,
, ,
,
,
. tr///.
tr
s. (
,
). .
, =~.
=,
tr :
$mystring = "cat and dog"; $mystring = tr/abc/def/;
Smystring
fdt dnd dog. , ,
.
, .
d,
"
,
tr
"
,
. .
:
$mystring = tx/A-Z/a-z/
, .
Smystring
-
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
404
-
substr( ). Perl. , .
-
:
$mystring = "cat and dog"; $newstring = substr($mystring,0,3);
Snewstring substr( )
"cat". index( ).
,
-
: $mystring = "cat and dog"; $newstring = substr($mystring,index($mystring,"cat"),index($mystring,"dog"));
"cat and " (
Smystring
-
).
Ɋɚɛɨɬɚ ɫ ɮɚɣɥɚɦɢ ,
(filehandles) ,
operator) ( (
. . ,
-
. (diamond
). )
( ).
,
,
: while
(< >) {
print
$_;
}
, —
-
:
# ./myscript.pl filel.txt file2.txt ...
,
cat. . -
,
. . ,
n( ). .
,
:
open (FH,"/path/to/filel.txt"); @contents = ; close
(FH);
,
Perl
,
,
,
.
-
die: die, (
)
.
Ƚɥɚɜɚ 21. Ɂɧɚɤɨɦɫɬɜɨ ɫ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟɦ ɧɚ ɹɡɵɤɟ Perl
-
:
open (FH,"/path/to/filel.txt") @contents = ; close
405
|| die ("Can't open filel.txt!");
(FH);
, .
-
,
,
. > (
)
|,
>> (
)
.
,
,
. open (FH,">/path/to/file2.txt"); print FH $_ foreach (@contents); close (FH); open (MAIL,"| /sbin/sendmail -oi -t"); print MAIL "From: me\@somewhere.com\n"; print MAIL "To: you\@somewhereelse.com\n"; print MAIL "Subject: Check it out!\n\n"; print MAIL $_ foreach (@contents); close (MAIL);
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ɉɨɦɧɢɬɟ, ɱɬɨ ɫɢɦɜɨɥɵ @, ɢɫɩɨɥɶɡɭɟɦɵɟ ɜ ɬɟɤɫɬɨɜɵɯ ɫɬɪɨɤɚɯ (ɚɞɪɟɫɚɯ ɷɥɟɤɬɪɨɧɧɨɣ ɩɨɱɬɵ, ɧɚɩɪɢɦɟɪ), ɧɟɨɛɯɨɞɢɦɨ ɷɤɪɚɧɢɪɨɜɚɬɶ ɫɢɦɜɨɥɨɦ ɨɛɪɚɬɧɨɣ ɤɨɫɨɣ ɱɟɪɬɵ, ɱɬɨɛɵ Perl ɧɟ ɪɚɫɫɦɚɬɪɢɜɚɥ ɢɯ ɤɚɤ ɢɞɟɧɬɢɮɢɤɚɬɨɪɵ ɦɚɫɫɢɜɨɜ. ȼ ɩɪɨɬɢɜɧɨɦ ɫɥɭɱɚɟ ɫɰɟɧɚɪɢɣ ɡɚɜɟɪɲɢɬ ɪɚɛɨɬɭ ɫ ɨɲɢɛɤɨɣ.
,
print. (
), . , select
. / select( ):
(FH);
print FH. STDOUT opendir( ) ,
FH
. readdir( ). -
: opendir (DIR,"/path/to/dir"); @files = sort readdir (DIR); closedir (DIR) ;
.
,
, /etc/passwd, 1000, .
#!/usr/bin/perl open (PASSWD,"/etc/passwd") @passwd = ; close (PASSWD);
|| die ("Can't open passwd file!");
,
-
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
406
foreach (gpasswd) { @userdata = split(/:/,$_); if (@userdata[2] > 1000) { print "@userdata[0]:
guserdata[4]\n";
} }
He
,
!
Perl ,
. ,
.
Ɏɭɧɤɰɢɢ Perl
,
. .
, , ),
Perl. Perl ( CGI-
( Perl ). . "
,
".
,
, .
:
sub sum { $mysum += $_ foreach (@_) ; $mysum; # # ,
$mysum
}
( ): $newsum = &sum(45,14,2134,89);
@_
,
-
@ARGV
,
. -
( ),
:
sub printname { ($name, $number, $passwd) = @_; print "$name/$number" if ($passwd); }
, Perl
.
, :
,
.
, (
,
, local( )).
@_
.
. -
local( ), ,
-
:
______________ Ƚɥɚɜɚ 21. Ɂɧɚɤɨɦɫɬɜɨ ɫ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟɦ ɧɚ ɹɡɵɤɟ Perl sub sum { local($mysum); $mysum += $_ foreach (@_) ; $mysum; # # }
$mysum
,
407
,
,
. ,
-
. :
my
($mysum,
$name,
$hash);
Perl , ,
"
" (strict mode),
,
. ,
Perl,
, . .
Ɇɨɞɭɥɢ Perl ,
Perl
.
,
Perl ( Perl-
) . m (
Perl module -• " Perl"). Internet , , Perl . Perl ( , mylib.pm) ,
FreeBSD. . m ,
"
"
, . use (
. m
): use mylib;
FreeBSD Perl
Perl
/usr/lib/perl5. . /usr/local/lib/perl5. man (
Perl),
—
, : (
(site_perl). ,
) .
,
i386-freebsd, ,
Perl
(
,
). : (::) Net::TeInet
.
, C++.
,
Perl,
Telnet, a Net::DNS — /usr/local/lib/perl5/site_perl/5.005 Telnet.pm DNS.pm.
. Net
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
408
Perl. use: use Net::Telnet; , ,
&.
,
?
perldoc. ,
(
man,
,
),
, Image::Size ( .
. 21.2): Ʌɢɫɬɢɧɝ 21.2 ɉɪɢɦɟɪ ɞɨɤɭɦɟɧɬɚɰɢɢ ɞɥɹ ɦɨɞɭɥɹ Perl # perldoc Image::Size
Image::Size(3) User Contributed Perl Documentation Image::Size(3) NAME Image::Size - Image::Size —
( )
SYNOPSIS use Image::Size; globe.gif ($globe_x, $globe_y) = imgsize("globe.gif"); =60 Y=40
,
#
use Image::Size 'html_imgsize' ; "HEIGHT=X WIDTH=Y"
# # HTML-
$size = html_imgsize("globe.gif"); # $size = "HEIGHT=40 WIDTH=60" use Image::Size 'attr_imgsize'; # , # CGI. @attrs = attr_imgsize("globe.gif"); # @attrs == ('-HEIGHT', 40, '-WIDTH', 60) use Image::Size; # ($buf_x, $buf_y) = imgsize($buf);
,
,
,
, .
Perl " !
" /usr/ports
,
Perl?
,
. Perl,
5-. FreeBSD. (
.)
, , .
, .
Ƚɥɚɜɚ 21. Ɂɧɚɤɨɦɫɬɜɨ ɫ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟɦ ɧɚ ɹɡɵɤɟ Perl
, /usr/ports/net/p5-Net-Telnet
409
Net::Telnet. :
. Perl. . ,
, Perl ,
-
,
. , cd make test, .
: make
Perl
make install. ,
make. Perl
pkg_info
,
pkg_version.
/usr/local/lib/perl5. : pkg_add
tar-
, a pkg_update —
.
ɉɨɥɟɡɧɵɟ ɪɟɫɭɪɫɵ, ɩɨɫɜɹɳɟɧɧɵɟ Perl Perl
, ,
"
,
.
"
Perl.
Web-ɫɚɣɬɵ Perl, ,
Internet.
,
.
www.perl.org www.perl.org —
Web-
Perl Mongers (
Perl). .
, , www.perldoc.com,
, Perl.
,
,
www.perl.com "
" Web-
Perl,
O'Reilly.
, Perl. Perl,
,
,
, .
Ʉɧɢɝɢ , Perl
Perl, O'Reilly. ,
.
ɑɚɫɬɶ 3. Ⱥɞɦɢɧɢɫɬɪɢɪɨɜɚɧɢɟ FreeBSD
410
Ʉɧɢɝɚ ɫ ɜɟɪɛɥɸɞɨɦ ("Camel" Book) Perl (Programming Perl) — , (Larry Wall) ( (Tom Christiansen) (Jon Orwant) ( — Perl.
2000). , "
Perl),
O'Reilly, -
Perl, "
. .
Ʉɧɢɝɚ ɫ ɥɚɦɨɣ ("Llama" Book) Perl (Learning Perl), (Randal L. Schwartz) (Tom Phoenix) (
. O'Reilly, 2001),
-
"
"
).
"
. Perl ( "
,
. , Perl.
ɋɥɨɜɚɪɶ (Clinton Pierce) (
Perl (Perl Developer's Dictionary) Perl (Perl Developer's Dictionary), Sams, 2001), Perl. .
Perl, ,
Perl.
CPAN CPAN (Comprehensive Perl Archive Network, . , , . , ( . CPAN CPAN
Perl) , . , ),
,
http://www.perl.com/CPAN-Iocal/. , .
4 Ь FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ
►
ɇɚɫɬɪɨɣɤɚ ɨɫɧɨɜɧɵɯ ɫɟɬɟɜɵɯ ɫɩɭɠɛ
►
ɉɨɞɫɨɟɞɢɧɟɧɢɟ ɤ Internet ɫ ɩɨɦɨɲɶɸ ɊɊɊ
►
ɇɚɫɬɪɨɣɤɚ ɩɨɱɬɨɜɵɯ ɫɩɭɠɛ
►
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
►
ɇɚɫɬɪɨɣɤɚ FTP-ɫɟɪɜɟɪɚ
►
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ lnternet-ɲɩɸɡɚ ► ɋɟɬɟɜɚɹ Ȼɟɡɨɩɚɫɧɨɫɬɶ DNS-ɫɟɪɜɟɪ ɋɟɬɟɜɚɹ ɮɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ NFS
► ► ►
ɋɨɜɦɟɫɬɧɨɟ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɪɟɫɭɪɫɨɜ ɫ Microsoft W in dow s ► DHCP-ɫɟɪɜɟɪ ►
22 Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ
◀ ȼɜɟɞɟɧɢɟ ɜ ɫɟɬɢ ◀ ɉɨɬɨɥɨɝɢɢ ɫɟɬɟɣ ◀ ɋɟɬɟɜɵɟ ɤɨɦɩɨɧɟɧɬɵ
◀ ɋɟɬɟɜɵɟ ɩɪɨɬɨɤɨɥɵ ◀ ɉɪɨɬɨɤɨɥ TCP/IP ◀ IP-agpeca ◀ ɉɨɞɫɟɬɢ ɢ ɫɟɬɟɜɚɩ ɦɚɫɤɚ
◀ Ɇɚɪɲɪɭɬɢɡɚɢɢɹ ◀ ɂɦɟɧɚ ɤɨɦɩɶɸɬɟɪɨɜ ɢ ɞɨɦɟɧɧɵɟ ɢɦɟɧɚ ◀ DHCP
Ƚɥɚɜɚ 22. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 413
,
— . UNIX-
( . .
-
),
, AIX, IRIX, Digital UNIX, BSDI, Novell NetWare VMS.
,
Windows ,
Mac OS.
, , ,
. . . Mac OS X ( Mach)
FreeBSD
Windows 2000/XP —
, .
,
.
TCP/IP,
Internet,
, FreeBSD. FreeBSD,
,
.
,
, .
,
,
FreeBSD.
,
,
-
FreeBSD,
Internet.
ȼɜɟɞɟɧɢɟ ɜ ɫɟɬɢ — . :
, (
, .
Internet HTML-
m ,
),
, , . .
, Internet (
)
. TCP/IP. ,
TCP/IP,
-
. . ARPAnet (
), , 1974
TCP/IP ", (Bob Kahn). .
" Internet —
1969
.
,
, (Vint Cerf) -
— TCP (Transmission Control Protocol -
414 ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
) .
, 1977
,
UNIX.
IP (Internet Protocol — ,
).
Bell Labs
, ,
-
UDP (User Datagram Protocol, ICMP (Internet Control Message Protocol, Internet). TCP/IP Internet
)
-
. , ,
,
(WAN). (LAN), , Ethernet.
.
TCP/IP —
. TCP/IP
-
. 4 ),
:
, (Internet)
,
( . FTP, Telnet, NFS . RIP (Route Information Protocol). . TCP/IP,
TCP —
UDP IP (Internet Protocol)
DNS.
- ,
FreeBSD.
Ɍɨɩɨɥɨɝɢɢ ɫɟɬɟɣ , ,
. . — FreeBSD-
. ,
,
, (
: -
,
Internet ).
— 22.1
, . 1,
, DSL (
). —
(33-56 -48 . 22.1.
/ )
-192, -
Ƚɥɚɜɚ 25. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 415
,
22.1 ,
,
.
Ɍɚɛɥɢɰɚ 22.1 Ɍɢɩɵ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɵɯ ɝɥɨɛɚɥɶɧɵɯ ɫɨɟɞɢɧɟɧɢɣ ɢ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɟ ɢɦ ɫɤɨɪɨɫɬɢ ɩɟɪɟɞɚɱɢ ɞɚɧɧɵɯ. Ɇɨɞɟɦ
Ⱦɨ 56 Ʉɛɢɬ/ɫ
ISDN
56 —128 Ʉɛɢɬ/ɫ
DSL
192 Ʉɛɢɬ/ɫ — 1,5 Ɇɛɢɬ/ɫ
Ʉɚɛɟɥɶɧɵɣ ɦɨɞɟɦ
1 — 5 Ɇɛɢɬ/ɫ
Ɍ1
1,5 Ɇɛɢɬ/ɫ
ɋɨɨɬɜɟɬɫɬɜɭɟɬ 24 ɥɢɧɢɹɦ DSO
ɌɁ
43,2 Ɇɛɢɬ/ɫ
ɋɨɨɬɜɟɬɫɬɜɭɟɬ 28 ɥɢɧɢɹɦ Ɍ1
Ɉɋ-3
155 Ɇɛɢɬ/ɫ
ɋɨɨɬɜɟɬɫɬɜɭɟɬ 100 ɥɢɧɢɹɦ Ɍ1
Ɉɋ-12
622 Ɇɛɢɬ/ɫ
ɋɨɨɬɜɟɬɫɬɜɭɟɬ 4 ɥɢɧɢɹɦ Ɉɋ-3
Ɉɋ-48
2,5 Ƚɛɢɬ/ɫ
ɋɨɨɬɜɟɬɫɬɜɭɟɬ 4 ɥɢɧɢɹɦ Ɉɋ-12
Ɉɋ-192
9,6 Ƚɛɢɬ/ɫ
ɋɨɨɬɜɟɬɫɬɜɭɟɬ 4 ɥɢɧɢɹɦ Ɉɋ-48
. ,
,
"
",
, -
. Internet,
, ,
, 22.2.
.
, -
DSU (Data Service Unit, ) ,
CSU (Central Switching Unit, , , Ethernet. ,
) ,
.
416 ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
22.3
.
Internet.
,
-
,
-
, , .
, -
, .
22.2
, Internet-
:
, Internet 1.
22.3
Internet-
.
Ƚɥɚɜɚ 25. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 417
ɋɟɬɟɜɵɟ ɤɨɦɩɨɧɟɧɬɵ . .
,
,
-
.
Ʉɚɛɟɥɢ Ethernet-
, ,
: 10
/ (Fast Ethernet) Gigabit Ethernet.
Ethernet, 100 1 /
-
/
. Ethernet(
). ,
, ,
, ,
Ethernet-
. 22.2.
Ethernet
Ɍɚɛɥɢɰɚ 22.2 Ɋɚɡɥɢɱɧɵɟ ɬɢɩɵ Ethernet-ɤɚɛɟɥɹ
,
/
10Base-2
Ɍɨɧɤɢɣ Ethernet
10
Ɍɨɧɤɢɣ ɤɨɚɤɫɢɚɥ
ȼNɋ
185 ɦ
10Base-5
Ɍɨɥɫɬɵɣ Ethernet
10
Ɍɨɥɫɬɵɣ ɤɨɚɤɫɢɚɥ
DB-15, DIX/AUI
500 ɦ
10Base-T
Ethernet
10
UTP RJ-45 Ʉɚɬɟɝɨɪɢɢ 3, 5
100 ɦ
100Base-TX
Fast Ethernet
100
UTP Ʉɚɬɟɝɨɪɢɹ 5
RJ-45
100 ɦ
1000Base-T
Gigabit Ethernet
UTP Ʉɚɬɟɝɨɪɢɹ 5
RJ-45
100 ɦ
1 Ƚɛɢɬ/ɫ
ɉɊɂɆȿɑȺɇɂȿ ɇɟɤɨɬɨɪɵɟ ɲɢɪɨɤɨ ɢɫɩɨɥɶɡɭɟɦɵɟ ɚɛɛɪɟɜɢɚɬɭɪɵ DIX: Digital, Intel, Xerox AUI: Attachment Unit Interface — ɢɧɬɟɪɮɟɣɫ ɭɫɬɪɨɣɫɬɜɚ ɩɨɞɤɥɸɱɟɧɢɹ BNC: Bayonet Nail Concelman — ɲɬɵɪɟɜɨɣ ɪɚɡɴɟɦ ɫ ɛɚɣɨɧɟɬɧɵɦ ɡɚɦɤɨɦ, ɢɥɢ British Naval Connector — ɛɪɢɬɚɧɫɤɢɣ ɜɨɟɧɧɨ-ɦɨɪɫɤɨɣ ɤɨɧɧɟɤɬɨɪ UTP: Unshielded Twisted Pair — ɧɟɷɤɪɚɧɢɪɨɜɚɧɧɚɹ ɜɢɬɚɹ ɩɚɪɚ
Ethernet
.
,
.
, ,
-
418 ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
. (
50 .
),
,
,
,
. ,
. "
. "
"
Ethernet
", ,
. ,
,
-
,
RJ-
45 ( ).
Ɋɢɫɭɧɨɤ 22.4
:
(RJ-45),
(DB-15) (BNC) Ethernet.
.
BNC, . .
,
RJ-45 . . RJ-45 — (Straight-through and Crossover Cables). . ? ,
—
RJ-45 (
:
.
).
, ,
.
-
— ,
. ,
.
. , (
)
,
Ƚɥɚɜɚ 22. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 419
.
: ,
—
. uplink-
, . .
, . ,
. , . ,
.
-
. uplink, ,
,
, ,
uplink-
-
. ,
—
? . ,
, . 22.5,
— —
. . 22.6.
ɏɚɛɵ (
)— .
, RJ-45,
24,
,
4
. $40
,
,
420 ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
10base-T 100base-TX. ( 10 / , (N-Way), — .
100
/ ).
,
. 19-
,
, .
telnet,
:
,
, ,
. .
ɉɊɂɆȿɑȺɇɂȿ
ɉɚɪɭ ɫɥɨɜ ɨɬɧɨɫɢɬɟɥɶɧɨ ɬɟɪɦɢɧɨɥɨɝɢɢ. Ⱥɧɝɥɢɣɫɤɨɟ ɫɥɨɜɨ hub ɨɛɨɡɧɚɱɚɟɬ ɤɨɧɰɟɧɬɪɚɬɨɪɵ, ɤ ɤɨɬɨɪɵɦ ɩɨɞɤɥɸɱɚɸɬɫɹ ɭɡɥɵ ɫ ɨɞɢɧɚɤɨɜɨɣ ɫɟɬɟɜɨɣ ɚɪɯɢɬɟɤɬɭɪɨɣ, ɫɥɨɜɨ concentrator ɨɛɨɡɧɚɱɚɟɬ ɤɨɧɰɟɧɬɪɚɬɨɪɵ, ɤ ɤɨɬɨɪɵɦ ɦɨɠɧɨ ɩɨɞɤɥɸɱɚɬɶ ɭɡɥɵ ɫ ɪɚɡɥɢɱɧɵɦɢ ɫɟɬɟɜɵɦɢ ɚɪɯɢɬɟɤɬɭɪɚɦɢ. Ɋɚɡɥɢɱɢɟ ɦɟɠɞɭ ɞɜɭɦɹ ɷɬɢɦɢ ɬɟɪɦɢɧɚɦɢ, ɜɨɨɛɳɟ ɝɨɜɨɪɹ, ɜɟɫɶɦɚ ɪɚɡɦɵɬɨ, ɩɨɷɬɨɦɭ ɜ ɨɛɢɯɨɞɟ ɤɨɧɰɟɧɬɪɚɬɨɪɵ ɥɸɛɵɯ ɬɢɩɨɜ ɧɚɡɵɜɚɸɬ ɯɚɛɚɦɢ.
, .
. .
,
,
, uplink-
. ,
, -
,
,
, . (upstream device).
-
Uplink-
, , . .
uplink-
, 4
),
— .
-
, 5-
,
(uplink-
3
(
).
DIP-
. .
,
. — (Full Duplex). , .. , Fast Ethernet / .
(Half Duplex) , . 100 100
/
— . ,
—
Ʉɨɦɦɭɬɚɬɨɪɵ ,
(switch) ,
,
.
,
—
, RJ-45. ,
.
-
Ƚɥɚɜɚ 22. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 421
,
, .
,
. . ,
,
,
-
,
, (collision domain).
, , . ,
,
-
,
.
,
-
: ,
,
,
. ,
.
, .
, .
. . ,
,
,
, ,
. . , .
ARP-
. ,
.
, .
, .
(telnet)
, ,
. .
( 100base-TX 100 / ,
)
.
, 8,
8
.
,
, -
, . (
OSI).
, .
,
8-
— 100 100,
/ .
100 8800
100/
-
.
, ,
. ,
, "
.
,
/
-
" (tcpdump
EtherPeek),
422 ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
promiscuous mode, ,
. . .
, -
— (
,
)— .
,
,
,
,
-
,
. , (
,
,
,
uplink-
) ,
,
.
:
, , .
uplink-
Ɇɨɫɬɵ ,
(bridges) —
,
.
,
. 4-
TCP/IP. ,
,
—
,
, ,
Ethernet
. ,
, Token Ring.
Ɇɚɪɲɪɭɬɢɡɚɬɨɪɵ -
(routers) — . ,
-
,
. -
,
, .
, (
TCP/IP). .
, ,
-
. ,
, . ,
,
. "
" . ,
,
Ƚɥɚɜɚ 22. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 423
.
—
,
Internet. RJ-45
28.
AUI,
.
/
DSU/CSU , ).
,
:
,
, ,
.
( 1, -
, ,
.
ɋɟɬɟɜɵɟ ɩɪɨɬɨɤɨɥɵ ,
Internet-
-
TCP/IP, .
; ,
TCP/IP —
. IP — InternetInternet. OSI (Open Systems Interconnection). Internet. , . ICMP,
TCP, ,
.
ping
traceroute. .
TCP: Transmission Control Protocol TCP
UDP — . , TCP
-
, ,
,
, .
-
, TCP
. ,
TCP
,
(
).
(Acknowledge —
).
.
-
, ,
-
TCP-
" ,
" .
,
-
, (
, ).
424 ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
TCP , .
,
TCP
,
, ,
,
,
.
UDP
, TCP
.
,
/
. , HTTP-
, FTP
Internet,
. .
UDP: User Datagram Protocol UDP
. .
,
UDP,
, . . ,
. , UDP-
,
. UDP-
"
,
"
,
.
—
,
UDP-
,
.
,
NFS,
, ,
,
UDP, UDP?
31.
, , ,
NFS,
. TCP UDP, NFS.
, ,
UDP-
,
-
NFS
(
). UDP ,
.
-
,
,
,
. -
, .
,
,
,
.
,
( -
/ ,
).
Ƚɥɚɜɚ 22. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 425
. , UDP
. .
ICMP: Internet Control Message Protocol ICMP , IP IPX; TCP UDP. , —
, , : .
ICMP ICMPIP-
, ,
. ICMP
,
. traceroute,
ping ,
ICMP. ,
ICMP , . , ICMP
reply).
,
,
, UDP-
(
)
.
(echo-
UDP(Port Unreachable), ICMP 16
.
TCP/IP ?
TCP/IP ,
, , .
—
22.7
—
, (
), , (
). ,
,
.
TCP-, ,
, (
UDP).
, ,
IP-
426 ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
IP-
.
,
( )
.
-
. ,
, (
). .
, ,
, , ,
.
,
. - .
, , IP-
. ,
,
,
,
FreeBSD. TCP/IP,
Addison-Wesley, 1994. , ,
.
IP-ɚɞɪɟɫɚ IPInternet,
, .
, IP-
,
—
-
,
, .
IP-
32-
,
IP-
:
. 8
0 IP-
, .. : 111.112.113.114. -
255.
,
,
,
( , ,
,
32-
).
IP-
,
. . IP.
, IP, IP-
, , , , ).
IP(.. Ethernet-
,
.
,
-
802.11. IP-
, , 22.1.
ifconfig, -
(
-
Ƚɥɚɜɚ 22. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 427
)
.
( .
;
,
, 10) IP-
inet
!0
IP-
. 22.1
ifconfig _______________________
# ifconfig -a xlO: flags=8843 mtu 1500 inet 64.41.131.102 netmask OxffffffOO broadcast 64.41.131.255 inet6 fe80::201:2ff:fe55:1256%xlO prefixlen 64 scopeid Oxl inet 209.154.215.246 netmask Oxffffffff broadcast 209.154.215.246 ether 00:01:02:55:12:56 media: autoselect (lOObaseTX) status: active supported media: autoselect lOObaseTX lOObaseTX lObaseT/UTP lObaseT/UTP lOObaseTX 1pO: flags=8810 mtu 1500 gifO: flags=8010 mtu 1280 gifl: flags=8010 mtu 1280 gif2: flags=8010 mtu 1280 gif3: flags=8010 mtu 1280 loO: flags=8049 mtu 16384 inet6 fe80::l%loO prefixlen 64 scopeid 0x7 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask Oxff000000 pppO: flags=8010 mtu 1500 slO: flags=c010 mtu 552 faithO: flags=8000 mtu 1500
IP— 64.41.131.0.
,
. 64.41.131 ,
. 255. 64.41.131.255 64.41.255.255
-
,
, ,
, , . 64.41.131, 64.41.
. JNTERNET-ɉɊɈɌɈɄɈɅ ȼȿɊɋɂɂ ȼ (IPV6] ȼɨɡɧɢɤɚɟɬ ɜɨɩɪɨɫ, ɚ ɞɨɫɬɚɬɨɱɟɧ ɥɢ ɞɢɚɩɚɡɨɧ ɚɞɪɟɫɧɨɝɨ ɩɪɨɫɬɪɚɧɫɬɜɚ, ɨɛɟɫɩɟɱɢɜɚɟɦɵɣ 32ɛɢɬɧɨɣ ɞɥɢɧɨɣ ɚɞɪɟɫɚ? ɇɚ ɩɟɪɜɵɣ ɜɡɝɥɹɞ, 232 — ɷɬɨ ɩɪɢɛɥɢɡɢɬɟɥɶɧɨ 4,3 ɦɥɪɞ. ɜɨɡɦɨɠɧɵɯ ɤɨɦɛɢɧɚɰɢɣ, ɫɟɝɨɞɧɹ ɜ ɫɟɬɢ ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɧɨ ɨɤɨɥɨ 30 ɦɥɧ. ɯɨɫɬɨɜ. Ɉɞɧɚɤɨ ɱɢɫɥɨ ɤɨɦɩɶɬɟɪɨɜ, ɩɨɞɤɥɸɱɟɧɧɵɯ ɤ Internet, ɪɚɫɬɟɬ ɫ ɤɚɠɞɵɦ ɝɨɞɨɦ ɜɫɟ ɛɵɫɬɪɟɟ, ɢ ɚɞɪɟɫɧɨɟ ɩɪɨɫɬɪɚɧɫɬɜɨ, ɜɟɪɨɹɬɧɨ, ɛɭɞɟɬ ɨɱɟɧɶ ɛɵɫɬɪɨ ɢɫɱɟɪɩɚɧɨ. Ɉɫɨɛɟɧɧɨ ɟɫɥɢ ɭɱɟɫɬɶ, ɱɬɨ ɧɚ ɫɚɦɨɦ ɞɟɥɟ ɜ ɫɟɬɢ ɞɨɫɬɭɩɧɨ ɦɟɧɟɟ 4,3 ɦɥɪɞ. ɚɞɪɟɫɨɜ. Ⱦɚɜɚɣɬɟ ɩɨɞɫɱɢɬɚɟɦ. ɋɭɳɟɫɬɜɭɟɬ ɬɨɥɶɤɨ 256 ɫɟɬɟɣ ɤɥɚɫɫɚ Ⱥ, ɩɨ 16,7 ɦɥɧ. ɩɨɬɟɧɰɢɚɥɶɧɵɯ ɯɨɫɬɨɜ ɜ ɤɚɠɞɨɣ. ɂ ɬɟ ɤɨɦɩɚɧɢɢ, ɤɨɬɨɪɵɟ ɹɜɥɹɸɬɫɹ ɜɥɚɞɟɥɶɰɚɦɢ ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɧɧɵɯ ɫɟɬɟɣ ɤɥɚɫɫɚ Ⱥ ɜɪɹɞ ɥɢ ɢɫɩɨɥɶɡɭɸɬ ɜɫɟ 16,7 ɦɥɧ. ɚɞɪɟɫɨɜ ɜɧɭɬɪɢ ɫɟɬɢ. Ɇɧɨɝɢɟ ɩɪɟɞɩɪɢɹɬɢɹ ɪɟɲɚɸɬ ɷɬɭ ɩɪɨɛɥɟɦɭ ɩɪɢ ɩɨɦɨɳɢ NAT (Network Address Translation — ɬɪɚɧɫɥɹɰɢɹ ɫɟɬɟɜɵɯ ɚɞɪɟɫɨɜ) ɢ IP-ɦɚɫɤɚɪɚɞɢɧɝɚ. ɗɬɢ ɫɪɟɞɫɬɜɚ ɩɨɡɜɨɥɹɸɬ ɜɫɸ ɜɧɭɬɪɟɧɧɸɸ ɫɟɬɶ ɩɪɟɞɫɬɚɜɢɬɶ ɟɞɢɧɫɬɜɟɧɧɵɦ IP-ɚɞɪɟɫɨɦ, ɯɨɬɹ ɫɚɦɚ ɜɧɭɬɪɟɧɧɹɹ ɫɟɬɶ ɦɨɠɟɬ ɩɪɢ ɷɬɨɦ ɫɨɫɬɨɹɬɶ ɢɡ ɛɨɥɶɲɨɝɨ ɤɨɥɢɱɟɫɬɜɚ ɯɨɫɬɨɜ. Ɉɞɧɚɤɨ ɩɪɢ ɷɬɨɦ ɜɧɟɲɧɢɟ ɤɨɦɩɶɸɬɟɪɵ ɧɟ ɦɨɝɭɬ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɨɛɪɚɳɚɬɶɫɹ ɤ ɜɧɭɬɪɟɧɧɢɦ ɤɨɦɩɶɸɬɟɪɚɦ ɫɟɬɢ. ɂ ɟɞɢɧɫɬɜɟɧɧɵɣ ɫɩɨɫɨɛ ɢɡɛɟɠɚɬɶ ɷɬɨɝɨ, ɨɛɟɫɩɟɱɢɜ ɩɨɥɧɨɰɟɧɧɨɟ ɫɨɟɞɢɧɟɧɢɟ ɦɟɠɞɭ ɞɜɭɦɹ ɤɨɦɩɶɸɬɟɪɚɦɢ, — ɷɬɨ ɧɚɡɧɚɱɢɬɶ ɤɚɠɞɨɦɭ ɤɨɦɩɶɸɬɟɪɭ ɜ ɫɟɬɢ IP-ɚɞɪɟɫ ɜ ɫɬɚɧɞɚɪɬɧɨɦ 32-ɛɢɬɧɨɦ ɜɢɞɟ.
, , ,
428 ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ ɉɨɷɬɨɦɭ ɪɹɞ ɧɟɡɚɜɢɫɢɦɵɯ ɝɪɭɩɩ ɪɚɡɪɚɛɨɬɚɥɢ ɧɨɜɵɣ ɫɬɚɧɞɚɪɬ IP-ɚɞɪɟɫɚɰɢɢ, ɬɚɤ ɧɚɡɵɜɚɟɦɨɝɨ IPv6. ɗɬɨɬ ɫɬɚɧɞɚɪɬ ɨɛɟɫɩɟɱɢɜɚɟɬ 128-ɛɢɬɧɨɟ ɚɞɪɟɫɧɨɟ ɩɪɨɫɬɪɚɧɫɬɜɨ, ɫ ɚɞɪɟɫɚɦɢ ɜ ɱɟɬɵɪɟ ɪɚɡɚ ɛɨɥɟɟ ɞɥɢɧɧɵɦɢ, ɱɟɦ ɜ ɧɵɧɟ ɞɟɣɫɬɜɭɸɳɟɦ ɫɬɚɧɞɚɪɬɟ IPv4. ȼ ɪɟɡɭɥɶɬɚɬɟ ɦɵ ɩɨɥɭɱɢɦ 3,4x1038 ɜɨɡɦɨɠɧɵɯ ɚɞɪɟɫɨɜ. ɇɨɜɵɣ ɫɬɚɧɞɚɪɬ ɜɤɥɸɱɚɟɬ ɬɚɤɠɟ ɬɚɤɢɟ ɜɨɡɦɨɠɧɨɟ™, ɤɚɤ ɜɫɬɪɨɟɧɧɨɟ ɲɢɮɪɨɜɚɧɢɟ ɞɚɧɧɵɯ ɢ ɚɭɬɟɧɬɢɮɢɤɚɰɢɹ, ɞɢɮɮɟɪɟɧɰɢɚɰɢɹ ɫɨɟɞɢɧɟɧɢɣ ɩɪɢ ɩɨɦɨɳɢ ɩɥɚɜɚɸɳɢɯ ɦɟɬɨɤ, ɩɨɥɧɨɫɬɶɸ ɚɜɬɨɦɚɬɢɱɟɫɤɚɹ ɧɚɫɬɪɨɣɤɚ ɯɨɫɬɨɜ ɢ ɞɪ. ɉɪɨɛɥɟɦɚ ɜ ɬɨɦ, ɱɬɨ ɧɨɜɵɣ ɫɬɚɧɞɚɪɬ ɨɱɟɧɶ ɦɟɞɥɟɧɧɨ ɜɯɨɞɢɬ ɜ ɨɛɢɯɨɞ ɉɨɫɬɪɨɟɧɢɟ ɫɟɬɟɣ — ɩɪɨɰɟɫɫ ɞɨɪɨɝɨɫɬɨɹɳɢɣ, ɚ ɢɯ ɩɟɪɟɜɨɞ ɧɚ ɧɨɜɵɣ ɫɬɚɧɞɚɪɬ ɨɡɧɚɱɚɟɬ ɡɚɦɟɧɭ ɜɫɟɝɨ ɭɫɬɚɪɟɜɲɟɝɨ ɫɟɬɟɜɨɝɨ ɨɛɨɪɭɞɨɜɚɧɢɹ, ɧɟɫɩɨɫɨɛɧɨɝɨ ɪɚɛɨɬɚɬɶ ɫ IPv6, ɢ ɬɪɟɛɭɟɬ ɡɧɚɱɢɬɟɥɶɧɵɯ ɫɪɟɞɫɬɜ. ɉɨɤɚ ɨɱɟɧɶ ɧɟɦɧɨɝɢɟ ɤɨɦɩɚɧɢɢ ɪɟɲɢɥɢɫɶ ɧɚ ɬɚɤɨɣ ɲɚɝ. Ɍɟɦ ɧɟ ɦɟɧɟɟ FreeBSD ɩɪɟɞɨɫɬɚɜɥɹɟɬ ɩɨɥɧɭɸ ɩɨɞɞɟɪɠɤɭ IPv6 ɢ ɦɨɠɟɬ ɨɛɟɫɩɟɱɢɬɶ ɜɚɦ ɩɪɟɢɦɭɳɟɫɬɜɚ ɞɚɧɧɨɝɨ ɫɬɚɧɞɚɪɬɚ, ɞɚɠɟ ɟɫɥɢ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɣ ɢɧɮɪɚɫɬɪɭɤɬɭɪɵ ɟɳɟ ɧɟɬ.
ARP ɢ ɆȺɋ-ɚɞɪɟɫɚ IP,
FTP-
, ,
-
—
,
, .
,
IP-
,
-
, IPIP-
TCP/IP, ,
. . . ,
,
. , .
,
-
—
- , (Media Access Controller). . , -
,
,
, -
. , IP. ,
,
,
. -
-
,
,
.
.
3Com. , —
,
ifconfig, ether. 00:01:02:55:12:56, 48. 6 2 800 000 000 000 000 30 . ,
-
. . 3Electrical and Electronics Engineers — ). 3 — 16,7 . 16,7 .
IEEE (Institute of -
, . , .
Ƚɥɚɜɚ 22. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 429
,
. ,
(
,
,
.
) ,
IP-
,
-
,
IP-
.
,
IP-
?
ARP. ARP (Address Resolution Protocol) — IPIP10.5.6.100,
, . ,
IP.
ARP,
,
,
, 10.5.6.100 ,
ARP,
IP-
. IP-
.
(
255 — ff:ff:ff:ff:ff:ff). ,
, IP-
. — -
IP,
, 10.5.6.100
ARP-
.
,
10.5.6.100,
. ɉɊɂɆȿɑȺɇɂȿ Ʉɚɤ ɜɵ ɩɨɦɧɢɬɟ, ɤɨɦɦɭɬɚɬɨɪɵ ɜɟɞɭɬ ɫɜɨɸ ɫɨɛɫɬɜɟɧɧɭɸ, ɜɧɭɬɪɟɧɧɸɸ ɬɚɛɥɢɰɭ ɚɞɪɟɫɨɜ ARP-ɤɷɲɚ. Ɂɧɚɹ ɩɪɢɧɰɢɩ ɪɚɛɨɬɵ ɩɪɨɬɨɤɨɥɚ ARP, ɥɟɝɤɨ ɩɨɧɹɬɶ ɢ ɬɨ, ɤɚɤ ɤɨɦɦɭɬɚɬɨɪɵ, ɢɫɩɨɥɶɡɭɹ ARP, ɨɩɪɟɞɟɥɹɸɬ ɚɞɪɟɫ ɯɨɫɬɚ, ɩɨɞɤɥɸɱɟɧɧɨɝɨ ɤ ɨɩɪɟɞɟɥɟɧɧɨɦɭ ɩɨɪɬɭ. ɂɦɟɧɧɨ ɛɥɚɝɨɞɚɪɹ ɜɧɭɬɪɟɧɧɟɦɭ ARPɤɷɲɭ, ɤɨɦɦɭɬɚɬɨɪɵ ɨɩɬɢɦɢɡɢɪɭɸɬ ɫɟɬɟɜɨɣ ɬɪɚɮɢɤ, ɩɨɫɵɥɚɹ ɩɚɤɟɬɵ ɬɨɥɶɤɨ ɧɚ ɬɨɬ ɩɨɪɬ, ɤ ɤɨɬɨɪɨɦɭ ɩɨɞɤɥɸɱɟɧ ɯɨɫɬ ɧɚɡɧɚɱɟɧɢɹ.
Ʉɨɦɚɧɞɚ ɚrɪ ARP
TCP/IP. ,
ARP-
.
,
r - :
# r w001.sjc-ca.dsl.cnc.net (64.41.131.1) at 0:0: 5:7 :7:fO [ethernet] w013.sjc-ca.dsl.cnc.net (64.41.131.13) at 0:30:65: 4:9 :5 [ethernet] w063.sjc-ca.dsl.cnc.net (64.41.131.63) at ff:ff:ff:ff:ff:ff permanent ↪ [ethernet]
ARP.
, (
,
, ,
,
,
IP-
). -
430 ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
,
,
IP-
.
-
. , IP-
—
:
# arp -d w001.sjc-ca.dsl.cnc.net # arp -d 64.41.131.13 # arp -d -a
ɉɨɞɫɟɬɢ ɢ ɫɟɬɟɜɵɟ ɦɚɫɤɢ — ,
TCP/IP-
— (netmask) —
(
)
. , ( (
,
), ARP-
, IP-
,
,
. TCP/IPIP-
,
) ,
. 32— 255.255.255.0. . IP-
,
, IP-
IP-
IP64.41.131 IP-
64.41.131.45. ,
,
, .
,
and, .
, ,
. ,
. ,
TCP/IP. ( -
), , . .
. IP,
, ARP-
. ,
.
, 64.41.
.
(64.41 —
,.
.
). , R2, 64.41.132.
,
.
,
— 64.41.131. 64.41.131. , 64.41.132 ( . . 22.8), , — 255.255.255.0, . 255.255.0.0, 64.41.131. , 64.41.132, , . -
R1
Ƚɥɚɜɚ 22. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 431
,
, ( 255.255.0.0,
, ,
64.41.13l.xxx
, 64.41
-
13l.xxx!)
22.8
,
.
OxffffffOO (255.255.255.0) 64
OxfffffcO (255.255.255.192), 1 64.
,
, , 64.41.131 3 (24
CIDR (Classless Inter-Domain Routing — ), , . , 255.255.255.0 CIDR 64.41.131/24, ), 1. 255.255.255.192 64.41.131/26, 26 ,
CIDR
.
, .
Ɇɚɪɲɪɭɬɢɡɚɰɢɹ ,
— .
,
, , portsentry,
29. , , . ,
FreeBSD ,
netstat -rn: # netstat -rn Routing tables
-
IP-
432 ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ Internet: Destination default
Gateway Flags hsrp-gw.netnation.UGSc
64.41.53.101/32
localhost
Refs 126
Use Netif 1379327 xlO
net-64-40-lll.netn link#l
UC
UGScB
0
3 loO
ip3.somewhere.com 0:50:b :b :98:13 ip4.somewhere.com 0:50:ba:b :95:bb
OHLW UHLW
2 0
357107 xlO 2272 xlO
ip6.somewhere.com ip6.somewhere.com hsrp-gw.netnation. 64.77.63.139/32
0:1:2:55:12:56 localhost 0:0:c:7:ac:le localhost
UHLW UGScB UHLW UGScB
Toronto-ppp218408.localhost
xlO =>
0 0 119 0
UGScB
localhost localhost goo. cs.und. nodak. e localhost
Expire
118941 0 8814 0
0
735 500
loO => loO xlO loO
405
0 loO
45 45210727 loO 0 0 loO
UGScB
: •
(Destination). FreeBSD , ,
(
IP, CIDR) (default route).
, ,
, •
.
(Gateway address).
-
,
,
,
-
. -
IP-
, ), . FreeBSD
,
( link#l, -
, , (flags).
•
(
). . ,
. 5 . man netstat. (Network Interface). , . 2
•
-
IP-
R
( , ,
). Internet. ,
,
-
. Internet, ,
. ,
,
, , .
,
. , .
, ,
,
IP-
Ƚɥɚɜɚ 22. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 433
, ,
,
, ,
. , ,
. . .
,
-
, .
,
,
,
,
-
. , , (router loop):
—
traceroute to arclight.net (209.237.26.189), 30 hops max, 40 byte packets 3 r2-72-core-van.netnation.com (10.10.4.253) 101.878 ms 135.377 ms 85.218 ms 4 dis2-vancouver-atml-0-0-33.in.bellnexxia.net (206.108.110.189) 132.023 ms ↪ 80.653 ms 81.686 ms 5 core2-vancouver-posll-l.in.bellnexxia.net (206.108.101.45) 102.365 ms ↪ 61.537 ms 68.561 ms 6 core2-seattle-posl2-0.in.bellnexxia.net (206.108.102.209) 79.989 ms 109.389 ↪ ms 115.587 ms 7 bx3-seattle-pos5-0.in.bellnexxia.net (206.108.102.202) 86.434 109.678 129.128 12 seal-bellnexxia-ocl2.seal.above.net (208.184.233.73) 91.201 67.287 79.369 13 core2-corel-oc48.seal.above.net (208.185.175.178) 74.219 79.480 93.121 14 sjc2-seal-oc48.sjc2.above.net (216.200.127.117) 188.692 212.627 181.123 15 corel-sjc2-oc48.sjcl.above.net (208.184.102.25) 195.260 194.973 272.053 10 mainl-corel-ocl2.sjcl.above.net (208.185.175.246) 344.104 318.313 11 corel-sjc2-oc48.sjcl.above.net (208.184.102.25) 195.260 194.973 272.053 12 mainl-corel-ocl2.sjcl.above.net (208.185.175.246) 344.104 318.313 13 corel-sjc2-oc48.sjcl.above.net (208.184.102.25) 195.260 194.973 272.053 14 mainl-corel-ocl2.sjcl.above.net (208.185.175.246) 344.104 318.313 15 corel-sjc2-oc48.sjcl.above.net (208.184.102.25) 195.260 194.973 272.053 16 mainl-corel-ocl2.sjcl.above.net (208.185.175.246) 344.104 318.313 17 corel-sjc2-oc48.sjcl.above.net (208.184.102.25) 195.260 194.973 272.053 18 mainl-corel-ocl2.sjcl.above.net (208.185.175.246) 344.104 318.313
, .
,
, , .
ɒɥɸɡɵ ɢ ɬɪɚɧɫɥɹɰɢɹ ɫɟɬɟɜɵɯ ɚɞɪɟɫɨɜ (Gateways and Network Address Translation) -
, , . , . .
. H1
2
22.8:
,
,
. R2.
H1
2
R1.
434 ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
.
R2,
,
;
, ,
. —
,
-
. , NAT-
,
. -
, , :
— FreeBSD natd,
,
. NAT — ,
— NAT-
. 28.
ɂɦɟɧɚ ɯɨɫɬɨɜ ɢ ɞɨɦɟɧɨɜ Internet , . . IP, .
,
, Internet
.
, ,
,
IP-
.
-
.
DNS-
, Network System Inc. , . . FreeBSD /etc/namedb.
-
DNSBIND,
DNS-
30. , tiger
, .
Pluto, Internet,
tiger, somethere.com. , IP-
IP,
,
.
,
.
somethere.com IP-
, . 64.41.131.45,
, HTTPFTP-
www.somethere.com ftp.somethere.com — 213.11.31.221. , TCP/IP.
DNS
.
: IP, , —
—
-
—
IP-
ARP ,
— IP-
IPIP,
.
. , DNS
,
—
-
.
Ƚɥɚɜɚ 22. Ɉɫɧɨɜɵ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɟɬɟɣ 435
DHCP , Ethernet-
,
)
IP-
23 , DHCP (Dynamic Host Configuration Protocol, ). IP. DHCP, DHCP. ( , ARP. DHCPIP, ( , ). 33.
23
◄ Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɫɟɬɟɜɨɣ ɤɚɪɬɵ ◄ ɇɚɫɬɪɨɣɤɚ ɫɟɬɟɜɵɯ ɩɚɪɚɦɟɬɪɨɜ ɩɪɢ ɩɨɦɨɲɢ sysinstall ◄ ɇɚɫɬɪɨɣɤɚ ɫɟɬɟɜɵɯ ɩɚɪɚɦɟɬɪɨɜ ɜɪɭɱɧɭɸ ◄ ɋɨɡɞɚɧɢɟ IP-ɩɫɟɜɞɨɧɢɦɨɜ ◄ ɇɚɫɬɪɨɣɤɚ ɢɦɟɧ ɢ IP-ɚɞɪɟɫɨɜ ɜ ɮɚɣɩɟ /etc/hosts ◄ ɍɬɢɥɢɬɚ ping ◄ ɇɚɫɬɪɨɣɤɢ DN5 ɜ ɮɚɣɩɟ /etc/resolv.conf ◄ Ⱦɪɭɝɢɟ ɮɚɣɥɵ ɤɨɧɮɢɝɭɪɚɰɢɢ ɫɟɬɢ
Ƚɥɚɜɚ 33. ɇɚɫɬɪɨɣɤɚ ɨɫɧɨɜɧɵɯ ɫɟɬɟɜɵɯ ɫɥɭɠɛ
,
437
,
,
.
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɫɟɬɟɜɨɣ ɤɚɪɬɵ , , .
,
IP,
, IP-
.
, IP-
,
.
, .
23.1
,
FreeBSD. ,
,
,
23.1 (PCI-
,
).
, FreeBSD ,
.
,
,
( . 23.1
,
. PC/ Cards de
Intel DC21x4x ("Tulip")
vx
3Com 3c590, 3c595 ("Vortex")
PCI/Mil Cards fxp
Intel EtherExpress Pro/100B (82557, 82558)
tx
SMC 9432TX (83c170 "EPIC")
wx
Intel Gigabit Ethernet Card ("Wiseman")
dc
DEC/Intel 21143 and various workalikes
pcn
AMD Am79C79x PCI 10/100 NICs
rl
RealTek 8129/8139
sf
Adaptec AIC-6915 ("Starfire")
sis
Silicon Integrated Systems SiS 900/SiS 7016
ste
Sundance ST201 (D-Link DFE-550TX)
tl
Texas Instruments ThunderLAN
vr
VIA Rhine, Rhine II
wb
Winbond W89C840F
xl
3Com 3c90x ("Boomerang," "Cyclone")
/sys/1386/conf/NOTES). 17. FreeBSD
438
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
ISA Cards ed
Novell NE1000/NE2000, 3Com 3c503, Western Digital/SMC 80xx
ISA Cards ex
Intel EtherExpress Pro/10 (82595)
ep
3Com 3c509
fe
Fujitsu MB86960A/MB86965A
ie AT&T StarLAN 10 and EN100; 3Com 3c507; unknown N15210; Intel EtherExpress Inc
Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and
Am79C960) cs
IBM Etherjet and other Crystal Semi CS89xO-based adapters
sn
SMC 9000
PCMCIA Cards wi
Lucent WaveLAN 802.11
an
Aironet 4500/4800 802.11
xe
Xircom/Intel EtherExpress Pro100/16
ɉɊɂɆȿɑȺɇɂə ɉɨɥɧɵɣ ɫɩɢɫɨɤ ɩɨɞɞɟɪɠɢɜɚɟɦɵɯ ɫɟɬɟɜɵɯ ɤɚɪɬ ɦɨɠɟɬ ɦɟɧɹɬɶɫɹ ɨɬ ɜɟɪɫɢɢ ɤ ɜɟɪɫɢɢ. Ɍɨ ɨɛɨɪɭɞɨɜɚɧɢɟ, ɤɨɬɨɪɨɟ ɩɨɞɞɟɪɠɢɜɚɟɬɫɹ ɤɨɧɤɪɟɬɧɚɹ ɜɟɪɫɢɹ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ, ɨɛɵɱɧɨ ɩ ɟ ɪ ɟ ɱ ɢ ɫ ɥ ɟ ɧ ɨ ɜ ɮ ɚ ɣ ɥ ɟ / s ys / i 3 8 6 / c o n f / G E N E R I C ɞ ɚ ɧ ɧ ɨ ɣ ɫ ɢ ɫ ɬ ɟ ɦ ɵ .
. , ( ISA-
PCI, IRQ, DMA ISA). .
,
,
ɇɚɫɬɪɨɣɤɚ ɫɟɬɟɜɵɯ ɩɚɪɚɦɟɬɪɨɜ ɩɪɢ ɩɨɦɨɳɢ sysinstall , TCP/IP . sysinstall, ,— /stand/sysinstall. Configure , — FTP FTP— : Running multi-user, assume that the network is already configured? ( , , ?) No. . , FreeBSD , , ,
sysinstall.
Media. -
.
.
Ƚɥɚɜɚ S3. ɇɚɫɬɪɨɣɤɚ ɨɫɧɨɜɧɵɯ ɫɟɬɟɜɵɯ ɫɥɭɠɛ
,
1
SLIP IPv6
-
( giro
439
) faithO.
-
.
,
,
. Intel EtherExpress Pro/100B. , IPv6, — DHCP.
PCI:
fxpl, . 23.1.
,
23.1 sysinstall.
, . •
,
(Host). .
,
www.somewhere.com, • (Domain). somewhere.com. , , cslab.ivyleague.edu. • IPv4 (IPv4 Gateway). . , ( • (Name server). IP. , • IPv4 (IPv4 Address). . ,
•
, . .
IP-
, ). .
IP-
, ,
IPv4 Gateway, ,
. (Netmask).
(
.
www.
IP— 255.255.255.0,
) — 255.255.0.0
(
)
: — 255.0.0.0.
440
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
•
,
. -
, , .
,
,
ifconfig,
sysinstall. , , a sysinstall
FTP-
OK,
-
.
, .
,
FreeBSD — , .
ɉɊɈȻɅȿɆɕ ɋ ɋȿɌȿȼɕɆɂ ISA-ɄȺɊɌȺɆɂ ȼɨɨɛɳɟ-ɬɨ, ɛɨɥɶɲɢɧɫɬɜɨ ɫɟɬɟɜɵɯ PCI-ɤɚɪɬ ɧɟ ɫɨɡɞɚɸɬ ɩɪɨɛɥɟɦɧɵɯ ɫɢɬɭɚɰɢɣ. ȿɫɥɢ ɤɚɪɬɚ ɩɨɞɞɟɪɠɢɜɚɟɬɫɹ ɹɞɪɨɦ ɫɢɫɬɟɦɵ, ɬɨ ɜɫɟ, ɱɬɨ ɬɪɟɛɭɟɬɫɹ ɫɞɟɥɚɬɶ, — ɷɬɨ ɜɫɬɚɜɢɬɶ ɫɟɬɟɜɭɸ ɤɚɪɬɭ ɜ ɪɚɡɶɟɦ ɧɚ ɦɚɬɟɪɢɧɫɤɨɣ ɩɥɚɬɟ, ɜɤɥɸɱɢɬɶ ɤɨɦɩɶɸɬɟɪ ɢ ɧɚɛɥɸɞɚɬɶ, ɤɚɤ ɫɢɫɬɟɦɚ ɫɚɦɚ ɨɩɪɟɞɟɥɹɟɬ ɫɟɬɟɜɭɸ ɤɚɪɬɭ ɜ ɩɪɨɰɟɫɫɟ ɡɚɝɪɭɡɤɢ: fxpO: port Oxde8O-Oxdebf mem Oxff8feOOO-Oxff8fefff irq 11 at device 8.0 on pcil fxpO: Ethernet address 00:dO:b7:c7:74:fl fxpl: quit Connection closed.
/etc/
imap pam.conf (
),
.
: imap
auth
required
pam_unix.so
try_first_pass
auth required account required session required
pam_unix.so pam_unix.so pam_deny.so
try_first_pass
auth required account required session required
pam_unix.so pam_unix.so pam_deny.so
: imap imap imap
To
: try_first_pass
ɉɊɂɆȿɑȺɇɂȿ ȼ ɮɚɣɥɟ /uar/log/messages ɢɥɢ ɜ ɤɥɢɟɧɬɫɤɨɦ ɩɪɨɝɪɚɦɦɧɨɦ ɨɛɟɫɩɟɱɟɧɢɢ IMAP ɦɨɠɧɨ ɡɚɦɟ-ɬɢɬɶ ɩɪɟɞɭɩɪɟɠɞɟɧɢɹ ɨ ɬɨɦ, ɱɬɨ ɩɨɱɬɨɜɵɣ ɹɳɢɤ "ɭɹɡɜɢɦ", ɢ ɱɬɨ ɩɪɚɜɚ ɞɨɫɬɭɩɚ ɤ /uar/mail ɞɨɥɠɧɵ ɛɵɬɶ ɭɫɬɚɧɨɜɥɟɧɵ ɤɚɤ 1777. Ɍɚɤɭɸ ɩɪɨɜɟɪɤɭ ɡɚɳɢɬɵ ɩɪɨɢɡɜɨɞɢɬ ɫɟɪɜɟɪ IMAP-UW (ɟɟ ɜɵɩɨɥɧɹɟɬ ɢ Pine). ɉɨɱɬɨɜɵɣ ɤɚɬɚɥɨɝ ɜɨ FreeBSD ɢɦɟɟɬ ɩɪɚɜɚ ɞɨɫɬɭɩɚ 775, ɬ.ɟ. ɜɫɟ ɩɪɨɝɪɚɦɦɵ, ɤɨɬɨɪɵɦ ɬɪɟɛɭɟɬɫɹ ɞɨɫɬɭɩ ɞɥɹ ɢɡɦɟɧɟɧɢɹ ɢɥɢ ɫɨɡɞɚɧɢɹ ɮɚɣɥɨɜ ɜ /war/mail ɞɨɥɠɧɵ ɢɦɟɬɶ ɛɢɬ setgid ɞɥɹ ɩɨɱɬɨɜɨɣ ɝɪɭɩɩɵ. Ɉɞɧɚɤɨ IMAP-LJW ɧɟ ɡɚɩɭɫɤɚɟɬɫɹ ɤɚɤ setgid ɢ ɧɟ ɦɨɠɟɬ ɫɨɡɞɚɜɚɬɶ ɜ ɤɚɬɚɥɨɝɟ / / mail lock-ɮɚɣɥɵ, ɩɪɟɞɨɬɜɪɚɳɚɸɳɢɟ ɞɨɫɬɚɜɤɭ ɩɨɱɬɵ ɜ ɩɨɱɬɨɜɵɣ ɹɳɢɤ ɩɪɢ ɩɨɥɭɱɟɧɢɢ ɧɨɜɵɯ ɫɨɨɛɳɟɧɢɣ. ɉɪɚɜɢɥɶɧɨɟ ɪɟɲɟɧɢɟ ɡɚɤɥɸɱɚɟɬɫɹ ɜ ɢɡɦɟɧɟɧɢɢ ɩɪɚɜ ɞɨɫɬɭɩɚ ɤ /war/mail ɧɚ 1777. ɗɬɨ ɩɨɡɜɨɥɹɟɬ ɩɨɥɶɡɨɜɚɬɟɥɹɦ ɞɨɛɚɜɥɹɬɶ ɢ ɭɞɚɥɹɬɶ ɮɚɣɥɵ, ɧɨ ɜ ɮɚɣɥɵ ɦɨɝɭɬ ɜɧɨɫɢɬɶ ɢɡɦɟɧɟɧɢɹ ɬɨɥɶɤɨ ɢɯ ɜɥɚɞɟɥɶɰɵ. ɗɬɨ ɧɟ ɢɞɟɚɥɶɧɨɟ ɪɟɲɟɧɢɟ, ɧɨ ɜ ɛɨɥɶɲɢɧɫɬɜɟ ɫɥɭɱɚɟɜ ɨɧɨ ɩɨɞɯɨɞɢɬ.
SSL/TLS . USE_SSL=YES
, , make
make make install USE_SSL=YES make install. , cert, , qpopper, /usr/local/certs ( IMAP-UW ). , qpopper , /usr/local/certs. — stunnel. 29.
Ƚɥɚɜɚ 25. ɇɚɫɬɪɨɣɤɚ ɫɥɭɠɛ E-mail
483
ɗɥɟɤɬɪɨɧɧɚɹ ɩɨɱɬɚ ɞɥɹ ɨɬɞɟɥɶɧɵɯ ɪɚɛɨɱɢɯ ɫɬɚɧɰɢɣ — .
, Gnome
D
.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ Fetchmail ɞɥɹ ɩɨɥɭɱɟɧɢɹ ɩɨɱɬɵ ɫ ɊɈɊɁ- ɢ IMAP-ɫɟɪɜɟɪɨɜ (Outlook, Eudora, Netscape Messenger), IMAP-
. .
MUA
FreeBSD. ,
MUA,
Pine,
. ,
, Mutt, Elm /var/ mail . ,
UNIX. -
IMAP-
FreeBSD, 1
,
,
-
.
Fetchmail — (Eric Raymond).
Fetchmail . .
-
.fetchmailrc, IMAP-
, 25
,
, Fetchmail .
,
(/usr/ports/mail/fetchmail) home, , , . Fetchmail Sendmail. .fetchmailrc
,
fetchmailconf. , (SDK fetchmailconf , .
,
. Fetchmail Python.
.fetchmailrc man-
X Window). Python TCL/ . . Fetchmail.
484
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
ɇɚɫɬɪɨɣɤɚ ɮɚɣɥɚ .fetchmailrc , .fetchmailrc. , .
.
,
, . .
.fetchmailrc ,
.
Fetchmail
.
, . .
.fetchmailrc , . , ,
, Fetchmail.
-
: set daemon 600 set postmaster foobar set logfile ./.fetchmail.log
Fetchmail (10
600
). .
, Fetchmail . (fallback address). ,
Fetchmail . Fetchmail.
,
,
,
,
log-
,
Fetchmail
.
set syslogd.
syslog, , . ,
. .
.fetchmailrc ,
.
,
:
poll mail.samplenet.org proto no dns
, skip mail.samplenet.org
set daemon ,
mail.samplenet.org . Fetchmail
.
Ƚɥɚɜɚ 25. ɇɚɫɬɪɨɣɤɚ ɫɥɭɠɛ E-mail
485
, ,
Fetchmail. Fetchmail : , ,
, .
. DNS.
. Internet
,
-
. . man fetchmail. .fetchmailrc .
.
: user foobar pass secretword fetchall flush
, ISPFetchmail .
,
. ,
,
" ).
" (flush) ( ,
-
. ,
,
. Fetchmail.
Fetchmail
:
set daemon 600 set postmaster foobar set logfile ./.fetchmail.log poll mail.samplenet.org proto no dns user foobar pass secretword fetchall flush
: " .fetchmail.log. foobar ".
'foobar'. mail.samplenet.org DNS. secretword,
600 10
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ Ɍɚɤ ɤɚɤ ɮɚɣɥ .fetchmailrc ɫɨɞɟɪɠɢɬ ɢɦɹ ɩɨɥɶɡɨɜɚɬɟɥɹ ɢ ɩɚɪɨɥɶ, ɧɟɨɛɯɨɞɢɦɵɟ ɞɥɹ ɪɟɝɢɫɬɪɚɰɢɢ ɧɚ ɩɨɱɬɨɜɨɦ ɫɟɪɜɟɪɟ, ɩɪɚɜɚ ɞɨɫɬɭɩɚ ɤ ɧɟɦɭ ɞɨɥɠɧɵ ɛɵɬɶ ɭɫɬɚɧɨɜɥɟɧɵ ɧɚ ɱɬɟɧɢɟ ɬɨɥɶɤɨ ɜɚɦɢ. Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɡɧɚɱɟɧɢɟ ɧɟ ɞɨɥɠɧɨ ɛɵɬɶ ɜɵɲɟ, ɱɟɦ 60Ɉ. ȼɨɫɩɨɥɶɡɭɣɬɟɫɶ ɤɨɦɚɧɞɨɣ chmod
.
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
486
600 .fetchmailrc. ɗɬɨ ɩɪɟɞɨɫɬɚɜɥɹɟɬ ɩɪɚɜɚ ɧɚ ɱɬɟɧɢɟ ɢ ɡɚɩɢɫɶ ɬɨɥɶɤɨ ɜɥɚɞɟɥɶɰɭ ɮɚɣɥɚ. ȿɫɥɢ ɮɚɣɥ .fetchmailrc ɢɦɟɟɬ ɛɨɥɟɟ ɥɢɛɟɪɚɥɶɧɵɟ ɩɪɚɜɚ ɞɨɫɬɭɩɚ, Fetchmail ɧɟ ɡɚɩɭɫɬɢɬɫɹ.
ɇɚɫɬɪɨɣɤɚ Sendmail ɞɥɹ ɨɬɞɟɥɶɧɵɯ ɪɚɛɨɱɢɯ ɫɬɚɧɰɢɣ Fetchmail Sendmail ( , . , Mutt Sendmail,
,
25 ).
, Sendmail , SMTP-
. Sendmail
-
, Internet
.
"
—
"
,
. :
/etc/mail/freebsd.mc
dnl Dialup users should uncomment and define this appropriately dnl define("SMART_HOST', 'your.isp.mail.server')
dnl
define, your.isp.mail.server ,
make cf
. make install
/etc/mail. ,
SMTP-
SMTP-
,
ISP-
.
. Mutt
MUA,
Pine,
, SMTP-
Sendmail, SMTP-
,
-
,
WindowsSMTP-
. .
, DNS-
,
IP-
,
SMTP-
,
DNS
ISP
,
.
FreeBSD ,
.
ISP-
SMTP(
,
MUA
Windows), .
SMART_HOST , Sendmail
. ( /etc/defaults/rc.conf).
,
30
-q30m, ,
/etc/rc.conf
.
Sendmail
SMART_HOST ISP-
,
sendmail_flags="- bd -qlOm"
. :
Ƚɥɚɜɚ 25. ɇɚɫɬɪɨɣɤɚ ɫɥɭɠɛ E-mail
,
487
-q30m Internet.
,
-
sendmail -q, -v. ,
,
,
sendmail -q
-up,
24.
Ⱥɥɶɬɟɪɧɚɬɢɜɧɵɟ ɩɨɱɬɨɜɵɟ ɫɟɪɜɟɪɵ Sendmail
,
. ,
m4, (
,
virtusertable), , Sendmail
. (
), .
, Sendmail.
, ,
, ,
,
.
Postfix , Postfix,
Sendmail (Wietse Venema). . Sendmail,
,
Sendmail
. ,
Postfix
(
,
, Qmail, Postfix
, ).
, "
"
Postfix
Sendmail http://www.postfix.org.
Qmail.
Qmail (Dan Bernstein) Internet, Qmail
.
Qmail Sendmail . Hotmail, Network Solutions Yahoo! mail. , Sendmail. , Qmail Sendmail. Qmail , Qmail http:// www.qmail.org.
Exim , :
,
Exim -
-
488
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
.
, .
,
Exim Sendmail
. SMTPhttp://www.exim.org.
-
, , Sendmail.
Exim
Small , Smail, . ( Smail
Exim),
Sendmail. .
, ,
Sendmail
26
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
Ɉɛɳɢɟ ɫɜɟɞɟɧɢɹ ɨ ɩɪɨɬɨɤɨɥɟ HTTP ► ɉɨɩɭɱɟɧɢɟ ɢ ɢɧɫɬɚɥɥɹɰɢɹ ɫɟɪɜɟɪɚ Apache
►
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɫɟɪɜɟɪɚ Apache ► Ɂɚɩɭɫɤ ɢ ɨɫɬɚɧɨɜ ɞɟɦɨɧɚ HTTP ► Ɉɫɧɨɜɵ ɤɨɧɬɪɨɥɹ ɞɨɫɬɭɩɚ ɤ ɫɟɪɜɟɪɭ ► ȼɢɪɬɭɚɥɶɧɵɣ ɯɨɫɬɢɧɝ ► Ɇɨɞɭɥɢ ɫɟɪɜɟɪɚ Apache ► ɋɟɪɜɟɪɧɵɟ ɪɚɫɲɢɪɟɧɢɹ ► Ɉɫɧɨɜɵ CGI ►
490
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
,
Internet,
Web, Web,
. —
. FreeBSD
Web-
, . Sendmail —
FreeBSD
, . .
,
. 90%
WebWeb( , Roxen Internet,
Apache NCSA httpd. Apache
Apache. AOLserver),
,
,
, .
Sendmail, Apache — .
,
,
.
,
. Apache Web-
— .
, , Perl. Apache
,
.
Ɉɛɳɢɟ ɫɜɟɞɟɧɢɹ ɨ ɩɪɨɬɨɤɨɥɟ HTTP HyperText Transfer Protocol (HTTP, Wide Web. 1993 CERN ( ),
) —
World
, . . HTTP ,
( .
HTTP) HyperText Markup Language (HTML,
). HTTP
-
. ,
,
WWW
( ,
HTTP
1994 .
HTMLGIF ).
. JPEG -
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
HTTP/1.1,
,
491
( ).
. SMTP, FTP "
, HTTP
".
-
, HTTP
,
. HTTP .
, , (relaying),
. SMTP:
-
, , MX,
,
. . HTTP-
,
,
-
. HTTP/1.0 HTTP GET.
,
. 80
HTTP:
f telnet www.somewhere.com 80 Connected to www.somewhere.com. Escape character is 1 A ]'. GET / HTTP/1.0 HTTP/1.1 200 OK Date: Sun, 20 May 2001 22:45:55 GMT Server: Apache/1.3.20 (Unix) Content-Location: index.html Vary: negotiate,accept-language,accept-charset TCN: choice Last-Modified: Fri, 31 Mar 2000 01:45:46 GMT ETag: "6531f-54e-38e4034a;3a977613" Accept-Ranges: bytes Content-Length: 1358 Connection: close Content-Type: text/html Content-Language: en Expires: Sun, 20 May 2001 22:45:55 GMT
test page
test
( HEAD.
),
(
Enter) . .
,
HTTP-
,
,
Server:. ,
Content-*:, .
(HTML,
, Content-Length: , a Content-Type: — , GIF JPEG
Web-
,
. .).
492
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
/1.0
,
cookies, (
, ), , /1.0,
. ,
. (
,
. . . /1.1 (Host:) -
Web-
).
, .
Web,
HTTP-
TCP/IP
, WebIP- -
, IP-
(
22),
, .
-
Host:. # telnet www.somewhere.com 80 Connected to www.somewhere.com. Escape character is 1 A J '. GET / HTTP/1.1 Host: www.somewhere.com
, HTTP/I.I , HTTP/1.1. HTTP/1.1, ,
( Lynx), Host:. ( , Netscape Navigator /1.0.) Host: (
),
-
, IP.
-
.
Ʉɨɞɵ ɨɬɜɟɬɚ ɢ ɩɟɪɟɧɚɩɪɚɜɥɟɧɢɟ (GET, HEAD HTTP/1.1), ,
-
. .
HTTP). 26.1
POST,
(
. 26.1 Apache
HTTP2
200
ɈɄ
201
Created (ɋɨɡɞɚɧɨ)
202
Accepted (ɉɪɢɧɹɬɨ)
203
Partial Information (ɑɚɫɬɢɱɧɚɹ ɢɧɮɨɪɦɚɰɢɹ)
204
No Content (ɇɟɬ ɫɨɞɟɪɠɢɦɨɝɨ)
— ɋɬɚɧɞɚɪɬɧɵɣ ɤɨɞ ɭɫɩɟɲɧɨɝɨ ɜɵɩɨɥɧɟɧɢɹ
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
493
— 300
Ɂɚɩɪɨɫɵ MultiViews ɢɥɢ CheckSpelling
Multiple Choices
ɧɚɲɥɢ ɧɟɫɤɨɥɶɤɨ ɫɨɨɬɜɟɬɫɬɜɢɣ 302
Moved Permanently
ɉɨɫɥɟɞɧɢɣ ɫɢɦɜɨɥ ɤɨɫɨɣ ɱɟɪɬɵ ɨɩɭɳɟɧ
303
Moved Temporarily
ɇɚɣɞɟɧɨ ɩɟɪɟɧɚɩɪɚɜɥɟɧɢɟ
304
Not Modified
Ɇɨɠɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɤɟɲɢɪɨɜɚɧɧɭɸ ɤɨɩɢɸ 4
—
402
Bad Request (ɉɥɨɯɨɣ ɡɚɩɪɨɫ)
403
Unauthorized
Ⱦɥɹ ɩɪɨɞɨɥɠɟɧɢɹ ɧɟɨɛɯɨɞɢɦɚ ɚɭɬɟɧɬɢɮɢɤɚɰɢɹ
403
Forbidden
ɉɪɚɜɚ ɞɨɫɬɭɩɚ ɢɥɢ ɤɨɧɮɢɝɭɪɚɰɢɹ ɫɟɪɜɟɪɚ ɡɚɩɪɟɳɚɸɬ ɞɨɫɬɭɩ
404
Not Found
Ɏɚɣɥɚ ɧɟ ɫɭɳɟɫɬɜɭɟɬ 5
— Ɉɲɢɛɤɚ CGI-ɩɪɨɝɪɚɦɦɵ
501
Internal Server Error
502
Not Implemented (He ɪɟɚɥɢɡɨɜɚɧɨ)
503
Bad Gateway (ɉɥɨɯɨɣ ɲɥɸɡ)
504
Service Unavailable
Ɋɟɫɭɪɫɵ, ɧɟɨɛɯɨɞɢɦɵɟ ɞɥɹ ɨɛɪɚɛɨɬɤɢ ɡɚɩɪɨɫɚ, ɧɟɞɨɫɬɭɩɧɵ
404 CGI-
403,
500,
.
304. .
, (/var/log/httpd-access.log). , ( , GIF HTML), GET, If-Modified-Since . , . , ( 200), , 304 (Not Modified), , . , , ,— 301 (Moved Permanently). , URL http://some.host.com/Subdirectery, Subdirectory — . URL http://some.host.com/Subdirectory/. , , URL , . , 301, URL, . URL , ,
log-
494
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
.
,
.
Apache,
ServerName .
Webwww.w3.org/Protocols. RFC 1945, a HTTP/1.1 — RFC 2068.
Consortium)
W3 (WWW /1.0 -
ɉɨɥɭɱɟɧɢɟ ɢ ɢɧɫɬɚɥɥɹɰɢɹ ɫɟɪɜɟɪɚ Apache Apache, , ), " " , 1995 NCSA httpd. Apache — . — AIX Windows, BeOS
(
"A Patchy Server" , -
Mac OS X, ,
,
FreeBSD. HTTP-
, .
! -
60% Apache
(
, . Apache
) (/usr/ports/www/apache13) , —
Apache 1.3 .
. .
Apache. "
. ,
" (
, Apache).
Apache 2.0
,
,
, .
Apache 2.0 Apache 1.3, /usr/ports/www/apache2 (
,
, ,
). Apache
FreeBSD FreeBSD,
Rewrite (mod_rewrite), . FreeBSD.
, , URL (Ralf Engelschall), a , Apache
Apache , , http://httpd.apache.org.
. Apache
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
495
ɋɯɟɦɚ ɪɚɫɩɨɥɨɠɟɧɢɹ ɮɚɣɥɨɜ ɫɟɪɜɟɪɚ Apache Apache , /usr/local/www,
/usr/local.
, .
Apache /usr/local ( (
. 26.1.
Apache FreeBSD), /var/log
loglog-
).
, ,
. .
/usr/local/www/data.default /usr/local/share/doc/apache, a /usr/local/www/data ( , . . ) — . , /usr/Iocal/www/cgi-bin.default cgi-bin, cgi-bin
, /usr/local/www/cgi-bin ( ). cgi-bin.default, .
,
HTML. , -
Ɋɢɫɭɧɨɤ 26.1
Apache.
/usr/local/etc/apache .default.
, ,
-
. Sendmail,
, Apache
FreeBSD Linux, Solaris , "
. Apache
,
Windows. : ", , Apache.
, ,
log.
,
Linux ,
, /usr/local/www FreeBSD, , , /var/ lib/apache. Apache, , -
496
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
,
FreeBSD,
,
,
,
.
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɫɟɪɜɟɪɚ Apache /etc/mail ( apache (
25), /usr/local/etc/ ,
Apache) :
• httpd.conf.
Apache. ,
,
• mime.types.
.
, MIME (
Content-Type) ,
Apache. . • magic.
, -
MIME
magic - " ,
", ,
.
file. • access.conf , -
-
srm.conf. httpd.conf. , (
,
), -
. ,
.default-
.
. ,
, . Apache
.default. ,
-
diff
.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ httpd.conf ,
httpd.conf sendmail.cf)
(
/etc/mail/ . , . Apache
. , ,
. Apache
. . :
httpd.conf # # # #
,
. , .
,
,
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
497
# ServerAdmin
[email protected]
# # ServerName # , # ( , # ). # #ServerName new.host.name
, , www
, ServerName ).
301 (
, Apache
301 (Moved . Apache URL , URL http://some.host.com/images/foo, /1.1, Apache ServerName. , ( ), Apache Host: . ServerName. , ServerName. URL. WebApache Group — http://
URL,
Permanently)
, URL. /images/foe.
, Host:,
URL. HTTP/1.1 ServerName. ServerName
Apache httpd.apache.org/docs/.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɮɚɣɥɨɜ .htaccess ɢ ɡɚɦɟɧɹɸɳɢɯ ɨɩɰɢɣ httpd.conf. ,
.
,
.
, .htaccess,
. ,
-
httpd.conf, (.htaccess), .
-
.htaccess
, . .htaccess,
httpd.conf
AllowOverride. None /usr/local/www/data. , . , AllowOverride ( /usr/ local/www/data) ( , AllowOverride AuthConfig Limit).
AllowOverride .htaccess None . 26.2
498
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
26.2
Allow/Override .htaccess
AllowOverride Options
Ⱦɢɪɟɤɬɢɜɚ Options
AllowOverride Filelnfo
Ⱦɢɪɟɤɬɢɜɵ ɬɢɩɨɜ ɮɚɣɥɨɜ, ɧɚɩɪɢɦɟɪ, AddType ɢ ErrorDocument
AllowOverride AuthConfig
Ⱦɢɪɟɤɬɢɜɵ ɚɜɬɨɪɢɡɚɰɢɢ, ɧɚɩɪɢɦɟɪ, Require ɢ Auth*
AllowOverride Limit
Ⱦɢɪɟɤɬɢɜɵ ɞɨɫɬɭɩɚ ɤ ɯɨɫɬɭ, ɧɚɩɪɢɦɟɪ, Allow, Deny ɢ Order
AllowOverride All
ȼɫɟ ɩɟɪɟɱɢɫɥɟɧɧɵɟ ɞɢɪɟɤɬɢɜɵ
ɉɊɂɆȿɑȺɇɂȿ Ⱦɢɪɟɤɬɢɜɚ Options — ɧɚɢɛɨɥɟɟ ɨɛɴɟɦɧɵɣ ɢ ɝɢɛɤɢɣ ɷɥɟɦɟɧɬ Apache. Ɉɧɚ ɭɩɪɚɜɥɹɟɬ ɧɚɢɛɨɥɟɟ ɜɚɠɧɵɦɢ ɫɜɨɣɫɬɜɚɦɢ ɫɟɪɜɟɪɚ, ɬɚɤɢɦɢ ɤɚɤ ExecCGI [ɜɨɡɦɨɠɧɨɫɬɶ ɡɚɩɭɫɤɚ CGI-ɫɰɟɧɚɪɢɟɜ), Includes (ɫɟɪɜɟɪɧɵɟ ɪɚɫɲɢɪɟɧɢɹ) ɢ MultiViews (ɝɢɛɤɚɹ ɞɨɝɨɜɨɪɟɧɧɨɫɬɶ ɨ ɫɨɞɟɪɠɢɦɨɦ]. ȼɫɟ ɷɬɢ ɫɜɨɣɫɬɜɚ ɦɨɠɧɨ ɞɨɛɚɜɢɬɶ ɢɥɢ ɭɫɬɪɚɧɢɬɶ ɢɡ ɬɟɤɭɳɟɣ ɤɨɧɮɢɝɭɪɚɰɢɢ ɧɚ ɥɸɛɨɦ ɭɪɨɜɧɟ ɢɟɪɚɪɯɢɱɟɫɤɨɣ ɫɬɪɭɤɬɭɪɵ ɤɚɬɚɥɨɝɨɜ. ɉɨɥɧɨɟ ɨɩɢɫɚɧɢɟ ɞɢɪɟɤɬɢɜɵ Options ɫɦ. ɧɚ http:// httpd. apache. org/docs/mod/core.html#options.
( Webhttpd.conf (
-
httpd.conf, .htaccess
).
( http://httpd.apache.org/docs/). ,
/home). ,
, 1.1 (DELETE, COPY #
MOVE),
, ,
# UserDir. # . # # # AllowOverride Filelnfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec #
# Order allow,deny # Allow from all #
#
# Order deny,allow # Deny from all #
#
, Filelnfo, AuthConfig . ɉɊɂɆȿɑȺɇɂȿ
AllowOverride Limit,
HTTP/ : ,
.htaccess Options
ȼ ɫɨɨɬɜɟɬɫɬɜɢɢ ɫ ɢɫɬɨɪɢɱɟɫɤɢɦ ɫɨɝɥɚɲɟɧɢɟɦ, ɤɚɬɚɥɨɝɢ ɫ Web-ɞɨɤɭɦɟɧɬɚɦɢ ɩɨɥɶɡɨɜɚɬɟɥɟɣ ɧɚɡɵɜɚɸɬɫɹ public htm! Ɂɚɩɪɨɫ ɬɢɩɚ http://some.host.com/~user/ ɩɨɤɚɠɟɬ ɞɨɤɭɦɟɧɬɵ,
-
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
499
ɧɚɯɨɞɹɳɢɟɫɹ ɜ /home/user/public_html. Ɍɚɤɠɟ ɩɨ ɬɪɚɞɢɰɢɢ, ɟɫɥɢ ɩɪɢɫɭɬɫɬɜɭɟɬ ɮɚɣɥ index.html, Apache ɜɨɡɜɪɚɬɢɬ ɷɬɨɬ ɮɚɣɥ, ɚ ɧɟ ɥɢɫɬɢɧɝ ɤɚɬɚɥɨɝɚ. (ɋɟɪɜɟɪɵ ɤɨɦɩɚɧɢɢ Microsoft ɢɫɩɨɥɶɡɭɸɬ ɞɥɹ ɷɬɨɝɨ ɮɚɣɥ ɫ ɢɦɟɧɟɦ Default.htm) ɑɢɫɥɨ ɢɧɞɟɤɫɧɵɯ ɮɚɣɥɨɜ ɦɨɠɟɬ ɛɵɬɶ ɥɸɛɵɦ. Ⱦɢɪɟɤɬɢɜɚ Directory!ndex ɩɨɡɜɨɥɹɟɬ ɭɤɚɡɚɬɶ ɜɫɟ ɷɬɢ ɮɚɣɥɵ. Apache ɩɨɩɵɬɚɟɬɫɹ ɧɚɣɬɢ ɮɚɣɥɵ ɫ ɡɚɞɚɧɧɵɦɢ ɢɦɟɧɚɦɢ ɜ ɭɤɚɡɚɧɧɨɦ ɩɨɪɹɞɤɟ.
Ɂɚɩɭɫɤ ɢ ɨɫɬɚɧɨɜ ɞɟɦɨɧɚ HTTP Apache httpd
(
ps
. grep):
# ps -waux I grep httpd root 220 0.0 2.0 4436 2456 ?? Ss Sat02PM 0:02.79 /usr/local/sbin/httpd nobody 303 0.0 2.0 4496 2548 ?? I Sat02PM 0:00.01 /usr/local/sbin/httpd nobody 304 0.0 2.0 4460 2452 ?? I Sat02PM 0:00.00 /usr/local/sbin/httpd nobody 305 0.0 2.0 4460 2452 ?? I Sat02PM 0:00.00 /usr/local/sbin/httpd nobody 306 0.0 2.0 4460 2452 ?? I Sat02PM 0:00.00 /usr/local/sbin/httpd nobody 307 0.0 2.0 4460 2452 ?? I Sat02PM 0:00.00 /usr/local/sbin/httpd nobody 13963 0.0 2.0 4468 2468 ?? I SatlOPM 0:00.00 /usr/local/sbin/httpd
,
Apache (master)
,
root) -
(
80
(
nobody, ).
,
. ,
Web-
, ,
root, , "
root.
"
,
CGI.
, ,
httpd, ,
.
: ,
, HUP.
, . ,
ps, grep
,
, Apache : apachectl,
kill.
,
/usr/ local/sbin
(
). Apache
:
apachectl
500
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
# apachectl start /usr/local/sbin/apachectl start: httpd started # apachectl stop /usr/local/sbin/apachectl stop: httpd stopped
/usr/local/etc/apache .
:
apachectl
# apachectl restart /usr/local/sbin/apachectl restart: httpd restarted
restart
apachectl httpd: );
kill -HUP
(
. (
Apache
,
, "
"
),
,
SIGHUP
SIGUSR1. .
,
.
# apachectl graceful /usr/local/sbin/apachectl graceful: httpd gracefully restarted
apachectl Apache (
configtest. )
,
,
/usr/local/etc/apache start. . restart
: graceful:
, , configtest
apachectl .
,
. restart
graceful: # apachectl graceful /usr/local/sbin/apachectl graceful: configuration broken, ignoring restart /usr/local/sbin/apachectl graceful: (run 'apachectl configtest' for details)
ɫɨɜɟɬ
ȿɫɥɢ ɜ ɞɚɧɧɵɣ ɦɨɦɟɧɬ ɫɟɪɜɟɪ Apache ɧɟ ɡɚɩɭɳɟɧ, ɤɨɦɚɧɞɵ apachectl restart ɢɥɢ apachectl graceful ɡɚɩɭɫɤɚɸɬ ɟɝɨ.
Ɉɫɧɨɜɵ ɤɨɧɬɪɨɥɹ ɞɨɫɬɭɩɚ ɤ ɫɟɪɜɟɪɭ Web-
, xo
.
, /IP-
. .
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
501
Ʉɨɧɬɪɨɥɶ ɞɨɫɬɭɩɚ ɩɨ ɚɞɪɟɫɭ ,
, IP(httpd.conf) , ).
. )
.htaccess
,
( , ,
.htaccess , /usr/local/www/data ( ), Apache
(
. (Allow, Deny ,
Order)
AllowOverride Limit. ,
Allow
Deny,
. , , Order Deny Allow Allow Allow Allow Allow
:
.htaccess
deny,allow from all from 64.41.131.102 from stripes.somewhere.com from nowhere. com from 10.5.100 from 10.67.22.211/255.255.255.0
,
. :
,
.
,
,
: Order allow,deny Allow from all Deny from 133t.hacker.com Deny from 192.168
( .
httpd.conf),
(
),
,
.
Order deny,allow Deny from all Allow
from
64.41.131.102
.
FilesMatch , .png:
Order deny,allow Deny from all Allow from 64.41.131.102
,gif, .jpg, .jpeg
502
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
, .htaccess ,
. (limit —
,
), .
, GET POST, ,
,
.
—
, . ,
. , /home.
Ʉɨɧɬɪɨɥɶ ɞɨɫɬɭɩɚ ɩɨ ɩɚɪɨɥɸ . (
,
-
), IP-
. .
Apache
, .
/etc/master.passwd , . ,
FreeBSD
,
Apache Web( ), ,
Web-
. ,
.
— .
.htaccess (
httpd.conf), , . , Apache.
,
:
AuthType Basic AuthName "Restricted Area" AuthUserFile /usr/local/www/.htpasswd Require validuser
, (
)
.
: • AuthType. Basic. • AuthName.
Basic
Digest. . (
, "Enter username for
. -
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
'Restricted Area' at www.somewhere.com" — " ' www.somewhere.com"),
503
' , -
. . • AuthUserFile, AuthDBUserFile
, AuthDBMUserFile.
. -
, /
. , . AuthUserFile,
-
, db dbm, ( ), — AuthDBUserFile AuthDBMUserFile, . , db/dbm, . • AuthGroupFile, AuthDBGroupFile AuthDBMGroupFile. , AuthUserFile. AuthUserFile, , . , , AuthUserFile , , . • Require. Apache, . valid-user ( AuthUserFile; ), user ... ( ) group ... ( ). apachectl configtest , Apache. ,
,
-
AuthUserFile. FreeBSD
htpasswd,
/usr/ :
local/bin • htpasswd -
/usr/local/www/.htpasswd frank
-
. ,
. ,
, ,
,
-
htpasswd, . -
: • htpasswd -b /usr/local/www/.htpasswd joe Prld3L4ndz
- . MD5, . man apachectl.
htpasswd crypt(), -
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
504
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ Ɏɚɣɥ ɫ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɣ ɛɚɡɨɣ ɞɚɧɧɵɯ ɦɨɠɟɬ ɧɚɯɨɞɢɬɶɫɹ ɜ ɥɸɛɨɦ ɦɟɫɬɟ ɫɢɫɬɟɦɵ, ɝɞɟ ɟɝɨ ɦɨɠɟɬ ɩɪɨɱɟɫɬɶ ɩɨɥɶɡɨɜɚɬɟɥɶ Web-ɫɟɪɜɟɪɚ [nobody], ɢ ɢɦɟɬɶ ɥɸɛɨɟ ɢɦɹ. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɢɦɟ-ɧɢ .htpasswd ɹɜɥɹɟɬɫɹ ɬɪɚɞɢɰɢɨɧɧɵɦ ɢ ɡɚɳɢɳɚɟɬ ɮɚɣɥ ɨɬ ɩɪɨɫɦɨɬɪɚ ɜ ɤɨɧɮɢɝɭɪɚɰɢɢ ɫɟɪɜɟɪɚ ɩɨ ɭɦɨɥɱɚɧɢɸ. ȿɫɬɟɫɬɜɟɧɧɨ, ɧɟ ɫɥɟɞɭɟɬ ɪɚɡɦɟɳɚɬɶ ɮɚɣɥ ɬɚɦ, ɝɞɟ ɩɨɫɟɬɢɬɟɥɢ ɫɚɣɬɚ ɫɦɨɝɭɬ ɩɪɨɱɟɫɬɶ ɟɝɨ ɫ ɩɨɦɨɳɶɸ Web-ɛɪɚɡɭɟɪɚ, ɬ.ɟ. ɜ ɤɚɬɚɥɨɝɟ /usr/local/www/data ɢɥɢ ɜ ɤɚɤɨɦ-ɥɢɛɨ ɢɡ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɯ ɤɚɬɚɥɨɝɨɜ publicjitml. Ⱦɥɹ ɧɟɝɨ ɜɩɨɥɧɟ ɩɨɞɨɣɞɟɬ ɬɚɤɨɟ ɧɟɞɨɫɬɭɩɧɨɟ ɩɨ Webɩɪɨɬɨɤɨɥɭ ɦɟɫɬɨ, ɤɚɤ /usr/local/www. Ɋɚɡɭɦɟɟɬɫɹ, ɜɚɦ ɫɨɜɫɟɦ ɧɟ ɧɭɠɧɨ, ɱɬɨɛɵ ɩɨɥɶɡɨɜɚɬɟɥɢ ɫɦɨɝɥɢ ɡɚɝɪɭɡɢɬɶ ɛɚɡɭ ɞɚɧɧɵɯ ɩɚɪɨɥɟɣ ɢ ɩɨɩɵɬɚɥɢɫɶ ɟɟ ɜɡɥɨɦɚɬɶ!
. ,
,
, . db dbm AuthDBMUserFile. , , /usr/local/bin/dbmmanage:
AuthDBUserFile -
# dbmmanage /usr/local/www/.htpwddb adduser frank New password: Re-type new password: User frank added with password encrypted to NtMDxy6jwyW7A using crypt
db/usr/local/www/.htpwddb, AuthDBUserFile. dbm-
. man dbmmanage. . :
(AuthGroupFile) , mygroup: frank joe alice ,
,
.
, . ,
, ,
( ,
, AuthDBUserFile,
,
dbmmanage, /etc/group), . AuthGroupFile .
, .
Ʉɨɧɬɪɨɥɶ ɞɨɫɬɭɩɚ ɩɨ ɚɞɪɟɫɭ ɢ ɩɚɪɨɥɸ :
. Satisfy:
Allow from 64.41.131.102 Require valid-user Satisfy all
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
Allow
505
,
Satisfy all Require.
, -
Allow,
— ,
-
,
,
, .
,
Satisfy any
, Allow.
,
Web-
, .
ȼɢɪɬɭɚɥɶɧɵɣ ɯɨɫɬɢɧɝ Web. Apache.
,
www.mystore.com IP, Apache ,
DNS
www.frankspage.com
( ServerName). ,
HTTP/1.0
. ,
IP( EthernetWeb-
, IP-
,
, Web-
IP). ,
.
,
IPIP-
.
/1.1
. ,
Host: ,
, Host:
Internet. .
,
. IPWeb-
,
,
Apache. httpd.conf
—
,
,
Apache.
ServerName URL-
301. ,
, .
Host: . ,
stripes.somewhere.com. ServerName. NameVirtualHost
" :
"),
* (
-
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
506
NameVirtualHost *
ServerName www.somewhere.com DocumentRoot /usr/local/www/data ServerAdmin webmaster3somewhere.com ErrorLog logs/www.somewhere.com-error_log CustomLog logs/www.somewhere.com-access_log common
ServerName www.frankspage.com ServerAlias frankspage.com DocumentRoot /home/frank/public_html ServerAdmin [email protected] ErrorLog logs/www.frankspage.com-error_log CustomLog logs/www.frankspage.com-access_log common
.
ServerName DocumentRoot , , a ErrorLog CustomLog — . ServerAlias
, , , (stripes.somewhere.com) IP, . :
. log. , ,
NameVirtualHost *
ServerName stripes.somewhere.com
ServerName www.somewhere.com ServerAlias *.somewhere.com DocumentRoot /usr/local/www/data ServerAdmin [email protected] ErrorLog logs/www.somewhere.com-error_log CustomLog logs/www.somewhere.com-access_log common
ServerName www.frankspage.com ServerAlias frankspage.com DocumentRoot /home/frank/public_html ServerAdmin [email protected] ErrorLog logs/www.frankspage.com-error_log CustomLog logs/www.frankspage.com-access_log common
: . http://httpd.apache.org/docs/vhosts/.
IP-
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
507
Ɇɨɞɭɥɢ ɫɟɪɜɟɪɚ Apache Apache
. .
Apache
, (dynamic shared objects, DSO), .
ȼɫɬɪɨɟɧɧɵɟ ɦɨɞɭɥɢ ,
Apache,
httpd
-1: # httpd -I Compiled-in modules: http_core. mod_so. suexec: /usr/local/sbin/suexec
disabled;
invalid
wrapper
,
Core Apache, DSO, Apache,
Core , a mod_so — , .
mod_so.
ɉɊɂɆȿɑȺɇɂȿ
ɋɨɨɛɳɟɧɢɟ ɨ suexec ɦɨɠɧɨ ɢɝɧɨɪɢɪɨɜɚɬɶ. ɗɬɚ ɭɬɢɥɢɬɚ ɩɨɡɜɨɥɹɟɬ ɜɵɩɨɥɧɹɬɶ ɩɪɨɰɟɫɫ Apache ɫ setuid ɤɨɝɞɚ ɡɚɩɪɨɫɵ ɡɚɩɭɫɤɚɸɬɫɹ ɨɬ ɢɦɟɧɢ ɨɩɪɟɞɟɥɟɧɧɨɝɨ ɩɨɥɶɡɨɜɚɬɟɥɹ (ɨɛɵɱɧɨ ɞɥɹ ɪɚɡɧɵɯ ɜɢɪɬɭɚɥɶɧɵɯ ɯɨɫɬɨɜ ɩɨɥɶɡɨɜɚɬɟɥɢ ɷɬɢ ɪɚɡɧɵɟ]. Ɉɛɨɥɨɱɤɚ suexec ɩɨ ɭɦɨɥɱɚɧɢɸ ɧɟ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ. Ɉɡɧɚɤɨɦɢɬɶɫɹ ɫ ɞɨɤɭɦɟɧɬɚɰɢɟɣ ɦɨɠɧɨ ɩɨ ɚɞɪɟɫɭ http://httpd.apache.org/docs/ suexec.html. ȼ ɝɥɚɜɟ 29 ɪɚɫɫɤɚɡɚɧɨ ɨ CGIwrap — ɚɥɶɬɟɪɧɚɬɢɜɟ suexec.
Ⱦɢɧɚɦɢɱɟɫɤɢ ɡɚɝɪɭɠɚɟɦɵɟ ɦɨɞɭɥɢ . httpd.conf.
httpd, , Apache.
, Apache http://httpd.apache.org/docs/mod/. : LoadModuIe ( httpd)
LoadModuIe
AddModule ( httpd.conf,
). AddModule /usr/local/libexec/apache. ,
-
, Apache, . . .
ɋɬɨɪɨɧɧɢɟ ɦɨɞɭɥɢ Apache .
,
508
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
,
Apache, .
Apache ,
. Apache
mod_perl, Perl,
CGI-
, -
. PHP/usr/ports/www
ASP). Apache.
mod_php4, -
(
CGIApache
UNIX34
mod_.
apxs ,
DSO
Apache .
,
, "
,
, "
" ( Apache),
-
"
-
, . Apache
,
. apxs, APache eXtenSion ( /usr/local/sbin,
,
Apache). ,
,
DSO,
-
( ,
mod_so),
httpd. : apxs -
Apache .so, .
LoadModule, ,
.
apxs .
( /usr/ports/www Apache,
,
), make.
apxs. —
.
,
. .
mod_perl CGIApache. CGI-
Perl,
Perl, Apache , mod_perl Apache
— raodjerl. , HTTP-
Perl Perl
. Perl .
Apache. ,
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
,
Apache, .
CGI-
,
509
,
. mod_perl
http://
perl.apache.org.
mod_python Python mod_python, Python, mod_perl Python Apache CGImod_python
Perl Apache
Perl.
, . www.modpython.org.
mod_php PHP,
UNIX, Apache Apache
mod_php3
mod_php4. php-
, .
mod_php4 httpd.conf php- phps. mod_php4 Web, Apache HTTP-
, www.php.net. Apache. , FreeBSD
.
ɋɟɪɜɟɪɧɵɟ ɪɚɫɲɢɪɟɧɢɹ Apache — HTML(server-side includes)
, . , HTML-
-
. HTML-
HTML).
,
HTML (parsed Apache
, .
-
:
, attribute=value (
command
include, exec, config, echo )
( )
.
. .
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
510
, Apache httpd.conf ( .htaccess): AddType text/html .shtml AddHandler server-parsed .shtml
Includes
Web-
.htaccess),
( :
Options +Includes
MIME, /usr/local/etc/apache/mime.types, a AddHandler ( ). HTML, ).
AddType , , shtml ( ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ
ȿɫɥɢ ɧɟ ɫɱɢɬɚɬɶ ɧɚɥɢɱɢɹ ɫɟɪɜɟɪɧɵɯ ɪɚɫɲɢɪɟɧɢɣ, ɟɞɢɧɫɬɜɟɧɧɨɟ ɪɚɡɥɢɱɢɟ ɦɟɠɞɭ html- ɢ shtmlɮɚɣɥɚɦɢ — ɷɬɨ ɪɚɡɧɵɟ ɪɚɫɲɢɪɟɧɢɹ. Ɉɛɚ ɬɢɩɚ ɹɜɥɹɸɬɫɹ ɨɛɵɱɧɵɦɢ HTML-ɮɚɣɥɚɦɢ. ȿɫɥɢ ɜ htmlɮɚɣɥ ɛɵɥɢ ɜɤɥɸɱɟɧɵ ɫɟɪɜɟɪɧɵɟ ɨɩɟɪɚɰɢɢ, ɫɥɟɞɭɟɬ ɢɡɦɟɧɢɬɶ ɟɝɨ ɪɚɫɲɢɪɟɧɢɟ ɧɚ .shtml. ɋɟɪɜɟɪɧɵɟ ɪɚɫɲɢɪɟɧɢɹ ɜ html- ɢɥɢ htm-ɮɚɣɥɚɯ ɨɛɪɚɛɚɬɵɜɚɬɶɫɹ ɧɟ ɛɭɞɭɬ.
: • — . , . — CGI.
• •
•
•
•
shtml-
,
-
CGI-
. , -
counter
,
-
, HTML-
. ,
. .
,
, Apache
, -
-
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
.
,
AddType .
Web-
AddHandler
511
ȿɫɥɢ ɢɦɹ ɮɚɣɥɚ ɧɟ ɭɤɚɡɚɧɨ, ɬɨ ɩɨ ɭɦɨɥɱɚɧɢɸ ɤɥɢɟɧɬɭ ɨɬɨɛɪɚɠɚɟɬɫɹ ɮɚɣɥ index.html. Ⱦɢɪɟɤɬɢɜɚ Directorylndex ɩɨɡɜɨɥɹɟɬ ɢɡɦɟɧɢɬɶ ɢɥɢ ɪɚɫɲɢɪɢɬɶ ɫɩɢɫɨɤ ɡɧɚɱɟɧɢɣ: Directorylndex index.php index.php3 index.html index.shtml Apache ɩɵɬɚɟɬɫɹ ɧɚɣɬɢ ɥɸɛɨɣ ɢɡ ɮɚɣɥɨɜ ɜ ɩɨɪɹɞɤɟ ɩɟɪɟɱɢɫɥɟɧɢɹ ɢ, ɟɫɥɢ ɧɢ ɨɞɢɧ ɢɡ ɧɢɯ ɧɟ ɧɚɣɞɟɧ (ɚ ɞɢɪɟɤɬɢɜɚ Options Indexes ɜɤɥɸɱɟɧɚ), ɨɬɨɛɪɚɠɚɟɬ ɥɢɫɬɢɧɝ ɮɚɣɥɨɜ ɤɚɬɚɥɨɝɚ. ȼɦɟɫɬɨ ɷɬɨɝɨ ɦɨɠɧɨ ɜɨɫɩɨɥɶɡɨɜɚɬɶɫɹ ɫɥɟɞɭɸɳɢɦɢ ɞɢɪɟɤɬɢɜɚɦɢ:
Options +MultiViews Directorylndex index INDEX Ⱦɢɪɟɤɬɢɜɚ MultiViews ɫɨɨɛɳɚɟɬ Apache ɨ ɩɨɢɫɤɟ ɮɚɣɥɚ, ɢɦɹ ɤɨɬɨɪɨɝɨ (ɛɟɡ ɪɚɫɲɢɪɟɧɢɹ) ɫɨɜɩɚɞɚɟɬ ɫ ɭɤɚɡɚɧɧɵɦ, a Directorylndex ɫɨɨɛɳɚɟɬ, ɱɬɨ ɨɛɫɥɭɠɢɜɚɧɢɸ ɩɨɞɥɟɠɢɬ ɮɚɣɥ ɜɢɞɚ index.* (ɫ ɥɸɛɵɦ ɪɚɫɲɢɪɟɧɢɟɦ). Ɉɛɵɱɧɨ ɩɨɢɫɤ ɮɚɣɥɨɜ ɩɪɨɢɫɯɨɞɢɬ ɜ ɚɥɮɚɜɢɬɧɨɦ ɩɨɪɹɞɤɟ. Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɫɟɪɜɟɪ ɛɭɞɟɬ ɨɛɪɚɛɚɬɵɜɚɬɶ ɮɚɣɥɵ index.htm, index.HTM, INDEX.HTML ɢ ɬ.ɞ.
,
:
CGIhttp://httpd.apache.org/docs/howto/ssi.html.
, —
Ɉɫɧɨɜɵ CGI Web(
HTML. ,
.
-
Web)
,
CGI, Common
. Gateway Interface ( CGI
). ,
-
Web-
,
HTML— . CGIPerl, ,
, -
, ,
Apache (nobody). . , HTML,
Apache CGI-
Web-
,
Sendmail, (
-
HTMLPerl.
.
-
, ) ,
ȼɤɥɸɱɟɧɢɟ CGI ɜ Apache , (
CGIhttpd.conf CGIWeb):
Apache. ScriptAlias,
,
-
512
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/"
, cgi-bin — CGI-
, ,
httpd.conf ,
CGI, .
,
500 (Server Error), . . ScriptAlias . CGI, /usr/local/www/cgi-bin/)
, CGI. ( Web-
Apache,
.
,
nobody. WebCGI.
.
,
.
ɉɊɂɆȿɑȺɇɂȿ Ɉɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ, ɱɬɨ ɜ ɩɭɬɢ /cgi-bin/ ɭɤɚɡɚɧ ɡɚɦɵɤɚɸɳɢɣ ɫɢɦɜɨɥ ɤɨɫɨɣ ɱɟɪɬɵ. ɗɬɨ ɟɳɟ ɨɞɧɚ ɩɪɟɞɨɫɬɨɪɨɠɧɨɫɬɶ, ɤɨɬɨɪɚɹ ɩɪɟɞɨɬɜɪɚɳɚɟɬ ɧɟɚɜɬɨɪɢɡɨɜɚɧɧɵɣ ɞɨɫɬɭɩ ɤ ɥɢɫɬɢɧɝɭ ɤɚɬɚɥɨɝɚ. ɂɦɹ CGIɩɪɨɝɪɚɦɦɵ ɜ Apache ɨɛɪɚɡɭɟɬɫɹ ɩɭɬɟɦ ɞɨɛɚɜɥɟɧɢɹ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɢɦɟɧɢ ɩɪɨɝɪɚɦɦɵ (ɧɚɩɪɢɦɟɪ, script.cgi] ɤ ɜɢɪɬɭɚɥɶɧɨɦɭ ɩɭɬɢ ɞɢɪɟɤɬɢɜɵ ScriptAlias (ɧɚɩɪɢɦɟɪ, /cgi-bin/), ɩɨ-ɷɬɨɦɭ ɫɢɦɜɨɥ ɤɨɫɨɣ ɱɟɪɬɵ ɧɟɨɛɯɨɞɢɦ ɞɥɹ ɩɪɚɜɢɥɶɧɨɝɨ ɜɨɫɫɨɡɞɚɧɢɹ ɩɭɬɢ (ɜ ɞɚɧɧɨɦ ɫɥɭɱɚɟ, /cgi-bin/script.cgi] ɉɟɪɟɧɚɩɪɚɜɥɟɧɢɹ ɫ ɤɨɞɨɦ 301 ɡɞɟɫɶ ɧɟ ɩɨɞɞɟɪɠɢɜɚɸɬɫɹ.
CGIExecCGI
Options
(
, CGI-
. public_html.
, .cgi)
. ,
cgi-
:
Options +ExecCGI AddHandler cgi-script .cgi
CGI)
(
ScriptAlias log-
blah
, 500 (Server Error). Apache. Perl /usr/local/www/cgi-bin:
# tail /var/log/httpd-error.log syntax error at /usr/local/www/cgi-bin/blah line 3, at EOF Execution of /usr/local/www/cgi-bin/blah aborted due to compilation errors. [Tue May 22 22:06:26 2001] [error] [client 64.2.43.44] Premature end of script headers: /usr/local/www/cgi-bin/blah
Perl. . Apache
,
, -
HTTPCGI-
,
, , Content-type: (
).
, CGI-
,
, .
Ƚɥɚɜɚ 26. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ Web-ɫɟɪɜɟɪɚ
513
ɇɚɩɢɫɚɧɢɟ CGI-ɩɪɨɝɪɚɦɦ ,
CGI-
, URL (=),
— (STDIN).
(&).
-
CGI-
Perl, .
Perl, CGI
Web-
-
,
:
,
, a ,
.
Perl
CGI-
,
. Perl (
21) . HTML-
,
( . .)
,
,
,
. HTML-
CGI-
Perl
:
,
CGIPerl,
post2me. .
,
, — (
): read(STDIN, $buffer, $ENV{ ' CONTENT_LENGTH ' }) ; @pairs = split (/&/, $buf fer) ; foreach $pair (gpairs) { ($name, $value) = split(/=/, $pair) ; $value =- tr/+/ /; $value =~ s/%([a-fA-FO-9] [a-fA-FO-9] ) /pack("C" , hex($l) ) /eg; $value =~ s/~!/ ~!/g; $FORM{$name} = $value;
, . ,
HTMLHTML-
,
,
. nobody ( .
), , HTML-
. CGl-npo ,
,
, http-
, .
,
-
. , %FORM. $FORM{'e-maiI'}.
,
e-mail
-
514
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
HTML:
.
HTML,
,
URL,
. MIME (
Content-type:, ,
),
,
:
print "Content-type: text/html\n\n";
, HTML-
, .
, ( :
text/ plain. Location: URL-
)
print "Location: http://www.somewhereelse.com/path/to/file.html\n\n";
,
,
,
-
URL. CGI-
, .
HTTP: HTTP_REFERER (URL ( ),
), HTTP_USER_AGENT REMOTE_HOST ( ) . . printenv, Apache ( /usr/local/www/cgi-bin). URL http://www.somewhere.com/cgi-bin/printenv, , , IPFreeBSD. Perl %ENV, , $ENV{ 'REMOTE_HOST'}. CGIPerl, HTML(name, e-mail comments), . , 26.1, sendcomments.cgi. Ʌɢɫɬɢɧɝ 26.1 ɉɪɢɦɟɪ CGI-ɩɪɨɝɪɚɦɦɵ ɧɚ ɹɡɵɤɟ Perl #!/usr/bin/perl read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); Spairs = split(/S/, $buffer); foreach $pair (Spairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-FO-9][a-fA-FO-9])/pack("C", hex($l))/eg; $value =~ a/~!/ ~!/g; $ FORM {$ name} = $value; } print "Content-type: text/html\n\n"; open (MAIL,"| /usr/sbin/sendmail -oi -t") ; print MAIL "From: $FORM{'name'} cd mydir 250 CWD command successful.
ftp> Is 150 Opening ASCII mode data connection for '/bin/Is'. total 484 -rw-r—r— 1 frank frank 43175 Apr 8 01:14 addresses.txt -rw-r—r— 1 frank frank 100523 Apr 8 01:14 contents.html -rw-r—r— 1 frank frank 37864 Apr 8 01:14 directions -rw-r—r— 1 frank frank 37308 Apr 8 01:14 lk_logo.gif -rw-r—r— 1 frank frank 52427 Apr 8 01:12 picturel.gif -rw-r—r-- 1 frank frank 18648 Apr 24 13:04 picture2.jpg -rw-r—r— 1 frank frank 175325 Apr 8 01:14 resume.html 226 Transfer complete. ftp> get picturel.gif local: picturel.gif remote: picturel.gif 150 Opening BINARY mode data connection for 'picturel.gif' (52427 bytes). 100% |**************************************************| 52427 00:00 ETA 226 Transfer complete. 52427 bytes received in 4.99 seconds (10.25 KB/s) ftp> quit 221 Goodbye.
,
TelnetHTTP, HTTP,
,
. ,
Apache FTP ,
FTP-
.
Ƚɥɚɜɚ 27. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ FTP-ɫɟɪɜɟɪɚ
FTP-
519
Telnet. FTP, (
FTP (anonymous FTP), F3T : Is, cd, mkdir, pwd . .
-
) .
,
-
, . ,
led.
,
FTP), get ( mget (
put ( )
), mput (
). , RETR, STOR, CWD
( -
LIST),
-
.
, HTTP.
,
-
. man ftpd. ɉɊɂɆȿɑȺɇɂȿ ɉɟɪɟɫɵɥɤɚ ɮɚɣɥɨɜ ɩɨ FTP ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɜ ɨɞɧɨɦ ɢɡ ɞɜɭɯ ɪɟɠɢɦɨɜ: ASCII (ɨɛɵɱɧɵɣ ɬɟɤɫɬ, ɝɞɟ ɜɫɟ ɞɚɧɧɵɟ ɩɟɪɟɫɵɥɚɸɬɫɹ ɤɚɤ ɛɭɤɜɟɧɧɨ-ɰɢɮɪɨɜɵɟ ɫɢɦɜɨɥɵ, ɫɢɦɜɨɥɵ ɤɨɧɰɚ ɫɬɪɨɤɢ ɩɟɪɟɜɨɞɹɬɫɹ ɜ ɫɨɨɬɜɟɬɫɬɜɢɢ ɫ ɤɥɢɟɧɬɫɤɨɣ ɩɥɚɬɮɨɪɦɨɣ, ɬ.ɟ. CR/LF ɞɥɹ DOS/Windows, CR ɞɥɹ Macintosh ɢ LF ɞɥɹ UNIX); ɢɥɢ Binary (ɞɜɨɢɱɧɵɣ) (ɩɨɬɨɤ ɞɜɨɢɱɧɵɯ ɞɚɧɧɵɯ). ɇɟɤɨɬɨɪɵɟ FTP-ɤɥɢɟɧɬɵ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɨɩɪɟɞɟɥɹɸɬ, ɤɚɤɨɣ ɪɟɠɢɦ ɹɜɥɹɟɬɫɹ ɩɨɞɯɨɞɹɳɢɦ, ɢ ɩɟɪɟɤɥɸɱɚɸɬɫɹ ɜ ɧɟɝɨ ɞɨ ɧɚɱɚɥɚ ɩɟɪɟɫɵɥɤɢ. Ⱦɪɭɝɢɟ ɤɥɢɟɧɬɵ ɬɪɟɛɭɸɬ ɹɜɧɨɝɨ ɜɵɛɨɪɚ ɪɟɠɢɦɚ ASCII ɢɥɢ Binary ɞɨ ɩɟɪɟɫɵɥɤɢ ɮɚɣɥɨɜ. Ⱦɥɹ ɩɟɪɟɤɥɸɱɟɧɢɹ ɪɟɠɢɦɨɜ ɢɫɩɨɥɶɡɭɸɬɫɹ ɤɨɦɚɧɞɵ bin ɢ asc Ɉɱɟɧɶ ɜɚɠɧɨ, ɨɫɨɛɟɧɧɨ ɩɪɢ ɩɟɪɟɫɵɥɤɟ ɫ ɨɞɧɨɣ ɩɥɚɬɮɨɪɦɵ ɧɚ ɞɪɭɝɭɸ ɬɚɤɢɯ ɮɚɣɥɨɜ, ɤɚɤ HTMLɫɬɪɚɧɢɰɵ ɢɥɢ ɫɰɟɧɚɪɢɢ ɧɚ ɹɡɵɤɟ Perl, ɢɫɩɨɥɶɡɨɜɚɬɶ ɪɟɠɢɦ ASCII. ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɫɢɦɜɨɥɵ ɤɨɧɰɚ ɫɬɪɨɤɢ ɛɭɞɭɬ ɩɪɟɨɛɪɚɡɨɜɵɜɚɬɶɫɹ ɩɪɚɜɢɥɶɧɨ. Ⱦɜɨɢɱɧɵɣ ɪɟɠɢɦ ɩɪɢɜɟɞɟɬ ɤ ɬɨɦɭ, ɱɬɨ ɫɰɟɧɚɪɢɢ Perl, ɡɚɝɪɭɠɟɧɧɵɟ ɧɚ ɫɟɪɜɟɪ ɫ ɧɟ-UNIɏ-ɤɥɢɟɧɬɚ, ɩɪɨɫɬɨ ɧɟ ɛɭɞɭɬ ɜɵɩɨɥɧɹɬɶɫɹ. Ɉɞɧɚɤɨ ɞɥɹ ɢɡɨɛɪɚɠɟɧɢɣ, ɜɵɩɨɥɧɹɟɦɵɯ ɮɚɣɥɨɜ ɢ ɞɪɭɝɢɯ ɬɢɩɨɜ ɞɜɨɢɱɧɵɯ ɞɚɧɧɵɯ ɷɬɨɬ ɪɟɠɢɦ ɹɜɥɹɟɬɫɹ ɨɛɹɡɚɬɟɥɶɧɵɦ. ɉɟɪɟɫɵɥɤɚ ɞɜɨɢɱɧɵɯ ɮɚɣɥɨɜ ɜ ɪɟɠɢɦɟ ASCII ɩɪɢɜɟɞɟɬ ɤ ɢɯ ɢɫɤɚɠɟɧɢɸ.
FTPBSD-
,
FreeBSD
ftpd.
inetd, . ,
( —
ProFTPD).
, telnetd Qpopper, , , WU-FTPD ,
. .
-
FreeBSD.
Ɉɛɡɨɪ ɫɬɪɭɤɬɭɪɵ ɤɚɬɚɥɨɝɨɜ FTP FTP, FTP-
, .
/etc
, ,
-
520
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
. FTP-
-
, . FTP,
(
FTP
Apache), /var/ftp
. , ,
.
Ⱥɭɬɟɧɬɢɮɢɰɢɪɨɜɚɧɧɵɣ ɢ ɚɧɨɧɢɦɧɵɣ ɊɌɊ-ɞɨɫɬɭɩ ,
,
FTP
, .
ls.
, FTP-
FTP,
-
. anonymous ( "
(
ftp) ) FTP: /var/ftp,
"
.
,
.
, -
ftp ( ).
. , (
chroot )
/var/ftp. /var/ftp.
,
, cd
, /usr/local ,
. /var/ftp/pub. , /etc/ftpchroot.
,
cd /pub, ,
ɇɚɫɬɪɨɣɤɚ FTP-ɫɟɪɜɟɪɚ FTP
, /etc,
—
/var/ftp/etc.
,
FTP, /var/ftp. FTP-
/etc, • /etc/ftpusers. " FTP.
"
.
, FTP
-
. • /etc/ftpchroot. ,
,
( ), .
-
Ƚɥɚɜɚ 27. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ FTP-ɫɟɪɜɟɪɚ
• /etc/ftphosts. Apache ( • /etc/ftpwelcome.
, .
521
-
26). . ,
-
,
. • /etc/ftpmotd.
(Message Of The Day - "
-
"), . • /etc/shells.
12. ,
,
, .
bin, tty nobody, .
, /etc, ,
FTP-
.
.
/var/ftp ,
/, /bin, /bin/Is
/etc. FTP-
, .
/bin/date ,
/var/ftp/bin. /var/ftp
. ,
/var/ftp/etc • /var/ftp/bin. FTP-
"
"(
,
,
). Is date. ,
-
, ( ) /bin/Is /bin/date . . • /var/ftp/etc/passwd, /var/ftp/etc/group. /var/ftp/bin, /etc/passwd /etc/group. — . FTP/var/ftp, /var/ftp. root , , , . , /var/ftp/etc/passwd, , . • /var/ftp/etc/ftpmotd. /etc/ftpmotd, . , /etc/ftpmotd. • /var/ftp/pub. /pub, . /pub .
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
522
• /var/ftp/incoming. (sticky bit) (1777). .
, ,
:
. ! , ,
ftp
stream
.
inetd
1048
, tcp
ftpd
,
# ps -waux | grep inetd root 1640 0.0 0.6 inetd -Ww
/etc/rc.conf. /etc/inetd.conf
FTP-cep,
/etc/inetd.conf. inetd ps
:
780
??
Ss
ThuO8PM
,
inetd inetd_enable="NO" ftpd
nowait
root
0:00.15
, . :
/usr/libexec/ftpd
ftpd -1
, (
inetd ,
killall -HUP inetd). (ftp localhost). . , inetd.
, .
,
-
ɍɩɪɚɜɥɟɧɢɟ ɊɌɊ-ɞɨɫɬɭɩɨɦ FTP
, .
(
, Web-
),
,
.
,
, ,
( , .
HTTP
-
) 29, : Telnet
Secure HTTP, a POPS IMAP — . FTP ( , sftp sftpd
SSH, -
, ),
FTP-
, . ,
29.
,
, FTP
. , FTP . shells.
. /etc/ftpusers , /var/run/nologin, .
,
/etc/
Ƚɥɚɜɚ 27. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ FTP-ɫɟɪɜɟɪɚ
523
Ɏɚɣɥ /etc/ftpusers FTP— FreeBSD (operator, bin, tty . .). ,
ftpd
/etc/ftpusers, ,a . . ftpd
/etc/ftpusers . -
, FTP-
. ,
# ftp
:
localhost
Connected to localhost.somewhere.com. 220 stripes.somewhere.com FTP server (Version 6.00LS) ready. Name (localhost:frank): 530 User frank access denied. ftp: Login failed. ftp>
ɉɊɂɆȿɑȺɇɂȿ Ɉɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ, ɱɬɨ ɫɨɨɛɳɟɧɢɟ access denied [ɜ ɞɨɫɬɭɩɟ ɨɬɤɚɡɚɧɨ) ɩɨɹɜɥɹɟɬɫɹ ɫɪɚɡɭ ɩɨɫɥɟ ɜɜɨɞɚ ɢɦɟɧɢ ɩɨɥɶɡɨɜɚɬɟɥɹ — ɩɚɪɨɥɶ ɞɚɠɟ ɧɟ ɡɚɩɪɚɲɢɜɚɟɬɫɹ. ɗɬɨ ɩɪɟɞɨɬɜɪɚɳɚɟɬ ɩɟɪɟɫɵɥɤɭ ɩɚɪɨɥɟɣ ɩɨ ɫɟɬɢ ɢ ɹɜɥɹɟɬɫɹ ɞɨɩɨɥɧɢɬɟɥɶɧɨɣ ɦɟɪɨɣ ɩɪɟɞɨɫɬɨɪɨɠɧɨɫɬɢ ɧɚ ɫɥɭɱɚɣ, ɟɫɥɢ ɤɬɨ-ɬɨ ɩɪɨɫɥɭɲɢɜɚɟɬ ɫɟɬɶ.
@,
.
/etc/ftpusers , ©users. .
,
Ɏɚɣɥ /etc/shells /etc/ftpusers ,
-
, /etc/shells.
access denied. FTP , /sbin/nologin. account not available (
12. )
ftpd
.
Ɏɚɣɥ /var/run/nologin FTP /var/run.
ftpd :
#
ftp
localhost
Connected to localhost.somewhere.com. 530 System not available. ftp>
,
/etc/inetd.conf nologin
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
524
( /var/run/nologin. (rm /var/run/nologin).
)
touch FTP-
,
Ɋɚɡɪɟɲɟɧɢɟ ɚɧɨɧɢɦɧɨɝɨ ɞɨɫɬɭɩɚ ɩɨ FTP FTP
. /stand/sysinstall, Anon FTP Anonymous FTP Configuration,
sysinstall. Configure Networking. . . 27.2. UID, Group
, Comment FTP
,
FreeBSD, : , ftp (
. ftp. ftp /etc/ftpchroot, anonymous)
/var/ftp.
27.2 FTP.
, ,
UID, incoming,
( ftp
14, ). /var/ftp.
/stand/sysinstall , /var/ftp. ftp. ftp ).
, • • •
,
:
/etc/ftpusers (
,
, , — root). 1777: chmod 1777 /var/ftp/incoming. incoming
755 ( ,
FTP
-
Ƚɥɚɜɚ 27. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ FTP-ɫɟɪɜɟɪɚ
525
ȼɢɪɬɭɚɥɶɧɵɣ ɯɨɫɬɢɧɝ " FTP-
"
IP-
,
.
/etc/ FreeBSD
ftphosts, ).
( , ,
,
. (
. 27.2.
/etc/ftphosts)
Ɍɚɛɥɢɰɚ 27.2 ɉɨɥɹ ɬɚɛɥɢɰɵ ɜɢɪɬɭɚɥɶɧɵɯ ɯɨɫɬɨɜ ɜ ɮɚɣɥɟ /etc/ftphosts
Hostname ɂɦɹ ɯɨɫɬɚ ɢɥɢ IP-ɚɞɪɟɫ ɜɢɪɬɭɚɥɶɧɨɝɨ ɯɨɫɬɚ. Ɉɬɦɟɬɶɬɟ, ɱɬɨ ɇɟɬ FTP ɧɟ ɢɦɟɟɬ ɷɤɜɢɜɚɥɟɧɬɚ ɡɚɝɨɥɨɜɤɭ Host:, ɢɫɩɨɥɶɡɭɟɦɨɦɭ ɜ ɇɌɌɊ/1.1, ɩɨɷɬɨɦɭ ɜɢɪɬɭɚɥɶɧɵɟ ɯɨɫɬɵ FTP ɨɩɪɟɞɟɥɹɸɬɫɹ ɬɨɥɶɤɨ ɩɨ IP-ɚɞɪɟɫɭ ɦɚɲɢɧɵ, ɤ ɤɨɬɨɪɨɣ ɩɨɞɤɥɸɱɟɧ ɤɥɢɟɧɬ, ɜ ɷɬɨɦ ɩɨɥɟ ɭɤɚɡɚɧɨ ɢɦɹ ɯɨɫɬɚ, ftpd ɜɫɟ ɪɚɜɧɨ ɢɫɩɨɥɶɡɭɟɬ Ⱦɚɠɟ ɟɫɥɢ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɣ ɟɦɭ IP-ɚɞɪɟɫ. ɉɨɦɧɢɬɟ ɨɛ ɷɬɨɦ ɩɪɢ ɞɨɛɚɜɥɟɧɢɢ ɜɢɪɬɭɚɥɶɧɵɯ ɯɨɫɬɨɜ. User
ɉɨɥɶɡɨɜɚɬɟɥɶ, ɧɚɱɚɥɶɧɵɣ ɤɚɬɚɥɨɝ ɤɨɬɨɪɨɝɨ ɢɫɩɨɥɶɡɭɟɬɫɹ ɞɥɹ ftp ɚɧɨɧɢɦɧɨɝɨ ɞɨɫɬɭɩɚ ɩɨ FTP ɤ ɜɢɪɬɭɚɥɶɧɨɦɭ ɯɨɫɬɭ. Ⱥɧɨɧɢɦɧɵɟ ɩɨɥɶɡɨɜɚɬɟɥɢ ɩɨɩɚɞɚɸɬ ɜ ɷɬɨɬ ɤɚɬɚɥɨɝ ɤɚɤ ɜ ɤɨɪɧɟɜɨɣ, ɩɨɷɬɨɦɭ ɜ ɧɟɦ ɞɨɥɠɧɵ ɩɪɢɫɭɬɫɬɜɨɜɚɬɶ ɷɤɜɢɜɚɥɟɧɬɵ ɩɨɞɤɚɬɚɥɨɝɨɜ /var/ftp/etc ɢ /var/ftp/bin.
Statfile
Ɏɚɣɥ ɫɬɚɬɢɫɬɢɤɢ, ɜ ɤɨɬɨɪɨɦ ɫɨɞɟɪɠɢɬɫɹ ɢɧɮɨɪɦɚɰɢɹ ɨɛɨ ɜɫɟɯ ɩɟɪɟɫɵɥɤɚɯ ɩɨ FTP ɞɥɹ ɜɢɪɬɭɚɥɶɧɨɝɨ ɯɨɫɬɚ.
/var/log/ftpd
Welcome
ɉɪɢɜɟɬɫɬɜɟɧɧɨɟ ɫɨɨɛɳɟɧɢɟ, ɨɬɨɛɪɚɠɚɟɦɨɟ ɩɪɢ ɩɨɩɵɬɤɟ ɭɫɬɚɧɨɜɥɟɧɢɹ ɫɨɟɞɢɧɟɧɢɹ ɫ FTP-ɫɟɪɜɟɪɨɦ.
/etc/ftpwelcome
MOTD
ɋɨɨɛɳɟɧɢɟ ɞɧɹ, ɨɬɨɛɪɚɠɚɟɦɨɟ ɩɨɫɥɟ ɭɫɩɟɲɧɨɣ ɪɟɝɢɫɬɪɚɰɢɢ.
/etc/ftpmotd
/etc/ftphosts. .
(-), 64.41.131.106 frank /home/frank/welcome2 ftp2.somewhere.com ftp2 64.41.131.107
ftp3
/var/log/ftpd-frank
/home/frank/welcome /etc/ftpd2welcome
/var/log/ftpd-3 -
-
-
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɚɥɶɬɟɪɧɚɬɢɜɧɵɯ FTPɫɟɪɜɟɪɨɜ FTP: WU-FTP .
. ProFTPD
-
526
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
WU-FTPD (Washington University) WUarchive, WU-FTPD FTP-
.
Linux
UNIX.
ftpd, FreeBSD.
ftpd (
,
, ,
,
). WU,
FTPD FreeBSD. WU-FTPD ftpd :
/etc/inetd.conf ftp stream stream tcp
(/usr/ports/ftp/wu-ftpd). ,
tcp nowait nowait root
ftp
root /usr/local/libexec/ftpd ftpd -1 #ftp /usr/libexec/ftpd ftpd -1
ɋɈȼȿɌ WU-FTPD ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɤɚɤ /usr/local/libexec/ftpd, ɫɬɪɚɧɢɰɭ ɟɝɨ ɫɩɪɚɜɨɱɧɨɝɨ ɪɭɤɨɜɨɞɫɬɜɚ ɧɟɥɶɡɹ ɩɨɥɭɱɢɬɶ ɧɚɩɪɹɦɭɸ, ɬɚɤ ɤɚɤ ɤɨɦɚɧɞɚ man ftpd ɜɵɞɚɟɬ ɫɬɪɚɧɢɰɭ ɞɟɦɨɧɚ ɩɨ ɭɦɨɥɱɚɧɢɸ. Ⱦɥɹ ɩɪɨɫɦɨɬɪɚ ɧɭɠɧɨɣ ɫɬɪɚɧɢɰɵ ɫɥɟɞɭɟɬ ɜɨɫɩɨɥɶɡɨɜɚɬɶɫɹ ɨɩɰɢɟɣ -MI, ɭɤɚɡɵɜɚɸɳɟɣ ɚɥɶɬɟɪɧɚɬɢɜɧɵɣ ɩɭɬɶ ɤ man-ɫɬɪɚɧɢɰɟ: man -M /usr/local/man ftpd
WU-FTPD
Web-
http://
www.wu-ftpd.org.
ProFTPD ProFTPD
FTP,
,
httpd.conf ( Apache.
,
Apache,
. , (/usr/ports/ftp/ pro ftpd). , ,
Apache. ProFTPD Apache,
, inetd, /usr/local/libexec/proftpd:
ftp stream
Apache. -
, 26),
stream tcp tcp nowait
nowait root /usr/local/libexec/proftpd root /usr/libexec/ftpd ftpd -1
ProFTPD
inetd. ,
ftp
proftpd #ftp
http://www.proftpd.org .
28 Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɲɥɸɡɚ Internet
ɑɬɨ ɬɚɤɨɟ ɦɚɪɲɪɭɬɢɡɚɬɨɪ? ► Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɲɥɸɡɚ NAT ɜ Ɉɋ FreeBSD ► ȼɤɥɸɱɟɧɢɟ ɩɨɞɞɟɪɠɤɢ NAT ► Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɤɥɢɟɧɬɨɜ ɞɥɹ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɧɨɜɨɝɨ ɲɩɸɡɚ ► Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɛɟɫɩɪɨɜɨɞɧɨɝɨ ɞɨɫɬɭɩɚ ɤ Internet ► Ɇɚɪɲɪɭɬɢɡɚɢɢɹ ɦɟɠɞɭ ɬɪɟɦɹ ɢ Donee ɫɟɬɹɦɢ ► Ⱦɢɧɚɦɢɱɟɫɤɚɹ ɦɚɪɲɪɭɬɢɡɚɢɢɹ ►
528
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
22, (network address translation —
NAT ).
23
, . FreeBSD
. . .
ɑɬɨ ɬɚɤɨɟ ɦɚɪɲɪɭɬɢɡɚɬɨɪ? ,
,
—
-
. .
,
, .
ɉɊɂɆȿɑȺɇɂȿ — ɷɬɨ ɩɚɤɟɬ ɰɢɮɪɨɜɨɣ ɢɧɮɨɪɦɚɰɢɢ. Ʉɪɨɦɟ ɩɟɪɟɞɚɜɚɟɦɵɯ ɞɚɧɧɵɯ, ɞɚɬɚɝɪɚɦɦɚ ɫɨɞɟɪɠɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨɛ ɚɞɪɟɫɟ ɦɟɫɬɚ ɧɚɡɧɚɱɟɧɢɹ. ɇɟ ɜɫɟ ɞɟɣɬɚɝɪɚɦɦɵ ɩɪɨɯɨɞɹɬ ɩɨ ɨɞɧɨɦɭ ɢ ɬɨɦɭ ɠɟ ɦɚɪɲɪɭɬɭ, ɞɚɠɟ ɟɫɥɢ ɭ ɧɢɯ ɨɞɧɨ ɦɟɫɬɨ ɧɚɡɧɚɱɟɧɢɹ ɢ ɨɞɢɧ ɢɫɬɨɱɧɢɤ.
, 28.1
. -
,
.
. 28.1. . -
,
28.1, , wolf, bear, fox .
"
lynx , , .
,
, lion, cheetah, tiger " . . . .
Ɋɢɫɭɧɨɤ 28.2.
, ,
. 28.2
puma, " .
"
,
Ƚɥɚɜɚ 28. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɲɥɸɡɚ Internet
-
529
.( ,
, ,
?
,
, -
23.) "
,
.
"
.
" ,
,
,
.
-
— ,
,
.
cheetah cheetah
lynx.
,
.
simba, "
lynx.
(
"
. .
lynx simba " lynx
cheetah -
,
lynx,
falcon).
lynx. .
(
),
-
, ,
.
, ,
—
.
,
-
. .
,
? ,
-
,
?
.
•
. .
Internet. " .
",
-
, .
•
. ,
.
cheetah (
,
—
,
lion
-
), .
,
,
.
, Internet, ,
,
Internet. (
).
, .
" ,
.
,
, .
, Internet.
",
530
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
ɑɬɨ ɬɚɤɨɟ ɲɥɸɡ? ,
— ,— " -
:"
". "
"
"
.
simba
.
falcon
, .
,
—
,
-
. ;
.
, "
"
"—
"
. ,
Internet
.
ɑɬɨ ɬɚɤɨɟ NAT? NAT — ) —
Network Address Translation ( Internet
IPNAT . Internet,
.
, NAT NAT.
NAT " " Internet NAT). NAT). NAT
IPIP-
( IP-
, IP(
, ,
IP-
.
: •
IPIP-
.
IP-
—
,
. .
IP-
NAT .
•
Internet
, . .
Internet. , ,
Internet
.
FreeBSD. Internet .
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɲɥɸɡɚ NAT ɜ Ɉɋ FreeBSD Internet, .
, . 28.3.
Internet.
Ƚɥɚɜɚ 28. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɲɥɸɡɚ Internet
— Internet
531
, . ,
NAT. Ɋɢɫɭɧɨɤ 28.3.
. Internet
simba
.
,
lion, tiger, cheetah Internet
puma, simba
. ,
,
—
Internet.
Ethernet (
, edO). "
.
"
,
.
Internet.
Internet edO
.
,
Internet,
edO, Internet. ,
,
.
ȼɤɥɸɱɟɧɢɟ ɩɟɪɟɧɚɩɪɚɜɥɟɧɢɹ ɩɚɤɟɬɨɜ ,
, .
-
Internet , Internet)
, (
, . ,
FreeBSD
, . . Sysinstall.
.
,
, . :
/etc/rc.conf gateway_enable="YES"
, . IP.
, ,
simba
.
,
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
532
,
,
,
. . ɉɊɂɆȿɑȺɇɂȿ ȼ ɷɬɨɦ ɢ ɩɨɫɥɟɞɭɸɳɢɯ ɪɚɡɞɟɥɚɯ ɩɪɟɞɩɨɥɚɝɚɟɬɫɹ, ɱɬɨ ɫɢɫɬɟɦɚ, ɤɨɧɮɢɝɭɪɢɪɭɟɦɚɹ ɜ ɤɚɱɟɫɬɜɟ ɲɥɸɡɚ, ɭɠɟ ɩɨɞɤɥɸɱɟɧɚ ɤ Internet. ȿɫɥɢ ɷɬɨ ɟɳɟ ɧɟ ɫɞɟɥɚɧɨ, ɨɛɪɚɬɢɬɟɫɶ ɤ ɝɥɚɜɟ 23, ɜ ɤɨɬɨɪɨɣ ɨɩɢɫɚɧɚ ɧɚɫɬɪɨɣɤɚ ɞɨɫɬɭɩɚ ɤ ɥɨɤɚɥɶɧɨɣ ɫɟɬɢ (ɜ ɷɬɨɣ ɝɥɚɜɟ ɬɚɤɠɟ ɨɩɢɫɚɧɨ ɩɨɞɤɥɸɱɟɧɢɟ ɤ Internet ɱɟɪɟɡ ɢɧɬɟɪɮɟɣɫ ADSL ɢɥɢ ɩɨ ɜɵɞɟɥɟɧɧɨɣ ɥɢɧɢɢ). ȿɫɥɢ ɧɟɨɛɯɨɞɢɦɨ ɫɤɨɧɮɢɝɭɪɢɪɨɜɚɬɶ ɩɨɞɤɥɸɱɟɧɢɟ ɤ Internet ɱɟɪɟɡ ɦɨɞɟɦ, ɨɛɪɚɬɢɬɟɫɶ ɤ ɝɥɚɜɟ 24, ɝɞɟ ɩɪɟɞɫɬɚɜɥɟɧɚ ɞɨɩɨɥɧɢɬɟɥɶɧɚɹ ɢɧɮɨɪɦɚɰɢɹ ɩɨ ɧɚɫɬɪɨɣɤɟ ɬɚɤɨɝɨ ɩɨɞɤɥɸɱɟɧɢɹ.
,
, IPIP-
Internet .
.
Internet
(NAT).
ȼɤɥɸɱɟɧɢɟ NAT Internet — Internet NAT
(User , User , .
)
(Kernel
Internet
).
,
. NAT
.
,
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɪɟɚɥɢɡɚɰɢɢ ɊɊɊ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɝɨ ɭɪɨɜɧɹ FreeBSD NAT,
. -nat
,
. (
.
24). Windows, Macintosh . "
. "
-
.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɪɟɚɥɢɡɚɰɢɢ ɊɊɊ ɧɚ ɭɪɨɜɧɟ ɹɞɪɚ ɢɥɢ ɩɨɞɤɥɸɱɟɧɢɟ ɤ Internet ɩɨ ɜɵɞɟɥɟɧɧɨɣ ɥɢɧɢɢ Internet NAT (natd),
(ADSL, .
, Tl, OC3) .
Ƚɥɚɜɚ 28. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɲɥɸɡɚ Internet
,
.
,
,
533
:
. options IPFIREWALL options IPDIVERT
, ,
,
. ,
"
"
,
29.
,
-
,
. ,
17,
. ,
natd.
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɢ ɜɤɥɸɱɟɧɢɟ ɞɟɦɨɧɚ natd natd Sysinstall,
,
,
-
/etc/rc.conf. ,
. :
/etc/rc.conf natd_enable="YES" natd_interface="pppO"
Internet
, .
natd_interface , Ethernet (
ADSL,
, ,
1
) . ,
natd
.
, natd. rc.conf, .
.
ȼɤɥɸɱɟɧɢɟ ɢ ɤɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɛɪɚɧɞɦɚɭɷɪɚ /etc/rc.conf : firewall_enable="YES"
— 29.
,
, /etc/rc.conf firewall_type="/usr/local/etc/firewall.conf"
. :
534
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
, ( ,—
.
firewall.conf
.
/etc/rc.conf, /usr/local/etc/firewall.conf, , 29). , :
, /usr/local/etc/
add divert natd all from any to any via edO add allow all from any to any
,
,
,
. -
, ,
root. chmod 600 /usr/local/etc/firewall.conf.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ Ɋɚɧɟɟ ɨɩɢɫɚɧɧɵɟ ɩɪɚɜɢɥɚ ɛɪɚɧɞɦɚɭɷɪɚ — ɨɱɟɧɶ ɨɩɚɫɧɵ, ɩɨɫɤɨɥɶɤɭ ɪɚɡɪɟɲɚɸɬ ɩɪɢɟɦ ɩɚɤɟɬɨɜ ɥɸɛɨɝɨ ɬɢɩɚ ɨɬ ɤɚɤɨɝɨ ɭɝɨɞɧɨ ɢɫɬɨɱɧɢɤɚ ɢ ɩɟɪɟɞɚɸɬ ɢɯ ɫɢɫɬɟɦɟ, ɢɫɩɨɥɶɡɭɸɳɟɣ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɣ ɲɥɸɡ. ɗɬɨ ɭɝɪɨɠɚɟɬ ɡɚɳɢɬɟ ɫɟɬɢ. ɉɨɷɬɨɦɭ ɧɟ ɪɟɤɨɦɟɧɞɭɟɬɫɹ ɩɪɨɩɭɫɤɚɬɶ ɜɫɸ ɢɧɮɨɪɦɚɰɢɸ. Ɉɛɪɚɬɢɬɟɫɶ ɤ ɪɚɡɞɟɥɭ "Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɛɪɚɧɞɦɚɭɷɪɚ" ɜ ɝɥɚɜɟ 29, ɝɞɟ ɩɪɟɞɫɬɚɜɥɟɧɚ ɢɧɮɨɪɦɚɰɢɹ ɨ ɤɨɧɮɢɝɭɪɢɪɨɜɚɧɢɢ ɛɪɚɧɞɦɚɭɷɪɚ ɞɥɹ ɛɥɨɤɢɪɨɜɚɧɢɹ ɩɨɬɟɧɰɢɚɥɶɧɨ ɨɩɚɫɧɵɯ ɬɢɩɨɜ ɩɚɤɟɬɨɜ.
,
, .
natd .
-
. .
.
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɤɥɢɟɧɬɨɜ ɞɥɹ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɧɨɜɨɝɨ ɲɥɸɡɚ — . Windows, Macintosh, FreeBSD
-
Linux.
:
, , . ,
,
,
.
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɤɥɢɟɧɬɨɜ Windows 95/98 Windows 95 My Computer, Panel , ,
,
Network. . 28.4.
98, Control
Ƚɥɚɜɚ 28. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɲɥɸɡɚ Internet
TCP/IP, Gateway,
— TCP/IP.
,
28.4 Configuration Windows 98. Windows ME
Network Windows 95
535
Properties. . 28.5.
28.5. Gate-way Windows 98
IP,
New gateway, — 64.41.131.72.)
IP-
Add, gateways). , 98
. ( (Installed
.
. . , .
Windows 95 , — Windows ME
. Internet
Windows-
.
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɤɥɢɟɧɬɨɜ Mac OS ɢ Mac OS X FreeBSD,
Macintosh Windows-
,
TCP/IP .
9), Manually ( IP-
TCP/IP, Configure:, Router address:. .
)
Mac OS ( . 28.6, .
. Mac OS X . 28.7. Configure:
System Preferences Mac OS 9,
Network, Manually
-
536
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
IP-
Router:.
Save
.
-
.
28.6.
TCP/IP
OS 9
28.7.
TCP/IP
OSX
Ethernet,
AirPort
. .
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɤɥɢɟɧɬɨɜ FreeBSD FreeBSD, /etc/rc.conf: defaultrouter="64.41.131.162"
,
IPFreeBSD,
IP.
,
.
Ƚɥɚɜɚ 28. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɲɥɸɡɚ Internet 537
, ,
root:
route add default 64.41.131.162
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɤɥɢɟɧɬɨɜ Linux -
Linux FreeBSD
Linux-
.
,
.
-
,
.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ɉɨ ɬɨɣ ɠɟ ɩɪɢɱɢɧɟ ɧɟɞɨɫɬɚɬɨɱɧɨɣ ɫɬɚɧɞɚɪɬɢɡɚɰɢɢ ɞɢɫɬɪɢɛɭɬɢɜɨɜ Linux ɩɪɢɦɟɪɵ ɷɬɨɝɨ ɪɚɡɞɟɥɚ ɦɨɝɭɬ ɭ ɜɚɫ ɧɟ ɫɪɚɛɨɬɚɬɶ. Ɉɛɪɚɬɢɬɟɫɶ ɤ ɞɨɤɭɦɟɧɬɚɰɢɢ ɩɨ ɢɫɩɨɥɶɡɭɟɦɨɦɭ ɞɢɫɬɪɢɛɭɬɢɜɭ Linux, ɟɫɥɢ ɩɪɢ ɤɨɧɮɢɝɭɪɢɪɨɜɚɧɢɢ ɢɫɩɨɥɶɡɭɟɦɨɝɨ ɲɥɸɡɚ ɜɨɡɧɢɤɧɭɬ ɩɪɨɛɥɟɦɵ.
Ⱦɢɫɬɪɢɛɭɬɢɜ Red Hat Linux Red Hat Linux
/etc/sysconfig/network. FreeBSD,
: GATEWAY=64.41.131.162
IPFreeBSD, , GATEWAY Red Hat Linux
IP. ,
, . ,
.
, , route
add default gw
root:
64.41.131.162
Ⱦɢɫɬɪɢɛɭɬɢɜ Slackware Linux Slackware Linux ,
/etc/rc.inetl.
.
FreeBSD, : GATEWAY="64.41.131.162"
IP-
IP-
FreeBSD, , GATEWAY Slackware Linux
. ,
, . ,
.
, , route add default gw 64.41.131.162
root:
538
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɛɟɫɩɪɨɜɨɞɧɨɝɨ ɞɨɫɬɭɩɚ ɤ Internet , , ,
.
,
. . —
Internet
-
. Internet
.
FreeBSD
.
,
FreeBSD
. .
28.1
, ,
FreeBSD, .
Ɍɚɛɥɢɰɚ 28.1. Ȼɟɫɩɪɨɜɨɞɧɵɟ ɫɟɬɟɜɵɟ ɢɧɬɟɪɮɟɣɫɵ, ɩɨɞɞɟɪɠɢɜɚɟɦɵɟ ɜ ɧɚɫɬɨɹɳɟɟ ɜɪɟɦɹ ɜ Ɉɋ FreeBSD Aironet 4500/4800 802.11
device an
ɤɚɪɬɵ ɧɚ ɛɚɡɟ AMD Am79C930
device awi
Xircom CNU/Netware Airsurfer
device cnw
Lucent WaveLan 802.11
device wi
Lucent WaveLan (ɬɨɥɶɤɨ ISA)
device wl
cnw wl, GENERIC. cnw
,
,
-
(
wl, ,
). ,
17,
,
. ,
.
Ɇɚɪɲɪɭɬɢɡɚɰɢɹ ɦɟɠɞɭ ɬɪɟɦɹ ɢ ɛɨɥɟɟ ɫɟɬɹɦɢ .
,
Internet
simba .
. 28.8
. lion, tiger, cheetah
puma Internet.
simba ,
Ƚɥɚɜɚ 28. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɲɥɸɡɚ Internet
539
—
simba Internet.
, .
,
,
,
,
.
Ɋɢɫɭɧɨɤ 28.8. simba — Internet
,
. 28.9.
simba ,
falcon — . Ɋɢɫɭɧɨɤ 28.9. .
simba
,
falcon,
.
, ,
falcon. .
, ,
simba
, .
falcon, ,
.
falcon, 169.151.116.121. falcon,
-
, ,
simba, , IP-
Internet simba
205.211.117. . simba
defaultroute="212.214.Ill.59" static_routes="falcon" falcon="-net 205.211.117.0 169.151.116.121"
,
falcon , /etc/rc.conf.
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
540
IP-
212.214.111.59 — ,
simba.
simba
, .
, 212.214.111.59 —
Internet,
simba. , simba, 205.211.117.0, falcon — falcon, simba -
. ,
. , IP-
169.151.116.121. ,
. 205.211.117.
, ,
. , 212.214.111.59.
falcon, ,
, ,
simba ,
. , ,
.
, , route
add
-net
-
, . root:
205.211.117.0
169.151.116.121
Ⱦɢɧɚɦɢɱɟɫɤɚɹ ɦɚɪɲɪɭɬɢɡɚɰɢɹ , . . ,
.
, Internet.
Internet Internet
simba falcon
,
,
Internet. simba. Internet.
,
,
Internet
-
. .
. , .
,
,
.
FreeBSD FreeBSD
. , RIP (Routing Information Protocol — ). RIP , , routed. FreeBSD gated zebra — . FreeBSD . 15. -
routed.
net .
.
Ƚɥɚɜɚ 28. Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɲɥɸɡɚ Internet
541
, .
, (
-
,
Internet). .
Ɇɚɪɲɪɭɬɢɡɚɰɢɹ ɜ ɦɚɫɲɬɚɛɟ ɩɪɟɞɩɪɢɹɬɢɹ ɢ ɞɟɦɢɥɢɬɚɪɢɡɨɜɚɧɧɚɹ ɡɨɧɚ (DMZ) (DMZ),
-
. ,
( IP-
, Web-
)
,
NAT.
. — NAT,
Internet, —
—
,
,
,
NAT. IP-
(Demilitarized Zone — DMZ}. 29.
-
, DMZ
.
29
Ɂɚɳɢɬɚ ɫɟɬɢ
◄ Ɇɨɞɟɥɢ ɡɚɲɢɬɵ ◄ ɉɪɚɜɢɥɚ ɡɚɞɚɧɢɹ ɩɚɪɨɥɟɣ ◄ ɉɪɨɛɥɟɦɵ ɫɨ ɫɥɭɠɛɚɦɢ, ɩɟɪɟɞɚɸɳɢɦɢ ɢɧɮɨɪɦɚɰɢɸ ɜ ɹɜɧɨɦ ɜɢɞɟ ◄Ɂɚɲɢɬɚ ɬɟɪɦɢɧɚɥɶɧɨɣ ɢɧɮɨɪɦɚɰɢɢ [OpenSSH) ◄Ɂɚɲɢɬɚ ɫɥɭɠɛ ɷɥɟɤɬɪɨɧɧɨɣ ɩɨɱɬɵ [ɊɈɊɁ ɢ IMAP] ◄Ɂɚɲɢɬɚ ɊɌɊ-ɫɟɪɜɟɪɚ < Ɂɚɲɢɬɚ ɫɟɪɜɟɪɚ Apache ◄ ɉɪɨɮɢɥɢ ɡɚɲɢɬɵ ɫɢɫɬɟɦɵ ɢ ɡɚɲɢɬɚ ɹɞɪɚ [securelevel] ◄ ɂɫɩɨɥɶɡɨɜɚɧɢɟ Ȼɪɚɧɞɦɚɭɷɪɚ ◄ ɉɪɟɞɨɬɜɪɚɳɟɧɢɟ ɜɬɨɪɠɟɧɢɣ ɢ ɜɡɥɨɦɨɜ ◄ Ⱥɬɚɤɢ ɧɚ ɫɥɭɠɛɵ [DOS] ◄ Ɏɢɡɢɱɟɫɤɚɹ ɡɚɲɢɬɚ ◄ Ⱦɪɭɝɢɟ ɢɫɬɨɱɧɢɤɢ ɢɧɮɨɪɦɚɰɢɢ ɨ ɡɚɲɢɬɟ
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
,
543
, .
—
,
,
, FreeBSD. He
UNIX,
Windows, ,
,
. .
,
.
.
-
, , . Internet — " ("rootkit") , , , ,
" . .
FreeBSD . ,
-
,
—
-
,
. . •
-
root. ,
, (
—"
") .
-
, last
( ,
ps), .
•
,
. ( (
, ,
-
),
root) •
. ,
. ,
. FreeBSD, .
, ,
-
, ,
. "
" --
.
,
, — .
Ɇɨɞɟɥɢ ɡɚɳɢɬɵ ,
,.
,
,
,
,
, . .
544
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
• "
,
Internet". , (
). (
Internet
,
),
,
, , . • "
Internet . ,
". , , .
, .
• "
,
". ,
:
,
, ( ,
),
, -
. (
,
).
,
, ,
, .
,
"
"(
, -
Web),
Internet, .
• "
". ,
,
.
. ,
-
, ( , ),
chroot
-
. ,
Web. ,
,
, .
:
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
• • • • • •
(
)
545
;
,
(
)
;
; SMTP; ; . — .
FreeBSD ,
,
.
ɉɊɂɆȿɑȺɇɂȿ Ɉɬɤɪɵɬɚɹ ɩɟɪɟɫɵɥɤɚ ɫɨɨɛɳɟɧɢɣ ɩɨ ɩɪɨɬɨɤɨɥɭ SMTP ɫɤɨɪɟɟ ɦɟɲɚɟɬ ɛɵɬɶ ɞɨɛɪɨɩɨɪɹɞɨɱɧɵɦ ɱɥɟɧɨɦ ɫɨɨɛɳɟɫɬɜɚ ɫɢɫɬɟɦ Internet, ɱɟɦ ɹɜɥɹɟɬɫɹ ɩɪɨɛɥɟɦɨɣ ɡɚɳɢɬɵ. ȿɟ ɞɟɬɚɥɶɧɨɟ ɨɛɫɭɠɞɟɧɢɟ ɩɪɟɞɫɬɚɜɥɟɧɨ ɜ ɝɥɚɜɟ 25.
, .
,
FreeBSD —
,
,
(
). ,
—
. ,
"password"
,
,
,,
,
,
. ,
,
, "
. ", . .
—
,
.
.
. passwd ,
passwd, ,
, .
, .
Ɉɛɟɫɩɟɱɟɧɢɟ ɛɟɡɨɩɚɫɧɨɫɬɢ ɩɚɪɨɥɟɣ ɫ ɩɨɦɨɳɶɸ ɩɪɨɝɪɚɦɦɵ Crack ( , passwd . 18 2-53
, "
,
) ".
, . ,
546
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
,
,
—
passwd, FreeBSD
. passwd ,
. ,
, , — Crack, /usr/ports/security/ crack. "
", Crack
, . .
"
"(
),
"
,
" . .
,
,
: —
,
. Crack ( 15),
.
,
,
/usr/local/crack,
root. , /usr/local/crack , #
(
Crack —
):
./Crack -fmt bad /etc/master.passwd
.
Crack
,
/etc/master.passwd, Reporter ./Reporter -quiet
-----
passwords
cracked
as
of
Sun
Jan
14
12:17:41
EST
2001
------
979693112:Guessed frank [frank] Frank Jones [/etc/master.passwd /bin/tcsh] 979693187:Guessed joe [password] Joe User [/etc/master.passwd /usr/local/ ↪ bin/bash]
-----
done
------
,
.
Frank — frank, —
.
Joe — password.
,
. , . Crack, :
# make tidy # rm run/F-merged ɉɊɂɆȿɑȺɇɂȿ ɉɨɫɤɨɥɶɤɭ Ɉɋ FreeBSD ɩɪɨɞɨɥɠɚɟɬ ɪɚɡɜɢɜɚɬɶɫɹ, ɜɟɫɶɦɚ ɜɟɪɨɹɬɧɨ, ɱɬɨ ɜ ɩɪɨɝɪɚɦɦɭ passwd ɛɭɞɟɬ ɜɤɥɸɱɟɧɚ ɩɨɞɞɟɪɠɤɚ ɚɜɬɨɦɚɬɢɱɟɫɤɨɣ ɩɪɨɜɟɪɤɢ ɫɥɨɠɧɨɫɬɢ ɩɚɪɨɥɟɣ, ɚɧɚɥɨɝɢɱɧɚɹ ɜɵɩɨɥɧɹ-
29. Crack.
Crack, Linux cracklib (pluggable authentication module — ) — FreeBSD ( . man pam], FreeBSD cracklib ,
/usr/ports/security/cracklib. , . cracklib
547
,
passwd,
,
,
http://www.kearneys.ca/~brent/FreeBSD/passwd42.html.
ɍɫɬɚɪɟɜɚɧɢɟ ɩɚɪɨɥɟɣ FreeBSD
. , .
FreeBSD, (
/etc/login.conf.
,
, ,
, , "
man login.conf). ,
"
chfn ( ,
). default
: default:\ :passwd_format=md5:\ :copyright=/etc/COPYRIGHT:\ :welcome=/etc/motd:\ :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\ :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/ «sbin /usr/local/bin /usr/XHR6/bin ~/bin:\ :nologin=/var/run/nologin:\ :cputime=unlimited:\
:datasize=unlimited:\ :stacksize=unlimited: \
:memorylocked=unlimited:\ :memoryuse=unlimited: \
: filesize=unlimited:\ :coredumpsize=unlimited:\ : openfiles=unlimited:\ :maxproc=unlimited: \ :sbsize=unlimited: \
:priority=0:\ :ignoretimeS:\ :umask=022:
(\) "
"
,
, . default
, ,
passwordtime. —
,
:
-
548
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
default:\ :passwordime=90d:\ :passwd_format=md5:\ :copyright=/etc/COPYRIGHT:\ :welcome=/etc/motd:\
24h (24
).
, /etc/login.conf (
,
90 . ), 6w (6
2 (2
25), :
) , /etc/mail, -
cap_mkdb
# cap_mkdb /etc/login.conf
, 90 .
, ,
,
passwordtime
passwd /etc/
master.passwd: frank:$l$LXZkCuzD$7Oa8LyRf5jYOb.XrXiB3d.:1060:100::999066364:0::/home/frank:/ ^bin/tcsh
Ɇɨɠɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɮɚɣɥ login.conf ɢ ɞɥɹ ɢɡɦɟɧɟɧɢɹ ɫɬɚɧɞɚɪɬɧɨɣ ɦɢɧɢɦɚɥɶɧɨɣ ɞɥɢɧɵ ɩɚɪɨɥɹ. ɗɬɨ ɞɟɥɚɟɬɫɹ ɩɭɬɟɦ ɡɚɞɚɧɢɹ ɡɧɚɱɟɧɢɹ ɫɜɨɣɫɬɜɚ minpasswordlen: :minpasswordlen=8:\ Ɍɟɦ ɫɚɦɵɦ ɦɢɧɢɦɚɥɶɧɚɹ ɞɥɢɧɚ ɩɚɪɨɥɹ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɪɚɜɧɨɣ 8 ɫɢɦɜɨɥɚɦ.
Ɂɚɞɚɧɢɟ ɩɟɪɜɨɧɚɱɚɥɶɧɵɯ ɩɚɪɨɥɟɣ ,
123
ChangeThis.
, . ,
-
. (
,
), .
-
—
md5
: # md5 -s "asdsad" MD5 ("asdsad") =
5 037 78522671 89 2 1 2 9 80 6
( b5b037 7) ,
,
, passwd
, Perl,
rand ( ).
. MD5
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
549
Ɉɞɧɨɪɚɡɨɜɵɟ ɩɚɪɨɥɢ ɧɚ ɛɚɡɟ ɫɢɫɬɟɦɵ S/Key , , ,
, :
. (key), Java,
— . http://www.cs.umd.edu/~harry/jotp/src.html. ( MD4.)
FreeBSD ,
SSH
Telnet (
SSH
).
, "
" ("challenge" phrase) (
, ), . . .
ɉɊɂɆȿɑȺɇɂȿ ɋɢɫɬɟɦɚ S/Key ɧɟ ɦɟɧɟɟ ɰɟɧɧɨɟ ɫɪɟɞɫɬɜɨ ɞɥɹ ɨɡɚɛɨɱɟɧɧɨɝɨ ɡɚɳɢɬɨɣ ɩɨɥɶɡɨɜɚɬɟɥɹ, ɱɟɦ ɬɪɟɛɨɜɚɧɢɟ ɫɨɛɥɸɞɚɬɶ ɩɪɢɧɰɢɩɵ ɡɚɳɢɬɵ ɞɥɹ ɚɞɦɢɧɢɫɬɪɚɬɨɪɚ. Ɇɧɨɝɢɟ ɱɚɫɬɢ ɫɢɫɬɟɦɵ S/Key, ɧɚɩɪɢɦɟɪ ɩɪɨɝɪɚɦɦɚ keyinit, ɞɨɥɠɧɵ ɩɨɞɞɟɪɠɢɜɚɬɶɫɹ ɩɨɥɶɡɨɜɚɬɟɥɟɦ. ȿɫɥɢ ɩɨɥɶɡɨɜɚɬɟɥɶ ɯɨɱɟɬ ɨɛɟɫɩɟɱɢɬɶ ɤɨɧɮɢɞɟɧɰɢɚɥɶɧɨɫɬɶ ɩɚɪɨɥɟɣ, ɨɧ ɦɨɠɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶ ɨɞɧɨɪɚɡɨɜɵɟ ɩɚɪɨɥɢ, ɞɚɠɟ ɟɫɥɢ ɜ ɷɬɨɦ ɧɟɬ ɨɫɨɛɨɣ ɧɟɨɛɯɨɞɢɦɨɫɬɢ.
,
,
Frank UNIX,
S/Key. ,
( ,
SSH), S/Key:
keyinit
# keyinit Adding frank: Reminder-Only use this method if you are directly connected. If you are using telnet or rlogin exit with no password and use ↪ keyinit -s. Enter secret password: Again secret password: ID frank HELM TAB
s/key is DRY TRIM
99
st28077 COL
APT
ɉɊɂɆȿɑȺɇɂȿ ȿɫɥɢ ɩɨɥɶɡɨɜɚɬɟɥɶ Frank ɩɨɞɤɥɸɱɟɧ ɩɨ ɧɟɛɟɡɨɩɚɫɧɨɦɭ ɤɚɧɚɥɭ (ɧɚɩɪɢɦɟɪ, ɩɪɢ ɩɪɨɫɬɨɦ ɫɨɟɞɢɧɟɧɢɢ ɫ ɩɨɦɨɳɶɸ Telnet), ɨɧ ɞɨɥɠɟɧ ɢɫɩɨɥɶɡɨɜɚɬɶ ɜɵɡɨɜ keyinit -s. ɉɪɢ ɭɤɚɡɚɧɢɢ ɨɩɰɢɢ -s ɩɪɨɝɪɚɦɦɚ keyinit ɢɫɩɨɥɶɡɭɟɬ ɝɟɧɟɪɚɰɢɸ ɤɥɸɱɚ ɩɨ ɯɨɞɭ ɪɚɛɨɬɵ. ɉɨɥɶɡɨɜɚɬɟɥɶ Frank ɜɜɨɞɢɬ ɫɜɨɣ ɩɚɪɨɥɶ ɞɥɹ ɝɟɧɟɪɚɰɢɢ ɫɟɤɪɟɬɧɨɝɨ ɤɥɸɱɚ [ɤɨɬɨɪɵɣ ɢɫɩɨɥɶɡɭɟɬɫɹ ɢɫɤɥɸɱɢɬɟɥɶɧɨ ɞɥɹ ɜɵɱɢɫɥɟɧɢɹ ɨɞɧɨɪɚɡɨɜɵɯ ɩɚɪɨɥɟɣ ɫɢɫɬɟɦɵ S/Key ɢ ɧɟ ɞɨɥɠɟɧ ɫɨɜɩɚɞɚɬɶ ɫ ɟɝɨ ɩɚɪɨɥɟɦ ɜ UNIX) ɢ ɩɟɪɟɞɚɟ ɟɝɨ ɩɨ ɫɟɬɢ ɧɚ ɫɟɪɜɟɪ. ȿɫɥɢ ɩɨɞɤɥɸɱɟɧɢɟ ɜɵɩɨɥɧɹɟɬɫɹ ɩɨ ɧɟɛɟɡɨɩɚɫɧɨɦɭ ɤɚɧɚɥɭ, ɫɟɤɪɟɬɧɵɣ ɩɚɪɨɥɶ ɦɨɠɧɨ ɩɟɪɟɯɜɚɬɢɬɶ, ɱɬɨ ɞɟɥɚɟɬ ɜɫɟ ɞɚɥɶɧɟɣɲɢɟ ɞɟɣɫɬɜɢɹ ɩɨ ɡɚɳɢɬɟ ɛɟɫɩɨɥɟɡɧɵɦɢ. Ɉɩɰɢɹ -s ɬɪɟɛɭɟɬ ɨɬ ɩɨɥɶɡɨɜɚɬɟɥɹ Frank ɢɫɩɨɥɶɡɨɜɚɬɶ ɩɪɨɝɪɚɦɦɭ key ɥɨɤɚɥɶɧɨ, ɧɚ ɟɝɨ
-
550
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
ɫɨɛɫɬɜɟɧɧɨɣ ɦɚɲɢɧɟ ɫ Ɉɋ Windows, Macintosh ɢɥɢ UNIX ɞɥɹ ɝɟɧɟɪɚɰɢɢ ɩɚɪɨɥɹ, ɤɨɬɨɪɵɣ ɡɚɬɟɦ ɧɚɞɨ ɛɭɞɟɬ ɜɜɟɫɬɢ ɜ ɩɪɨɝɪɚɦɦɟ keyinit ɜ ɨɬɜɟɬ ɧɚ ɩɪɢɝɥɚɲɟɧɢɟ s/key access password: (ɤɨɬɨɪɨɟ ɜɵɞɚɟɬɫɹ ɬɨɥɶɤɨ ɩɪɢ ɭɤɚɡɚɧɢɢ ɨɩɰɢɢ -s].
Frank
keyinit
S/Key, /etc/
/etc/skeykeys, )
skey.access (
:
deny user frank
FreeBSD,
/etc/skey.access
UNIX, S/Key. permit ( UNIX) deny (
S/Key,
S/Key),
. man skey.access, ,
,
skey.access ,
,
, .
,
Frank S/Key,
UNIX. Frank
Telnet
:
# telnet Trying Escape
stripes.somewhere.com 64.41.131.102... Connected
to
stripes.somewhere.com.
character is `^}`.
FreeBSD/1386
(stripes.somewhere.com) (ttyp2)
login: frank s/key 99 st28077 Password:
Frank
key (
)
. ,
:
, )
99 " keyinit).
; keyinit
(99
, "(
, st28077 —
, Frank
S/Key, : # key 99 st28077 Reminder - Do not use this program while logged in via telnet or rlogin. Enter secret password: COL APT HELM TAB DRY TRIM
Frank
,
.
, ( Frank
98,
.
— ).
S/Key ,
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
.
Frank 99,
551
,
keyinit ,
.(
,
/etc/skey.access,
deny
permit
S/Key.) ɋɈȼȿɌ ɉɪɢ ɠɟɥɚɧɢɢ ɩɨɥɶɡɨɜɚɬɟɥɶ Frank ɦɨɠɟɬ ɫɝɟɧɟɪɢɪɨɜɚɬɶ ɫɪɚɡɭ ɧɟɫɤɨɥɶɤɨ ɤɥɸɱɟɣ, ɜɵɡɜɚɜ ɩɪɨɝɪɚɦɦɭ key ɫ ɨɩɰɢɟɣ -ɩ. Ɂɚɬɟɦ ɨɧ ɦɨɠɟɬ ɪɚɫɩɟɱɚɬɚɬɶ ɷɬɢ ɤɥɸɱɢ ɢ ɜɡɹɬɶ ɢɯ ɫ ɫɨɛɨɣ, ɟɫɥɢ ɷɬɨ ɩɨɤɚɠɟɬɫɹ ɟɦɭ ɛɨɥɟɟ ɭɞɨɛɧɵɦ ɢɥɢ ɛɟɡɨɩɚɫɧɵɦ: # key -n 5 50 st28077 Reminder — Do not use this program while logged in via telnet or rlogin. Enter secret password: 41: 42: 43: 44: 45:
SHOT CHOW DOCK WALE GIFT
YOU BIEN GIN JUDD AS AVIS DOES EMIT FLAM WORK ATE ANN HAS JOCK OAT AWL ELK LETS AWK WALE BERT ROD GRIN YANG EAST
S/Key
su, root ,
S/Key
. /etc/
/etc/skeykeys, skey.access.
ɋɢɫɬɟɦɚ Kerberos — Kerberos "
" ("tickets")
Telnet, FTP, POP3 , ,
. ,
Kerberos. Athena
Kerberos Kerberos.
NFS
FreeBSD
Kerberos,
, Kerberos Kerberos
,
.
. ,
, ,
.
,
Kerberos .
, ,
UNIX. Kerberos
, 2000
Windows Kerberos (
), .
FreeBSD. .
Kerberos kerberos_server_enable="YES"
FreeBSD, /etc/rc.conf
552
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
,
Kerberos. , /etc/pam.conf
, pam_kerberos!V.so try_first_pass
,
: login auth sufficient
Kerberos FreeBSD
man kerberos (http://www.freebsd.org/handbook).
ɉɪɨɛɥɟɦɵ ɫɨ ɫɥɭɠɛɚɦɢ, ɩɟɪɟɞɚɸɳɢɦɢ ɢɧɮɨɪɦɚɰɢɸ ɜ ɹɜɧɨɦ ɜɢɞɟ ,
(
Telnet,
HTTP)
—
(
),
, ,
,
,
-
. , Internet ,
"
, .
", -
,
.
,
? .
,
(
,
), — . " ("security through obscurity") — , .
" , , — .
, , ,
,
,
.
,
, .
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɭɬɢɥɢɬɵ tcpdump ɞɥɹ ɤɨɧɬɪɨɥɹ ɩɟɪɟɞɚɜɚɟɦɨɣ ɢɧɮɨɪɦɚɰɢɢ , ,
— , "
Ethernet ,
mode"),
" , 22).
( . .
, . ("promiscuous ,
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ 553
FreeBSD —
tcpdump, — /dev/bpfO (root).
/usr/sbin. (Permission denied) (
). tcpdump
EtherPeek
WildPackets), ,
TCP/IP ( ,
Crack,
— ,
,
,
. ɉɊɂɆȿɑȺɇɂȿ ɉɪɨɝɪɚɦɦɭ tcpdump ɦɨɠɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɞɥɹ ɫɤɪɵɬɨɝɨ ɫɥɟɠɟɧɢɹ ɡɚ ɞɟɣɫɬɜɢɹɦɢ ɩɨɥɶɡɨɜɚɬɟɥɟɣ, ɧɟɡɚɜɢɫɢɦɨ ɨɬ ɢɯ ɧɚɩɪɚɜɥɟɧɧɨɫɬɢ. ɉɪɟɞɭɩɪɟɠɞɟɧɢɟ ɜ ɮɚɣɥɟ ɤɨɧɮɢɝɭɪɚɰɢɢ ɹɞɪɚ GENERIC ɧɚɩɨɦɢɧɚɟɬ ɨ ɧɟɨɛɯɨɞɢɦɨɫɬɢ ɭɱɢɬɵɜɚɬɶ ɷɬɢɱɟɫɤɢɟ ɚɫɩɟɤɬɵ, ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɚɧɚɥɢɡɚɬɨɪɚ ɩɪɨɬɨɤɨɥɚ. ȼɫɟ, ɟɫɬɟɫɬɜɟɧɧɨ, ɡɚɜɢɫɢɬ ɨɬ ɬɨɝɨ, ɜ ɤɚɤɨɝɨ ɪɨɞɚ ɫɢɫɬɟɦɟ ɜɵ ɪɚɛɨɬɚɟɬɟ, ɧɨ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɚɧɚɥɢɡɚɬɨɪɨɜ ɩɪɨɬɨɤɨɥɚ ɚɧɚɥɨɝɢɱɧɨ ɩɪɨɫɥɭɲɢɜɚɧɢɸ ɬɟɥɟɮɨɧɧɵɯ ɩɟɪɟɝɨɜɨɪɨɜ ɢɥɢ ɢɫɩɨɥɶɡɨɜɚɧɢɸ ɫɤɪɵɬɵɯ ɜɢɞɟɨɤɚɦɟɪ ɫɥɟɠɟɧɢɹ. ɉɨɷɬɨɦɭ ɢɫɩɨɥɶɡɨɜɚɬɶ ɩɪɨɝɪɚɦɦɭ tcpdump ɫɬɨɢɬ ɬɨɥɶɤɨ ɜ ɬɟɯ ɫɥɭɱɚɹɯ, ɤɨɝɞɚ ɜɚɫ ɧɟ ɫɦɭɳɚɥɨ ɛɵ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɞɥɹ ɫɛɨɪɚ ɢɧɮɨɪɦɚɰɢɢ ɫɪɟɞɫɬɜ ɩɪɨɫɥɭɲɢɜɚɧɢɹ ɢ ɫɤɪɵɬɵɯ ɜɢɞɟɨɤɚɦɟɪ.
tcpdump — . TCP/IP Telnet (TCP-
,
,
. 23):
# tcpdump -x port 23 tcpdump: listening on fxpO 20:14:19.076941 w044.Z064002043.sjc-ca.dsl.cnc.net.54109 > w012.z064002043.sjc-ca.dsl.cnc.net.telnet: S 1972342903:1972342903(0) win 32768 (DF) [tos 0x10] 4510 003 e44b 4000 4006 8024 4002 2b2c 4002 2bOc d35d 0017 758f 9077 0000 0000 a002 8000 OOlb 0000 0204 05b4 0103 0300 0101 080a 0007 1 2 0000 0000 20:14:19.077050 w012.z064002043.sjc-ca.dsl . cnc.net. telnet > w044.Z064002043.sjc-ca.dsl.cnc.net.54109: S 1734674412:1734674412(0) ack 1972342904 win 17520 (DF) 4500 002c c9c2 4000 4006 9acd 4002 2bOc 4002 2 2 0017 d35d 6765 07ec 758f 9078 6012 4470 349c 0000 0204 05b4 20:14:19.677472 w044.Z064002043.sjc-ca.dsl.cnc.net.54109 > w012.z064002043.sjc-ca.dsl.cnc.net.telnet: . ack 195 win 33580 (DF) [tos 0x10] 4510 0028 e458 4000 4006 802b 4002 2b2c 4002 2bOc d35d 0017 758f 910a 6765 08af 5010 832c Oc49 0000 5555 5555 5555 ^ 134 packets received by filter 0 packets dropped by kernel
tcpdump - )
"
", ,
( -
554
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
,
,
.
.
, Telnet.
, ,
,
EtherPeek. ,
EtherPeek , IMAP, FTP Syslog. .
tcpdump . Finger
HTTP,
, ,
.
. , FreeBSD.
,
, .
Ɂɚɳɢɬɚ ɬɟɪɦɢɧɚɥɶɧɨɣ ɢɧɮɨɪɦɚɰɢɢ (OpenSSH) ,
Telnet , SSH (Secure Shell — Telnet rlogin,
,
rlogin,
.
FreeBSD ), , .
OpenSSH, FreeBSD.
OpenBSD, SSH
22
(
,
Apache) /etc/rc.conf (
(
sshd SSH,
. )
sshd): sshd_enable="YES"
SSH
Telnet.
#
ssh
:
telnet ssh
stripes.somewhere.com
Ssh
,
,
. : # ssh stripes.somewhere.com -1 frank # ssh [email protected]
ssh . Telnet, — FreeBSD, Linux, UNIX .
. Mac OS X
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
555
Windows Mac OS
. SSH
, ,
Telnet, SSH. Windows SecureCRT ( Van Dyke, http://www.vandyke.com) SSH ( SSH Communications Security, http://www.ssh.com), Mac NiftyTelnet/SSH MacSSH. Win-dows — , . SSH Telnet. , , , , SSH. , , , SSH . , Telnet SSH. Telnet, telnetd /etc/inetd.conf: Stelnet stream top nowait root /usr/libexec/telnetd telnetd inetd: # killall -HUP inetd
ɉɊɂɆȿɑȺɇɂȿ ɉɪɨɬɨɤɨɥ SSH ɢɦɟɟɬ ɞɜɟ ɩɨɩɭɥɹɪɧɵɟ ɪɚɡɧɨɜɢɞɧɨɫɬɢ: SSH1 ɢ SSH2. Ɉɩɟɪɚɰɢɨɧɧɚɹ ɫɢɫɬɟɦɚ FreeBSD ɩɨɞɞɟɪɠɢɜɚɟɬ ɨɛɟ, ɧɨ ɩɪɨɬɨɤɨɥ SSH1 ɯɭɠɟ ɩɪɨɞɭɦɚɧ ɢ ɩɨɬɟɧɰɢɚɥɶɧɚɹ ɜɟɪɨɹɬɧɨɫɬɶ ɜɵɹɜɥɟɧɢɹ ɜ ɧɟɦ ɭɹɡɜɢɦɵɯ ɦɟɫɬ ɡɚɳɢɬɵ ɜɵɲɟ, ɱɟɦ ɜ SSH2. Ɇɨɠɧɨ ɨɬɤɥɸɱɢɬɶ ɩɨɞɞɟɪɠɤɭ SSH1, ɞɨɛɚɜɢɜ ɫɥɟɞɭɸɳɭɸ ɫɬɪɨɤɭ ɜ ɮɚɣɥ /etc/ssh/ssh_config: Protocol 2
ɍɱɬɢɬɟ, ɨɞɧɚɤɨ, ɱɬɨ ɧɟ ɜɫɟ ɤɥɢɟɧɬɫɤɢɟ ɪɟɚɥɢɡɚɰɢɢ SSH ɜ ɩɨɥɧɨɦ ɨɛɴɟɦɟ ɩɨɞɞɟɪɠɢɜɚɸɬ ɩɪɨɬɨɤɨɥ SSH2. ɇɟ ɨɬɤɥɸɱɚɣɬɟ ɩɪɨɬɨɤɨɥ SSH1, ɟɫɥɢ ɧɟ ɭɜɟɪɟɧɵ, ɱɬɨ ɷɬɨ ɦɨɠɧɨ ɞɟɥɚɬɶ.
Ɂɚɳɢɬɚ ɫɥɭɠɛ ɷɥɟɤɬɪɨɧɧɨɣ ɩɨɱɬɵ (ɊɈɊɁ ɢ IMAP) , ,
, Telnet, ). ,
(
,
,
,
( ). SSH
Telnet, .
25 FreeBSD
qpopper SSL (Secure Sockets Layer — .
) -
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
556
IMAP-UW. SSL
IMAP-UW 25. , qpopper),
(
, ,
.
IMAP-UW. http://www.washington.edu/imap/. IMAP, SSL
IMAP-UW SSL
stunnel. /usr/ports/security/stunnel) .
( SSL ,
, —
, .
, 993 (
(/usr/local/etc/rc.d/stunnel.sh.sample) ) 995 (
), ,
/etc/services.
ɉɊɂɆȿɑȺɇɂȿ ɇɟ ɡɚɛɭɞɶɬɟ ɩɟɪɟɢɦɟɧɨɜɚɬɶ ɮɚɣɥ stunnel.sh.sample ɜ stunnel.sh, ɤɚɤ ɛɵɥɨ ɨɩɢɫɚɧɨ ɜ ɝɥɚɜɟ 11. ɋɭɮɮɢɤɫ .sample ɡɚɞɚɟɬɫɹ, ɱɬɨɛɵ ɚɞɦɢɧɢɫɬɪɚɬɨɪ ɨɛɹɡɚɬɟɥɶɧɨ ɩɪɨɫɦɨɬɪɟɥ ɫɨɞɟɪɠɢɦɨɟ ɫɰɟɧɚɪɢɹ ɢ ɭɛɟɞɢɥɫɹ ɜ ɤɨɪɪɟɤɬɧɨɫɬɢ ɩɭɬɟɣ ɤ ɮɚɣɥɚɦ ɫɟɪɬɢɮɢɤɚɬɨɜ [ɫ ɪɚɫɲɢɪɟɧɢɟɦ .pern].
,
stunnel qpopper IMAP-UW. /usr/local/etc/stunnel.pem. 995
110
stunnel (993 .
)
143
, SSL Outlook,
. ,
,
Microsoft
— . SSL
,
. .
— ,
,—
,
stunnel SSL,
, /etc/inetd.conf. ,
IPFW (
), localhost.
,
Ɂɚɳɢɬɚ ɊɌɊ-ɫɟɪɜɟɪɚ FTP, .
27, — ,
,
. FTP Telnet,
,
,
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ 557
Web-
,
,
.
, ,
,
.
FTP SSH (
FTP SSH: SSH /usr/libexec/sftp-server . FTP, FreeBSD
SSH. ,
),
.
-
FTP , FTP . FTP OpenSSH. Windows FreeBSD, Mac OS
sftp, FTP, SSH Communications Security.
-
FTP. scp. , r
,
(
.
man rep man scp), SSH, .
SSH. NiftyTelnet/SSH
c, scp
SSH,
:
# scp file.txt stripes: frank@stripes's password: file.txt 100%
|*****************************|
511
00:00
(:), ,
. ,
.
, -
-
.
Ɂɚɳɢɬɚ ɫɟɪɜɟɪɚ Apache HTTP.
HTTP
, ,
.
,
. HTTP SSL, Apache
, ,
-
SSL
. Apache
OpenSSL
: Apache-SSL FreeBSD, .
mod_ssl.
, SSL,
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
558
ɉɊɂɆȿɑȺɇɂȿ Ɂɚɳɢɳɟɧɧɚɹ ɢ ɨɛɵɱɧɚɹ ɬɟɤɫɬɨɜɚɹ ɜɟɪɫɢɹ ɩɪɨɬɨɤɨɥɚ HTTP ɩɪɟɞɧɚɡɧɚɱɟɧɵ ɞɥɹ ɫɨɜɦɟɫɬɧɨɣ ɪɚɛɨɬɵ. Ɉɛɫɥɭɠɢɜɚɬɶ ɜɫɟ ɡɚɩɪɨɫɵ HTTP ɱɟɪɟɡ ɫɢɫɬɟɦɭ SSL — ɧɟ ɨɱɟɧɶ ɯɨɪɨɲɚɹ ɢ ɪɟɞɤɨ ɩɪɢɦɟɧɹɟɦɚɹ ɢɞɟɹ. ɑɚɫɬɢɱɧɨ ɷɬɨ ɫɜɹɡɚɧɨ ɫ ɩɪɨɢɡɜɨɞɢɬɟɥɶɧɨɫɬɶɸ (ɫɤɨɪɨɫɬɶ ɪɚɛɨɬɵ Web-ɫɚɣɬɚ ɫ ɛɨɥɶɲɢɦ ɤɨɥɢɱɟɫɬɜɨɦ ɨɛɪɚɳɟɧɢɣ ɪɟɡɤɨ ɫɧɢɡɢɬɫɹ, ɱɬɨ ɫɜɹɡɚɧɨ ɫ ɞɨɩɨɥɧɢɬɟɥɶɧɵɦɢ ɜɵɱɢɫɥɟɧɢɹɦɢ ɩɪɢ ɲɢɮɪɨɜɚɧɢɢ ɤɚɠɞɨɣ ɫɬɪɚɧɢɰɵ ɢ ɢɡɨɛɪɚɠɟɧɢɹ, ɧɟɡɚɜɢɫɢɦɨ ɨɬ ɧɚɥɢɱɢɹ ɜ ɧɢɯ ɫɟɤɪɟɬɧɨɣ ɢɧɮɨɪɦɚɰɢɢ], ɚ ɱɚɫɬɢɱɧɨ — ɫ ɧɟɭɞɨɛɫɬɜɨɦ ɢ ɧɟɩɪɢɜɵɱɧɨɫɬɶɸ ɬɚɤɨɝɨ ɫɩɨɫɨɛɚ ɜɡɚɢɦɨɞɟɣɫɬɜɢɹ. Ȼɨɥɶɲɢɧɫɬɜɨ ɨɛɳɟɞɨɫɬɭɩɧɵɯ ɞɚɧɧɵɯ Web ɧɟ ɧɚɞɨ ɲɢɮɪɨɜɚɬɶ. ɇɨ ɩɟɪɟɤɥɸɱɟɧɢɟ ɜ ɡɚɳɢɳɟɧɧɵɣ ɪɟɠɢɦ ɩɪɢ ɜɯɨɞɟ ɤɥɢɟɧɬɚ ɧɚ ɫɬɪɚɧɢɰɭ ɩɨɤɭɩɤɢ ɢɥɢ ɜ ɮɨɪɦɭ ɞɥɹ ɫɛɨɪɚ ɢɧɮɨɪɦɚɰɢɢ ɭɛɟɠɞɚɟɬ ɩɨɥɶɡɨɜɚɬɟɥɟɣ ɜ ɬɨɦ, ɱɬɨ ɨɧɢ ɜɨɲɥɢ ɜ ɛɨɥɟɟ ɡɚɳɢɳɟɧɧɭɸ ɡɨɧɭ. ɉɨɦɧɢɬɟ: ɜɵ ɞɨɥɠɧɵ ɭɞɨɜɥɟɬɜɨɪɢɬɶ ɨɠɢɞɚɧɢɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ ɢ ɨɛɟɫɩɟɱɢɬɶ ɤɨɧɮɢɞɟɧɰɢɚɥɶɧɨɫɬɶ, ɚ ɧɟ ɬɨɥɶɤɨ ɩɪɟɞɨɫɬɚɜɢɬɶ ɞɚɧɧɵɟ.
ɋɢɫɬɟɦɚ Apache-SSL "
"
Apache,
Apache-SSL
-
Apache Group, mod_ssl. , -
.
Apache-SSL
.
Apache-SSL httpd
httpsd,
443. SSL.
httpsd Apache, Apache-SSL /usr/ports/www/apachel3-ssl), www.apache-ssl.org.
,
httpd. HTTP
80, ,
, (
Web-
http://
ɋɟɪɜɟɪ Apache ɫ ɦɨɞɭɥɟɦ mod_ssl SSL Apache-SSL, — mod_ssl — OpenSSL .
HTTP Apache,
Apache ,
Apache-SSL, .
, , httpd, ,
apache 13-modssl apache13, SSL: Listen 80 Listen 443
mod_php
Apache . .,
mod_ssl /usr/ports/www. , Apache-SSL.
,
,
mod_perl, mod_ssl —
,
. Apache modssl.
mod_ssl Web-
/usr/ports/www/ apachel3— http://www.modssl.org.
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
559
ɗɤɫɩɥɭɚɬɚɰɢɹ ɡɚɳɢɳɟɧɧɨɝɨ Web-ɫɟɪɜɟɪɚ , Apache-SSL , , HTTP,
WebApache-SSL httpd
Apache .
mod_ssl, , ,
443. Apache-SSL,
httpsd , httpsdctl,
,
Apache, httpd.conf.
apachectl /usr/local/etc/apache, mod_ssl
httpsd.conf Apache —
,
26. apachel3-ssl,
( Apache, ,
apache 13-modssl) , HTML-
. Apache-SSL
Apache. , .
mod_ssl Apache, OpenSSL ,
Web-
, ,
. ( ,
), .
,
, . , (Security Information)
,
, .
—
,
.
ɉɥɨɯɨ ɧɚɩɢɫɚɧɧɵɟ ɫɰɟɧɚɪɢɢ CGI — Apache.
He (
,
,
)
, .
Apache
nobody ( ,
nobody
, )
CGI, .
, . ,
, CGInobody. , CGI-
560
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
,
. CGI-
.
, ,
Apache
nobody. —
Apache
CGI-
-"
",
,
(
)
, suexec,
nobody. Apache. , CGIWrap,
(Nathan Neulinger).
ɉɨɜɵɲɟɧɢɟ ɛɟɡɨɩɚɫɧɨɫɬɢ ɫɰɟɧɚɪɢɟɜ CGI ɫ ɩɨɦɨɳɶɸ ɫɢɫɬɟɦɵ CGIwrap CGIWrap, ports/www/cgiwrap,
/usr/ CGI,
: CGI.
,
CGI-
,
,
,
nobody. ,
,
Web-
.
— CGI.
CGI,
, root,
,
,
,
, . CGIWrap
. ,
,
,,
CGI, .
,
CGI
, ,
CGI,
. CGIWrap
cgiwrap ( , /usr/Iocal/www/cgi-bin. CGIWrap suexec, URL :
)
cgi-bin Apache, ,
http://www.somewhere.com/cgi-bin/cgiwrap/frank/myscript.cgi
:
myscript.cgi public_html/cgi-bin.
CGI-
/home/frank/
29.
561
,
public_html/cgi-bin.
. CGIWrap,
CGICGI DocumentRoot,
,
, Options +ExecCGI. WebCGIWrap http://cgiwrap.unixtools.org/.
,
ɉɪɨɮɢɥɢ ɡɚɳɢɬɵ ɫɢɫɬɟɦɵ ɢ ɡɚɳɢɬɚ ɹɞɪɚ (securelevel) FreeBSD 3,
, /etc/rc.conf.
kern_securelevel , ,
-1
, ,
, ( 17,
IPFW
, securelevel
). — . man securelevel.
FreeBSD . /stand/sysinstall,
"Configure",
"Security". : Low,
Medium, High sendmail, sshd
Extreme. inetd
. . 29.1 /etc/rc.conf:
Ɍɚɛɥɢɰɚ 29.1. Ɉɛɳɟɫɢɫɬɟɦɧɵɟ ɩɪɨɮɢɥɢ ɡɚɳɢɬɵ /etc/rc.conf Low
sendmail_enable="YES" sshd_enable="YES" portmap_enable="YES" inetd_enable="YES"
Medium
sendmail_enable="YES" sshd_enable="YES" inetd_enable="YES"
High
kern_securelevel="1" kern_securelevel_enable="YES" sendmail_enable="YES" sshd_enable="YES" portmap_enable="NO"
562
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ /etc/rc.conf
nfs_server_enable="NO" inetd_enable="NO" Extreme
kern_securelevel="2" kern_secureleveLenable="YES" sendmail_enable="NO" sshd_enable="NO" portmap_enable="NO" nfs_server_enable="NO" inetd enable="NO"
,
"Extreme" securelevel )
. (
2,
, —
,
, sendmail, "High" —
amount ( ).
mount amd, NFS
sshd,
,
.
securelevel 1, . "Extreme",
, sendmail
,
sshd
inetd,
. ,
. 29.1
, /etc/rc.conf, , . ,
. , . ; ,
.
,
.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɛɪɚɧɞɦɚɭɷɪɚ ,
,
,
,
,
Internet. "
, " ("script kiddies"), ,
, ,
.
, , ,
. FreeBSD,
IPFW, . , ,
. , .
-
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
— "
"
563
;
,
,
,
.
-
. ,
. Internet. ,
,
( ).
-
,
, ,
, .
IPFW FreeBSD
,
,
, .
, ( (LAN), "
.
; . 29.1
FreeBSD 28), " (DMZ)
(WAN).
29.1.
,
.
LAN, DMZ
WAN
ɉɊɂɆȿɑȺɇɂȿ "Ⱦɟɦɢɥɢɬɚɪɢɡɨɜɚɧɧɚɹ ɡɨɧɚ" — ɷɬɨ ɫɟɬɶ, ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɞɨɫɬɭɩɧɚɹ ɞɥɹ ɢɧɮɨɪɦɚɰɢɢ ɢɡ ɝɥɨɛɚɥɶɧɨɣ ɫɟɬɢ, ɚ ɧɟ ɢɡ ɥɨɤɚɥɶɧɨɣ. Ɉɫɨɛɟɧɧɨ ɩɨɥɟɡɧɚɹ ɜ ɫɥɭɱɚɟ ɩɪɟɨɛɪɚɡɨɜɚɧɢɹ IP-ɚɞɪɟɫɨɜ ɜ ɥɨɤɚɥɶɧɨɣ ɫɟɬɢ (ɤɚɤ ɛɵɥɨ ɩɨɤɚɡɚɧɨ ɜ ɝɥɚɜɟ 22) ɞɟɦɢɥɢɬɚɪɢɡɨɜɚɧɧɚɹ ɡɨɧɚ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɫɟɬɶ ɞɥɹ ɩɪɟɞɩɪɢɹɬɢɹ ɢɥɢ ɩɨɫɬɚɜɳɢɤɚ ɭɫɥɭɝ Internet, ɜ ɤɨɬɨɪɭɸ ɩɨɦɟɳɚɸɬɫɹ ɦɚɲɢɧɵ ɫ ɪɟɚɥɶɧɵɦɢ ɚɞɪɟɫɚɦɢ, ɧɚɩɪɢɦɟɪ Web-ɫɟɪɜɟɪɵ, ɲɥɸɡɵ ɷɥɟɤɬɪɨɧɧɨɣ ɩɨɱɬɵ ɢ ɞɪɭɝɢɟ ɯɨɫɬɵ, ɤɨɬɨɪɵɟ ɞɨɥɠɧɵ ɛɵɬɶ ɞɨɫɬɭɩɧɵ ɢɡ ɨɛɳɟɣ ɫɟɬɢ Internet. Ɂɨɧɚ DMZ ɦɨɠɟɬ ɛɵɬɶ ɡɚɳɢɳɟɧɚ ɩɪɚɜɢɥɚɦɢ ɛɪɚɧɞɦɚɭɷɪɚ ɧɚ ɲɥɸɡɨɜɨɦ ɦɚɪɲɪɭɬɢɡɚɬɨɪɟ, ɚ ɦɨɠɟɬ ɢ ɧɟ ɡɚɳɢɳɚɬɶɫɹ. Ɂɚɳɢɬɚ ɨɛɵɱɧɨ ɠɟɥɚɬɟɥɶɧɚ, ɧɨ ɜ ɧɟɤɨɬɨɪɵɯ ɫɩɟɰɢɚɥɶɧɵɯ ɫɥɭɱɚɹɯ ɬɪɟɛɭɟɬɫɹ, ɱɬɨɛɵ ɞɟɦɢɥɢɬɚɪɢɡɨɜɚɧɧɚɹ ɡɨɧɚ ɛɵɥɚ ɨɫɜɨɛɨɠɞɟɧɚ ɨɬ ɨɛɳɢɯ ɩɪɚɜɢɥ ɛɪɚɧɞɦɚɭɷɪɚ ɥɨɤɚɥɶɧɨɣ ɫɟɬɢ. ɗɬɨ ɡɚɜɢɫɢɬ ɨɬ ɤɨɧɮɢɝɭɪɚɰɢɢ ɢ ɧɚɡɧɚɱɟɧɢɹ ɫɟɬɢ.
ȼɤɥɸɱɟɧɢɟ ɩɨɞɞɟɪɠɤɢ ɛɪɚɧɞɦɚɭɷɪɚ IPFW
GENERIC.
, , IPFIREWALL_VERBOSE IPFW ,
17: IPFIREWALL, IPFIREWALL_VERBOSE_LIMIT=10. — /etc/rc.network. , /etc/rc.conf:
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
564
firewall_enable="YES" firewall_type="open"
,
(firewall_type="open"), 65535 ( ,
IPFW ),
IP-
.
IPFW , ,
, ,
.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ Ɉɱɟɧɶ ɨɩɚɫɧɨ ɷɤɫɩɟɪɢɦɟɧɬɢɪɨɜɚɬɶ ɫ ɫɢɫɬɟɦɨɣ IPFW ɩɪɢ ɨɬɫɭɬɫɬɜɢɢ ɞɨɫɬɭɩɚ ɤ ɤɨɧɫɨɥɢ, ɩɨɫɤɨɥɶɤɭ ɦɨɠɧɨ ɫɞɟɥɚɬɶ ɦɚɲɢɧɭ ɧɟɞɨɫɬɭɩɧɨɣ. ɉɨɤɚ ɜɵ ɧɟ ɨɡɧɚɤɨɦɢɬɟɫɶ ɫ ɫɢɫɬɟɦɨɣ IPFW ɧɚɫɬɨɥɶɤɨ, ɱɬɨ ɛɭɞɟɬɟ ɬɨɱɧɨ ɡɧɚɬɶ ɩɨɫɥɟɞɫɬɜɢɹ ɫɜɨɢɯ ɞɟɣɫɬɜɢɣ, ɜɫɟɝɞɚ ɭɛɟɠɞɚɣɬɟɫɶ ɜ ɧɚɥɢɱɢɢ ɞɨɫɬɭɩɚ ɤ ɤɨɧɫɨɥɢ ɧɚ ɫɥɭɱɚɣ, ɟɫɥɢ ɱɬɨ-ɬɨ ɩɨɣɞɟɬ ɧɟ ɬɚɤ.
,
open (
),
.
IP,
, ,
,
, .
.
,
,
,
. /etc/rc.conf (
/etc/netstart
—
!). :
Kernel firewall module loaded Flushed all rules. 00100 allow ip from any to any via loO 00200 deny ip from any to 127.0.0.0/8 00300 deny ip from 127.0.0.0/8 to any 65000 allow ip from any to any Firewall rules loaded, starting divert daemons:.
,
IPFW
,
-
kldstat: # kldstat Id Refs Address 4 3 OxcOlOOOOO 5 1 OxcOeeeOOO 6 1 OxcOfl9000
Size 355be4 6000 12000
Name kernel ipfw.ko linux.ko
ipfw, ,
IPFW.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɫɢɫɬɟɦɵ NATD ɞɥɹ ɫɨɜɦɟɫɬɧɨɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɩɨɞɤɥɸɱɟɧɢɹ ɤ Internet, ɤɚɤ ɨɩɢɫɚɧɨ ɜ ɝɥɚɜɟ 28, ɜɫɟ ɪɚɜɧɨ ɧɟɨɛɯɨɞɢɦɨ ɫɬɪɨɢɬɶ ɫɩɟɰɢɚɥɢɡɢɪɨɜɚɧɧɨɟ ɹɞɪɨ, ɩɨɫɤɨɥɶɤɭ ɞɥɹ ɫɢɫɬɟɦɵ NATD ɬɪɟɛɭɟɬɫɹ ɜɤɥɸɱɟɧɢɟ ɜ ɹɞɪɟ ɨɩɰɢɢ IPDIVERT. ɉɨɞɪɨɛɧɟɟ ɨɛ ɷɬɨɦ ɫɦ. ɜ ɝɥɚɜɟ 28.
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
565
Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɫɢɫɬɟɦɵ IPFW ,
ipfw. ;
(
( from
, tcp), ,
,
to. badhost.com,
, deny), , , TCP, deny tcp from badhost.com to any, a
: # ipfw add deny tcp from badhost.com to any
. —
( CIDR ( , . .
,
, 255.255.255.0),
, /24). IP,
. ,
:
# ipfw add deny all from evil.isp.com/16 to www.somewhere.com 80
, ,
allow,
:
# ipfw add allow all from goodhost.evil.isp.com to ~*www. somewhere. com 8 0
,
IPFW 100
,
. ,
,
-
, add
ipfw.
.
-
ipfw -a list: # ipfw -a list 00100 allow ip 00200 0 0 deny ip 00300 0 0 deny ip 00400 0 0 deny tcp 00500 0 0 ipfw add ↪ www.somewhere.com 80 00600 0 0 ipfw add ↪ www.somewhere.com 80 65000 1214 79688 allow ip 65535 1 40 deny ip
from any to any via loO from any to 127.0.0.0/8 from 127.0.0.0/8 to any from badhost.com to any deny all from evil.isp.com/16 to allow all from goodhost.evil.isp.com to from any to any from any to any
.
65535,
,—
,
,
.
, allow, ,
,
. , ,
.
,
. /etc/rc.conf , -
. . 29.2.
566
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
, /etc/rc.firewall. Ɍɚɛɥɢɰɚ 29.2. Ⱦɨɫɬɭɩɧɵɟ ɬɢɩɵ ɛɪɚɧɞɦɚɭɷɪɨɜ open
Ɋɚɡɪɟɲɚɟɬ ɩɪɨɯɨɠɞɟɧɢɟ ɜɫɟɯ ɜɯɨɞɹɳɢɯ ɢ ɢɫɯɨɞɹɳɢɯ ɩɚɤɟɬɨɜ
closed
Ɂɚɩɪɟɳɚɟɬ ɜɫɟ ɩɚɤɟɬɵ IP, ɤɪɨɦɟ ɩɪɨɯɨɞɹɳɢɯ ɱɟɪɟɡ ɢɧɬɟɪɮɟɣɫ
client
ɍɫɬɚɧɚɜɥɢɜɚɟɬ ɩɪɚɜɢɥɚ ɞɥɹ ɡɚɳɢɬɵ ɬɨɥɶɤɨ ɞɚɧɧɨɣ ɦɚɲɢɧɵ
simple
ɍɫɬɚɧɚɜɥɢɜɚɟɬ ɩɪɚɜɢɥɚ, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɟ ɞɥɹ ɡɚɳɢɬɵ ɜɫɟɣ ɫɟɬɢ
unknown
He ɡɚɝɪɭɠɚɟɬ ɧɢɤɚɤɢɟ ɩɪɚɜɢɥɚ, ɤɪɨɦɟ ɫɬɚɧɞɚɪɬɧɨɝɨ ɡɚɩɪɟɳɚɸɳɟɝɨ ɫ ɢɧɞɟɤɫɨɦ 65535
Ɂɚɝɪɭɠɚɟɬ ɩɪɚɜɢɥɚ ɢɡ ɮɚɣɥɚ ɫ ɭɤɚɡɚɧɧɵɦ ɢɦɟɧɟɦ
ɡɚɤɨɥɶɰɨɜɵɜɚɧɢɹ (IɨɈ)
" ,
"
IPFW,
client
simple. . ;
, ,
/etc/firewall.conf. ipfw: add deny add deny add allow add 65000
tcp all all
from badhost.com to any from evil.isp.com/16 to www.somewhere.com 80 from goodhost.evil.isp.com to www.somewhere.com
allow
all
from
any
to
( firewall_type="/etc/firewall.conf"
firewall_type)
/etc/rc.conf:
/etc/netstart 100, 200, 300 . . — ,
/etc/ firewall.conf all 65000 . ,
80
any
allow
. IPFW
man ipfw http://www.freebsd.org/ handbook.
FreeBSD Handbook
ɉɪɟɞɨɬɜɪɚɳɟɧɢɟ ɜɬɨɪɠɟɧɢɣ ɢ ɜɡɥɨɦɨɜ , . ,
"rootkit"
, .
, .
, . .
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
567
ɂɫɩɨɥɶɡɨɜɚɧɢɟ PortSentry PortSentry,
Psionic Software, —
,
,
, -
,
, .
,
PortSentry
, IPFW, PortSentry
.
" TCP-,
" UDP-
;
, ,
,
,
. , PortSentry (/usr/ports/security/portsentry). /usr/local/bin, /usr/local/etc/portsentry.conf. PortSentry
portsentry — . , PortSentry. UDP_PORTS.
, —
TCP_PORTS
;
, . ,
—
—
,
, , .
"),
,
("
.
,
, .
. !
,
143 —
,
,
143
.
,
143
.
—
. . :
IPFW ( )
IPFW
).
, /sbin/ipfw,
, (black-hole routes) ( ,
KILL_ROUTE PortSentry , :
. IPFW,
,
# , к о FreeBSD ( # ), # . KILL ROUTE="/sbin/ipfw add 1 deny all from $TARGET$ :255.255.255 .255 to any"
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
568
IPFW
,
, ,
,
,
IPFW: # FreeBSD ( .) KILL_ROUTE="route add -net $TARGET$ -netmask 255.255.255.255 127.0.0.1 ~ blackhole"
PortSentry . 29.1 ( , /usr/local/etc/rc.d,
-
. PortSentry , portsentry.sh).
PortSentry
29.1.
.
PortSentry.
#!/bin/sh PORTSENTRY="/usr/local/bin/portsentry" case
"$1" in start) ${PORTSENTRY} -tcp && echo " Starting PortSentry TCP mode..." ${PORTSENTRY} -udp && echo " Starting PortSentry UDP mode..." ; ; stop) killall 'basename ${PORTSENTRY} ; ; *) echo "" echo "Usage: 'basename $0' echo " " ;;
{
start
|
stop }
"
esac
ɋɈȼȿɌ
ɉɪɢ ɪɚɛɨɬɚɸɳɟɦ ɞɟɦɨɧɟ PortSentry ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ sockstat ɦɨɠɧɨ ɭɡɧɚɬɶ, ɤɚɤɢɟ ɩɨɪɬɵ ɨɧ ɩɪɨɫɥɭɲɢɜɚɟɬ: # sockstat USER root root root root root root
COMMAND PID portsent 2432 portsent2432 portsent2432 portsent2432 portsent2432 portsent2432
FD PROTO 0 udp4 1 udp4 2 udp4 3 udp4 4 udp4 5 udp4
LOCAL *: 1 *:7 *:9 *:69 *:161 *:162
ADDRESSFOREIGN * * * * * * * * * * * *
ADDRESS
, , local/etc/portsentry.blocked.tcp /usr/local/etc/portsentry.blocked.udp PortSentry , , .
,
/usr/ TCP UDP.
, . -
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
PortSentry. IPFW,
569
, ,
, , .
ɋɈȼȿɌ ɉɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɦɟɬɨɞɚ IPFW KILL_ROUTE ɬɟɤɭɳɢɟ ɛɥɨɤɢɪɭɸɳɢɟ ɩɪɚɜɢɥɚ ɦɨɠɧɨ ɩɨɥɭɱɢɬɶ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ ipfw -a list: # ipfw 00001
-a
list 1
44
deny
ip
from
209.237.26.165
to
any
ɉɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɦɚɪɲɪɭɬɨɜ ɜ ɧɢɤɭɞɚ ɤɨɧɬɪɨɥɢɪɨɜɚɬɶ ɪɚɛɨɬɭ ɦɨɠɧɨ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ netstat -rn: # netstat -rn Routing tables Internet: Destination . . .
Gateway
209.237.26.165/32 127.0.0.1 UGScB
Flags
0 0
Refs
Use
Netif Expire
loO
Ɏɥɚɝ ȼ ɨɬɦɟɱɚɟɬ ɦɚɪɲɪɭɬ ɜ ɧɢɤɭɞɚ ["black-hole" route], ɩɨ ɤɨɬɨɪɨɦɭ ɩɚɤɟɬɵ ɩɪɨɫɬɨ ɨɬɜɟɪɝɚɸɬɫɹ. ɋɈȼȿɌ ɉɪɢ ɤɚɠɞɨɦ ɜɵɹɜɥɟɧɢɢ ɚɬɚɤɢ ɜ ɮɚɣɥ /var/log/messages ɞɨɛɚɜɥɹɟɬɫɹ ɫɬɪɨɤɚ, ɩɨɤɚɡɵɜɚɸɳɚɹ, ɱɬɨ ɩɪɟɞɩɪɢɧɹɥ ɜ ɨɬɜɟɬ ɧɚ ɧɟɟ ɞɟɦɨɧ PortSentry: Jun 2 23:50:56 stripes portsentry[2430]: attackalert: Connect from host: 209.237.26.165/209.237.26.165 to TCP port: 1 Jun 2 23:50:56 stripes portsentry[2430]: attackalert: Host 209.237.26.165 has been blocked via wrappers with string: "ALL: 209.237.26.165" Jun 2 23:50:56 stripes portsentry[2430]: attackalert: Host 209.237.26.165 has been blocked via dropped route using command: "/sbin/ipfw add 1 deny all from 209.237.26.165:255.255.255.255 to any" ȿɳɟ ɨɞɧɨ ɫɪɟɞɫɬɜɨ ɨɬ ɫɨɡɞɚɬɟɥɟɣ ɞɟɦɨɧɚ PortSentry — ɩɪɨɝɪɚɦɦɚ Logcheck (ɞɨɫɬɭɩɧɚɹ ɜ ɤɚɬɚɥɨɝɟ /usr/ports/security/logcheck] — ɩɨɡɜɨɥɹɟɬ ɚɧɚɥɢɡɢɪɨɜɚɬɶ ɷɬɨɬ ɢ ɞɪɭɝɢɟ ɠɭɪɧɚɥɶɧɵɟ ɮɚɣɥɵ ɢ ɩɨɫɵɥɚɬɶ ɚɞɦɢɧɢɫɬɪɚɬɨɪɭ ɟɠɟɞɧɟɜɧɵɣ ɨɬɱɟɬ ɨ ɥɸɛɵɯ ɧɟɨɛɵɱɧɵɯ ɫɨɛɵɬɢɹɯ ɢɥɢ ɜɵɹɜɥɟɧɧɵɯ ɚɬɚɤɚɯ.
ɉɊȿȾɍɉɊȿɀȾȿɇɂȿ Ʉɚɤ ɢ ɜ ɫɥɭɱɚɟ ɫɢɫɬɟɦɵ IPFW, ɛɭɞɶɬɟ ɜɧɢɦɚɬɟɥɶɧɵ ɩɪɢ ɬɟɫɬɢɪɨɜɚɧɢɢ ɞɟɦɨɧɚ PortSentry. Ɉɱɟɧɶ ɥɟɝɤɨ ɧɚɫɬɪɨɢɬɶ ɟɝɨ ɬɚɤ, ɱɬɨɛɵ ɫɢɫɬɟɦɚ, ɫ ɩɨɦɨɳɶɸ ɤɨɬɨɪɨɣ ɜɵ ɭɩɪɚɜɥɹɟɬɟ ɫɜɨɟɣ ɦɚɲɢɧɨɣ ɫ Ɉɋ FreeBSD, ɨɤɚɡɚɥɚɫɶ ɡɚɛɥɨɤɢɪɨɜɚɧɧɨɣ, ɧɚɩɪɢɦɟɪ, ɩɪɢ ɩɨɩɵɬɤɟ ɩɨɞɤɥɸɱɢɬɶɫɹ ɫ ɩɨɦɨɳɶɸ Telnet ɤ ɩɨɪɬɭ 1, ɱɬɨɛɵ ɭɡɧɚɬɶ, ɱɬɨ ɩɨɥɭɱɢɬɫɹ. ȼ ɪɟɡɭɥɶɬɚɬɟ ɜɚɲ ɯɨɫɬ ɨɤɚɠɟɬɫɹ ɡɚɛɥɨɤɢɪɨɜɚɧɧɵɦ, ɢ ɜɫɟ ɨɫɬɚɥɶɧɵɟ ɩɨɩɵɬɤɢ ɩɨɞɤɥɸɱɟɧɢɹ ɩɨ ɡɚɜɟɪɲɟɧɢɢ ɜɪɟɦɟɧɢ ɨɠɢɞɚɧɢɹ ɨɤɨɧɱɚɬɫɹ ɧɟɭɞɚɱɟɣ. ɉɪɢɞɟɬɫɹ ɩɨɞɤɥɸɱɚɬɶɫɹ ɫ ɞɪɭɝɨɝɨ ɯɨɫɬɚ ɢɥɢ ɫ ɮɢɡɢɱɟɫɤɨɣ ɤɨɧɫɨɥɢ, ɱɬɨɛɵ ɭɞɚɥɢɬɶ ɞɨɛɚɜɥɟɧɧɨɟ ɩɨ ɨɲɢɛɤɟ ɩɪɚɜɢɥɨ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ ipfw delete 1 ɥɢɛɨ route delete /32. ȿɫɥɢ ɧɟɨɛɯɨɞɢɦɨ ɡɚɳɢɬɢɬɶ ɨɩɪɟɞɟɥɟɧɧɵɟ ɯɨɫɬɵ [ɧɚɩɪɢɦɟɪ, ɜɚɲɢ ɫɨɛɫɬɜɟɧɧɵɟ ɦɚɲɢɧɵ) ɨɬ ɛɥɨɤɢɪɨɜɚɧɢɹ ɞɟɦɨɧɨɦ PortSentry, ɞɨɛɚɜɶɬɟ ɢɯ IP-ɚɞɪɟɫɚ ɜ ɮɚɣɥ /usr/local/etc/ portsentry. ignore.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɮɚɣɥɚ /etc/hosts.allow -
/etc/hosts.allow .
570
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
PortSentry. IP-
, , .
/etc/hosts.allow, , :
sendmail sendmail
: localhost : allow : .nice.guy.exanple.com : allow
sendmail
:
.evil.craclcer.example.com
sendmail sendmail sendmail
: : :
231.21.15.0/255.255.255.0 : deny 12.124.231. : deny ALL : allow
:
IPFW
deny
,
.
: ), ,
IP—
( (
).
,
(
), ,
: ,
DNS,
— ,
IP-
.
IP-
.
"
"
,
, .
,
, "
, ,
/etc/hosts.allow "deny".
"allow"
,
". ,
, ,
(
,
,
). .
fingerd
: fingerd
: ALL \ : spawn (echo Finger. | \ /usr/bin/mail -s "tcpd\ : %u@%h[%a] fingered me!" root) & \ : deny
%u, %h % man 5 hosts_access man hosts_options.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɫɢɫɬɟɦɵ Tripwire .
, .
,
.
,
. Tripwire,
/usr/ports/security/tripwire. , ,
, ,
,
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
.
(
571
, ,
sshd Tripwire , "
. . Tripwire make install
" /var/adm/tcheck.
-
, ,
Tripwire, . ,
,
,
.
FreeBSD
. make install, TRIPWIRE_FLOPPY=YES
make
install: # make install TRIPWIRE_FLOPPY=YES 3:
### ### ### ### ### ###
: ./databases/tw.db_stripes.somewhere.com. He !
### ### (Tripwire ### '/var/adm/tcheck/databases'.) # /dev/rfdOc: 2880 sectors in 80 cylinders of 2 tracks, 18 1.4MB in 5 cyl groups (16 c/g, 0.28MB/g, 32 i/g) super-block backups (for fsck -b #) at: 32, 632, 1184, 1784, 2336 mount /dev/fdOc /mnt # # .
sectors
Tripwire, a tripwire, twcheck
tw.config —
gunzip
,
. ,—
tripwire 14. ,
,
tripwire .
/var/adm/tw.config, ,
, "
" , /usr/sbin/ sshd:
# tripwire ... ### Phase 3: Creating file information database ### Phase 4: Searching for inconsistencies ### ### Total files scanned: 16803 ### Files added: 0
,
572
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
### ### ### ### ### ### ### changed: ###Phase
Files deleted: Files changed:
14321
After applying rules: Changes discarded: 14320 Changes remaining: 1 -r-xr-xr-x root 197940 (null) /usr/sbin/sshd 5: Generating observed/expected pairs for changed files
### ### Attr ### ======
Observed (what it is) Expected (what it should be) ======================== ============================
/usr/sbin/sshd st__mtime: Sun Jun 3 00:55:51 2001 Sat Apr 28 21:17:19 2001 st_ctime: Sun Jun 3 00:55:51 2001 Sat Apr 28 21:17:19 2001
, Tripwire.
, ,
sshd. Tripwire, -update:
Tripwire, .
# tripwire -update /usr/sbin/sshd
( . gzip # # # #
, /var/adm/tcheck/ databases) ; Tripwire:
gzip databases/tw.db_stripes.somewhere.com mount /dev/fdO /floppy cp databases/tw.db_stripes.somewhere.com /floppy umount /floppy
ɂɞɟɹ ɯɪɚɧɟɧɢɹ ɛɚɡɵ ɞɚɧɧɵɯ ɫɢɫɬɟɦɵ Tripwire ɧɚ ɞɢɫɤɟɬɟ ɫɜɹɡɚɧɚ ɫ ɩɪɢɧɰɢɩɨɦ ɩɪɨɫɬɪɚɧɫɬɜɟɧɧɨɝɨ ɩɪɨɦɟɠɭɬɤɚ (air gap] — ɩɪɢɧɰɢɩɨɦ ɡɚɳɢɬɵ, ɫɨɫɬɨɹɳɢɦ ɬɨɦ, ɱɬɨ ɧɢɤɚɤɨɣ ɚɜɬɨɦɚɬɢɱɟɫɤɢɣ ɩɪɨɰɟɫɫ ɧɟ ɦɨɠɟɬ ɩɟɪɟɧɟɫɬɢ ɞɚɧɧɵɟ ɫ ɨɞɧɨɣ ɫɬɨɪɨɧɵ ɷɬɨɝɨ ɩɪɨɦɟɠɭɬɤɚ ɧɚ ɞɪɭɝɭɸ. Ʌɸɛɚɹ ɫɢɫɬɟɦɚ, ɜ ɤɨɬɨɪɨɣ ɞɚɧɧɵɟ ɩɟɪɟɞɚɸɬɫɹ ɩɪɨɝɪɚɦɦɧɨ ɢɡ ɬɨɱɤɢ Ⱥ ɜ ɬɨɱɤɭ Ȼ, ɩɨɬɟɧɰɢɚɥɶɧɨ ɩɨɞɜɟɪɠɟɧɚ ɜɬɨɪɠɟɧɢɸ ɬɚɥɚɧɬɥɢɜɨɝɨ ɜɡɥɨɦɳɢɤɚ. ɂɦɟɹ ɞɨɫɬɚɬɨɱɧɨ ɜɪɟɦɟɧɢ ɢ ɩɪɢɥɨɠɢɜ ɨɩɪɟɞɟɥɟɧɧɵɟ ɭɫɢɥɢɹ, ɬɨɬ, ɤɬɨ ɧɚɦɟɪɟɧ ɡɚɩɨɥɭɱɢɬɶ ɜɚɲɢ ɞɚɧɧɵɟ, ɫɦɨɠɟɬ ɩɨɥɭɱɢɬɶ ɞɨɫɬɭɩ ɤ ɚɪɯɢɜɚɦ, ɞɚɠɟ ɟɫɥɢ ɢɫɩɨɥɶɡɭɸɬɫɹ ɫɥɨɠɧɵɟ ɫɯɟɦɵ ɬɢɩɚ ɜɬɨɪɨɝɨ "ɫɤɪɵɬɨɝɨ" ɠɟɫɬɤɨɝɨ ɞɢɫɤɚ, ɦɨɧɬɢɪɭɸɳɟɝɨɫɹ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɧɨɱɶɸ ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɪɟɡɟɪɜɧɨɝɨ ɤɨɩɢɪɨɜɚɧɢɹ. ɗɬɨ ɜɫɟ ɪɚɜɧɨ ɚɜɬɨɦɚɬɢɡɢɪɨɜɚɧɧɚɹ ɩɪɨɰɟɞɭɪɚ, ɩɨɷɬɨɦɭ ɨɧɚ ɭɹɡɜɢɦɚ ɞɥɹ ɠɟɥɚɸɳɟɝɨ ɜɡɥɨɦɚɬɶ ɟɟ ɡɚɳɢɬɭ. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɩɪɨɦɟɠɭɬɨɱɧɨɝɨ ɩɪɨɫɬɪɚɧɫɬɜɚ — ɷɬɨ "ɩɨɫɥɟɞɧɟɟ" ɫɪɟɞɫɬɜɨ, ɞɚɸɳɟɟ ɝɚɪɚɧɬɢɪɨɜɚɧɧɭɸ ɡɚɳɢɬɭ ɡɚ ɫɱɟɬ ɦɟɧɟɟ ɭɞɨɛɧɨɣ ɩɪɨɰɟɞɭɪɵ. ȿɫɥɢ ɞɚɧɧɵɟ ɯɪɚɧɹɬɫɹ ɮɢɡɢɱɟɫɤɢ ɨɬɞɟɥɶɧɨ ɨɬ ɦɚɲɢɧɵ, ɩɨɞɤɥɸɱɟɧɧɨɣ ɤ ɫɟɬɢ, ɧɢɤɚɤɨɣ ɯɚɤɟɪ ɧɟ ɫɦɨɠɟɬ ɢɯ ɡɚɩɨɥɭɱɢɬɶ. ɂɦɟɧɧɨ ɬɚɤ ɭɫɬɪɨɟɧɵ ɫɟɬɢ ɦɟɞɢɰɢɧɫɤɢɯ ɢ ɝɨɫɭɞɚɪɫɬɜɟɧɧɵɯ ɭɱɪɟɠɞɟɧɢɣ: ɤɪɢɬɢɱɟɫɤɢɟ ɛɚɡɵ ɞɚɧɧɵɯ ɯɪɚɧɹɬɫɹ ɧɚ ɦɚɲɢɧɚɯ, ɧɟ ɩɨɞɤɥɸɱɟɧɧɵɯ ɤ ɫɟɬɢ. Ɉɧɢ ɨɬɞɟɥɟɧɵ ɩɪɨɫɬɪɚɧɫɬɜɨɦ ɢ ɩɨɷɬɨɦɭ ɡɚɳɢɳɟɧɵ (ɩɨ ɤɪɚɣɧɟɣ ɦɟɪɟ ɧɚɫɬɨɥɶɤɨ, ɧɚɫɤɨɥɶɤɨ ɦɨɠɧɨ ɞɨɜɟɪɹɬɶ ɚɞɦɢɧɢɫɬɪɚɬɨɪɭ, ɢɦɟɸɳɟɦɭ ɮɢɡɢɱɟɫɤɢɣ ɞɨɫɬɭɩ ɤ ɫɢɫɬɟɦɚɦ). ȿɫɥɢ ɫɟɤɪɟɬɧɵɟ ɞɚɧɧɵɟ ɯɪɚɧɹɬɫɹ ɧɚ ɞɢɫɤɟɬɟ, ɤɨɦɩɚɤɬ-ɞɢɫɤɟ CD-R ɢɥɢ ɧɚ ɞɪɭɝɨɦ ɫɴɟɦɧɨɦ ɧɨɫɢɬɟɥɟ ɨɬɞɟɥɶɧɨ, ɡɧɚɱɢɬ, ɞɨ ɜɚɲɢɯ "ɤɥɸɱɟɣ ɨɬ ɝɨɪɨɞɚ" ɧɟ ɫɦɨɝɭɬ ɞɨɛɪɚɬɶɫɹ, ɞɚɠɟ ɟɫɥɢ ɜɫɹ ɫɟɬɶ ɛɭɞɟɬ ɜɡɥɨɦɚɧɚ. Ʉɨɧɟɱɧɨ, ɟɫɥɢ ɜɵ ɧɟ ɡɚɛɵɥɢ ɞɢɫɤɟɬɭ ɜ ɞɢɫɤɨɜɨɞɟ.
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
573
ȿɫɥɢ ɤɚɠɟɬɫɹ, ɱɬɨ ɫɢɫɬɟɦɚ ɜɡɥɨɦɚɧɚ 100
, —
. ,
.
, . Tripwire
PortSentry ,
.
top, —
—
,
,
.
.
, . /var/tmp,
/tmp
, ,
setuid
. /var/log;
,
,
— .
,
.
—
,
,
.
ɉɊɂɆȿɑȺɇɂȿ Ɋɚɫɩɪɨɫɬɪɚɧɟɧɧɨɟ ɦɟɫɬɨ ɩɨɢɫɤɚ ɫɜɢɞɟɬɟɥɶɫɬɜ ɞɟɹɬɟɥɶɧɨɫɬɢ ɜɡɥɨɦɳɢɤɨɜ — ɤɚɬɚɥɨɝ /dew. ɂɦɟɧɧɨ ɬɚɦ ɱɚɫɬɨ ɩɨɦɟɳɚɸɬ ɫɪɟɞɫɬɜɚ ɩɟɪɟɯɜɚɬɚ ɩɚɤɟɬɨɜ ɜɡɥɨɦɳɢɤɢ, ɢɫɩɨɥɶɡɭɸɳɢɟ ɝɨɬɨɜɵɟ ɫɪɟɫɬɜɚ ɢɡ ɫɟɪɢɢ "rootkits" ɢɥɢ ɫɰɟɧɚɪɢɢ. Ɉɞɧɚɤɨ, ɩɨɫɤɨɥɶɤɭ ɬɟɩɟɪɶ Ɉɋ FreeBSD ɢɫɩɨɥɶɡɭɟɬ ɞɢɧɚɦɢɱɟɫɤɢ ɝɟɧɟɪɢɪɭɟɦɭɸ ɮɚɣɥɨɜɭɸ ɫɢɫɬɟɦɭ DEVFS ɞɥɹ ɫɩɟɰɢɚɥɶɧɵɯ ɮɚɣɥɨɜ ɭɫɬɪɨɣɫɬɜ, ɷɬɨɬ ɤɚɬɚɥɨɝ ɭɠɟ ɧɟ ɜɵɡɵɜɚɟɬ ɬɚɤɨɝɨ ɛɟɫɩɨɤɨɣɫɬɜɚ, ɧɨ ɜɫɟ ɪɚɜɧɨ ɧɟ ɩɨɦɟɲɚɟɬ ɡɚ ɧɢɦ ɫɥɟɞɢɬɶ.
, ,
,
, ,
—
.
,
, ,
.
;
, .
"
"
, ,
. , 1.
. .
,
,
,
.
,
,
,
,
. 2.
,
/var/cron/tabs
/etc/crontab;
,
atq .
,
,
" .
"
n ,
574
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
3.
, -
,
. , -
,
. .
,
. 4.
-
/var/log ,
, , .
, , ,
,
-
,— .
5.
, Web(National Infrastructure Protection Center — NIPC): http://www.nipc.gov ( ,
),
.
,
. ("script kiddies") — ,
"
-
,
"
, .
-
. 6.
— Web-
, /usr/local —
,
.
. ,
FreeBSD " ,
"
" Tripwire,
,
", /usr/local. ,
7. ,
.
—
.
-
;
, NIPC
.
Ⱥɬɚɤɢ ɧɚ ɫɥɭɠɛɵ (DoS) , .
(Denial of Service
DoS). .
, , .
, .
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
, IPFW, PortSentry ;
,
575
. ,
, .
,
. , ,
. .
,
ping (ICMP) ,
,
.
,
DDoS,
, ,
, . . .
,
, ,
, ,
.
Ɉɝɪɚɧɢɱɟɧɢɟ ɤɨɥɢɱɟɫɬɜɚ ɩɨɪɨɠɞɚɟɦɵɯ ɫɟɪɜɟɪɧɵɯ ɩɪɨɰɟɫɫɨɜ DoS "
Apache, Sendmail
"
, .
,
, .
,
,
,
,
. ,
-
. Apache
MaxClients
150, .
, CGI
, ,
,
Apache , HTML-
.
, Telnet
SSH, , , Apache.
Apache (apachectl stop) HTTP IPFW ,
. IPdeny from MaxClients, .
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
576
Sendmail: . , /etc/mail/sendmail.cf Sendmail " 12
,
MaxDaemonChildren, (make restart). ", .
, ,
Sendmail
. , ,
( /etc/ ,
, ,
),
login.conf . , Apache, ,
— nobody , chfn. login.conf:
baduser:\ :cputime=30m:\ :openfiles=24:\ :maxproc=32:\ :memoryuse=l6m:\ :tc=default:
cap_mkdb /etc/login.conf .
Ɂɚɳɢɬɚ ɨɬ ɚɬɚɤ ɫ ɩɥɚɰɞɚɪɦɚ "
"
. -
, , . "smurf")
ping (
,
(
ping ), —
,
. ping. ,
( UDP-
)
.
smurf
,
echo "
echo (
.
-
", FreeBSD
). ,
, ping.
-
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
FreeBSD,
577
icmp_bmcastecho="NO" ,
/etc/defaults/rc.conf . GENERIC ICMP-
ICMP_BANDLIM, (
),
.
Ɏɢɡɢɱɟɫɤɚɹ ɡɚɳɢɬɚ , .
, , ,
. (secure co-location facilities) Internet. , , . BIOS,
.
,
, ,
root
.
, "
/etc/ttys,
", . .
,
: console
none
unknown
off
insecure
CD-ROM .
,
,
, ,
. .
Ⱦɪɭɝɢɟ ɢɫɬɨɱɧɢɤɢ ɢɧɮɨɪɦɚɰɢɢ ɨ ɡɚɳɢɬɟ —
FreeBSD. ,
,
Internet. ( FreeBSD,
),
.
ɋɬɪɚɧɢɰɚ ɫɩɪɚɜɨɱɧɨɝɨ ɪɭɤɨɜɨɞɫɬɜɚ man security (Matthew Dillon), man security ,
:
578
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
.
, FreeBSD Handbook.
ɋɩɢɫɤɢ ɪɚɫɫɵɥɤɢ [email protected]. [email protected] subscribe freebsd-security . .
, . ,
UNIX
, — Bugtraq. ,
Internet,
FreeBSD. www.securityfocus.com,
, Bugtraq
http:// .
Ɋɭɤɨɜɨɞɫɬɜɚ ɩɨ ɡɚɳɢɬɟ Ɉɋ FreeBSD (security advisories) FreeBSD (FreeBSD Security Officer) [email protected]
[email protected] . http://www.freebsd.org/security/.
:
FreeBSD FreeBSD,
,
. -
,
,
. [email protected],
. (
.
FreeBSD, , (-STABLE -CURRENT). . , make world.
15). ,
.
,
,
18.
Web-ɪɟɫɭɪɫɵ FreeBSD, http://www.freebsd.org/security/, FreeBSD . ,
, FreeBSD , .
. Security
How-To ,
(http://people.freebsd.org/~jkb/howto.html) FreeBSD. ,
Ƚɥɚɜɚ 29. Ɂɚɳɢɬɚ ɫɟɬɢ
CERT (http://www.cert.org) —
.
579
Internet -
CERT
.
, .
SecurityFocus —
,
Bugtraq.
,
: .
.
FreeBSD, .
—
http://www.securityfocus.com.
Ʉɧɢɝɢ /etc/rc.firewall :" (Firewalls & Internet Security) (William R. Cheswick) (Steven M. Bellowin) , " Internet" (Building Internet Firewalls, 2nd Edition) (Brent Chapman) (Elizabeth Zwicky) .
Internet"
SecurityFocus
"Library" ("
").
30
ɋɟɪɜɟɪ ɞɨɦɟɧɧɵɯ ɢɦɟɧ
► ȼɜɟɞɟɧɢɟ ɜ ɫɢɫɬɟɦɭ BIND ► ɉɨɞɤɥɸɱɟɧɢɟ ɞɟɦɨɧɚ ɫɟɪɜɟɪɚ ɢɦɟɧ ► Ɏɚɣɥ ɤɨɧɮɢɝɭɪɚɰɢɢ ɫɢɫɬɟɦɵ BIND [namecl.conf] ► ɋɨɡɞɚɧɢɟ ɮɚɣɥɚ ɡɨɧɵ ► Ʉɨɧɮɢɝɭɪɢɪɨɜɚɧɢɟ ɤɷɲɢɪɭɸɲɟɝɨ ɫɟɪɜɟɪɚ ɢɦɟɧ
Ƚɥɚɜɚ 30. ɋɟɪɜɟɪ ɞɨɦɟɧɧɵɯ ɢɦɟɧ
, (DNS) IPFreeBSD
22
23, Internet .
581
; -
. FreeBSD
, ,
,
. — .
Web-
,
,—
, ,
.
"
",
DNS,
,
,
-
.
DNS,
,
,
. DNS.
,
—
.
FreeBSD . DNS
.
UNIX,
Internet, Internet Software Consortium (ISC).
BIND,
ȼɜɟɞɟɧɢɟ ɜ ɫɢɫɬɟɦɭ BIND ,
BIND ( (named),
Berkeley Internet Name Domain) , . BIND .
FreeBSD,
ɋɬɪɭɤɬɭɪɚ ɫɢɫɬɟɦɵ ɞɨɦɟɧɧɵɯ ɢɦɟɧ (DNS) — Internet , . ,
( , ,
. — top-level domains , DNS somewhere.com ( , nsl.somewhere.com). DNS . Network Solutions,
, . " Internet Network Solutions, Inc. , somewhere.com) — com, org, net (.), ( TLD) , DNS Internet. "
. .—
, "
, , .
"
",
"
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
582
:
Network Solutions . DNS,
, TCP/IP, —
,
. 30.1.
,
DNS
,
.
,
.
DNS.
(
NS), .
-
DNS, ,
.
,
DNS
,
-
DNS,
.
Ʉɨɪɧɟɜɵɟ ɫɟɪɜɟɪɵ Ɋɢɫɭɧɨɤ 30.1.
DNS, DNS,
DNS ,
. , DNS
Internet. DNS
,
, DNS ,
,
. DNS "
"
-
. .
Ɂɨɧɵ BIND
IPDNS.
—
, (.),
somewhere.com. —
, ,— — , cluster.somewhere.com. —
, ,
, ,
. IP-
, com. com. ! ; . . DNS,
.
Ƚɥɚɜɚ 30. ɋɟɪɜɟɪ ɞɨɦɟɧɧɵɯ ɢɦɟɧ
DNS,
IP-
583
,
. ARPAnet (
DNS .
, addr.arpa. .in-addr.arpa. addr.arpa. , — ( ).
IP-
22) DNS
IP,
CCC.BBB.AAA.in, 131.41.64.in-
, 64.41.131.* , ,
IP,
.
,
—
DNS;
.
Ɏɚɣɥɵ ɢ ɩɪɨɝɪɚɦɦɵ ɫɢɫɬɟɦɵ BIND BIND .
,
FreeBSD,
,
, .
•
/usr/sbin/named.
•
/usr/sbin/ndc.
. DNS. .
, •
53,
,
.
/etc/namedb. BIND,
,
( ).
•
BIND.
/etc/namedb/named.conf. BIND " ", .
ȼɤɥɸɱɟɧɢɟ ɞɟɦɨɧɚ ɫɟɪɜɟɪɚ ɢɦɟɧ BIND
FreeBSD —
.
, FreeBSD,
/etc/rc.conf:
named_enable="YES"
,
named
.
ndc:
# ndc start new pid is 12717
. BIND. ɉɊɂɆȿɑȺɇɂȿ Ⱦɥɹ ɨɛɟɫɩɟɱɟɧɢɹ ɦɚɤɫɢɦɚɥɶɧɨɣ ɩɪɨɢɡɜɨɞɢɬɟɥɶɧɨɫɬɢ ɞɨɛɚɜɶɬɟ ɜ ɮɚɣɥ /etc/resolv.conf ɫɬɪɨɤɭ nameserver, ɫɫɵɥɚɸɳɭɸɫɹ ɧɚ ɚɞɪɟɫ ɡɚɤɨɥɵɞɨɜɵɜɚɧɢɹ (127.0.0.1) ɤɚɤ ɧɚ ɨɫɧɨɜɧɨɣ ɫɟɪɜɟɪ
-
584
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
ɢɦɟɧ. ɗɬɨ ɨɛɟɫɩɟɱɢɬ ɧɚɢɛɨɥɟɟ ɛɵɫɬɪɵɣ ɫɩɨɫɨɛ ɩɨɢɫɤɚ ɢɦɟɧ ɜ ɫɢɫɬɟɦɟ DNS ɧɚ ɥɨɤɚɥɶɧɨɣ ɦɚɲɢɧɟ. ɍɛɟɞɢɬɟɫɶ, ɱɬɨ ɩɟɪɟɞ ɞɨɩɨɥɧɢɬɟɥɶɧɵɦɢ ɫɟɪɜɟɪɚɦɢ ɢɦɟɧ ɢɦɟɟɬɫɹ ɫɥɟɞɭɸɳɚɹ ɫɬɪɨɤɚ: search somewhere.com nameserver 127.0. 0. 1 nameserver 64.41.131.167
BIND
"
"
27, ,
(
)
"
,
", — ,
, .
FTP " ("chroot jail").
" , .
BIND
, "
,
,—
" ("sandbox"),
" /etc/namedb .
"
".
. " named , named BIND .
,
sandbox (
, ), /etc/named/
,
sandbox bind: # chown -R bind:bind /etc/namedb/sandbox # chmod -R 750 /etc/namedb/sandbox
/etc /var/run /etc/namedb/sandbox/etc. /var/run,
/etc/localtime
sandbox. localtime .
# mkdir /etc/namedb/sandbox/etc # /etc/localtime /etc/namedb/sandbox/etc # mkdir -p /etc/namedb/sandbox/var/run
,
/etc/rc.conf:
named_flags="-u bind
-g bind
-t
:
named " :
) - . # ndc -
/etc/namedb/sandbox"
ndc ( ",
/etc/namedb/sandbox/var/run/ndc start
, sandbox.
named
,
Ɏɚɣɥ ɤɨɧɮɢɝɭɪɚɰɢɢ ɫɢɫɬɟɦɵ BIND (named.conf) ,
, ,
,
Ƚɥɚɜɚ 30. ɋɟɪɜɟɪ ɞɨɦɟɧɧɵɯ ɢɦɟɧ
585
. . /etc/namedb/named.conf . , BIND ; , , (
, 8(
—
FreeBSD 9) , ). BIND 8, , .
BIND 4
BIND 4,
30. 1
named.conf, . Ʌɢɫɬɢɧɝ 30.1. ɉɪɢɦɟɪ ɮɚɣɥɚ /etc/named b/named .conf /* *
BIND 8 */
logging { category category
lame-servers { cname { null;
null; };
};
>; options { directory "/etc/namedb" ; } ; zone "somewhere.com" { type master; file " somewhere . com" ; }; zone "131.41. 64. in-addr.arpa" { type master; file "131 . 41 . 64 .in-addr.arpa" ; {; zone
"elsewhere.com" { type slave; file "slave/elsewhere . com" ; masters { 113.125.2.145; }; }; zone " . " { type hint; file "named. boot" ; }; zone "0.0 .127. in-addr.arpa" { type master;
file
"localhost.rev"; );
zone "O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.IP6. INT" { type master; file "localhost.rev"; } ;
, "
")
( ,
-
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
586
({}). named.conf. logging
options, controls,
zone. ;
named.conf (//),
: /*
*/. (
#). FreeBSD,
named.conf, ,
30.1,
-
.
,
. named.conf )
-
( named
ndc: # ndc Reload
reload initiated.
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɩɟɪɟɧɚɩɪɚɜɥɹɸɳɟɝɨ ɫɟɪɜɟɪɚ . 30.1 (forwarder) ,
, "
, —
"
, DNS. (
, FreeBSD,
, .)
,
Internet. DNS, /etc/namedb/named.root). .
(
. DNS-
,
,
: # nslookup www.freebsd.org ns.somewhere.com Server: ns.somewhere.com Address: 64.41.131.172 Non-authoritative answer: Name: freefall.freebsd.org Address: 216.136.204.21 Aliases: www.freebsd.org
FreeBSD
-
,
. )
"
"
( ,
( ).
. 30.2
DNS-
.
, . DNS , .
Ƚɥɚɜɚ 30. ɋɟɪɜɟɪ ɞɨɦɟɧɧɵɯ ɢɦɟɧ
ɋɈȼȿɌ
587
ɍɜɟɥɢɱɟɧɢɟ ɨɛɴɟɦɚ ɩɟɪɟɞɚɜɚɟɦɨɣ DNS-ɢɧɮɨɪɦɚɰɢɢ, ɱɚɫɬɨ ɜɵɡɵɜɚɟɦɨɟ ɧɟɩɪɚɜɢɥɶɧɨɣ ɤɨɧɮɢɝɭɪɚɰɢɟɣ ɫɟɪɜɟɪɨɜ ɢɦɟɧ, ɧɟ ɤɨɦɩɟɧɫɢɪɭɟɬɫɹ ɧɚɥɢɱɢɟɦ ɤɷɲɢɪɭɸɳɢɯ ɫɟɪɜɟɪɨɜ ɢɦɟɧ. ɗɬɢ ɩɟɪɟɧɚɩɪɚɜɥɹɸɳɢɟ ɫɟɪɜɟɪɵ ɩɪɟɞɨɬɜɪɚɳɚɸɬ ɢɡɛɵɬɨɱɧɭɸ ɩɟɪɟɞɚɱɭ ɧɟɧɭɠɧɵɯ ɡɚɩɪɨɫɨɜ ɩɨ ɧɢɡɤɨɫɤɨɪɨɫɬɧɵɦ ɤɚɧɚɥɚɦ ɫɜɹɡɢ, ɧɚɩɪɢɦɟɪ, ɜ ɫɥɭɱɚɹɯ, ɤɨɝɞɚ ɯɨɫɬ DNS, ɪɚɛɨɬɚɸɳɢɣ ɜ ɤɚɱɟɫɬɜɟ ɚɜɬɨɪɢɬɟɬɧɨɝɨ ɫɟɪɜɟɪɚ ɢɦɟɧ ɞɥɹ ɞɨɦɟɧɚ, ɩɨɞɤɥɸɱɟɧ ɩɨ ɧɢɡɤɨɫɤɨɪɨɫɬɧɨɦɭ ɤɚɧɚɥɭ DSL ɢɥɢ ɜɨɨɛɳɟ ɩɨ ɤɨɦɦɭɬɢɪɭɟɦɨɣ ɥɢɧɢɢ. Ȼɟɡ ɤɷɲɢɪɭɸɳɢɯ ɫɟɪɜɟɪɨɜ ɢɦɟɧ ɤɚɠɞɵɣ ɯɨɫɬ ɜ Internet ɛɵɥ ɛɵ ɜɵɧɭɠɞɟɧ ɩɨɫɵɥɚɬɶ ɡɚɩɪɨɫɵ DNS ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɟɦɭ. ɉɪɢ ɧɚɥɢɱɢɢ ɩɟɪɟɧɚɩɪɚɜɥɹɸɳɢɯ ɫɟɪɜɟɪɨɜ ɧɚɝɪɭɡɤɚ ɧɚ ɤɚɧɚɥ ɫɜɹɡɢ ɰɟɥɟɜɨɝɨ ɯɨɫɬɚ ɫɭɳɟɫɬɜɟɧɧɨ ɭɦɟɧɶɲɚɟɬɫɹ. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɩɟɪɟɧɚɩɪɚɜɥɹɸɳɢɯ ɫɟɪɜɟɪɨɜ ɩɨɡɜɨɥɹɟɬ ɛɵɬɶ ɞɨɛɪɨɩɨɪɹɞɨɱɧɵɦ ɝɪɚɠɞɚɧɢɧɨɦ ɫɟɬɟɜɨɝɨ ɫɨɨɛɳɟɫɬɜɚ, ɚ ɬɚɤɠɟ ɭɫɤɨɪɢɬɶ ɢ ɩɨɜɵɫɢɬɶ ɷɮɮɟɤɬɢɜɧɨɫɬɶ ɫɨɛɫɬɜɟɧɧɵɯ ɡɚɩɪɨɫɨɜ.
Ɋɢɫɭɧɨɤ 30.2. DNS ,
DNS DNS
, options IP, .
127.0.0.1 forwarders (127.0.0.1, /* */ /*
)
-
forwarders { 127.0.0.1;
}; */
— , forward only
named .
-
options, -
named .
DNS,
, —
.
forward only,
.
Ʉɨɧɮɢɝɭɪɚɰɢɢ ɝɥɚɜɧɨɝɨ ɢ ɩɨɞɱɢɧɟɧɧɨɝɨ ɫɟɪɜɟɪɚ , FreeBSD. somewhere.com:
-
588
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
zone "somewhere.com" { type master;
file
"somewhere.com"; };
( ,
), (
),
.
-
type, ,
,
,
. type master (
)
,
master, slave, stub, forward slave ( ); .
, , Internet.
master
hint. — —
, , DNS
,
. (slave) —
;
-
. DNS.
:
zone "elsewhere.com" type slave;
{
file "slave/elsewhere.com"; masters { 113.125.2.145; }; };
(
masters ),
. ,
.
file ,
.
named elsewhere.com
/etc/namedb/slave. ( )
(
-
).
ɉɪɢ ɧɚɫɬɪɨɣɤɟ ɩɨɞɱɢɧɟɧɧɨɣ ɡɨɧɵ ɧɚ ɫɟɪɜɟɪɟ ɜɵɩɨɥɧɢɬɟ ɤɨɦɚɧɞɭ ndc reload, ɱɬɨɛɵ ɫɢɫɬɟɦɚ BIND ɜɵɩɨɥɧɢɥɚ ɩɟɪɟɧɨɫ ɡɨɧɵ ɢ ɫɨɡɞɚɥɚ ɧɨɜɵɣ ɮɚɣɥ ɡɨɧɵ ɜ ɡɚɞɚɧɧɨɦ ɨɩɟɪɚ-ɬɨɪɨɦ file ɦɟɫɬɟ. ȼ ɧɟɤɨɬɨɪɵɯ ɫɥɭɱɚɹɯ ɮɚɣɥ ɡɨɧɵ ɩɨɞɱɢɧɟɧɧɨɝɨ ɫɟɪɜɟɪɚ ɧɟ ɨɛɧɨɜɥɹɟɬɫɹ ɫɪɚɡɭ ɩɨɫɥɟ ɢɡɦɟɧɟɧɢɹ ɝɥɚɜɧɨɝɨ ɮɚɣɥɚ ɡɨɧɵ, ɞɚɠɟ ɟɫɥɢ ɜɵɩɨɥɧɟɧɚ ɤɨɦɚɧɞɚ ndc reload ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɩɪɨɫɬɨ ɭɞɚɥɢɬɟ ɮɚɣɥ ɩɨɞɱɢɧɟɧɧɨɣ ɡɨɧɵ ɢ ɩɨɜɬɨɪɧɨ ɜɵɩɨɥɧɢɬɟ ɤɨɦɚɧɞɭ ndc reload ɞɥɹ ɩɟɪɟɫɨɡɞɚɧɢɹ ɮɚɣɥɚ ɢ ɩɟɪɟɧɨɫɚ ɞɚɧɧɵɯ ɡɨɧɵ.
Ⱦɪɭɝɢɟ ɬɢɩɵ ɡɨɧ named.conf, . • stub.
stub DNS-
, NS —
, , .
Ƚɥɚɜɚ 30. ɋɟɪɜɟɪ ɞɨɦɟɧɧɵɯ ɢɦɟɧ
• forward.
589
forward .
zone -
forwarders, options. . hint
• hint.
—
/etc/ -
, ,
namedb/named.root. , "
"
BIND,
, ,
-
.
Ɉɝɪɚɧɢɱɟɧɢɟ ɞɨɫɬɭɩɚ ɤ ɫɥɭɠɛɟ DNS BIND (Access Control List — ACL).
ACL
acl, .
,
;
,
ACL
ACL.
-
. • any. • . • localhost. • localnets.
. . IP-
. ,
111.112.113.114), (1111.112.113.114, key ( ). , . , ,
. IP( , 111.112.113/24), 111.112.113.114")
CIDR ( "
, -
ACL, , , . . ,
named.conf
-
, . options. acl
]
"my_list" { localhost; localnets; another_list; !132.112.14.124; 132.112.14/24; };
acl
named.conf, :
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
590
) • allow-query {
_
_ DNS.
, allow-query
allow-query -
zone — ,
options. . • allow-transfer {
-
options. : ; ... };.
_
_
; ... };.
, -
. zone — options.
allow-transfer allow-transfer , • allow-recursion {
. _
_
; ... };.
,
-
.
-
,
.
• blackhole {
_
_
; ... };.
, .
. ,
, ,
my_list. somewhere.com,
my_list
,
, .
:
options { directory "/etc/namedb"• allow-query { my_list;
}; };
zone "somewhere.com" { type master; file "somewhere.com"; allow-query { my_list; 64.2.43/24; }; allow-transfer { 64.2.43.167; 123.15.221.3;
};
ɋɨɡɞɚɧɢɟ ɮɚɣɥɚ ɡɨɧɵ IP. BIND,
. ( ,
BIND
— Master Zone File, ,
— Master File) . " " .
, , .
(
)
Ƚɥɚɜɚ 30. ɋɟɪɜɟɪ ɞɨɦɟɧɧɵɯ ɢɦɟɧ
591
, .
30.2,
,
(;)
. 30.2.
$TTL
5omewhere.com.
3600
somewhere.com.
; @ @
IN
SOA
stripes.somewhere.com. root.somewhere.com. 20010610 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL
(
DNS IN NS IN NS
stripes.somewhere.com. spots.somewhere.com.
; localhost nsl ns2 mail @
IN IN IN IN IN
; www ftp ;
@
A A A A A
127.0.0.1 64.41.131.162 64.41.131.163 64.41.131.167 64.41.131.162
IN CNAME IN CNAME
@ www.somewhere.com.
MX
IN MX 10
mail.somewhere.com.
, ,
.
30.2
: • • • • •
STTL; SOA (Start-of-Authority); NS ( ); ( ); CNAME ( ; MX (Mail Exchanger).
•
,
— Canonical Name),
—
(Resource
Record — RR), " " ("origin").
.
Ⱦɢɪɟɤɬɢɜɵ e.
. ($). ,
. SORIGIN.
592
ɑɚɫɬɶ 4. FreeBSD ɢ ɪɚɛɨɬɚ ɜ ɫɟɬɢ
• SORIGIN. : SORIGIN < SORIGIN
> [
] SINCLUDE , SINCLUDE. < • STTL.
•
•
•
•
: STTL < STTL ,
> [
] [
, > [
] (Time-to-Live — TTL) . , BIND ( . . ). (Resource Record — RR), TTL . , 30.2, ( IN ). STTL (3600 ), . SGENERATE. : SGENERATE < >< >< >< > [< >] SGENERATE , , . , , IP. < >. : / . 1. < , . $ . < > , SORIGIN. , 0. < >. PTR, CNAME NS.
Ƚɥɚɜɚ 30. ɋɟɪɜɟɪ ɞɨɦɟɧɧɵɯ ɢɦɟɧ
,
•