4

Linux, , .

, . - , .

, , Linux, . , , . " Linux System Administrator's Guide", Linux . , . , , .

4.1 , .

, UNIX , , , (, , - ). account ( ), , .. , ( :-) , . "" - root ().

root

, - ( ), . , , , ( /bin /usr/bin). , , .

root. root , , . (root) () , . , ( ), ( root), , , , . root , , - , .

, /etc, . , root, , , . , root. , :

, , root . - ( ) . : root, , root .

, . Linus Torvalds ( linux) , . () . , , , .

-, root , , , , . ( ), , .

. UNIX, - . UNIX UNIX. root. , root - . . root ; , , .

root . root , root, . " ", , "".

root , , account ( ""), - . . , ? . UNIX root . , . .

UNIX . " " - , . , , .

(. : , ) . . , . : " , ". , , . 90% , , (, ), , - . , , , .

, , . " " . , , , . , "" . - - , . , , , . .

, ``'' , . , . " " - . , . , , . , , , .

- . , UNIX. , , . , . , , UNIX, . ... ', .

, , . , , . , .

, . , . , , , . , " " ( " ").

. , UNIX. , "" , , UNIX . . , , , .

, , . , 386- Cray. root ; . .

4.2

: , .

Linux `` '', Linux. Linux, , . ( rdev ; . ). , , , Slackware .

, . /Image /etc/Image. /vmlinux.

. . , /zImage /etc/zImage.

, , rdev. :

    rdev <kernel-name> <root-device>

<kernel-name>; , a <root-device> - Linux. , /etc/Image /dev/hda2

    # rdev /etc/Image /dev/hda2

rdev , SVGA, . ``rdev -h'' .

. , MS-DOS. , .

, /etc/Image /etc/fd0

    # cp /etc/Image /dev/fd0

Linux.

LILO

- LILO, , . , Linux , .

LILO , , , (, Linux MS-DOS) . LILO, , , ctrl, alt shift . , , , (, ``linux'' ``msdos''). tab , .

LILO - /etc/lilo.conf

    # /sbin/lilo

LILO ``stanza''("" - , ). , . LILO config. , Linux /dev/hda1 MS-DOS /dev/hda2.

    # Tell LILO to modify the boot record on /dev/hda (the first
    # non-SCSI hard drive). If you boot from a drive other than /dev/hda,
    # change the following line.
    boot = /dev/hda

    #  Name  of  the  boot  loader.  No  reason  to  modify  this
    #  un less you're doing some serious hacking on LILO.
    install = /boot/boot.b

    # Have LILO perform some optimization.
    compact

    # Stanza for Linux root partition on /dev/hda1.
    image = /etc/Image   # Location of kernel
       label = linux     # Name of OS (for the LILO boot menu)
       root = /dev/hda1  # Location of root partition
       vga   =   ask     # Tell kernel to ask for SVGA modes at boot time

    # Stanza for MSDOS partition on /dev/hda2.
    other = /dev/hda2    # Location of partition
       table = /dev/hda  # Location of partition table for /dev/hda2
       label = msdos     # Name of OS (for boot menu)

config - , LILO . LILO, .

, , , /sbin/lilo, .

, ``root ='', rdev . LILO .

Linux FAQ ( A) , LILO Boot Manager OS/2. (. : The Linux FAQ - Linux.

4.3

Linux - . , "reset" . - . , , .

. , (, ..). . , , , () .

, shutdown.

    shutdown <time> <warning-message>

<time> - ( hh:mm:ss - ::) <warning-message> - , . (<time>) ``now'', . -r .

, 8:00

       # shutdown -r 20:00

halt . halt , .

! , :

       The system is halted

c "", shutdown halt. ctrl-alt-del , " " .

4.4

, , Linux. account root . , , account ( ). , . , account . , .

.

username

, . larry, karl mdw. , . .

user

ID ( UID) - - , . , .

group

ID ( GID) - . 3.9 ; , . .

password

. passwd .

full name

" " " " . , schmoj ``Joe Schmo'' (. : , ).

home directory

- , . , /home.

login shell

shell - shell, . , , /bin/bash /bin/tcsh.

/etc/passwd . ; :

username:encrypted_password:UID:GID:full_name:home_directory:login_shell

, :

    kiwi:Xv8Q981g71oKK:102:100:Laura Poole:/home/kiwi:/bin/bash

, ``kiwi'' - . ``Xv8Q981g71oKK'' - . . . , , . .

Linux " ", /etc/shadow. /etc/passwd , /etc/shadow . , ..; .

, ``102'', - (UID). . , ``100'', (GID). 100. /etc/group. 4.4.5.

- , ``Laura Poole''. - (/home/kiwi) shell (/bin/bash) . , (username). .

. , /etc/passwd . (GID), .

. shell. ( , spool ).

( ), , - . - , . useradd adduser, . .

, userdel deluser .

"" , ( account ), (``*'') /etc/passwd. , kiwi /etc/passwd

    kiwi:*Xv8Q981g71oKK:102:100:Laura Poole:/home/kiwi:/bin/bash

kiwi .

, . - /etc/passwd. passwd.

,

    # passwd larry

larry.

root . passwd, .

chfn chsh, shell. , .

, . , 3.9. " " (``group ownership''), , , .

, , bin, mail sys. - . . , , , users. , , student, staff faculty.

/etc/group .

    group name:password:GID:other members

:

    root:*:0:
    users:*:100:mdw,larry
    guest:*:200:
    other:*:250:kiwi

, root, root. , users, . (GID) 100. mdw larry. , /etc/passwd ( ) GID. , , ( /etc/group). groups , .

, guest, , other "" . kiwi .

, "" /etc/group . . . ( newgroup) ("*").

addgroup groupadd . /etc/group, . /etc/group.

4.5

, () , , UNIX.

tar

tar . tar

    tar <options> <file1> ... <fileN>

<options> tar, a <file1> ... <fileN> .

,

    # tar cvf backup.tar /etc

, /etc, tar backup.tar. tar -``cvf', () "" tar. ``c'' tar . ``v'' tar . ``f'' , - backup.tar - . tar - .

    # tar xvf backup.tar

. , .

, . , : /etc/hosts, /etc/group /etc/passwd.

    # tar cvf backup.tar /etc/hosts /etc/group /etc/passwd

/etc. , :

    # cd /
    # tar xvf backup.tar

    # cd /etc
    # tar cvf hosts group passwd
. ``cd /etc'' . : , , .

    # tar tvf backup.tar

"" . , .

gzip compress

MS-DOS, tar . , - , . gzip ( tar-)

    # gzip -9 backup.tar

backup.tar backup.tar.gz, . -9 gzip, .

gunzip "" . ``gzip -d''.

gzip - , UNIX. compress. , ( , , gzip ) compress .

compress .Z. , backup.tar.Z - backup.tar, backup.tar.gz - . ( , .z ( ``z''). (. : ) - .gz.

uncompress , compress. gunzip , .

, :

    # tar cvf backup.tar /etc
    # gzip -9 backup.tar

backup.tar.gz. :

    # gunzip backup.tar.gz
    # tar xvf backup.tar

, , .

UNIX, (. : , - " " - , ).

    # tar cvf - /etc | gzip -9c > backup.tar.gz

tar-, /etc, ``-'', . gzip, backup.tar.gz. -c gzip , gzip , backup.tar.gz.

, , :

    # gunzip -c backup.tar.gz | tar xvf -

, gunzip backup.tar.gz . tar, ``-'', .

, tar z, - , gzip.

, (. : )

    # tar cvfz backup.tar.gz /etc

    # tar cvf backup.tar /etc
    # gzip backup.tar

    # tar xvfz backup.tar.Z

    # uncompress backup.tar.Z
    # tar xvf backup.tar

tar gzip.

4.6

. (), ( , , ).

- (mount) .

, tar.

    # tar cvfzM /dev/fd0 /

/dev/fd0. ``M'' (multivolume backup); , , tar .

    # tar xvfzM /dev/fd0

. (/dev/rmt0).

. "backflops", tsx-11.mit.edu.

- . "" . , - , . , , , .

find , - . ( shell) sunsite.unc.edu.

, . ,

    # mke2fs /dev/fd0 1440

/dev/fd0. . high-density 3.5" - 1.44 M 1440 . high-density 5.25" - 1200 .

, , .

       # mount -t ext2 /dev/fd0 /mnt

, /dev/fd0 /mnt. , , /mnt . (. : /mnt , - ). ``-t ext2'' (ext2fs). , mount.

" " (, ) , mount. , mkdir - .

, 4.8.

! / , . () , ( /). , ,

       # umount /dev/fd0

, MS-DOS. , .

4.6

- .

Linux . , . Linux (upgrade) , , . : Linux. - .

, ? , , , , Slackware. Linux . . Slackware . 30 , 10% .

- : , , . : , , , , . Linux - " ", Linux.

, , , , , , , . , . , - "-" .

, , . , 0.96 MCC Interim installation. , . , " ". . MS-DOS Microsoft Windows. . , - . , . , , , . .

, ' , , gcc. , . .

- . , , , , . . (. : ).

Linux- FTP- ( C). sunsite.unc.edu, , pub/Linux/kernel/. (kernel) (patchlevel). , kernel version 0.99 patchlevel 11 0.99.pl11, 0.99.11.

tar-. ( patch- ("") , , patch. , , . , , 0.99.pl11 - linux-0.99.11.tar.gz. ( . : : 0.1-0.99, 1.0.1-1.0.9, 1.1.1-1.1.95, 1.2.1-1.2.13, 1.3.1-1.3.83. , 2- (1.0, 1.2), ( ). (1.1, 1.3) ( Mobile IP, IP-masquarading . . 1.3). , " ", 1.2.13 1.4.1 2.0.)

/usr/src; /usr/src/linux, . /usr/src/linux .

, , /usr/include .

    # ln -sf /usr/src/linux/include/linux /usr/include/linux
    # ln -sf /usr/src/linux/include/asm /usr/include/asm

,

, . ( 3.10 ).

, gcc g++ C C++. , 4.7.3.

cd /usr/src/linux. make config. , " ". , /usr/src/linux/Makefile. , ROOT_DEV - , . :

    ROOT_DEV = CURRENT

, , .

make dep .

, . make Image /usr/src/linux/Image. (. : 1.2 /usr/src/linux/arch/i386/boot/Image ( intel, alpha, mips sparc.) make zImage , , .

( ``cp Image /dev/fd0''), , LILO . 4.2.2 .

, , .

    Incompatible library version
    (  )

, , . , , , . .

FTP- Linux. sunsite.unc.edu /pub/Linux/GCC. "" (``release'') , , . , image-version.tar.gz inc-version.tar.gz, , 4.4.1. (. : 5.3.9.) tar-. /lib and /usr/lib. inc include- /usr/include.

release-version.tar.gz ' ( ). .a .sa /usr/lib. .

, libc.so.version /lib. . , /lib.

, libc 4.4.1 4. , - libc.so.4.4.1. libc.so.4, , /lib. , . , , libc.so.4 .

! , . - libc.so.4 , ( ls cat) . libc.so.4, libc.so.4.4.1:

       # ln -sf /lib/libc.so.4.4.1 /lib/libc.so.4

libm.so.version . ( ) , . . ( 3.10).

gcc

gcc C C++ , - . gcc FTP- Linux. sunsite.unc.edu /pub/Linux/GCC ( ). gcc, , .

, . Linux tar-, , , . , . make , .

USENET comp.os.linux.announce - , . - , FTP-, (ls-lR) , grep, . , . . ( , telnet archie.rutgers.edu, ``archie'' ``help''). .

Linux - Slackware. .tgz, tar-. .tgz Slackware FTP- . Slackware, setup .

, Slackware . , , . , , , , . . : " - ". - .

4.7

- . ; .

, . , , - . , , , /mnt, , ( 4.6.2). ( ). ( /mnt) , . (. : /mnt , , , /mnt ( ), "", ). . " " /. , , /usr - /usr. , , /usr, .

mount .

       mount -av

/etc/rc ( , 4.10.1). ount -av /etc/fstab. fstab .

       # device       directory      type     options
       /dev/hda2       /             ext2     defaults
       /dev/hda3       /usr          ext2     defaults
       /dev/hda4       none          swap     sw
       /proc           /proc         proc     none

- ( ). - . - (, ext2 ext2fs minix Minix filesystems). 4.1 , Linux.

1.1.37.

                 

Second Extended Filesystem  ext2          Linux
Extended Filesystem         ext          ext2
Minix Filesystem            minix        Minix; 
                                               
Xia Filesystem              xia          ext2;  
UMSDOS Filesystem           umsdos       Linux  
                                               MS-DOS
MS-DOS Filesystem           msdos          MS-DOS
/proc Filesystem            proc           
                                               ps  ..
ISO 9660 Filesystem         iso9660      CD-ROM
Xenix Filesystem            xenix           Xenix.
System V Filesystem         sysv            System V
                                                 x86.
Coherent Filesystem         coherent      Coherent
HPFS Filesystem             hpfs          
                                                 HPFS (DoubleSpace).

                 4.1.    Linux

; . 4.7.

fstab (options) 4.1 , ``defaults''.

, /etc/fstab. "tt/none/", "swap". swapon -a /etc/rc , /etc/fstab.

fstab /proc. 3.11.1, /proc , .. /proc , , ps .

! mount root. . , . , ( ) .

mount -av , ( - /dev/hda2). .

mount -av .

    # mount -t ext2 /dev/hda3 /usr

/dev/hda3 fstab, .

. mount -av /etc/rc . shutdown halt .

. ( /etc/rc).

, . ext2fs ( ), e2fsck. ,

    # e2fsck -av /dev/hda2

ext2fs /dev/hda2 .

.

       # umount /dev/hda2

/dev/hda2, . , . , boot/root ( 4.11.1). , "" (``busy''), .. . , , . ``Device busy'', .

e2fsck, efsck xfsck. fsck, .

! , - . ( ). , e2fsck , , shutdown -r, . "" , e2fsck. (. : ).

/proc . /proc - , .

4.8

, , . , , Linux , .

Linux, . 8208 ( 8 ).

       # dd if=/dev/zero of=/swap bs=1024 count=8208

. ``count='' .

       # mkswap /swap 8208

swap-; - .

       # /etc/sync
       # swapon /swap

/swap, , , , .

, swap-, , . , , swap- . swap- , swap-, () / .

, swap-, - , , - . .

, . , , .

, , swapoff

    # swapoff /swap

.

    # rm /swap

, ( ) 16 , 8 .

4.9

, - , , , .

. , . /etc/init. init - , (/etc/inittab) , . inittab - /etc/getty , . getty ( ) login. . /etc/inittab getty , .

, /etc/inittab - /etc/rc, (. : - ). shell-, , , ( 4.8) .

, /etc/rc.local. /etc/rc.local , , - ( ). rc.local /etc/rc /etc/inittab.

-

- , - . , : ``The dog'' (. : "" ( - ) , , Spot Woofie ( ).

- hostname. , - - , goober.norelco.com. , , loomer.vpizza.com, shoop.nowhere.edu floof.org.

- /etc/hosts, IP . , - /etc/hosts. , TCP/IP - floof.org, /etc/hosts:

    127.0.0.1       floof.org localhost

- floof.org IP- (loopback address) 127.0.0.1 (, ). localhost .

TCP/IP, IP - /etc/hosts. , - goober.norelco.com, IP 128.253.154.32, /etc/hosts:

    128.253.154.32       goober.norelco.com

- /etc/hosts, . - hostname. ,

    # hostname -S goober.norelco.com

- goober.norelco.com. hostname , /etc/rc /etc/rc.local. hostname, - ; - .

4.10

, , root . - ! - , .

Linux (. : ) UNIX. , , UNIX . Linux , .

- . - , . , , . , . .

, . . " "! , . (maintenance diskette).

- ``boot/root disk'' - , Linux, . Boot/root disks - , , LILO . , . : Linux .

boot/root disk - Slackware. ( 2.1.1 Internet. - boot root ). . , Slackware, .

boot/root disk, H.J Lu, /pub/Linux/GCC/rootdisk sunsite.unc.edu - .

, , . , , boot/root disk - .

boot/root disk . root ( ). , . ,

    # mount -t ext2 /dev/hda2 /mnt

ext2fs /dev/hda2 /mnt. , / boot/root disk; - , . /etc/passwd /mnt/etc/passwd, /mnt.

root

root - . boot/root disk, /mnt root /mnt/etc/passwd, :

    root::0:0:root:/:/bin/sh

root ; , root , passwd. , , vi? boot/root disk, , Emacs , vi . (.: , root ).

- , e2fsck ( , ext2fs) . fsck; 4.8.

, , .

- . , "" (``header')' , , , .. (, - ) . , e2fsck .

, ext2fs " " (``block group'') , 8K . , e2fsck ,

    # e2fsck -b 8193 <partition>

<partition> - , . -b 8193 e2fsck , 8193 .

, "" . , . , /bin/login ( ), boot/root , /mnt

    # cp -a /bin/login /mnt/bin/login

-a cp . , , boot/root floppy, . , .

/lib, , , ( 4.7.2). - boot/root, /mnt/lib.

. , .

,

,