马哥2016全新Linux+Python高端运维班第四期-第四次作业

1、创建一个10G分区,并格式为ext4文件系统;

(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl

[[email protected] ~]# fdisk /dev/sdc

Command (m for help): n

Command action

e   extended

p   primary partition (1-4)

e

Partition number (1-4): 1

First cylinder (1-2610, default 1):

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 10G

Command (m for help): n

Command action

l   logical (5 or over)

p   primary partition (1-4)

l

First cylinder (1-10, default 1):

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-10, default 10):

Using default value 10

Command (m for help): w

The partition table has been altered!

(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;

# mkfs.ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=MYDATA

OS type: Linux

块大小=2048 (log=1)

分块大小=2048 (log=1)

Stride=0 blocks, Stripe width=0 blocks

655360 inodes, 5242880 blocks

104857 blocks (2.00%) reserved for the super user

第一个数据块=0

Maximum filesystem blocks=273678336

320 block groups

16384 blocks per group, 16384 fragments per group

2048 inodes per group

Superblock backups stored on blocks:

16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,

2048000, 3981312

Allocating group tables: 完成

正在写入inode表: 完成

Creating journal (32768 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之;

# mkswap /dev/sdb2

正在设置交换空间版本 1,大小 = 1048572 KiB

无标签,UUID=a5c89d64-5fda-4ebd-9b00-92231cd57bae

# swapon /dev/sdb2

3、写一个脚

(1)、获取并列出当前系统上的所有磁盘设备;

(2)、显示每个磁盘设备上每个分区相关的空间使用信息;

#!/bin/bash

#

fdisk -l | grep -o "/dev/sd[[:alnum:]]\{2\}"

echo

df -h

4、总结RAID的各个级别及其组合方式和性能的不同;

RAID-0

读写性能提升;可用空间:N*min(s1,s2.....);N硬盘个数;min最小的空间

无容错能力;最少磁盘数:2,2+

RAID-1

读性能提升、写性能略有下降;可用空间:1*min(S1,S2.....);

有冗余能力,最少磁盘数:2,2+

RAID-5

读写性能提升;可用空间(N-1)*min(s1,s2....);有容错能力:1块磁盘

最少磁盘数:3,3+1

RAID-6

读写性能提升;可用空间(N-2)*min(s1,s2....);

有容错能力:2块磁盘;最少磁盘数:4,4+

混合型RAID

RAID-10

读写性能提升;可用空间:N*min(s1,s2....)/2

有容错能力:每组镜像最多只能坏一块;最少磁盘数:4,4+

5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k;

# mdadm -C /dev/md1 -a yes -c 128 -x 1 -l 1 -n 2 /dev/sdb{1,2,3}

6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;

# mdadm -C /dev/md5 -n 3 -l 5 -a yes /dev/sdb{1,2,3} -c 256

# mkfs.ext4 /dev/md5

# echo "/dev/md5 /backup ext4 noatime,acl 0 0" &>> /etc/fstab

7、写一个脚本

(1) 传递两个以上字符串当作用户名;(2) 创建这些用户;且密码同用户名;

(3) 总结说明共创建了几个用户;

#!/bin/bash

for n in $*;do

if [ $(echo "$n" | wc -c) -le 3 ];then

echo "用户名不得低于2个字符串"

exit 1

elif

id $n >> /dev/null;then

echo "用户名$n 已存在"

exit 1

else

useradd $n

echo "$n" | passwd --stdin $n >> /dev/null

echo "用户$n 已添加,密码同用户名,请及时修改!"

fi

done

echo "本次添加$# 个用户"

8、写一脚本,分别统计/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#号开头的行数之和,以及总的空白行数;

#!/bin/bash

export sum1=0

export sp=0

for i in $#;do

let sum1+=$(cat $* | grep -o "^#.*" | wc -l)

let sp+=$(cat $* | egrep -o "^[[:space:]].*" | wc -l)

done

echo "给出的文档中以#开头的行数和为:$sum1"

echo "给出的文档中以空格开头的行数和为:$sp"

9、写一个脚本,显示当前系统上所有,拥有附加组的用户的用户名;并说明共有多少个此类用户;

#!/bin/bash

export sum=0

for i in $(cat /etc/passwd | cut -d: -f1);do

if [ $(groups $i | wc -w) -gt 3 ];then

echo "$(groups $i)"

let sum+=1

fi

done

echo "此类用户共有$sum 个"

10、创建一个由至少两个物理卷组成的大小为20G的卷组;要求,PE大小为8M;而在卷组中创建一个大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录,支持acl;

#!/bin/bash

#

declare -i count

count1=`cat /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab|grep "^#" |wc -l`

count2=`cat /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab|grep "^$" |wc -l`

echo -e "The sum of lines is $count1\nThe sum of black lines is $count2"

11、扩展mylv1至9G,确保扩展完成后原有数据完全可用;

# lvexpand -L 9G /dev/myvg/mylv1

12、缩减mylv1至7G,确保缩减完成后原有数据完全可用;

# umount /dev/vgtest/mylv1

# e2fsck -f /dev/myvg/mylv1

# resize2fs /dev/myvg/mylv1 7G

# lvreduce -L 7G /dev/myvg/mylv1

# mount -a

13、对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息;

[[email protected] ~]# lvcreate -L 1G -s -n mylv101 /dev/myvg/mylv1

Logical volume "mylv101" created

14、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)


 


a、修改/etc/sysconfig/network配套文件中的hostname

b、修改/etc/sysconfig/network-script/ifcfg-eth0IPADDR,GETWAY ,NATMARSK, DNS{1,2,3}

c、service network restart 重启网络服务

15、为Linux主机配置网络信息的方式有哪些,请描述各个过程。

1、命令行命令临时修改网络地址,退出当前shell后,设置将失效

2、ip addr add 192.168.50.199/24 dev eth0

3、修改/etc/sysconfig/network-script/ifcfg-eth0文件,手动指定IP address, getway , netmask, dns

16、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态

#!/bin/bash

#

for i in
{1..254};do

ping -c 1 -w 1 "192.168.1.$i"
> /dev/null

if [ $? -eq 0 ];then

echo -e "\033[0;32;1m
172.16.250.$i is up \033[0m"

else

echo -e "\033[0;31;1m
172.16.250.$i is down \033[0m"

fi

done

17、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。

ifconfig

常见用法:

查看网卡信息:ifconfig [interface]

查看所有网卡信息:ifconifg -a

开启或关闭网卡:ifconfig IFACE [up|down]

配置网卡参数:ifconfig interface [aftype]options | address ...

配置网卡IP地址:

ifconfig IFACE IP/mask [up]

ifconfig IFACE IP network MASK

ip:显示/配置路由,接口,策略路由和隧道

常见用法:

网卡添加多一个IP地址,并设置别名为eth0:0

ip addr IPADDR/MASK dev eth0label ‘eth0:0‘

显示网卡设备的信息: ip addr show

清除IP地址信息:ip addr flush dev interface

添加路由:ip route add TARGET via GW devINTERFACE src SOURCE_IP

删除单条路由: ip route del TARGET

route:路由管理命令

查看路由条目:route -n

添加路由条目:route add

route add [-net|-host] target[netmask Nm] [gw Gw] [[dev] if]

删除路由:route del

route del [-net|-host] target [gwGw] [netmask Nm] [[dev] If]

netstat :显示网络连接、路由表、接口数据统计、伪装连接、组播成员关系

常用选项:

-t : 显示TCP协议相关已建立的连接(ESTABLISHED)

-u : 显示UDP协议相关已建立的连接(ESTABLISHED)

-r : 显示rawsocket(裸套接字)相关已建立的连接(ESTABLISHED)

-l : 处于监听状态的连接

-n : 以数字显示IP和协议端口(默认显示协议名称,如SSH)

-a : 显示所有状态的连接

-e : 扩展格式

-p : 显示相关进程及PID

常用组合:

-tan , -uan , -tnl, -unl,-tunlp

ss:网络状态查看工具

常见选项:

-t : tcp协议相关

-u : udp协议相关

-w : 裸套接字相关

-x : unix sock相关

-l : listen状态的连接

-a : 所有

-n : 数字格式

-p : 相关的程序及PID

-e : 扩展的信息

-m : 内存用量

-o : 计时器信息

常用组合:

-tan , -tanl , -tanlp ,-uan,-tunlp

18、写一个脚本,完成以下功能

(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;(2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;(3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;(4) 分别统计S开头和K开头的文件各有多少;

#!/bin/bash

declare-i k=0,s=0

for i in$(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$");do

echo "$i stop"

let k++

done

for j in$(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$");do

echo "$j start"

let s++

done

echo "S开头的文件有$s个"

echo "K开头的文件有$k个"

19、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;

#!/bin/bash

2 #author:BaoZhang

3 #

4 online_number=0

5 no_online_number=0

6 for i in192.168.88.{100..200}

7 do

8  
ping -c 2 -W 2 $i &>/dev/null

9   if[ $? -eq0 ];then

10     echo"$i
is onlline"

11     letonline_number++

12   else

13     echo"$i
not online"

14     letno_online_number++

15   fi

16 done

17 echo "$online_number host
online,$no_online_number not online "

18

20、打印九九乘法表;

1 #!/bin/bash

2 #author:BaoZhang

3 #

4 for((i=1;i<10;i++))

5 do

6   for((j=1;j<=i;j++))

7   do

8     echo
-n "$j*$i=$[ $j * $i ]"

9     echo
-n "  "

10   done

11   echo  ""

12 done

时间: 2024-10-13 22:24:30

马哥2016全新Linux+Python高端运维班第四期-第四次作业的相关文章

马哥2016全新Linux+Python高端运维班第三周作业作答

                    马哥2016全新Linux+Python高端运维班第三周作业                                           1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | awk '{print $1 $NF}'| uniq -d     [[email protected] ~]# who     yicx     :0  

马哥2016全新Linux+Python高端运维班第八周作业

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 答: 网桥:双端口的二层设备,可以隔离冲突域,一般用于划分LAN,或者链接LAN. 集线器:物理层设备,多端口,无法隔离冲突域,用于连接主机. 二层交换机:数据链路层设备,多端口,与网桥相比,交换机可学习MAC地址,根据MAC地址转发数据,可隔离冲突域,用于在路由设备与主机之间架设,接入层与汇聚层皆可使用. 三层交换机:相当于是带路由功能的二层交换机,工作在网络层,有更高的带宽,可做核心层使用,用于大中型网络的路由交

马哥2016全新Linux+Python高端运维班-Linux服务 DNS,httpd,加密通讯,vsftp,NFS,samba服务练习

本周作业内容: 1.详细描述一次加密通讯的过程,结合图示最佳. 一次加密通讯的过程: 首先Bob用单向加密的方法提取数据的特征码,用自己的私钥加密这段特征码,并附加到数据的后面. Bob用对称加密算法把数据及特征码整个进行加密. Bob用接收方的公钥加密对称密钥并附加到数据后面. Alice用私钥解密对称密钥. Alice用对称密钥解密出数据及加密的特征码. Alice用发送方的公钥解密特征码,并用相同的算法算出数据的特征码,比较两个特征码是否一致,若一致即可获得Bob的数据. 如图所示: 单向

马哥2016全新Linux+Python高端运维班第三周作业

本周作业内容: 1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. # who | cut -d' ' -f1 | sort -u 2.取出最后登录到当前系统的用户的相关信息. # id $(who | sort -t' ' -k3,4 | tail -1 | cut -d' ' -f1) 3.取出当前系统上被用户当作其默认shell的最多的那个shell. # cut -d: -f7 /etc/passwd | sort | uniq -c | sort

马哥2016全新Linux+Python高端运维班十一次作业

一.源码编译安装LNMP架构环境: 安装编译工具及库文件 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl 

马哥2016全新Linux+Python高端运维班第九周作业

1.详细描述一次加密通讯的过程,结合图示最佳. SSL协议基础: SSL协议位于TCP/IP协议与各种应用层协议之间,本身又分为两层: 1)SSL记录协议:建立在可靠传输层协议(TCP)之上,为上层协议提供数据封装.压缩.加密等基本功能. 2)SSL握手协议:在SSL记录协议之上,用于实际数据传输前,通讯双方进行身份认证.协商加密算法.交换加密密钥等. SSL协议通信过程: 1)浏览器发送一个连接请求给服务器:服务器将自己的证书(包含服务器公钥S_PuKey).对称加密算法种类及其他相关信息返回

马哥2016全新Linux+Python高端运维班-Linux用户创建及权限管理

第三周作业内容:1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | cut -d' ' -f1 | sort -u      centos     liu     root 2.取出最后登录到当前系统的用户的相关信息.     第一种方式:         [[email protected] ~]# last | head -n1         liu      tty8        

马哥2016全新Linux+Python高端运维班第四期-第五次作业

1.写一个脚本,完成如下功能 (1) 传递一个磁盘设备文件路径给脚本,判断此设备是否存在: (2) 如果存在,则显示此设备上的所有分区信息: [[email protected] ~]# vi week5-01.sh[[email protected]moban ~]# cat week5-01.sh#!/bin/bash#author:Wangyafei#read -p "Please enter a disk device path:" path while [ -z"$

[作业] 马哥2016全新Linux+Python高端运维班第八周作业

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 网桥:比较古老的方式二层交换设备,网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域.类似中继器. 集线器: 二层交换设备,多口的网桥 二层交换机: 二层交换设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中 三层交换机: 工作在二层和三层,具有路由功能的交换机.三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有

马哥2016全新Linux+Python高端运维班第二周作业作答

1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 答:文件管理类命令有:pwd,cd,ls,mkdir,rmdir,tree 1.目录相关命令:pwd,cd (1)查看用户当前工作目录:pwd 例:[[email protected] ~]# pwd     #显示出当前工作的目录 /root [[email protected] ~]#   (2)CD的用法 cd 或者cd ~:回当前用户的主目录    例:    [[email protected] ~]# cd