学习unxi系统管理、启动和关闭笔记
一、知识点
1、 掌握系统启动、关闭过程发生的事情(只有知道了系统如何启动和关闭的才能在出现故障时锁定问题)
2、 掌握OK模式下常用命令
3、 系统运行级别
二、学习目标
1、如果管理员忘记root密码,如何处理?
#cat /etc/shadow
//修改密码文件,将密码删除,之后重新设置
#passwd
也可以进入单用户模式下修改,但注意在a盘下(因为把磁盘挂载到/a下面了,所以/etc/shadow前要加/a,同样使用/etc/passwd也要在前面加/a),使用vi /a/etc/passwd命令将密码删除,然后对其进行重置。
#TERM=vt100
//在单用户模式下需要设置终端
#export TERM
#vi /a/etc/shadow
2、管理员更改内核参数后,重启服务器发现无法进入系统,如何处理?
#cp/etc/system /etc/system.bk
//修改参数前做好备份
进入到单用户模式
#TERM=vt100
//在单用户模式下需要设置终端
#export TERM
#cp /a/etc/system.bk /a/etc/system
//用备份的原参数文件覆盖系统修改后的参数文件
3、系统运行中死机,想减少数据的丢失,如何处理?
#sync //同步数据,减少数据的丢失
三、系统管理简述
1、 系统管理的三大任务对象:硬件、软件、客户。
2、 硬件方面:平台的搭建(如给服务器添加一块网卡);维护硬件平台;安装配置外围设备(如添加阵列,即理解成添加一系列的磁盘组,这样比较廉价);监控运行状态;监控性能状态;硬件故障处理(可先将硬件平台隔离到不影响运行的状态,然后再查找错误进行修复)。
3、 软件方面:安装、配置UNIX系统;创建文件系统;管理、维护文件系统(确保文件系统的完整性);监控资源使用状态(如内存、cpu、文件系统等);规划、实施系统数据的备份、恢复(针对系统管理员,对于数据库管理员主要为针对数据库);安装、配置主机网络(确保主机网络处于正常工作);安装、升级应用软件。
4、 用户方面:设定账户、密码;合理管理权限(如何为用户规划和分配,保证系统稳定可靠的运行);需求评估;需求援助。
四、启动
1、启动概念:从存储设备(磁盘、光盘)上将内核加载到内存的过程。
2、启动四大阶段:
(1)、PROM(BIOS自检,基本输入输出设备,对硬件设备检测是否可用,是一个引导的阶段)
Boot PROM芯片:已经写好的固化在芯片上的一段小程序,说明已经写死在芯片上了,如果对其进行擦除是比较麻烦的,主要用于基本硬件测试和初始化的固件。
检测:加电自检→检测基本CPU板→设备驱动→用户操作界面。
NVRAM:永久性的随机读取内存(这部分内容永久存放的,如时间、系统配置的参数)。
启动方式:
进入到OK模式(只能在sparc平台下才能进入,特制的鼠标和键盘,而且鼠标是连接在键盘上的。按STOP+A键可以进入,这类似于Solaris平台下的单用户模式。它的命令了解,无需记忆)
(2)、引导程序(MBR引导,选择要启用的系统,从磁盘中读取系统内核加载到内存中)
上图中,进入Solaris failsafe下可对故障进行排除和修复。是一种单用户模式。Solaris10中设计为GUN Grand Unified Boot(GRUB)载入。默认情况引导装载程序会显示包含上图两个条目的引导菜单。
(3)、内核初始化(所有组件、驱动程序进入一个初始化阶段,引导转载程序→内核→用户模式)
①内核分为两部分:面向用户、面向硬件。
②内核启动:初始化硬件→清空控制台→打印banner(硬件的信息,如下图)→挂载根文件系统(即“/”为根目录。如果单用户模式会挂载到A下面,若访问文件则需在其前加a如“/a/”样式)→执行用户态程序
③修改内核参数:set parameter = value(内核参数即对应用程序、驱动程序的一些配置)修改前应对其进行备份,使用cp命令。内核参数放到了“/etc/system”文件里面。
例:
#vi /etc/system
set module_name:variable=value
#reboot
例:
set shmsys:shminfo_shmmin=1
#reboot
//内核参数修改后需要重启系统使其生效
修改配置内核:
④举例说明修改内核配置文件
#cp /etc/system /etc/system.bk
//备份原/etc/system文件,bk为backup缩写
Set maxusers=48
//修改/etc/system文件,增加内核变量
#reboot
//重新引导系统
(4)、sbin/init阶段(进入到一个用户态状态,如MSN启动后对其设置了开始后自动登录状态一样。大多数solaris功能都是由用户态程序驱动的)
①介绍:内核执行第一个进程(PID总是1)中的/sbin/init文件启动这些程序,init进程会读取/etc/inittab下的配置文件,根据这个配置文件执行程序(如启动MSN时,把MSN启动脚本会写入到/etc/inittab配置文件下,启动MSN时/sbin/init进程便会去读/etc/inittab配置文件,之后MSN便启动起来了)。
例:
#cat /etc/inittab
//查看/sbin/init进程的文件
#ps –ef
//查看到/sbin/init的进程,PID(进程ID)为1,说明/sbin/init是一个进程
②solaris与其它unix区别:默认inittab不会指示init(初始化)执行/etc/rc*.d目录中的init脚本。而是由服务管理工具(SMF)来启动实现solaris上大多数系统支持功能的进程。Solaris init包含专用的功能,用于启动和重启实现SMF的守护进程。
#ls –l /etc/rc*.d
//*代表任何的数据。下图的rc0、rc1、rc2、rc3、rcs是系统的运行级别。
五、Solaris独有的引导流程
下图为普遍unix引导流程。在用户状态阶段,当执行INIT进程时,会读取/etc/inittab配置文件,然后会执行rc.d里面系统初始化的脚本。还会执行rc.d里的rc脚本。rc*.d的脚本中的0、1、2、3、4、5、6为系统的级别。然后会启动登录的一个进程。而对于Solaris下图红色区域中的是被SMF替换了。
补充知识点:
UNIX下运行级别:
级别 |
意义 |
0 |
停机,并不自动断电 |
1 |
系统维护模式,仅超级用户可访问系统 |
2 |
不带NFS的多用户模式 |
3 |
完全多用户模式 |
4 |
用户自定义模式 |
5 |
停机,自动断电(linux下此级别为完全多用户状态) |
6 |
重启动,并进入2或3 |
S或s |
单用户模式 |
六、读懂配置文件
①Init配置文件
位置:/etc/inittab
作用:控制由init启动的进程
查询项说明:id:rstate:action:process
//编号:运行级别:描述动作:做到描述性动作需要哪些进程去实现这个目的
例:
x:5:respawn:/etc/X11/prefdm –nodaemon
解释:id字段是x,也可以是x1、x2等等不固定的,用于在inittab文件中唯一标识一个配置记录;5是runlevels字段,用于指定该记录在哪些运行级别中运行;respawn是action字段,用于描述记录将执行哪种类型的动作;/etc/X11/prefdm –nodaemon是prcocess字段,用于设置启动进程所执行的命令。
②启动状态解释:
Linux下执行:
#cat /etc/inittab
//会先去执行/etc/rc.d/rc.sysinit的脚本,会根据启动的一个级别去执行,如果启动的是5这个级别,那么就会去执行这个/etc/rc.d/rc 0文件夹下的数据,然后再根据来启动一个它的tty5的终端,然后就启动了。
Solaris下执行:
#cat /etc/inittab
//在Solaris下是直接启动一个叫smf的服务,再有这个服务器去执行和管理其它的功能
③init运行控制脚本
/etc/inittab文件内容如下图所示:
#ap::sysinit:/sbin/autopush -f /etc/iu.ap
//这是一个初始化STREAMS模块
sp::sysinit:/sbin/soconfig -f /etc/sock2path
//配置套接字传输提供器
smf::sysinit:/lib/svc/bin/svc.startd >/dev/msglog 2<>/dev/msglog </dev/console
//初始化 SMF的主重新启动器,SMF再去启动其它的一些功能
P3:s1234::powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/msglog 2<>/dev/msglog
//p3表示ID号;s1234为运行级别; powerfail为电源故障,描述因电源故障而造成的关机;如果出现电源故障会使用/usr/sbin/shutdown -y -i5 -g0命令去执行关机,其中-y表示默认回答为YES,-5表示关机,-g0表示立刻执行;“>”为输出重定向符,把/usr/sbin/shutdown -y -i5 -g0命令运行的结果输出写到/dev/msglog 2<>/dev/msglog日志里。
读脚本小知识点:
符号 |
含义 |
1> |
标准输出 |
2> |
标准错误输出 |
0> |
标准输入 |
④系统运行级别/状态
查看运行级别命令:Who –r
临时切换运行级别:init [0-6]
例#init 6//系统会重启
七、关闭
①原因:切断电源、安装新版本系统、扩充硬件、文件系统维护
②步骤:通知用户→关闭所有子系统(如数据库)→选择并执行关闭命令
③命令:
shutdown [-y] [-g<grace>] [-i<initstate>] [message]
选项:
[-y]系统提示时默认回答为YES;
[-g]过多长时间改变,如g5表示5分钟后关闭,默认为1分钟;
[-i ]想要的运行级别,如-5表示关机;
其它相关命令:
reboot //重启系统
halt //关闭系统,暴力手段,所有东西都不保存
init 0 //将系统切换到0状态,即关机
shutdown –gn –y