首页>
知识库>
详情

SOLARIS 2.6 常用管理命令

2020-07-27 来源:CloudBest 阅读量: 21
关键词:

  
  一. 引言
  ---- UNIX系统作为一种强大的多用户分时操作系统,在越来越多的场合受到了应用,同时,对UNIX的系统管理的要求也随之越来越多,但目前的书籍对UNIX系统管理命令介绍的并不是很多。本文主要是针对UNIX系统管理员,以SUN SOLARIS 2.6 系统为例,列举了一些UNIX常用的管理命令的使用及其使用中遇到的问题和解决方法,供大家参考。
  二. 常用系统管理命令介绍
  ---- 1. share mount 命令
  ---- 这是系统管理员常用的两个命令,share命令用于把本机的目录共享出来,以便其它UNIX系统可以使用;mount命令则用于把其它UNIX系统共享出来的目录挂接到本机的挂接点上,从而可以使用其它UNIX系统的资源。 例如:
  
  ---- 在机器A上输入 machineA# share -F nfs -o rw /share-dir
  
  ---- 在机器B上输入 machineB# mount -F nfs machineA:/share-dir /mount-point
  
  ---- 第一条命令把机器A share-dir 目录共享出来,并且共享的权限是可读写;
  
  ---- 第二条命令把机器A的共享目录挂接到机器B mount-point 目录上。
  
  ---- 完成这两个命令后,用户在机器B上通过对mount-point的访问就可以操作机器A上的share-dir目录了。
  
  ---- 但是有时我们操作时,在机器B上执行了mount命令后,会返回"RPC: Program not registered"这样的错误,这是因为在机器A上缺少mountdnfsd 这两个守护进程(daemon)UNIX系统启动时,系统会自动检查/etc/dfs/dfstab文件,如果文件中有要共享的资源,则启动这两个守护进程,反之,则不启动。所以如果我们在/etc/dfs/dfstab中没有内容,则系统不能启动mountdnfsd这两个守护进程,用share命令共享的目录也不能真正被别的系统共享。
  
  ---- 解决这个问题的方法很简单,我们可以把要共享的目录放入/etc/dfs/dfstab中,则下一次系统启动时会自动共享这个目录;另外,我们也可以手动启动这两个守护进程,方法是首先用超级用户(root)登陆,在命令行输入如下命令:
  
  machine_A# /etc/rc3.d/S15nfs.server start
  或输入:
  machine_A# /usr/lib/nfs/mountd
  machine_A# /usr/lib/nfs/nfsd -a 16
  就可以启动这两个守护进程了。
  ---- 守护进程启动后,共享目录才真正被共享出去,这时再在机器B上用mount命令就可以把机器A的目录挂接到机器B上了。
  ---- 2. quota 系列命令
  
  ---- UNIX作为一种多用户系统,它允许多个用户共同使用系统的资源,包括系统的内存,CPU和硬盘。在默认情况下,系统并不会限制每个用户可以使用硬盘空间的大小,所以如果用户恶意使用硬盘,或用户由于疏忽,将硬盘空间全部占用,将导致其他用户无法使用硬盘,从而使系统性能下降,甚至有崩溃的危险。
  
  ---- 其实,UNIX提供的quota系列命令可以帮助我们解决这个问题,这些命令包括:
  
  quota : 显示用户的硬盘限额和使用情况。
  edquota : 为每个用户设定硬盘限额。
  quotaon: 启动文件系统硬盘限额服务
  quotaoff : 关闭文件系统硬盘限额服务
  repquota : 显示当前硬盘限额状态
  ---- 配置这项服务的方法很简单。但在使用硬盘限额服务之前,我们要明白硬限制和软限制这两个概念。所谓硬限制是指对资源节点和数据块的绝对限制,在任何情况下都不允许用户超过这个限制;而软限制是指用户可以在一定时间范围内(默认时为一周,在/usr/include/sys/fs/ufs_quota.h文件中设置)超过软限制的额度,在硬限制的范围内继续申请资源,同时系统会在用户登录时给出警告信息和仍可继续申请资源剩余时间。如果达到时间期限,用户的硬盘使用仍超过软限制的额度,则系统将不允许用户再申请硬盘资源。
  ---- 明白了这两个概念,我们就可以配置硬盘限额服务了,首先我们必须在要限制的文件系统的根目录下建立一名字为quotas的文件,该文件的所有者应是root,且其它用户不可以对它进行写操作。方法是:
  
  ---- # cd /home (进入文件系统根目录,注意并不是系统根目录,本例为/home目录)
  
  ---- # touch quotas (创建一名字为quotas的空文件)
  
  ---- # chmod 644 quotas (更改文件属性,使只有root可以对它进行写操作)
  
  ---- 然后,我们编辑/etc/vfstab文件,找到要进行硬盘限额服务的文件系统,并将mount option字段的值设为rq,然后并存盘退出。
  
  
  
  ---- 完成这两步后,我们使用edquota命令为每个用户设置硬盘限额,在root权限下输入以下命令:
  
  #edquota username
  这时系统会自动生成一个临时文件,并且有如下内容:
  fs /users blocks (soft = 0, hard = 0)
  inodes (soft = 0, hard = 0)
  ---- 其中fs字段表明使用硬盘限额的文件系统,本例为/usersblockinodes表明用户可以使用的硬盘千字节数和I节点数,即用户可使用的硬盘空间和可建立的文件数,softhard分别对于前面提及的软限制和硬限制。
  ---- 编辑这个文件,把软,硬限制设置到合适的数值,然后存盘退出。这时我们可以看到quotas文件的大小已经被改变,说明用户的限额已经储存。重复这条命令,给每一个用户都配置硬盘限额。另外,如果我们分配给用户的硬盘限额都相同,我们可以使用 "-p" 参数而不用为每个用户都编辑一个文件,它的使用方法是:
  
  #edquota -p reference-username username
  编辑完文件后,我们就可以用quotaon来启动服务了,
  在root权限下输入
  #quotaon /users
  就可以启动限额服务。如果我们要查看各个用户的当前使用情况,
  可以使用repquota 命令,在root权限下输入:
  #repquota /users
  系统会显示:
  
  ---- 从中我们可以很容易看到用户的硬盘和文件的使用情况以及超过软限制后仍可申请资源的时间等等。
  
  ---- 当然我们可以用quotaoff取消硬盘限额服务。另外,系统还提供quotacheck