第三周作业
1. yum私有仓库的实现及博客输出
第1步.环境准备
第2步.把系统自带的.repo的源移走,自己做yum源
mkdir /etc/yum.repos.d/backupmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
第3步.yum配置文件 在/etc/yum.repos.d目录下创建一个以.repo为后缀的文件
[BaseOS] :Yum软件仓库唯一标识符,避免与其他仓库冲突name=软件仓库的名称描述,易于识别仓库用处gpgcheck=0:设置此源是否校验RPM 的数字证书生效文件;1为校验,为 0 则表示 RPM 的数字证书不生效
#vim yum_scripts.repo
[BaseOS]
name=BaseOS
baseurl=file:///misc/cd/BaseOS
https://mirror.tuna.tsinghua.edu.cn/centos/8/BaseOS/x86_64/os/
https://mirrors.huaweicloud.com/centos/8/BaseOS/x86_64/os/
https://mirrors.cloud.tencent.com/centos/8/BaseOS/x86_64/os/
https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///misc/cd/AppStream
https://mirror.tuna.tsinghua.edu.cn/centos/8/AppStream/x86_64/os/
https://mirrors.huaweicloud.com/centos/8/AppStream/x86_64/os/
https://mirrors.cloud.tencent.com/centos/8/AppStream/x86_64/os/
https://mirrors.aliyun.com/centos/8/AppStream/x86_64/os/
gpgcheck=0
[epel]
name=EPEL
baseurl=https://mirror.tuna.tsinghua.edu.cn/epel/$releasever/Everything/$basearch
https://mirrors.cloud.tencent.com/epel/$releasever/Everything/$basearch
https://mirrors.huaweicloud.com/epel/$releasever/Everything/$basearch
https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch
gpgcheck=0
enabled=1
[extras]
name=extras
baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/os
https://mirrors.cloud.tencent.com/centos/$releasever/extras/$basearch/os
https://mirrors.huaweicloud.com/centos/$releasever/extras/$basearch/os
https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/os
gpgcheck=0
enabled=1
[PowerTools]
name=CentOS- - PowerTools - mirrors.aliyun.com
baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/$releasever/PowerTools/$basearch/os/
https://mirrors.cloud.tencent.com/centos/$releasever/PowerTools/$basearch/os/
https://mirrors.huaweicloud.com/centos/$releasever/PowerTools/$basearch/os/
https://mirrors.aliyun.com/centos/$releasever/PowerTools/$basearch/os/
gpgcheck=0
enabled=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official
第4步.重建缓存。安装http实现资源共享,可以搭建公司内部的http服务器
#重建缓存 生效yum clean allyum makecache
yum -y install http #安装http服务systemctl enable --now httpd #启动http服务
第5步.在浏览器输入ip地址,测试http服务是否能正常被访问
如果打不开 检查关闭防火墙第7步.将客户端yum配置文件[epel]中baseurl地址指向刚刚配好内部的http服务器地
第8步.客户端再使用yum源下载
2.画图 TCP协议和三次握手及四次挥手


3.静态配置网卡IP centos实现
-----永久修改网卡IPvim /etc/sysconfig/network-scripts/ifcfg-ens33 # ens33 是自己虚拟网卡名称
TYPE=Ethernet #设置网卡类型,“Ethernet”表示以太网
DEVICE=ens33 #设置的网卡的名称
ONBOOT=yes #设置网卡是否在 Linux 操作系统启动时激活
BOOTPROTO=static #设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址
IPADDR=192.168.80.64 #手动设置IPv4网卡的 IP 地址
NETMASK=255.255.255.0 #或者PREFIX=24 还是 NETMASK=24 ? #设置网卡的子网掩码
GATEWAY=192.168.80.2 #设置网卡的默认网关地址
DNS1=192.168.80.2 #设置DNS服务器的 IP 地址
5. 实现免密登陆脚本, expect登陆远程主机,将生成的密钥写入到目标主机, expect测试远程登陆。
1)通过shift读取脚本参数
2)通过select来选择功能.例如功能有
- 安装mysql
- 安装apache
- 免密钥登陆主机
当前我们只实现免密钥登陆主机
3)通过函数封装每个功能
4)将免密钥登陆的过程可以重复进行, while 循环实现重复,需要有退出过程。当用户输入exit时,退出免密钥功能。
5)支持输入一批主机免密钥,使用数组 实现
#!/bin/bash
color () {
RES_COL=60
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_FAILURE="echo -en \\033[1;31m"
SETCOLOR_WARNING="echo -en \\033[1;33m"
SETCOLOR_NORMAL="echo -en \E[0m"
echo -n "$1" && $MOVE_TO_COL
echo -n "["
if [ $2 = "success" -o $2 = "0" ] ;then
${SETCOLOR_SUCCESS}
echo -n $" OK "
elif [ $2 = "failure" -o $2 = "1" ] ;then
${SETCOLOR_FAILURE}
echo -n $"FAILED"
else
${SETCOLOR_WARNING}
echo -n $"WARNING"
fi
${SETCOLOR_NORMAL}
echo -n "]"
echo
}
#ssh自动登录
shh_host() {
USER=root
PASSWORD=1
while true;do
read -p '请输入ip(q退出):' IP
[[ $IP =~ ^(q|Q)$ ]] && exit;
[[ $IP =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]] || { echo "IP不合法,请重新输入";continue; }
break;
done
expect <<EOF
set timeout 20
spawn ssh $IP
expect {
"yes/no" { send "yes\n";exp_continue }
"password" {send "$PASSWORD\n" }
}
expect eof
EOF
#继续登录
while true;do
read -p "是否继续登录$IP(y/q)": Y
[[ $Y =~ y|Y ]] && ssh $IP || continue;
[[ $Y =~ q|Q ]] && break;
done
expect <<EOF
set timeout 20
spawn ssh $IP
expect {
"root@$IPs password" { send "1\n" }
}
expect eof
EOF
}
#下载mysql
install_mysql(){
yum -y install mysql
}
#下载apache
install_apache(){
yum -y install httpd > /dev/null && yum install -y rpm || rpm -ql httpd |grep -E 'bin'
}
#菜单
menu () {
while true;do
PS3="请输入指令(1-4):"
select MENU in 安装mysql 安装apache 免密登录远程主机 退出脚本;do
case $REPLY in
1)
echo $MENU "正在下载"
install_mysql
break
;;
2)
echo $MENU 正在下载
install_apache
break
;;
3)
shh_host
break
;;
4)
echo 退出!
exit
;;
*)
echo "输入错误"
;;
esac
done
done
}
menu
浙公网安备 33010602011771号