1. yum私有仓库的实现
步骤一:安装httpd
yum -y install httpd
步骤二:启动httpd
systemctl enable --now httpd
步骤三:下载互联网源
dnf reposync --repoid=epel --download-metadata -p /var/www/html/epel
步骤四:本地浏览器访问
私有yum源主机ip地址+文件夹名称
2.画图 TCP协议和三次握手及四次挥手
3.静态配置网卡IP,centos/ubuntu实现
Rocky实现:
步骤一:进入/etc/sysconfig/network-scripts/,新建文件ifcfg-eth0,编辑如下文本。
步骤二:更新相关信息
nmcli connection reload
nmcli connection up eth0
ubuntu实现:
步骤一:进入/etc/netplan,新建文件eth0.yaml,编辑如下文本
步骤二:更新相关信息
netplan apply
4. 实现免密登陆脚本, expect登陆远程主机,将生成的密钥写入到目标主机, expect测试远程登陆。
1)通过shift读取脚本参数
2)通过select来选择功能.例如功能有
- 安装mysql
- 安装apache
- 免密钥登陆主机
当前我们只实现免密钥登陆主机
3)通过函数封装每个功能
4)将免密钥登陆的过程可以重复进行, while 循环实现重复,需要有退出过程。当用户输入exit时,退出免密钥功能。
5)支持输入一批主机免密钥,使用数组实现
运行结果:
源代码:
#!/bin/bash
USER=XXXXX
PASSWORD=magedu
NET=10.211.55
i=1
install_MySQL(){
yum -y install mysql
}
install_Apache(){
yum -y install httpd
}
expect_config(){
expect <<EOF
set timeout 20
spawn ssh $USER@$NET.$i
expect {
"yes/no" { send "yes\n" ; exp_continue }
"password" { send "$PASSWORD\n" }
}
expect eof
EOF
}
no_password_login(){
while (( $i <= 254 )) ; do
read -p "是否需要免登录访问$NET.$i,需要(y),跳过(n),退出(exit)" choice
case $choice in
y)
echo "访问$NET.$i中..."
expect_config
;;
n)
echo "跳过$NET.$i"
let i++
continue
;;
exit)
echo 退出
break
;;
esac
let i++
done
}
select MANU in 安装MySQL 安装Apache 免秘钥登录 退出 ; do
case $REPLY in
1)
echo $MANU
install_MySQL
;;
2)
echo $MANU
install_Apache
;;
3)
echo $MANU
no_password_login
;;
4)
echo $MANU
break
;;
esac
done