第一章:差别概览1. 默认shell2. 文件系统3. 文件布局4. 命令的位置5. 网络配置文件(revision 1.1)6. 文件系统配置文件7. 邮件8. 日志文件9. 脚本移植10. 帮助文件(new)首先一个区别:默认shellCODE:两个操作系统的默认shell虽然都是/bin/sh,但linux默认shell是bash,/bin/sh仅是一个指向到/bin/bash的符号链接。
而solaris的默认shell是Bourne shell,名为/bin/sh。
第二个区别:文件系统CODE:标准的solaris文件系统格式是UFS,还可以使用VxFS,QFS,从Solaris 10 u2版开始,还可以使用ZFS。
Linux通常使用ext3 or ext2,reiser,JFS,XFS其中一种。
区别3:文件系统目录布局CODE:最值得注意的是/proc目录。
Linux的/proc目录存放与系统配置以及进程有关的信息,可以修改这些文件以更新内核变量和进程信息。
而Solaris的/proc目录仅包含进程信息,不能从/proc目录获取系统信息或调整内核变量,但Solaris使用/platform目录,这个目录包含平台特定的信息和应用,Linux没有与Solaris的/platform对应的目录。
区别4:命令QUOTE:为了保持对System V,BSD,GNU软件的兼容性,除了常规的/bin(/usr/bin)和/sbin(/usr/sbin)目录外,Solaris还使用了一些扩展的命令目录,这些目录如下所示:•/usr/openwin•/bin/usr/dt/bin•/usr/sfw/bin•/opt/sfw/bin•usr/xpg4/bin•usr/ccs/bin•/usr/ucb其中:•/usr/bin 标准的System V命令•/usr/ucb 传统的BSD命令有些命令在这两个目录中都有,但用法可能不同,比如basename df du echo expr fastbootfasthalt file from groups install ldlint ln lpc lpq lpr lprmlptest ls mkstr printenv ps rusagesed shutdown stty sum test touchtr tset users vipw whereis whoami免费软件的部署Linux和Solaris相同,这些GNU的命令在Solaris中通常都以g字母开头,比如gtar。
System V和BSD中有两个目录包含免费软件:/usr/sfw/bin和/opt/sfw/bin。
前者包含从安装介质中安装的免费软件,后者则是从配套CD中安装的软件。
随着Solaris版本的更新,有可能会把配套CD上的软件放入Solaris安装介质中,因此需要注意在旧版本上的/opt/sfw/bin目录中的命令可能会被移植到/usr/sfw/bin中。
凡是在/usr/sfw/bin中的软件,表示能够通过Sun的标准支持通道获得完全技术支持,而/opt/sfw/bin中的软件则通常是由开源软件组织获得技术支持。
作者保留版权,转载请注明出处,来自cu-yuhuohu.区别5:网络配置文件QUOTE:Linux Solaris/etc/ntp.conf /etc/inet/ntp.conf/etc/[x]inetd.conf /etc/inet/inetd.conf/etc/sysconfig/network-scripts/ifcfg-{interface} /etc/hostname.{interface} and /etc/inet/netmasks/etc/sysconfig/network /etc/nodename and /etc/defaultrouter/etc/networks /etc/networks -> /etc//inet/networks(链接到这个文件)区别6:文件系统配置文件[Copy to clipboard][ - ]CODE:Linux Solaris/etc/fstab /etc/vfstab/etc/exports /etc/dfs/dfstab (format is different)/etc/auto.master /etc/auto_master/etc/auto.home /etc/auto_home区别7:mail[Copy to clipboard][ - ]CODE:Linux Solaris/etc/aliases /etc/mail/aliases/etc/mail.rc /etc/mail/Mail.rc/etc/mail/mailx.rc区别8:日志文件QUOTE:在Linux系统中,日志文件的主目录为/var/log,各种系统守护进程的日志文件均存在此处。
Solaris稍有不同,/var/log目录存放syslog和authlog的日志文件,而/var/adm目录则存放消息日志文件,在缺省配置时,solaris的/var/adm/messages文件(redhat对应的文件为/var/log/messages)包含所有的日志记录(可通过修改syslog.conf文件为不同的日志指定不同的消息记录文件)。
区别9:脚本移植QUOTE:如果要把脚本从Linux移植到Solaris,需要注意以下几点:•首先确定脚本中所使用的所有文件和路径在Solaris中均有效•确定所有的选项和参数是否有变化•命令的执行输出是否有区别区别10:查看帮助信息QUOTE:1、共同点:o都可以查看whatis数据库中的关键字,比如uname命令:# apropos uname or man -k unameo都可以直接在man命令中指定搜索路径:# man -M /opt/man command2、man的差异•Linux的mano# whatis printfprintf (1) - format and print dataprintf (3) - formatted output conversionprintf [builtins] (1) - bash built-in commands, see bash(1)o# man 3 printf•Solaris的mano$ whatis printfprintf printf (1) - write formatted outputprintf printf (3c) - print formatted outputprintf printf (3ucb) - formatted output conversiono$ man -s 3c printf•添加新搜索路径o linux把新搜索路径加入/etc/man.conf文件,比如“MANPATH /opt/man”。
▪然后运行makewhatis,可更新whatis数据库o solaris可在/etc/profile文件中加入:MANPATH=$MANPATH:/opt/manexport MANPATH3、Linux特有的帮助:•Linux还可以使用info查看帮助,info中带有简单的菜单式链接。
按回车进入菜单所链接的章节,按q退出•最后Linux在/usr/share/doc/目录中还提供了一些其他格式(pdf、html等)的帮助资源。
每个子目录对应一个应用,存放和应用相关的配置、设置等帮助资料。
比如/usr/share/doc/bind*,存放和DNS服务器应用软件bind有关的帮助信息。
第二章:命令差别•绝大多数linux命令都有两种类型的选项:简洁式(short form,比如-v)和长格式(long form,比如--version)。
•而Solaris的命令,除非是GNU版本的以外,通常都没有长格式。
•Linux命令可使用"--help"查看简要帮助,Solaris部分新命令可使用"-?"达到同样的效果,比如pkginfo -?如果从linux移植脚本到solaris,就必须注意这点区别,用GNU版本的命令来替代或把这些Solaris没有的选项替换成对应的简洁式选项。
inux和作者保留版权,转载请注明出处,来自cu-yuhuohu.basenameQUOTE:Linux和Solaris上的basename命令的基本功能都相同。
Solaris提供两个basename命令:•/usr/ucb/bin/basename和Linux版本的basename命令相同•/usr/bin/basename的功能更强,可以通过表达式模型匹配后缀(可参见/rosetta.html)chownQUOTE:两个操作系统都支持-f和-R这两个基本选项。
若指定的文件是指向到目录的符号链接均需使用扩展选项•-f(强制执行,不报告错误)•-R(递归,遇到符号链接仅改变链接的目标,符号链接自身不会改变,不会遍历符号链接的目标目录)Solaris提供了两个版本的chown命令,/usr/bin/chown和/usr/ucb/chown.•/usr/ucb/chown只支持两个选项:-f和-R•/usr/bin/chown除了-f和-R外,还支持-h,-H,-L,-P这些扩展选项(要和基本选项-f,-R一起使用).•除非使用-h,-P选项,否则符号链接自身的拥有者不会改变Solaris的/usr/bin/chown的-h,-H,-L,-P•Solaris的-h等同于Linux的-h or --no-dereference.比如lncht是指向到cht目录的符号链接# chown -R solaris lncht 仅改变目标目录cht的所有者,符号链接自身不会改变,不会遍历符号链接的目标目录# chown -Rh solaris lncht 与仅使用-R相比,-Rh把符号链接lncht自身的所有者也改了,其他相同•-H 如果是指向到目录的符号连接,则目录和其下的文件的所有者发生改变。
但若目录下的文件也是个符号链接,则目标文件的所有者被改变,但不会再次进行递归操作。
•-L 和-H类似,但更彻底,在遍历时遇到指向到目录的符号链接,不仅改变目标目录的所有者,同时还会继续遍历目标目录进行改变操作。
•-P 指定的文件或在遍历各级目录时遇到的文件是符号链接,则改变符号链接的所有者。
-P不会对符号链接的目标目录进行遍历。
-P类似于--no-dereference•-P>-L>-HLinux的chown命令的扩展选项:•-c or --changes 类似于详细模式,但仅报告被改变的部分•--dereference 命令对符号链接起效,这是solaris的默认行为。