练习 3

课堂练习  六月

课堂练习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,要求服务能正常启动

时间: 2024-10-12 21:11:34