1. yum私有仓库的实现及博客输出、
安装Apache
yum -y install httpd
上次元数据过期检查:1:46:53 前,执行于 2023年08月11日 星期五 12时00分20秒。
依赖关系解决。
==============================================================================================
软件包 架构 版本 仓库 大小
==============================================================================================
安装:
httpd x86_64 2.4.37-56.module+el8.8.0+1284+07ef499e.6 appstream 1.4 M
安装依赖关系:
httpd-filesystem noarch 2.4.37-56.module+el8.8.0+1284+07ef499e.6 appstream 42 k
httpd-tools x86_64 2.4.37-56.module+el8.8.0+1284+07ef499e.6 appstream 109 k
mailcap noarch 2.1.48-3.el8 baseos 38 k
mod_http2 x86_64 1.15.7-8.module+el8.8.0+1284+07ef499e.3 appstream 154 k
rocky-logos-httpd noarch 86.3-1.el8 baseos 24 k
事务概要
==============================================================================================
安装 6 软件包
总下载:1.8 M
安装大小:5.0 M
下载软件包:
(1/6): httpd-filesystem-2.4.37-56.module+el8.8.0+1284+07ef499 136 kB/s | 42 kB 00:00
(2/6): httpd-tools-2.4.37-56.module+el8.8.0+1284+07ef499e.6.x 280 kB/s | 109 kB 00:00
(3/6): mod_http2-1.15.7-8.module+el8.8.0+1284+07ef499e.3.x86_ 760 kB/s | 154 kB 00:00
(4/6): mailcap-2.1.48-3.el8.noarch.rpm 213 kB/s | 38 kB 00:00
(5/6): httpd-2.4.37-56.module+el8.8.0+1284+07ef499e.6.x86_64. 2.1 MB/s | 1.4 MB 00:00
(6/6): rocky-logos-httpd-86.3-1.el8.noarch.rpm 110 kB/s | 24 kB 00:00
----------------------------------------------------------------------------------------------
总计 559 kB/s | 1.8 MB 00:03
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : rocky-logos-httpd-86.3-1.el8.noarch 1/6
安装 : mailcap-2.1.48-3.el8.noarch 2/6
安装 : httpd-tools-2.4.37-56.module+el8.8.0+1284+07ef499e.6.x86_64 3/6
运行脚本: httpd-filesystem-2.4.37-56.module+el8.8.0+1284+07ef499e.6.noarch 4/6
安装 : httpd-filesystem-2.4.37-56.module+el8.8.0+1284+07ef499e.6.noarch 4/6
安装 : mod_http2-1.15.7-8.module+el8.8.0+1284+07ef499e.3.x86_64 5/6
安装 : httpd-2.4.37-56.module+el8.8.0+1284+07ef499e.6.x86_64 6/6
运行脚本: httpd-2.4.37-56.module+el8.8.0+1284+07ef499e.6.x86_64 6/6
验证 : httpd-2.4.37-56.module+el8.8.0+1284+07ef499e.6.x86_64 1/6
验证 : httpd-filesystem-2.4.37-56.module+el8.8.0+1284+07ef499e.6.noarch 2/6
验证 : httpd-tools-2.4.37-56.module+el8.8.0+1284+07ef499e.6.x86_64 3/6
验证 : mod_http2-1.15.7-8.module+el8.8.0+1284+07ef499e.3.x86_64 4/6
验证 : mailcap-2.1.48-3.el8.noarch 5/6
验证 : rocky-logos-httpd-86.3-1.el8.noarch 6/6
已安装:
httpd-2.4.37-56.module+el8.8.0+1284+07ef499e.6.x86_64
httpd-filesystem-2.4.37-56.module+el8.8.0+1284+07ef499e.6.noarch
httpd-tools-2.4.37-56.module+el8.8.0+1284+07ef499e.6.x86_64
mailcap-2.1.48-3.el8.noarch
mod_http2-1.15.7-8.module+el8.8.0+1284+07ef499e.3.x86_64
rocky-logos-httpd-86.3-1.el8.noarch
完毕!
启用Apache 服务
[root@xyjroot ~]# systemctl enable --now httpd
将epel源下载到指定文件路径
dnf reposync --repoid=epel --download-metadata -p /var/www/html/yum-storehouse
用windows游览器访问
image.png
2.画图 TCP协议和三次握手及四次挥手,可以参考别人的,但是需要自己画一次。
未命名文件.png
3. 静态配置网卡IP,centos/ubuntu实现
[root@xyjroot /var/www/html] cd /etc/sysconfig/network-scripts/
[root@xyjroot /etc/sysconfig/network-scripts] vim ifcfg-eth0
[root@xyjroot /etc/sysconfig/network-scripts] cat ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=192.168.31.91
PREFIX=24
GATEWAY=192.168.31.163
ONBOOT=yes
[root@xyjroot /etc/sysconfig/network-scripts] nmcli connection reload
[root@xyjroot /etc/sysconfig/network-scripts] nmcli connection up eth0
image.png
4 实现免密登陆脚本, expect登陆远程主机,将生成的密钥写入到目标主机, expect测试远程登陆。
#!/usr/bin/expect
spawn ssh 10.0.0.140
expect {
"yes/no" { send "yes\n";exp_continue }
"password" { send "123456\n" }
}
interact
1)通过shift读取脚本参数
#! /bin/bash
while [ "$1" ];do
nmu=$1
echo "xyj $1"
shift
done
运行nmu.sh
[root@xyjroot ~]# bash num.sh 1 2 3 4 5
xyj 1
xyj 2
xyj 3
xyj 4
xyj 5
2)通过select来选择功能.例如功能有
- 安装mysql
- 安装apache
- 免密钥登陆主机
3)通过函数封装每个功能
4)将免密钥登陆的过程可以重复进行, while 循环实现重复,需要有退出过程。当用户输入exit时,退出免密钥功能。
#!/bin/bash
ins_mysql () {
sudo yum -y install mysql
}
ins_apache () {
sudo yum -y install httpd
}
ssh_host () {
expect /root/ssh.exp
}
set_menu () {
PS3="请选择安装"
select APP in mysql apache 远程登录 退出;do
case $REPLY in
1)
echo "检查中"
if rpm -q mysql;then
echo "${APP}已存在"
else echo "正在安装 ${APP}"
ins_mysql
echo "${APP} 安装完成"
fi
;;
2)
echo "检查中"
if rpm -q httpd;then
echo "${APP}已存在"
else echo "正在安装 ${APP}"
ins_apache
echo "${APP} 安装完成"
fi
;;
3)
echo "正在远程登录"
if rpm -q expect;then
echo "开始远程登录"
sleep 2
ssh_host
else echo "没有发现EXPECT"
echo "开始安装expect"
yum -y install expect
echo "安装完成"
echo "重新开始远程登录"
ssh_host
fi
;;
4)
echo "${APP}"
break
;;
*)
echo "选择错误"
esac
done
}
set_menu
运行
[root@xyjroot ~]# bash mysqlandapache.sh
1) mysql
2) apache
3) 远程登录
4) 退出
请选择安装1
检查中
mysql-8.0.32-1.module+el8.8.0+1283+4b88a3a8.0.1.x86_64
mysql已存在
请选择安装2
检查中
httpd-2.4.37-56.module+el8.8.0+1284+07ef499e.6.x86_64
apache已存在
请选择安装3
正在远程登录
expect-5.45.4-5.el8.x86_64
开始远程登录
spawn ssh 10.0.0.140
root@10.0.0.140's password:
Last login: Sat Aug 19 16:55:25 2023 from 10.0.0.138
[root@xyjroot ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:d6:28:b8 brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname ens160
inet 10.0.0.140/24 brd 10.0.0.255 scope global dynamic noprefixroute eth0
valid_lft 1003sec preferred_lft 1003sec
inet6 fe80::951d:2282:7524:7eef/64 scope link noprefixroute
valid_lft forever preferred_lft forever
5)支持输入一批主机免密钥,使用数组 实现(还未学习到数组)