Linux和Solaris系统的管理任务非常相似,很多时候连使用的命令都是一样的。无论是Linux还是Solaris管理员,在转向另外一个系统管理时,原先所获得的那些管理经验绝大部分情况下依然可用。
- 启动、关闭和运行级别(revision 1.1)
- 系统服务(revision 1.1)
- 用户/组管理(new)
- 打印管理
- 文件系统管理(revision 1.1)
- 环回设备
- 文件系统配额(revision 1.11)
- 磁盘和卷管理
- 网络管理(revision 1.11)
- 远程管理(revision 1.21)
- 内核管理
- SWAP管理(new)
- nfs(new)
1、启动关闭和运行级别
直到Solaris 9为止,solaris的启动步骤和Linux几乎没什么区别。二者都提供了运行级别(run level)的概念,每个运行级别都定义了哪些服务被启动和停止。都使用init命令在不同的运行级别间进行切换。
Linux的运行级别 | Solaris 10之前的版本 | Solaris 10的里程碑 |
0 halt(系统停止) | 0 halt | |
1 单用户 | 1,s,S 单用户 | single-user |
2 多用户(无网络) | 2 多用户(无网络服务) | multi-user |
3 多用户(文本) | 3 多用户(带网络服务,默认级别) | multi-user-server |
4 有些版本保留,有些同5 | 4 保留,未使用 | |
5 多用户(图形,默认级别) | 5 关闭系统 | |
6 重启 | 6 重启 |
Solaris 10引入了SMF功能,运行级别被里程碑(milestone)所代替
- sysconfig
- devices
- single-user
- network
- name-services
- multi-user
- multi-user-server
solaris还提供了另外两个命令,可改变系统的当前运行状态:
- reboot重启系统
- halt停止系统的运行
shutdown命令的区别
两个系统的shutdown命令默认都是进入单用户维护模式(init 1)
- Linux的shutdown选项:-r重启(init 6),-h停止系统(init 0),-F重启后执行fsck操作,-f重启后不执行任何fsck操作(快速启动)
- shutdown now
- shutdown -h 10 "system will be shutdown to halt in10 minutes"
- shutdown -rF 5 "reboot and fsck" 重启后强制执行fsck操作
- Solaris的shutdown命令:shutdown [-y] [-i init_level] [-g minutes] [messages]
- shutdown -y -g 10 -i 5 10分钟后执行关机操作(init 5)
- solaris的shutdown命令可以切换到任一运行级别
- shutdown会在执行shutdown前 7200, 3600, 1800, 1200, 600, 300, 120, 60,30秒时重复发送消息给所有登进系统的用户
2、系统服务
- Linux系统中,除非服务是从inittab中以respawn属性运行,否则系统服务一旦被杀掉或非正常终止,就不会重新生成
- solaris 10中,由于SMF的存在,那些由SMF自动启动的系统服务,简单的kill操作对其无效。必须使用svcadm命令来禁用或启用这些服务。
- 如果要修改那些受inetd管理的服务,需要编辑/etc/inet/inetd.conf,
- 然后执行inetconv命令在SMF中创建相应的服务条目,从而把这些服务转换成接受SMF管理。
- 在solaris 10中,这类服务可以通过svcadm or inetadm命令进行管理
- 由xinetd守护进程控制服务。通常在以下几个位置存放服务的配置
- /etc/inittab 由init控制
- /etc/rc*.d 各个运行级别的专用脚本用以启动各种系统服务
- /etc/(x)inetd.conf 由inetd控制
- /etc/init.d、/etc/rc*d实际上都是链接到/etc/rc.d目录中的各同名子目录
- 几种起停方式
- GUI的"系统设置"-->"服务器设置" ,CLI的# ntsysv
- # service service-name stop|restart
- # /sbin/chkconfig--level 345 service-name on|off
- 常见的服务名:network,iptables,httpd,vsftpd...
- /etc/inittab 由init控制,但solaris 10不推荐使用
- /etc/rc?.d,/etc/init.d
- /etc/inetd.conf 由inetd控制,Solaris 10中使用inetadm or SMF进行管理
- SMF 仅Solaris 10使用
3、用户/组管理
- linux新增账号的默认属性存放在/etc/default/useradd文件中,修改这个文件立即生效
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
- Solaris没有默认的账号属性配置文件(但一些默认属性还是存在的),可以使用useradd -D命令生成
。当第一次运行useradd -D时,会生成一个,/usr/sadm/defadduser文件。所有的缺省参数均保存在这个文件中。以后修改useradd命令的缺省参数只要修改这个文件即可。
group=other,1 project=default,3 basedir=/home
skel=/etc/skel shell=/bin/sh inactive=0
expire= auths= profiles= roles= limitpriv=
defaultpriv= lock_after_retries=
添加新账号
- linux系统添加新账号
- 默认会根据缺省的basedir创建与账号同名的家目录
- 同时还会创建和账号同名的组(-n选项可关闭这个功能),这样做的好处是如果某个账号A需要和其他账号共享自己的文件,只需把其他账号放置到与账号A同名的组内即可。
- 如果同名组已存在,添加新账号时必须使用-g groupname选项指定或者用-n关闭自动建同名组的功能,否则会报错
- solaris不会自动创建用户家目录,必须在命令行中指定家目录并使用-m选项才会自动创建
- useradd -d home_directory -m username
- Linux提供了组管理命令gpasswd,用法为gpasswd [option] group_name
- 系统管理员可以用gpasswd -A指定组的管理员,-M指定组的成员,-r删除组密码,-R禁止通过newgrp命令切换成这个组身份
- 组管理员使用gpasswd -a | -d添加和删除组成员。
- 如果组没有设置密码,只有组成员可以用newgrp命令切换成这个组的成员身份
- 如果组设置了密码,非组成员也可以使用这个组身份,但必须提供密码。
此外
- Solaris扩展了useradd,groupadd命令,可配置和RBAC有关的属性,可参见《差异概述(click)》
- Solaris还提供了smuser,smgroup命令,可对名称服务器(比如NIS)上的账号和组进行管理。这两个命令是SMC(Solaris管理控制台)的一部分。SMC是solaris提供的图形化管理控制台,用来处理各种系统管理操作。运行smc命令将提供一个图形化的控制台界面,能够管理用户账号和组。
4、打印和打印机管理
Solaris 10也包括了CUPS,能够和Linux系统兼容
Solaris 10之前的版本采用的是System V的打印服务。
system V的打印系统使用以下相关命令进行打印作业的管理
- lpadmin 修改打印系统参数
- lpsched 启动打印服务器(/usr/lib/lp/lpsched)
- lpshut 停止打印服务器
- cancel 取消打印作业
- lpmove 把打印作业转移到另外一个打印机
- lp 提交一个打印作业
- lpstart 查看打印机或打印作业的状态
- /etc/printers.conf文件
- NIS配置数据库库中的打印机地图文件
- $HOME/.printers
- $PRINTER and $LPDEST 环境变量
- printmgr命令位于/usr/sadm/admin/bin/printmgr,/usr/sbin/printmgr仅是一个符号链接
作者保留版权,转载请注明出处,来自 cu-yuhuohu.
5、文件系统管理
- Linux使用mke2fs创建ext2文件系统,使用mkfs -t fs_type可创建ext2,ext3,xfs等文件系统
- mke2fs -j /dev/sdb2 在第三个SCSI硬盘的第二个主分区创建ext3文件系统
- mke2fs /dev/sdb3 在第三个SCSI硬盘的第三个主分区创建ext2文件系统
- mkfs -t ext2 /dev/sdb1 同上
- mkfs -t ext2 –j /dev/hda5 加上"-j"选项则创建ext3文件系统.
- Solaris使用newfs or mkfs -F fs_type创建文件系统,默认为ufs.
- newfs /dev/rdsk/c0t2d0s3 在0号控制器的第三个SCSI硬盘的第3个分片创建ufs文件系统
- mkfs -F ufs /dev/rdsk/c0t2d0s3 含义同上
- Linux的Mount命令位于/bin目录,使用-t vfstype来指定文件系统类型.eg. mount -t type ...
- # mount /dev/sdb1 /mnt/data -o ro 只读挂接
- # mount /mnt/data -o remount,rw 通过remount选项把挂接改为“可读写”
- solaris的Mount位于/usr/sbin目录,使用-F FSType来指定文件系统类型.eg. mount -F type ...
- # mount -o ro /dev/rdsk/c0t1d0s0 /mnt/data
- # mount -o remount,rw /mnt/data
- Linux和solaris都可以运行不带选项的mount命令查看.还可以通过以下方式查看
- Linux# cat /etc/mtab or cat /proc/mounts
- Solar# cat /etc/mnttab
- Linux# cat /etc/mtab or cat /proc/mounts
- ext2,ext3,ext4
- ext2文件系统没有日志记录能力,且inode数量是固定的,mke2fs /dev/sdb1
- 目前绝大部分Linux系统安装时默认使用ext3文件系统(但mke2fs,mkfs的缺省类型是ext2),mke2fs -j /dev/sdb1
- data=writeback(禁用日志记录)
- data=orderd(缺省值,将元数据日志记录和数据与元数据一起写到磁盘)
- data=journal(用于数据和元数据完整性的完全数据日志记录,写性能降低一半)
- 相关命令debugfs,tune2fs,chattr
- 与性能有关的挂接选项:noatime,nodiratim
- ext4正在发展中
- reiserfs
- mkreiserfs /dev/sdb1
- 与性能有关的挂接选项:noatime,nodiratime,notail
- xfs
- 由SGI移植到Linux的企业级日志文件系统,http://oss.sgi.com/projects/xfs
- jfs
- 由IBM移植到Linux的高性能日志文件系统
- vfat
- 与DOS兼容的文件系统驱动程序,允许挂接基于DOS和Windows FAT的文件系统,并进行读写
5.Solaris能够支持许多种的文件系统类型。
- 能支持绝大多数存储介质比如CD,DVD,硬盘,软盘,U盘以及基于网络的文件系统协议。
- Solairs还为不同的文件系统提供接口功能,把一些内核信息输出成文件以便用户查看,比如/etc/mnttab.
- 除了自身提供的文件系统支持外,还支持第三方软件厂商的文件系统,比如Veritas的vxfs文件系统。
- autofs
- cachefs
- ctfs
- devfs
- fd
- hsfs
- lofs
- mntfs
- nfs
- objfs
- pcfs
- proc
- qfs
- sam-fs
- tmpfs
- udfs
- ufs
- volfs
- xmemfs
6、环回设备
- Linux可以直接把映像文件挂接到指定的挂载点,挂接环回设备的命令大致如下,:
mount -o loop /path/to/disk/image /mountpoint
- Solaris不能直接把映像文件直接挂接,需要使用lofiadm创建一个回环设备,然后再进行挂接。
- 比如以下命令将创建一个回环设备/dev/lofi/X:
lofiadm -a /path/to/disk/image
- 然后把新创建的回环设备挂接:
mount -F FSType /dev/lofi/X /mountpoint
- 文件系统的类型必须根据映像文件的类型指定,比如如果映像文件是CD的ISO映像,则文件系统类型为hsfs
7、文件系统配额
- Solaris独有的命令quot命令,查看solaris系统中每个用户的配额使用情况.
- 其他命令如edquota,quota,quotaon,quotaoff,quotacheck,repquota则是两个系统共有,但选项和行为稍有不同。
- 系统启动时自动开启文件系统配额功能
- Redhat 9 Linux在/etc/fstab中类似条目(关键是红字的usrquota,grpquota表示挂接时开启这个文件系统的配额支持)
- /dev/sdb1 /mnt/sdb1 ext3 default,usrquota,grpquota 1 1
- # mount /mnt/sdb1
- Solaris在/etc/vfstab(关键是红字的rq表示开启配额)
- /dev/dsk/c1t0d0s3 /dev/rdsk/c1t0d0s3 /mnt/udata ufs 2 yes rq
- # mount /mnt/udata
- 创建配额控制文件
- Redhat 9 Linux
- # touch /mnt/sdb1/quota.user
- # touch /mnt/sdb1/quota.group
- # quotacheck -mfugv
- a — 检查所有启用了配额的在本地挂载的文件系统
- v — 在检查配额过程中显示详细的状态信息
- u — 检查用户磁盘配额信息
- g — 检查组群磁盘配额信息
- c — 指定每个启用了配额的文件系统都应该创建配额文件
- f
— 强制对已使用了配额功能的文件系统进行检查(不推荐) - m—quotacheck在开始扫描前会尝试以只读方式remount文件系统,扫描结束后在remount成可读写方式,-m选项可让quotacheck不进行remount操作,
- M
—类似于m选项,强行以读写方式进行扫描
- a — 检查所有启用了配额的在本地挂载的文件系统
- # convertquota -u /mnt/sdb1 转化用户配额控制文件quota.user的格式
- # convertquota -g /mnt/sdb1 转化组配额控制文件quota.group的格式
- Solaris
- # touch /mnt/udata/quotas
- # chmod 600 /mnt/udata/quotas
- 开启配额功能(都使用quotaon命令,关闭都使用quotaoff命令)
- Redhat 9 Linux# quotaon -avug 为所有(-a)的已配置支持配额的文件系统开启用户(-u)和组(-g)的配额功能
- Redhat 9 Linux# quotaon -avug 为所有(-a)的已配置支持配额的文件系统开启用户(-u)和组(-g)的配额功能
- Solaris# quotaon /mnt/udata
- 设置用户的配额
- Redhat 9 Linux和Solaris都使用edquota命令
[root@redhat root]# edquota -u usertest
Disk quotas for user usertest(uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 10000 12000 0 10000 12000
- Redhat 9 Linux和Solaris都使用edquota命令
- 设置文件系统配额的期限控制
- Redhat 9 Linux和Solaris都使用edquota -t命令
Filesystem Block grace period Inode grace period
/dev/hdc1 7days 7days
- 查看用户的配额使用情况
- Redhat 9 Linux和Solaris都使用quota和repquota命令
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 20 0 0 5 0 0
[root@redhat root]# quota -vu usertest
Disk quotas for user usertest(uid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb1 0 10000 12000 0 10000 12000
作者保留版权,转载请注明出处,来自 cu-yuhuohu.
8、磁盘和卷管理
- 如果可以识别,Linux会自动识别并使用新硬盘。
- 而solaris即使可识别新硬盘,也必须运行devfsadm命令才可以使用新硬盘
- 详见《从Linux到Solaris:设备管理》:http://bbs.chinaunix.net/thread-1004816-1-1.html
- Linux使用fdisk命令管理磁盘分区
- fdisk /dev/sda
- Linux fdisk常用指令:m帮助,p显示分区,n创建新分区,w保存
- solaris中与磁盘管理有关的命令主要有format和fdisk。fdisk(x86版的solaris才有)用来创建磁盘分区。
- format>fdisk or fdisk /dev/rdsk/c0t0d0s2
- solaris x86 fdisk的指令使用和windows or dos的fdisk完全一样
- Linux文件系统的分区类型ID为0x83,而Linux的SWAP分区的类型ID为0x82
- Solaris分区的类型为0x82,和Linux的SWAP分区类型相同。
- 如果x86的机器安装了双系统(solaris & Linux),这个关键点可能会导致系统启动故障
- Linux系统可支持3个主Linux分区,一个扩展分区,然后在扩展分区中创建多个Linux逻辑分区。这点和windows几乎完全一样.
- Solaris 仅使用单个分区(solaris 10 6/06之前的版本分区类型仅能为0x82),然后在分区内通过Sun磁盘标签(disk label)把分区进一步划分成分片,分片操作由format命令的partition指令完成。
- 自Solaris 10 6/06发布版开始,不再仅仅支持类型0x82,而是使用了一种新的类型0xbf(Solaris2 type),但依然可以识别旧的0x82(Solaris type),但默认采用solaris2类型(x86版本可通过fdisk工具把solaris2改成solaris分区)。一些旧的非Solaris的分区软件可能还无法识别这种新的分区0xbf.
- format命令用来把solaris的fdisk分区(x86系统)或者整个磁盘(sparc系统)划分成片(slice)。执行format命令时,solaris系统能认到的硬盘都会被列出,然后选定一个,使用partition指令进行划片操作
- Linux的卷管理使用vg*和lv*命令
- Solaris使用元设备(metadevice)的概念进行卷管理,管理软件叫做SVM(solaris volume manager),所有的相关管理命令为meta*
9、网络配置
- Redhat 9 Linux新增网卡不用运行ifconfig plumb命令可直接配置
- solaris新增的顽抗需先ifconfig interface plumb
- ifconfig 配置网络接口(配置ip地址,掩码等,Solaris需装配/卸除(plumb/unplumb)网卡才能执行其他操作)
- route 配置路由条目
- netstat 查看网络配置和网络连接状态信息
- ndd 查看或设置核心驱动的配置参数
- /etc/sysconfig/network-script/ifcfg-{interface_name} 网卡参数配置文件,包括IP地址,掩码,广播地址
- /etc/sysconfig/network Redhat 9的主机名和配置缺省网关,对应solaris的/etc/nodename和/etc/defaultrouter
- /etc/hosts solaris的/etc/hosts -> /etc/inet/hosts(链接到这个文件)
- /etc/networks solaris的/etc/networks -> /etc/inet/networks(链接到这个文件)
- /etc/netmasks Redhat 9同solaris
- /etc/nsswitch.conf Redhat 9同solaris
- /etc/resolv.conf Redhat 9同solaris
Solaris的网络相关配置文件
- /etc/hostname.[interface_name] 比如hostname.hme0,hostname.e1000g0,每个网卡一个配置文件,仅用于配置网卡的IP地址
- /etc/nodename 系统的主机名
- /etc/defaultrouter 默认路由器(缺省网关)的地址
- /etc/hosts IP地址和主机名的对应表
- /etc/netmasks 配置各种网络使用的默认掩码
- /etc/networks 为网络配置易记忆的名字(可视为网络和网络名的对应表)
- /etc/dhcp.[interface_name] 网卡使用DHCP时,存放所获得的DHCP参数的配置文件
- /etc/resolv.conf DNS客户端的配置文件,配置DNS服务的IP地址,本机所属域,搜索域等
- /etc/nsswitch.conf 名称服务选择文件,指定系统对各种不同的网络信息进行查询时分别使用哪些名称服务以及优先顺序。
当修改完网卡配置文件和网关配置后,可用以下命令让其立即生效:
solaris# svcadm restart network/physical
redhat# service network restart
10、远程管理
- telnet默认处于禁用状态。要开启它需要修改/etc/xinetd.d/telnet文件
- 启用telnet:把最后一行改成:disable = no
- 启用tcp_wrapper:xinetd.conf自带tcp_wrapper功能,在telnet文件 or /etc/xinetd.conf中的相关配置(红字为新增)
- xinetd.conf:log_on_success = HOST PID
- xinetd.conf:log_on_failure = HOST
- telnet文件:log_on_failure += USERID ATTEMPT
- 然后重启xinetd进程
- # ps -ef | grep inetd 记下当前在运行的inetd进程及参数
- # kill inetd-PID
- # xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid 根据记录下来的命令行重启xinetd
- redhat的专用重启指令:service xinetd restart 类似于solaris 10的:svcadm restart inetd
- 查看登录日志记录:
- # tail /var/log/secure
Oct 26 16:20:48 redhat9 login: FAILED LOGIN 1 FROM 172.16.1.201 FOR root, Authentication failure
新版的redhat enterprise版本可能使用kerberos5认证,要使用telnet可参考:
http://linux.chinaunix.net/bbs/viewthread.php?tid=905516
Solaris 9使用传统的inetd
- 所有Inetd管理的服务均在/etc/inetd.conf文件中配置
- 要禁用只需在配置条目前加#号注释掉即可
- 要启用tcp_wrapper需要去http://www.sunfreeware.com下载软件包安装,然后修改/etc/inetd.conf文件的配置条目
- ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
- telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
Solaris 10使用SMF
- 内置telnet和ssh,默认处于启用状态。
- 它保持了和传统的inetd运行机制的兼容性,但推荐采用以下操作:
- 可通过SMF的svcadm or inetadm命令禁用telnet,ssh等服务
- 自带tcp_wrapper功能,用inetadm or svccfg开启tcp_wrapper
- 此外还可以使用GUI界面的smc来管理远程Solaris主机
- 所有的支持tcp_wrapper的系统都可以支持/etc/hosts.allow和hosts.deny文件
- 语法:daemon_list : client_list [ : shell_command ]
- hosts.deny的配置示例:in.telnetd: ALL EXCEPT LOCAL
- Solaris的相关日志/var/adm/messages
- Redhat的相关日志/var/log/secure
11、内核管理
两个操作系统对核心参数进行修改的操作有 较大的区别。
Linux系统中
- 可能需要修改源,修改/proc中条目的运行时间,使用sysctl或加载内核模块
- 可能需要修改/etc/system文件,加载内核模块,运行各种实用工具诸如ndd,DTrace or adb之类
- 分页(paging)
- 交换(swapping)
- 进程大小(process sizing)
- 文件系统刷新(file system flushing)
- 核心内存分配
- 作业调度
- TCP/IP参数
- 等等....
加载核心模块
内核模块(kernel module)是包含核心代码的二进制文件。内容通常包括:设备驱动程序、文件系统、系统调用,一些核心层的其他功能。
这些模块有可能在OS运行期间进行加载和卸除操作。通过加载模块可修改核心功能。比如可通过加载一个(实现新文件系统)的核心模块来支持一种新的文件系统。
Solaris中与核心模块操作有关的命令
- modload 加载核心模块的命令。
- modunload从当前正在运行的内核移除一个核心模块
- modinfo 查看系统当前加载了哪些模块
- modprobe
- insmod
- rmmod
- lsmod
有些参数可通过命令进行调整,比如ndd,可修改网络接口的行为。使用ndd可以改变网络接口的配置,比如全双工或半双工;还可以改变Solaris实现TCP/IP协议栈的方式。
adb和dtrace工具可以在系统运行时直接修改内核参数(不像/etc/system需要重启才能生效),这些修改将立即生效。 因此使用时要非常小心,一旦出错会使内核产生致命的错误,导致系统崩溃。
详见docs.sun.com:
- Solaris 可调参数参考手册.pdf
12.SWAP管理
- fdisk创建一个分区,然后用t指令把分区类型调整为Linux SWAP(0x82)
- 格式化SWAP分区并检测坏块
mkswap -c /dev/sdb2
- 启用新的SWAP分区,从而扩大SWAP空间
swapon /dev/sdb2
- 查看SWAP分区
cat /proc/swaps
- 查看内存信息
cat /proc/meminfo
- 在自动挂接文件中指定使用新SWAP分区,/etc/fstab文件中的相关内容(红字为新增):
/dev/sda3 swap swap defaults 0 0
/dev/sdb2 swap swap defaults 0 0
- 删除SWAP分区
swapoff /dev/sdb2
- 使用交换文件
读入8192+0个块?每块大小为1024字节
输出8192+0个块?
[root@redhat root] # mkswap /swapfile 8192
Setting up swapspace version 1, size = 8384 kB
[root@redhat root] # sync
[root@redhat root] # swapon /swapfile
[root@redhat root] # cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 1044216 0 -3
/dev/sdb2 partition 506036 0 -4
/swapfile file 8184 0 -5
Solaris的SWAP空间管理
- 使用分片作为SWAP空间
- 用format创建SWAP分片,然后编辑/etc/vfstab文件,加入以下条目
# vi /etc/vfstab
/dev/dsk/c1t0d0s1 - - swap - no -
- 除了编辑/etc/vfstab文件外,也可用swap命令临时在线添加一个分片作为交换空间使用。
# swap –a /dev/dsk/c1t0d0s3
- 使用swap files
# mkfile 100m/export/home/swapfile100m
2. 把上面新建的文件作为交换空间的一部分
# swap -a/export/home/swap*
3. 验证新的交换空间情况
# swap -s
总数:分配了 226672k 字节 + 保留 32512k = 已使用 259184k ,590284k 可用
# swap -l
4. 保存结果
编辑 /etc/vfstab 文件,加入以下条目,每次重启系统都会自动把交换文件作为交换空间使用
/export/home/swapfile100m - - swap - no -
- 删除swap空间
# swap -d/dev/dsk/c1t1d0s1
# swap -d/export/home/swap*
# rm/export/home/swapfile100m
注:必须注意 swap -s和-l这两个选项的区别。-s列出所有的虚拟交换空间(包括物理内存部分),-l仅列出物理交换设备(交换分片或交换文件)
作者保留版权,转载请注明出处,来自 cu-yuhuohu.
13.网络共享NFS
- 配置共享目录:输出目录配置在/etc/exports文件中
/home 172.16.1.0/24(rw,sync) *(ro,sync)
- 输出共享目录:运行exportfs命令把/etc/exports文件中的配置输出成NFS共享目录
- 启动NFS服务:/etc/init.d/portmap start 和/etc/init.d/nfs start
- 查看共享目录:showmount -e
- 查看共享属性:cat /var/lib/nfs/etab
- 输出目录配置在/etc/dfs/dfstab文件中,或者直接运行share命令,配置内容格式如下:
share -F nfs -o rw -d "home dirs" /export/home
share -o ro/usr/share/man
- 输出共享目录:share,shareall
- 启动NFS服务:solaris9:/etc/init.d/nfs.server start solaris10:svcadm enable svc:/network/nfs/server
- 查看共享目录:showmount -e or dfshares
- 查看共享属性:cat /etc/dfs/sharetab
- 其他命令:dfmounts
- Solaris 10的NFS客户端在尝试挂接NFS资源时,会先使用客户端能支持的最高版本,然后依次降低版本直至和服务器取得一致。比如Solaris 10的NFS客户机会先使用NFSv4,不成功就v3,然后v2
- 从solaris挂接来自redhat的共享资源命令示例:
第六章:设备管理
随着USB设备、外置硬盘、数码相机以及其他移动设备的使用,对机器执行添加和删除设备的操作变得越来越频繁。本章主要讨论Linux和Solaris关于设备管理的区别点
- 设备命名和访问
- 添加/删除设备
- 可移除设备
- 磁带
- 终端/modem和串行端口
1、设备命名和访问
Linux系统中所有的设备文件都存放在/dev目录中.
- /dev目录是平面形,所有的设备节点都放置在这个目录下(不分级)
- TTY设备的名字为/dev/pty*.
- SCSI硬盘的设备文件名为/dev/sd[a-z],第一块SCSI硬盘为sda.IDE为/dev/hd[a-z]
- 第一块IDE硬盘为hda
- 硬盘分区的设备文件为/dev/sd[a-z]N,比如第一块SCSI硬盘的第一个分区为:/dev/sda0
- 虽然Linux有一个专门的设备文件用来表示整个磁盘,但使用时通常把硬盘分区,然后对分区进行格式化(即创建文件系统),挂接等操作
- solaris的/dev目录是分层的,按照设备的类型分成许多子目录,比如dsk,rdsk,pts,cua,rmt等
- solaris的TTY设备文件的名字为/dev/pts/*的格式,比如/dev/pts/0,/dev/pts/1
- solaris采用controller,target,device,slice来定位磁盘上的分区,比如/dev/dsk/cAtBdCsD,A是控制器编号,B是SCSI目标ID,C是LUN,D是分片号
- 如果是IDE硬盘,表示为cxdxsx的形式.
- solaris通过分片来使用磁盘,最多可使用0-7个分片(0-7)。0表示第一个分片,1表示第2个分片,slice 2分片表示磁盘中所有的空间,3表示第3个分片,依次类推
- solaris不象Linux有一个相对独立的名字(比如hda,sda等)来专门表示整个磁盘。solaris中所有的磁盘设备都是指向磁盘的一个分片。分片2是一个特殊的例子,它与其他所有的分区重叠,它的空间从0号磁柱开始覆盖了整个磁盘,代表着整个磁盘的容量。
2、添加/删除设备
设备驱动必须已经被编译进集成的内核中,并且在启动时初始化这个静态内核。
Solaris 8以及之前的版本用adddrv命令添加和删除设备。
solaris 9开始,使用devfsadm命令。devfsadm -C可/dev中已经无效的条目。
/devices目录树能够展示机器启动时在OBP状态所看到的设备树。
3、可移动设备
solaris通过卷管理器vold管理可移除设备,比如CD,DVD,软盘等。可用/etc/init.d/volmgt启动或停止vold守护进程
- 当软盘插入软驱时,vold会自动把软盘挂接到/floppy目录,并创建两个设备:块设备/vol/dev/diskette0和裸设备/vol/dev/rdiskette0
- CD和DVD的处理与之类似,被自动挂接到/cdrom目录,并创建两个设备节点/vol/dev/dsk和/vol/dev/rdsk,分别用于提供块设备访问和字符设备访问
4、磁带设备
设备文件的名字为/dev/rmt/N[lmhuc][bn]
- N表示设备编号,0表示第一个磁带
- lmhuc为磁带密度,分别是低/中/高/超高/压缩
- b表示支持BSD风格的行为。比如
- fsb:若在mt命令中指定fsb,表示将把磁带定位到前一个文件的结束点或当前文件的开始点
- fsf:表示定位到当前文件的结束点或下一个文件的开始点
- n表示不倒带
5、终端/modem和串行端口
- minicom和seyon 管理端口
- setserial管理串行端口
- 主要使用tip来管理串口连接,配置文件为/etc/remote和$HOME/.tiprc。
- 串口的速度,奇偶校验(parity)和握手则通过eeprom命令设置