课堂练习 六月
课堂练习1 grub
1.破解root口令,并为grub设置保护
2.破坏本机的/boot/stage1,然后恢复
运行一遍grub-install --root-directory=/ /dev/sda
3.破坏本机boot下的vm*和init* ,并用网络和非网络两种方法恢复
网络下载和挂载光盘重新安装内核
4.破坏本机的/etc/fstab和/boot下的所有文件,然后恢复他
自己写一个挂载文件,用fdisk查看各分区,然后在去挂载光盘重新安装一遍内核
5.增加新硬盘,在上边制作能独立运作的kernel和bash的系统
给硬盘增加两个分区,然后格式化成ext4格式,再挂载到/mnt/boot(固定名)和/mnt/rootdisk(任意名)上,接着运行grub-install,然后复制vm*和init*到创建的boot分区里,然后编写grub.conf文件,在rootdisk上
创建众多/下的子目录,然后复制/bin/bash到bin下,用ldd查看bash的库,复制到lib64下
课堂练习2 进程和计划任务
1.每4个小时备份一次/etc到/backup目录下,名字格式是etc-YYYY-mm-dd.tar.xz
2.每周2.4.7备份/var/log/messages 到/logs中去命名格式是message-YYYYmmdd
3.每两个小时取出/proc/meminfo以S M 开头的文件的名字追加到/tmp/meminfo.txt文件中
4.工作日时间内每小时执行一次ip addr show
课堂练习3
1.写一个脚本,使用函数实现,ping一个主机,主机如果在线,就显示up,不在线就显示down,主机地址通过参数传递给函数主程序的作用是ping 172.16.1.1到172.16.67.1的主机的在线状态
2.写一个脚本,打印n*n乘法表,n是用户给的数字,使用函数实现
3.生成10个随机数,找出其中的最大值和最小值
4.生成10个随机数,给他们排序
5.定义一个数组,数组中的元素是/var/log下的所有以.log结尾的文件,统计其下标为偶数的元素的文件的行数之和
#!/bin/bash
#
declare -a files
files=(/var/log/*.log)
declare -i lines=0
for i in $(seq 0 $[${#files[*]}-1]); do
if [ $[$i%2] -eq 0 ]; then
let lines+=$(wc -l ${files[$i]} | cut -d‘ ‘ -f1)
fi
done
echo "Lines: $lines."
课堂练习
1.写一个脚本,完成如下功能
(1) 提示用户输入一个可执行命令的名称;
(2) 获取此命令所依赖到的所有库文件列表;
(3) 复制命令至某目标目录(例如/mnt/sysroot,即把此目录当作根)下的对应的路径中
bash, /bin/bash ==> /mnt/sysroot/bin/bash
useradd, /usr/sbin/useradd ==> /mnt/sysroot/usr/sbin/useradd
(4) 复制此命令依赖到的所有库文件至目标目录下的对应路径下;
/lib64/ld-linux-x8664.so.2 ==> /mnt/sysroot/lib64/ld-linux-x8664.so.2
进一步:
每次复制完成一个命令后,不要退出,而是提示用户继续输入要复制的其它命令,并重复完成如上所描述的功能;直到用户输入“quit”退出脚本;
2.写一个脚本:ping命令去查看172.16.1.1-172.16.67.1范围内的所有主机是否在线;在线的显示为up, 不在线的显示down,分别统计在线主机,及不在线主机数;
分别使用for, while和until循环实现。
3.写一个脚本,实现:能探测C类、B类或A类网络中的所有主机是否在线
4.提示用户输入一个IP地址或网络地址;获取其网络,并扫描其网段;
5.生成10个随机数,用冒泡算法升序或降序
1.统计/etc/fstab中每个单词出现的次数
文件系统类型出现的次数
1.练习:导入hellodb.sql生成数据库
(1) 在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄;
(2) 以ClassID为分组依据,显示每组的平均年龄;
(3) 显示第2题中平均年龄大于30的分组及平均年龄;
(4) 显示以L开头的名字的同学的信息;
(5) 显示TeacherID非空的同学的相关信息;
(6) 以年龄排序后,显示年龄最大的前10位同学的信息;
(7) 查询年龄大于等于20岁,小于等于25岁的同学的信息;用三种方法;
2.练习:导入hellodb.sql,以下操作在students表上执行
1、以ClassID分组,显示每班的同学的人数;
2、以Gender分组,显示其年龄之和;
3、以ClassID分组,显示其平均年龄大于25的班级;
4、以Gender分组,显示各组中年龄大于25的学员的年龄之和;
练习:导入hellodb.sql,完成以下题目:
1、显示前5位同学的姓名、课程及成绩;
2、显示其成绩高于80的同学的名称及课程;
3、求前8位同学每位同学自己两门课的平均成绩,并按降序排列;
4、显示每门课程课程名称及学习了这门课的同学的个数;
思考:
1、如何显示其年龄大于平均年龄的同学的名字?
2、如何显示其学习的课程为第1、2,4或第7门课的同学的名字?
3、如何显示其成员数最少为3个的班级的同学中年龄大于同班同学平均年龄的同学?
4、统计各班级中年龄大于全校同学平均年龄的同学。
3.练习:有一100MB级别的数据库;
(1) 备份脚本;
(2) 制作备份策略;
20160711
1.练习:使用shell脚本批量配置虚拟主机,从www1到www10
要求:使用函数,并且提供创建删除虚拟主机的功能
测试主页也要生成
接受命令行参数传递给脚本
列出:list -a列出所有主机主机总数,跟上主机名列出主机详细信息
创建:判断是不是存在
删除:判断是不是存在delete 【-a|
删除所有要进行确认交互
2.万网注册域名
3.《http权威指南》前四五章 book里有,下次课提问
4.作业:1.只提供https服务如何处理用户的http请求?
跳转,基于url重写进行
5.博客作业:分别使用2.2 2.4 实现
1.建立httpd服务
a.提供实现两个基于名称的虚拟主机www1,www2;有单独的错误日志和访问日志
b.通过www1的/server-status提供状态信息,且之允许tom访问
c.www2不允许192.168.0.0/24的任意主机访问
2.为上面的两个虚拟主机提供https服务
6.实践作业:使用两个虚拟主机分别部署wordpress,phpwind
httpd -mysql -php
博客作业
1.centos7上构建以个基于rpm包的amp+XCache php模块化
a.一个虚拟主机提供phpmyadmin,另一个提供WordPress
b.phpmyadmin 提供https服务
2.centos7上构建amp+xcache,php为php-fpm
a.httpd,php,mariadb 分别部署在一个单独的主机上
要求看图
静态动态资源
b.一个虚拟主机提供phpmyadmin,另一个提供WordPress
c.phpmyadmin 提供https服务
3.centos7上构建amp+xcache,php为php-fpm
a.httpd,php,mariadb 分别部署在一个单独的主机上
要求看图,还有在同一个主机上
静态动态资源
b.一个虚拟主机提供phpmyadmin,另一个提供WordPress
c.phpmyadmin 提供https服务
4.对以上所有主机做压力测试,并对比测试结果,生成测试报告 做成execl 一个图做10组
博客作业
实践作业:
1.使用nfs server 导出/data/application在目录中提供wordpress
2.nfs client 挂载此导出的文件系统至/var/www/html
3.客户端(lamp)部署wordpress,并让其正常访问,确保能正常发文件上传照片
4.客户端2(lamp),挂载nfs server 导出的问价系统只/var/www/html;验证其wordpress是否可被访问,要确保能正常发文章
实践作业:
1.nfs server 导出/data/目录
2.nfs client 挂载/data/至本地的mysqld或mariadb服务的数据设置为/mydata,要求服务能正常启动
博客作业
实践作业:
1.使用nfs server 导出/data/application在目录中提供wordpress
2.nfs client 挂载此导出的文件系统至/var/www/html
3.客户端(lamp)部署wordpress,并让其正常访问,确保能正常发文件上传照片
4.客户端2(lamp),挂载nfs server 导出的问价系统只/var/www/html;验证其wordpress是否可被访问,要确保能正常发文章
实践作业:
1.nfs server 导出/data/目录
2.nfs client 挂载/data/至本地的mysqld或mariadb服务的数据设置为/mydata,要求服务能正常启动
练习:创建一个共享/data,路径为/var/ftp/data;要求进centos和gentoo用户能上传,此路径对其他人不可见
实践作业:
1.使用samba server 导出/data/application在目录中提供wordpress
2.samba client 挂载此导出的文件系统至/var/www/html
3.客户端(lamp)部署wordpress,并让其正常访问,确保能正常发文件上传照片
4.客户端2(lamp),挂载nfs server 导出的问价系统只/var/www/html;验证其wordpress是否可被访问,要确保能正常发文章
实践作业:
1.samba server 导出/data/目录
2.samba client 挂载/data/至本地的mysqld或mariadb服务的数据设置为/mydata,要求服务能正常启动