Solaris操作系统核心基础知识入门教程全面讲解
做了多年 Solaris 系统管理工作,几乎每位运维同行都会遇到一些重复出现的问题。本文将这些高频场景及其解决方案一次性系统梳理,方便快速查阅。
先从一个基础话题开始:Solaris 的系统配置文件存放在哪里?
答案指向 /etc/system 文件。该文件定义了 Solaris 启动时加载的默认选项,其中包含共享内存大小等关键参数。
用户默认的 Shell 在哪里指定?查看 /etc/passwd 文件即可,每个用户记录行的最后一个字段便是。若忘记 root 密码,处理方式会因环境而异。
遗忘 root 密码的两种典型场景
如果工作站上只有 root 一个用户且网络连通,理论上可通过远程缓冲区溢出破解。但这种方法既不“经典”,还可能对系统造成损害,并不推荐。更稳妥的方案是使用 SUN 自带的光盘引导。
具体操作流程如下:
1. 从光盘启动:boot cdrom -s
2. 检查根分区:fsck /dev/dsk/c0t0d0s0 (实际设备名根据情况调整)
3. 挂载根分区:mount -F ufs /dev/dsk/c0t0d0s0 /mnt
4. 设置终端类型:TERM=ansi; export TERM
5. 编辑 /mnt/etc/shadow 文件,删除 root 行的口令字段。
6. 重启后 root 口令即为空。
如果工作站上还有其他普通用户,则属于另一种情形。本地缓冲区溢出虽然破坏性较小,但仍存在损坏硬盘引导区的风险。更安全的方式是利用“文件连接”错误获取 root 权限,该方法几乎无风险。
日常运维实用技巧
使用 vi 编辑器时觉得窗口太大?直接在终端窗口上拖拽鼠标即可缩小,问题瞬间解决。
共享内存大小的设置,在 /etc/system 文件末尾添加一行:Set shmsys:shminfo_shmmax=XXX。其中 XXX 为共享内存大小(字节)。经验公式为物理内存的一半。例如 512M 内存,计算公式为 512/2*1024*1000 = 262144000 字节。
root 用户的配置文件与普通用户不同,位于 /etc/profile。若想通过远程 X-win pro 以 root 身份登录,默认是被限制的。问题出在 /etc/default/login 脚本,该脚本禁止了远程终端上的 root 登录。将 CONSOLE=/dev/console 一行注释掉即可解除限制。
要确认网络配置是否正确,使用 ifconfig -a 查看。只要网卡绑定的 IP 不是 0.0.0.0,通常就没有问题。剩下的只需检查网线、RJ45 等物理介质即可。
敲错命令如何终止?Solaris 使用 ctrl+C,与 SCO 的 ctrl+Del 不同。
网络配置关键细节
网关配置方面,Solaris 与 SCO 完全遵循两套不同的逻辑。
SCO 的网关在 /etc/gateways 文件中配置,格式复杂:
例如:net 129.9 gateways 129.6.0.1 metric 1 passive
或者:host 129.7.10.21 gateway 129.6.0.2 metric 1 passive
Solaris 则简洁很多,只需在 /etc/defaultrouter 文件中写入网关 IP 即可。
网络安装与 DHCP 配置
通过网络安装 Solaris,服务器端需预留 340M 剩余空间。具体步骤:
先将 Solaris 2.6 安装盘插入 CD-ROM,然后复制 slice 0 到硬盘:
# cd /cdrom/sol_2_6_sparc_smcc_svr/s0/solaris_2.6/Tools
# ./setup_install_server /export/install
编辑 /export/autocfg/sysidcfg 文件,定义系统区域、时区、时间服务器等信息。然后在 /etc/hosts 中添加服务器 IP 与主机名的对应关系。
最后添加安装客户端:
# ./add_install_client -e CLIENT的以太网地址 -i CLIENT的IP地址 -s inssvr:/export/install -c inssvr:/export/autocfg -p inssvr:/export/autocfg inscli sun4u
客户端在 OK 提示符下执行 boot net - install。Solaris 7 for SPARC 与 2.6 的区别在于:7 没有默认的 sysidcfg 和 autocfg 目录,需要手动创建,且 OK 提示符下只需 boot net 即可。
Solaris 8 下的 DHCP 配置相对繁琐。核心思路是修改 /etc/init.d/network 和 /etc/init.d/inetsvc 两个脚本,因为旧版本 DHCP 服务器可能不支持返回 DNS 域名、DNS 服务器、节点名称等信息,需从本地文件读取。
具体改动包括:
1. 在 /etc/init.d/inetsvc 文件开头加入检测 DHCP 的语句。
2. 将原来从 DHCP 获取主机名和 DNS 信息的命令,改为从本地文件读取。
3. 创建 /etc/defaultdomain、/etc/nodename、/etc/dnsservers 文件。
最后不要忘记创建 /etc/dhcp.hme0 文件(设备名根据实际网卡调整)。
编译与硬件配置
在 SUN 上编译动态库,Makefile 写法如下:
CC=cc
C++=CC +w
.cpp.o:
$(C++) -g -c -Kpic $<
liberrlog.so:ErrLog.o
ld -o liberrlog.so -G ErrLog.o
如果安装 Solaris 时没有配置网卡,事后如何添加?直接执行 # reboot --r 或 ok boot -r 即可自动识别新硬件。然后用 ifconfig hme0 配置,hme0 可通过 dmesg 命令查看。
DNS 设置分为三步:
1. 修改 /etc/nsswitch.conf 文件中 hosts 解析部分,添加 dns。
2. 在 /etc/defaultrouter 中设置 DNS 服务器的网关。
3. 在 /etc/resolv.conf 中写入 DNS 服务器 IP 和域名。
硬件兼容性的典型问题
Ultra60 工作站从光驱启动时,使用 boot cdrom 命令会报“Drive not found”。原因是 cdrom 设备别名指向了内置光驱的物理设备。解决方案:
先按 stop+a 进入 OK 提示符,然后执行 probe-scsi-all 查看实际设备路径。再用 devalias 确认别名指向。最后使用完整路径启动,例如 boot /pci@1f,4000/scsi@3,1/disk6,0:f。
另一个更严重的情况:Ultra80 工作站安装 SunOS 5.6 时失败,报错信息显示 CPU 特权 UE 错误。这是由于 CPU 硬件结构与 Solaris 系统不兼容所致。不仅 Ultra80,如果 Ultra60 使用了 400MHz 以上的高速 CPU(通常 450MHz)配合 Solaris 2.6 或 2.5.1,也会出现类似问题。随机附带的《Installing Solaris 2.5.1 or Solaris 2.6 Software on 419+ MHz Systems》手册专门介绍了解决方案。另外还有一张补丁光盘 Operating Environment Installation CD May 1999,正是为解决此兼容性问题而准备的。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Mac隐藏左上角菜单栏苹果图标
先直接告诉你答案:Mac电脑屏幕左上角的那个苹果标志,既无法关闭,也无法隐藏。它是系统级的固定入口,所有macOS版本都会强制显示。苹果既没有提供开关选项,也没有预留终端命令,更不可能在系统偏好设置里让你找到隐藏开关。如果有人声称能用第三方工具或修改系统文件来删除它,千万别相信——结果很可能是系统不
Win11切换输入法的几种常用方法和快捷键设置
写文档写得正顺,突然要敲几个英文单词,或者打代码时想切回中文拼音——手指条件反射地按下Ctrl+Space,光标却纹丝不动。这种场景你应该不陌生。Windows 11其实准备了五种互不干扰的切换方式,有些连锁屏界面都能响应,关键是你得选对场景来用。下面把这五种路径挨个拆开,看完你就能找到最适合自己的
电脑开机黑屏提示未检测到启动盘修复方法
电脑开机直接黑屏,屏幕上孤零零地显示一句“No boot disk has been detected”——别紧张,这并非系统崩溃,也不是常见的蓝屏代码,而是主板在告诉你:“我没有找到硬盘。”换句话说,电脑连BIOS自检阶段都没能通过。 这属于硬件层面的硬中断,与引导损坏、系统文件丢失完全不是一回事
Windows 11更改默认音频采样率级别的详细方法
Windows 11 用户在播放音频时,偶尔会遇到爆音、杂音甚至声音动态被压缩得干瘪的情况。这种问题通常并非硬件损坏,而是系统在音频采样率设定上“擅作主张”了。例如某次系统更新后,默认格式可能被悄然重置为 24 位 192000 Hz——一个不少声卡难以稳定运行的高规格,结果导致 DMA 缓冲溢出、
Win11如何查看笔记本实时充电功率
对于笔记本充电功率的实时监测,系统自带的电池图标只能显示“正在充电”或“已充满”,却无法告知具体的瓦数。要获得实时数值,需要绕过默认界面直接读取硬件传感器。这里直接给出结论:最可靠的工具是HWiNFO64,其次是BatteryInfoView,而powercfg只能用于间接验证。无论你遇到插着65W
- 日榜
- 周榜
- 月榜
相关攻略
2026-07-02 07:30
2026-07-02 07:29
2026-07-02 07:29
2026-07-02 07:29
2026-07-02 07:29
2026-07-02 07:29
2026-07-02 07:29
2026-07-02 07:28
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

