linux运维实战练习-2016年1月19日-2月3日课程作业(练习)
一、描述centos6系统开机启动流程;
1、POST开机自检,加载COMS中存储的引导设备及引导顺序
2、找到第一个可以引导的设备
3、读取引导设备的第一个扇区上的MBR信息
4、读取MBR中的bootloader信息(前446字节)-- grub 1st stage
5、加载对stage2文件系统的支持 -- grub 1.5 stage
6、读取/boot/grub配置文件 -- grub 2 stage
7、初始化kernel:
8、运行/sbin/init(Upstart)
9、读取/etc/inittab设置默认运行级别
10、运行系统初始化脚本完成系统初始化 /etc/rc.d/rc.sysinit
11、启动对应运行级别下需要启动的服务 /etc/rc.d/rc#.d
12、运行非服务但是需要开机运行的程序 /etc/rc.d/rc.local
13、设置登录终端
二、描述/etc/rc.d/rc.sysinit: 系统初始化脚本的功能;
1、设置主机名;
2、设置欢迎信息;
3、激活udev和selinux;
4、挂载/etc/fstab文件中定义的文件系统;
5、检测根文件系统,并以读写方式重新挂载根文件系统;
6、设置系统时钟;
7、激活swap设备;
8、根据/etc/sysctl.conf文件设置内核参数;
9、激活lvm及software raid设备;
10、加载额外设备的驱动程序;
11、清理操作;
参考文章:
http://www.niubb.net/a/2015/05-05/409318.html
http://www.cnblogs.com/image-eye/archive/2011/10/21/2220344.html
三、总结文本处理工具sed及awk的用法;(必须附带示例)
sed http://www1707.blog.51cto.com/1184226/1739394
awk http://www1707.blog.51cto.com/1184226/1740618
四、写一个脚本,生成10个随机数,并按从小到大进行排序(要求至少使用2中方法);
[root@lab ~]# cat 41.sh #!/bin/bash
for ((i=0;i<$1;i++))
do
num[$i]=$RANDOM
done
echo ${num[*]} |tr " " "\n" |sort -n
[root@lab ~]# sh 41.sh 10
926
2793
3576
3616
4599
5693
10890
19170
22063
27814
[root@lab ~]# cat 42.sh
#!/bin/bash
for ((i=0;i<$1;i++))
do
num[$i]=$RANDOM
done
for ((x=$[ ${#num[*]} - 1 ];x>0;x--))
do
for ((y=0;y<$x;y++))
do
if [ ${num[$y]} -gt ${num[$[ $y + 1 ]]} ]
then
temp=${num[$[ $y + 1 ]]}
num[$[ $y + 1 ]]=${num[$y]}
num[$y]=$temp
fi
done
done
for ((i=0;i<${#num[*]};i++))
do
echo ${num[$i]}
done
[root@lab ~]# sh 42.sh 10
5081
8003
10140
11362
16338
20534
22822
23943
26034
26842
五、在每周二的凌晨1点5分执行脚本/data/get_username.sh,并将脚本的输出至/tmp/get_username.log日志文件中;
ceontab -e5 1 * * 2 sh /data/get_username.sh &>> /tmp/get_username.log
六、写一个脚本:如果某路径不存在,则将其创建为目录;否则显示其存在,并显示内容类型;
[root@lab ~]# cat 6.sh #!/bin/bashif [ -f $1 ]then echo $1 is already a file ls -l $1elif [ -d $1 ]then echo $1 is already a dir ls -dl $1else mkdir -p $1 echo dir $1 create ok ls -dl $1fi[root@lab ~]# sh 6.sh /root/install.log/root/install.log is already a file-rw-r--r--. 1 root root 29285 Jan 24 22:31 /root/install.log[root@lab ~]# [root@lab ~]# sh 6.sh /root/2//root/2/ is already a dirdrwxr-xr-x. 2 root root 4096 Jan 24 23:10 /root/2/[root@lab ~]# [root@lab ~]# sh 6.sh /root/xxxdir /root/xxx create okdrwxr-xr-x. 2 root root 4096 Jan 24 23:16 /root/xxx
七、写一个脚本,打印9X9乘法表;
[root@lab ~]# cat 7.sh #!/bin/bashfor ((x=1;x<10;x++))do for ((y=1;y<=$x;y++)) do echo -e -n $y X $x = $[ $y * $x ] "\t" done echodone[root@lab ~]# sh 7.sh 1 X 1 = 1 1 X 2 = 2 2 X 2 = 4 1 X 3 = 3 2 X 3 = 6 3 X 3 = 9 1 X 4 = 4 2 X 4 = 8 3 X 4 = 12 4 X 4 = 16 1 X 5 = 5 2 X 5 = 10 3 X 5 = 15 4 X 5 = 20 5 X 5 = 25 1 X 6 = 6 2 X 6 = 12 3 X 6 = 18 4 X 6 = 24 5 X 6 = 30 6 X 6 = 36 1 X 7 = 7 2 X 7 = 14 3 X 7 = 21 4 X 7 = 28 5 X 7 = 35 6 X 7 = 42 7 X 7 = 49 1 X 8 = 8 2 X 8 = 16 3 X 8 = 24 4 X 8 = 32 5 X 8 = 40 6 X 8 = 48 7 X 8 = 56 8 X 8 = 64 1 X 9 = 9 2 X 9 = 18 3 X 9 = 27 4 X 9 = 36 5 X 9 = 45 6 X 9 = 54 7 X 9 = 63 8 X 9 = 72 9 X 9 = 81
八、描述dns的工作流程,以及完整搭建一套dns主从服务器,相关域名和ip可自行设定。
DNS and BIND 笔记总结 http://www1707.blog.51cto.com/1184226/1740826
DNS 主从实验 http://www1707.blog.51cto.com/1184226/1740827