
一、请具体表述CentOS系统的推进步骤(详细到每位过程平台做了什么事情)
第一步:POST加电自检
主要推动的用途是检验各个软件设施能否存在并且还能正常运行出来,实现这一自检功能的是固化在主板上的ROM(主要代表为CMOS)芯片上的BIOS(Basic Input/Output System)程序。
第二步:Boot Sequence(选择开启设备以加载MBR)
主要推动的功能是选用要开启的软件设备,选择了以后就可以读取这个设备上位于MBR里头的bootloader了。这一步的实现是这么的:根据BIOS中对推进顺序的设置,BIOS自己会依次扫描各个引导设备,然后第一个被扫描到具备引导程序(bootloader)的设备就被成为要开启的引导设备。
第三步:加载bootloader(MBR)
这一步实现出来的方法非常多,前面的BIOS通过调用并执行开启设备的MBR中的bootloader,而bootloader要推动的功能就是提供一个菜单给客户,让顾客去选取要开启的平台或不同的内核版本,然后把用户选用的内核版本读取至RAM中的特定空间,接着在RAM中解压、展开,而后把系统控制权移交给内核。
第四步:Kernel自身初始化
Kerenl在受到系统控制权之后,首先要进行自身初始化
(1)探测可识别到的所有软件设备;
(2)加载软件驱动程序,即读取真正的根文件系统所在设施的驱动程序(有可能会借助于ramdisk加载驱动);
(3)以只读模式挂载根文件系统;
(4)运行用户空间的第一个应用程序:/sbin/init.
第五步:init管理用户空间服务进程

init可以理解成是内核派来管理用户空间的使者,就好似恶魔代表上帝来访问人间一样。init这个初始化程序会按照其配置文件执行一系列操作。
二、为运行于虚拟机上的Centos 6 添加一块新内存,提供两个主分区;
1.为内存新建两个主分区;并为其安装Grub
echo “- – -” > /sys/class/scsi_host/hos0/scan
fdisk /dev/sdb
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2
mount /dev/sdb2 /mnt/minilinux/
mkdir -v /mnt/minilinux/{etc,bin,sbin,lib,lib64,var,proc,usr,sys,boot,dev,tmp}
mount /dev/sdb1 /mnt/minilinux/boot/
grub-install –root-directory=/mnt/minilinux /dev/sdb
2.为内存的第一个主分区提供内核和ramdisk文件;为第二个分区提供rootfs
cp /boot/initramfs-2.6.32-431.el6.x86_64.img /mnt/minilinux/boot/initramfs.img
cp /boot/vmlinuz-2.6.32-431.el6.x86_64 /mnt/minilinux/boot/vmlinuz

3.为rootfs提供bash、ls、cat程序及所依赖的库文件
cp /bin/{bash,ls,cat} /mnt/minilinux/bin/
cp $(ldd /bin/{bash,ls,cat} |grep -o “/.*\.[0-9]”) /mnt/minilinux/lib64/
chroot /mnt/minilinux/
4.为grub提供配置文件
vi /mnt/minilinux/boot/grub/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Minilinux
root (hd0,0)
kernel /vmlinuz root=/dev/sda2 selinux=0 init=/bin/bash quiet
initrd /initramfs.img

5.将新的硬盘设为第一启动项并能正常开启目标主机
三、制作一个Kickstart文件或者一个引导镜像,描述其过程
1、制作Ks文件
yum -y install system-config-kickstart
system-config-kickstart
2、创建引导镜像
mkdir /root/miniboot
cp -r /media/CentOS_6.5_Final/isolinux/ /root/miniboot/
cp /root/ks.cfg /root/miniboot/
vim /root/miniboot/isolinux/isolinux.cfg
mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6 miniboot” -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso /root/miniboot/
四、写一个脚本
(1)能接受四个参数:start,stop,restart,status
start:输出”starting脚本名finished”

(2)其他任意参数,均报错退出

五、写一个脚本,判断给定的客户能否登录了当前平台
(1)如果登录了centos下shell脚本编程,则显示用户登陆,脚本终止
(2)每3秒钟,查看一次用户是否登录

六、写一个脚本,显示客户指定要查看的信息
cpu)display cpu info
mem)display memory info
disk)display disk info
quit)quit
七、写一个脚本
(1)用变量实现返回一个用户的UID和SHELL;用户名通过参数传递而来
(2)提示用户输入一个用户或输入”quit”退出
当输入的是用户名,则读取变量显示用户信息;
当用户键入quit,则退出脚本;进一步地:显示输入的客户相关信息后,再次提示输出用户名或quit

本文来自投稿,不代表Linux运维部落立场,如若转载centos下shell脚本编程,请标明出处:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-120843-1.html
就算你唱歌好听那你也是一个没人知道的路人
你10万放家里