Linux 版 (精华区)

发信人: netiscpu (说不如做), 信区: Linux
标  题: [B] Red Hat Linux Unleashed (37)
发信站: 紫 丁 香 (Sat Jul 25 05:00:57 1998), 转信


        System Administration Basics
     _________________________________________________________________
                                      
               o The root Account
               o Starting and Stopping the System
                    # Booting from a Floppy
                    # Using LILO To Boot
                    # Shutting Down Linux
               o Mounting File Systems
                    # Mounting a Floppy
                    # Creating a New File System
                    # Unmounting File Systems
                    # Checking File Systems
                    # Using a File as Swap Space
               o Compressing Files with gzip and compress
               o Using tar
               o Backups
               o Setting Up Your System
                    # Setting the System Name
                    # Using a Maintenance Disk
                    # Forgetting the root Password
                    # Setting the Login Message
               o Summary
       
     _________________________________________________________________
                                      
   37
   
   
   System Administration Basics
   
   
   So far in this book, you've seen how to use Linux for many different
   tasks. However, there are some issues we haven't dealt with because
   they are used rarely, or only by a single administrator (who may be
   the only user). This chapter looks at simple system administration
   tasks, including the following:
     * Starting and shutting down the system properly
       
     * Managing the disk partitions
       
     * Making backups
       
     * gzip, compress, and tar
       
     * Message of the day
       
     * Emergency boot floppies
       
   Of course, we can't cover everything you need to know to run a system
   efficiently. Instead, we will look at the basic information and
   utilities and leave you to experiment. For more details, check the
   documentation files with your Linux operating system. Better yet,
   consider purchasing a good UNIX system administration book, such as
   Linux System Administrator's Survival Guide (Sams Publishing, 1995).
   Much of the information in a UNIX book will be applicable to Linux.
   
   The root Account
   
   
   The root login, as you probably know, has no limitations at all. It
   can do anything anywhere, access any files it wants, and control any
   processes. This power has its price, though: Any mistake can be
   disastrous, sometimes resulting in damage to the entire operating
   system.
   
   A mystique has built up in the UNIX community about the root login,
   because it holds unlimited power over the system. The tendency to want
   to use this superuser login is overwhelming for many. However, a
   simple rm command in the wrong place can spell many hours of trouble.
   
   For this reason, the root account should be employed only for limited
   system use, and then only when its power is necessary (such as when
   rebuilding a kernel, installing new software, or setting up new file
   systems). As a general rule, you should not use the root account for
   routine tasks.
   
   Naturally, many people use root for their daily Linux sessions,
   ignoring any advice because they think they won't make mistakes. In
   truth, everyone makes a mistake occasionally. Check with any UNIX
   system administrator and you'll find that accidents happen with the
   root account. (I have managed to delete entire file systems more than
   once while trying to do two things at the same time.) Although many
   people will ignore the rule about using root only when necessary, most
   of them eventually find out why this rule is important!
   
   Starting and Stopping the System
   
   
   There are several ways of booting the Linux operating system, as well
   as a few ways to safely shut it down. Some were mentioned earlier in
   this book. Because Linux can be installed in many different ways,
   there is no single "right" method of booting the operating system, so
   we must look at both hard-disk-based and floppy-disk-based boot
   procedures.
   
   Booting from a Floppy
   
   
   A boot floppy, as its name implies, is a floppy disk that boots the
   Linux kernel. A boot floppy has the root partition installed on the
   floppy itself instead of the hard drive (although both may co-exist).
   Without the root partition, Linux would be unable to find the hard
   drives for the rest of the operating system.
   
   You can create Linux boot floppies with the setup routine included in
   most distributions of the operating system. Check the documentation or
   information files that came with your Linux distribution, if there are
   any. Alternatively, most Linux setup utilities have a menu-driven
   interface that prompts you for a boot floppy setup when you rebuild or
   reconfigure the kernel. You should use this procedure to make a boot
   floppy, which is also useful for emergencies.
   
   In most cases, a boot floppy is used only in emergencies when your
   system won't start up normally. The boot floppy enables you to load
   Linux, and then mount the hard drives that are causing the problem to
   check for damage. Luckily, this is not required very often. If you
   haven't used LILO to choose the partition to boot or set your boot
   sequence to Linux by default, you may need the boot floppy to start up
   Linux. In this case, the boot floppy is much like a DOS boot floppy.
   
   You can create a boot floppy from scratch by copying over the kernel
   image from the hard drive. The kernel image is usually in the file
   vmlinuz, vmlinux, Image, or /etc/Image, depending on the distribution
   of Linux. The Red Hat distribution uses vmlinuz, which is a compressed
   kernel (hence the z in the name). Compressed kernels uncompress
   themselves as they are loaded into memory at boot time. The vmlinuz
   image expands to vmlinux. (Compressed kernels take up less disk space;
   that's why they are used.)
   
   After you have identified the kernel, you can set the root device in
   the kernel image to point to the root partition on either the floppy
   or hard drive. In this case, we want the floppy. The root partition is
   set with the rdev command, whose format is as follows:
   
rdev kernelname device

   where kernelname is the name of the kernel image, and device is the
   name of the Linux root partition. To set a floppy boot device with the
   file vmlinuz, the command would be
   
rdev vmlinuz /dev/fd0

   for the first floppy on the system. You can set other parameters with
   rdev as well if you want to change system defaults during boot. Check
   the rdev man page for the rdev help file for complete information.
   
   As a final step in creating the boot floppy, copy the kernel image to
   the floppy disk. You should use a preformatted diskette (format with
   DOS if necessary) to allow the Linux routines to identify the type of
   diskette and its density. To copy the vmlinuz kernel to the first
   floppy drive, use this command:
   
cp vmlinuz /dev/fd0

   The floppy should now be ready to boot the system. You might not be
   able to boot the system without the floppy if you changed the location
   of the root partition. You can change the root partition back to the
   hard drive with the rdev command after completing the boot floppy,
   which enables you to boot from either. This can be useful when you
   have diskettes for several different boot configurations. You can also
   create the boot floppy from the Linux setup program.
   
   Using LILO To Boot
   
   
   LILO is a program that resides in the boot sector of your hard drive
   and allows Linux to be booted from the hard disk either after you tell
   it to or after a default number of seconds has elapsed.
   
   LILO can also be used with other operating systems such as OS/2 and
   DOS. If you have LILO set to autoboot Linux, you must interrupt the
   process by pressing the Ctrl, Alt, or Shift keys when the bootup is
   started if you want to boot into another operating system. This
   displays a boot prompt that enables you to specify another operating
   system.
   
   If LILO is set to allow a given time before it boots into Linux, you
   can use the Ctrl-Alt-Shift sequence to interrupt the boot process
   before the timer expires and Linux starts loading. Finally, if LILO is
   set to not autoboot into Linux, but to wait for explicit instructions,
   you must press Enter to boot Linux or type the name of the other
   operating system.
   
   Some Linux distributions have a configuration file in the directory
   /etc/lilo that can be edited to provide boot information, while other
   versions of Linux configure LILO during the installation process. If
   the latter is the case, you can change the settings with the setup
   utility. Some versions of Linux use the configuration file
   /etc/lilo.conf instead of /etc/lilo.
   
   Shutting Down Linux
   
   
   You can't just turn off the power switch! This can cause damage to the
   file system, sometimes irreversibly. Because Linux keeps many files
   open at once, as well as several processes, they must all be closed
   down properly before you cycle the power to the unit.
   
   There are a few ways to shut the Linux system down, but the formal
   method is to use the shutdown command. The syntax for shutdown is
   
shutdown [minutes] [warning]

   where minutes is the number of minutes to wait before shutting the
   system down and warning is an optional message displayed for all users
   currently logged in. Some versions of shutdown allow the word now
   instead of a time, while others require either no argument or the
   number 0 to shut the system down immediately without waiting. You can
   have shutdown reboot the system after the shutdown by adding the
   argument -r (for reboot).
   
   Using shutdown is best if you have other users on your system, because
   it gives them a warning that they should log out, and it prevents loss
   of information. It can also be used to automate a shut-down much later
   (such as at midnight), with messages just before that time warning any
   users still logged in.
   
   If you can't wait and want to shut the system down immediately, use
   the halt command or the "three-finger salute" of Ctrl-Alt-Delete. This
   immediately shuts down all the processes and halts the system as
   quickly as possible. Then the power can be shut off.
   
       ______________________________________________________________
                                      
     
     NOTE: Some Linux distributions don't support Ctrl-Alt-Delete, and a
     couple of older distributions use it to halt the system immediately
     without terminating processes properly. This can cause damage.
     Check the documentation or man pages for information.
     
     
       ______________________________________________________________
                                      
   
   Mounting File Systems
   
   
   File systems are not available until they are mounted onto the Linux
   main file system. Even hard drives must be mounted, because only the
   root file system is available in the / directory until the rest are
   mounted. The mount command is used to mount a file system.
   
   During the boot process, the mount command is used from the startup
   files (such as the /etc/rc file or files under the /etc/rc.d
   directory) to mount all the File Systems maintained in the file
   /etc/fstab. You can look at the file to see the type of information
   maintained there. Every file system that is mounted during the boot
   process has an entry giving its device name, its mount directory
   (called the mount point), the type of file system it is, and any
   options that apply.
   
   You can add a new file system from a hard disk, a CD-ROM, a floppy, or
   any other type of device that provides a file system supported by
   Linux, using the mount command. The format is
   
mount filesystem mountpoint

   where filesystem is the name of the device and mountpoint is where in
   the Linux file system it should be mounted. For example, if you want
   to mount a SCSI CD-ROM to the file system as /usr/cdrom, issue the
   following command:
   
mount /dev/scd0 /usr/cdrom

   The directory /usr/cdrom must be created before the command is given,
   or the mount command will generate an ambiguous error. You should
   replace /dev/scd0 with the name of your CD-ROM device driver (/dev/cd0
   for most non-SCSI CD-ROM drives, and /dev/scd0 for SCSI CD-ROM
   drivers). When the file system has been mounted properly, changing to
   /usr/cdrom lets you access all the files on the CD-ROM as if they were
   part of the normal file system.
   
   If your /etc/fstab file doesn't have any entries in it already, you
   have to mount the file system with a slightly different syntax:
   
mount -t fstypefilesystem mountpoint

   where fstype is the type of file system (such as ISO9660, MSDOS, and
   so on). The rest of the arguments are the same as the previous
   example. The -t option is used when the file system to be mounted
   doesn't already have an entry in the /etc/fstab file.
   
   Mounting a Floppy
   
   
   You can mount a floppy disk with a command similar to the one in the
   CD-ROM example just discussed. To mount a floppy in the first floppy
   drive on the directory /mnt, issue the following command:
   
mount /dev/fd0 /mnt

   If the file system is not the default value used by Linux, the type of
   file system must be specified. For example, to mount a floppy using
   the ext2 file system, use the -t option of the mount command:
   
mount -t ext2 /dev/fd0 /mnt

   
   Creating a New File System
   
   
   To create a file system on a floppy (so it can be mounted), you should
   use the utility mke2fs or the command mkdev fs, depending on the
   version of Linux. To use mke2fs, for example, issue the command
   
mke2fs /dev/fd0 1440

   to create a floppy file system on a 1.44MB 3.5-inch diskette.
   
   Unmounting File Systems
   
   
   To detach a mounted file system from your Linux file system, use the
   umount command with the name of the device. For example, to unmount a
   floppy in /dev/fd0, issue the command
   
umount /dev/fd0

   and the floppy will be removed from the mounted point. Be sure to type
   umount instead of unmount!
   
   If you want to remove the current floppy and replace it with another,
   you can't simply swap them. The current floppy must be unmounted, and
   then the new one must be mounted. Failure to follow this process can
   result in corruption or erroneous directory listings.
   
   Checking File Systems
   
   
   Every now and again a file might get corrupted or a file system's
   inode table might get out of sync with the disk's contents. For these
   reasons, it is a good idea to check the file system at regular
   intervals. Several utilities can check file systems, depending on the
   version of Linux. The utility fsck is available for some systems,
   while the utility e2fsck is designed for Linux's ext2fs file system.
   Many Linux versions include other utilities such as xfsck and efsfck
   for different file systems. In many cases, the fsck command is linked
   to the individual file system versions.
   
   To use e2fsck to check a file system, issue the command with the
   device name and the options a (automatically correct errors) and v
   (verbose output):
   
e2fsck -av /dev/hda1

   This command checks and repairs any problems on the /dev/hda1 (or
   whatever device driver you specify) partition. If any corrections have
   been made to a partition, you should reboot the machine as soon as
   possible to allow the system to resync its tables.
   
   Whenever possible, it is a good idea to unmount the file system before
   checking it, because this can prevent problems with open files. Of
   course, you can't unmount the primary root partition while running
   from it, so you can boot from a boot floppy that contains the check
   utilities, and start them from the floppy.
   
   Using a File as Swap Space
   
   
   When you installed Linux, your setup program probably set up a
   partition specifically for the swap space. You can, when the original
   installation has been completed, set Linux to use a file instead of
   the partition, thus freeing up the partition's disk space.
   
   Generally, there is a performance degradation with using a file
   because the file system is involved, although the effect can be small
   on fast disks and CPUs. However, this is a useful technique when you
   need to add more swap space, such as when you temporarily want to run
   a swap-space-intensive application such as a compiler.
   
   To create a file used as the swap space, issue the following command:
   
dd if=/dev/zero of=/swap bs=1024 count=16416

   This creates a file (called swap) for swap space that is about 16MB
   (in this case, 16416 blocks). If you want a different size, replace
   the number after count with the correct value in bytes. Next,
   physically create the file swap file with the command
   
mkswap /swap 16416

   (the number should match the blocks determined earlier) and turn the
   swap space on with the command
   
swapon /swap

   If you want to remove the swap file and use the swap partition, use
   the command
   
swapoff /swap

   followed by a standard rm command to remove the file.
   
   Swap files can't be larger than 16MB with most Linux versions, but you
   can have up to eight swap files and partitions on your system.
   
   Compressing Files with gzip and compress
   
   
   Files abound on a UNIX system, adding up to a large chunk of disk real
   estate. Instead of deleting files, an alternative is to compress them
   so that they take up less space. Several compression utilities are
   available for UNIX and Linux systems. The most commonly used are
   compress and the newer GNU gzip.
   
   When run on a file, compress creates a smaller file with the extension
   .Z, which immediately identifies the file as being compressed. To
   compress a file, use the following command:
   
compress filename

   You can also use wildcards to compress several files at once. compress
   supports a number of options, but most aren't used often. By default,
   when a file is compressed, the uncompressed original is deleted,
   although this can be changed with a command-line option.
   
   To uncompress a compressed file, run the uncompress program:
   
uncompress filename

   Alternatively, you can use a wildcard such as *.Z to uncompress all
   the compressed files. Remember to include the .Z suffix when
   specifying the filename.
   
   The gzip utility is a new compression tool that uses different
   algorithms than compress. The gzip program has a few extra features
   that were added since compress was released, such as adjustable
   compression (the more compression required, the longer it takes to
   compress). To use gzip, specify the filename to be compressed and the
   compression type:
   
gzip -9 filename

   The -9 option, which tells gzip to use the highest compression factor,
   will probably be the option you use the most. Alternatively, leave
   this option off and let gzip work with its default settings. A gzip
   compressed file has the extension .gz appended, and the original file
   is deleted. To uncompress a gzipped file, use either the gunzip
   utility or gzip -d filename.
   
   Using tar
   
   
   The tar (tape archiver) utility has been used with UNIX systems for
   many years. Unfortunately, it's not very friendly and can be quite
   temperamental at times, especially when you're unfamiliar with the
   syntax required to make tar do something useful.
   
   The tar program is designed to create a single archive file, much as
   the ZIP utilities do for DOS. With tar, you can combine many files
   into a single larger file, which makes it easier to move the
   collection or back it up to tape. The general syntax used by tar is as
   follows:
   
tar [options] [file]

   The options available are lengthy and sometimes obtuse. Files can be
   specified with or without wildcards. A simple example of creating a
   tar archive file is
   
tar cvf archive1.tar /usr/tparker

   which combines all the files in /usr/tparker into a tar archive called
   archive1.tar. The c option tells tar to create the archive; the v
   tells it to be verbose, displaying messages as it goes; and the f
   tells it to use the filename archive1.tar as the output file.
   
   The extension .tar is not automatically appended by tar, but is a user
   convention that helps identify the file as an archive. This convention
   isn't widely used, though, although it should be as it helps identify
   the file.
   
   The c option creates new archives. (If the file existed before, it is
   deleted.) The u (update) option is used to append new files to an
   existing archive, or to create the archive if it doesn't exist. This
   is useful if you keep adding files. The x option is used to extract
   files from the archive. To extract with the tar command all the files
   in the archive in the earlier example, you would use the command
   
tar xvf archive1.tar

   There's no need to specify a filename, because the filenames and paths
   will be retained as the archive is unpacked. It's important to
   remember that the path is saved with the file. So if you archived
   /usr/tparker and then moved into /usr/tparker and issued the extract
   command, the files would be extracted relevant to the current
   directory, which would place them in /usr/tparker/usr/tparker. You
   must be very careful to extract files properly. If you want to force a
   new directory path on extracted files, a command-line option allows
   this.
   
   The tar system does not remove the original files as they are packed
   into the archive, nor does it remove the archive file when files are
   extracted. These steps must be performed manually.
   
   You can use tar to copy files to tapes or floppies by specifying a
   device name and the f option as a device name. To archive files in
   /usr/tparker to a floppy disk in the first drive, you could use the
   following command:
   
tar cvf /dev/fd0 /usr/tparker

   This can cause a problem if the floppy doesn't have enough capacity,
   however, so tar lets you specify the capacity with the k option. In
   this case, the command for a 1.44MB floppy is as follows:
   
tar cvfk /dev/fd0 1440 /usr/tparker

   If the floppy is full before the entire archive has been copied, tar
   prompts you for another one. It's important to keep the arguments in
   the right order. You see that the f is before the k, so the device
   name must be before the capacity. All the argument keyletters are
   gathered together instead of issued one at a time followed by their
   value, which is one aspect of tar that can be very confusing.
   
   As a last issue for backing up to floppy, it is sometimes necessary to
   tell the tar program about the blocking used (blocking identifies how
   many blocks are used for each chunk of information on the device). A
   floppy usually has a blocking factor of 4, so the command becomes the
   following:
   
tar cvfkb /dev/fd0 1440 4 /usr/tparker

   A final problem with tar is that it can't always handle a generic
   device such as /dev/fd0, and must be specifically told the disk type.
   
   For more complete information on all the options used by tar, check
   the man pages or, even better, a good system administration book.
   
   You can use tar to archive compressed files, too, in the same manner.
   You can also compress a tar file without any problems. In these cases,
   you might get filenames such as
   
filename.tar.gz

   which show that you should run gunzip first to recover the tar file,
   and then run tar to extract the files in the archive. You can run the
   commands together with pipes:
   
gunzip filename.tar.gz | tar xvf -

   The hyphen as the tar filename after the pipe symbol is standard UNIX
   terminology for taking the input from the pipe (stdin).
   
   Backups
   
   
   The three rules of system administration are back up, back up, and
   back up. This might sound silly and trite, but a backup can save you
   whenever you do something silly to the file system, or when problems
   occur. With UNIX, most backups are made to a tape device using tar,
   although many Linux users don't have tape units available and have to
   resort to floppies.
   
   Backups are made with the tar utility, as I mentioned earlier. The
   procedure is exactly the same as I showed you earlier. To back up the
   entire system on floppy, the command is
   
tar -cvfbk /dev/fd0 1440 4 /

   To back up to a high-capacity tape device larger than the file system
   (and hence not needing a capacity limit) called /dev/rct0, the command
   is
   
tar -cvfk /dev/rct0 20 /

   In many cases, you won't want to back up the entire system, because
   it's easier to reinstall off a CD-ROM. However, you should back up
   your user files by either backing up the entire /usr directory or
   specifically backing up your own home directory.
   
   To restore a backup, you use the tar command again:
   
tar -xvf /dev/rct0

   This recovers all files from the tape device /dev/rct0. You can
   explicitly restore specific files if you need to.
   
   Several commercial products offer automated backups, although you can
   do this quite easily with the cron command.
   
   Setting Up Your System
   
   
   You can perform several little tasks to tweak or optimize your Linux
   system, although in many cases they are dependent on the version you
   are running and other applications coexisting. We can look at a few of
   the miscellaneous tasks here.
   
   Setting the System Name
   
   
   The system name is contained in a file called /etc/HOSTNAME. It is
   simply the name the system calls itself for identification, which is
   especially useful if you are networking your Linux machine with
   others. You can call the system anything you want.
   
   To set your system name (also called a host name), you can either edit
   the system files (which should be followed by a reboot to make the
   changes effective) or use the hostname command. The command
   
hostname hellfire

   sets the machine's name to hellfire.
   
   Using a Maintenance Disk
   
   
   Every system should have a maintenance disk that enables you to check
   the root file system, recover from certain disk problems, and solve
   simple problems (such as forgetting your root password). The emergency
   disks, also called the boot/root floppies, are created with the setup
   program in most distributions of Linux when the configuration is
   changed.
   
   You can usually create an emergency boot disk from the CD-ROM that the
   system came on, as well as obtain the necessary files from FTP sites.
   
   After you have booted your machine with the emergency disk, you can
   mount the disk partitions with the mount command.
   
   Forgetting the root Password
   
   
   This is an embarrassing and annoying problem, but luckily one easily
   fixed with Linux. (If only other UNIX systems were so easy!) To
   recover from a problem with the root password, use a boot floppy and
   boot the system. Mount the root partition, and edit the /etc/passwd
   file to remove any password for root; then, reboot from the hard disk.
   
   After the system has booted, you can set a password again.
   
       ______________________________________________________________
                                      
     
     NOTE: This points out one major security problem with Linux: Anyone
     with a boot floppy can get unrestricted access to your system!
     
     
       ______________________________________________________________
                                      
   
   Setting the Login Message
   
   
   If you have more than one user on the system, you can display
   information about the system, its maintenance, or changes in a file
   called /etc/motd (message of the day). The contents of this file are
   displayed whenever someone logs in.
   
   To change the /etc/motd file, use any text editor and save the
   contents as ASCII. You can make the contents as long as you want, but
   readers usually appreciate brevity. The /etc/motd file is useful for
   informing users of downtime, backups, or new additions. You can also
   use it to give a more personal feel to your system.
   
   Summary
   
   
   System administration is not a complicated subject, unless you want to
   get into the nitty-gritty of your operating system and its
   configuration. For most Linux users who use the operating system for
   their personal experimentation, the administration steps explained in
   this chapter should be sufficient for most purposes. If you want to
   get into more detail, check out a good UNIX system administration
   book.
   

--

                              Enjoy Linux!
                          -----It's FREE!-----

※ 修改:.netiscpu 于 Jul 25 06:00:39 修改本文.[FROM: mtlab.hit.edu.cn]
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: fengyun.hit.edu.]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:425.864毫秒