第三周作业

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)支持输入一批主机免密钥,使用数组 实现(还未学习到数组)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第三周作业 1, 图文并茂说明 RAID0、RAID1、RAID10、RAID01、RAID5 等原理 1.1 R...
    叁白白白阅读 200评论 0 0
  • 1、redis服务配置文件详解 bind 0.0.0.0 #监听地址,可以用空格隔开后多个监听IP protect...
    安德鲁内曼阅读 92评论 0 0
  • 1. 尝试基于gcc命令说明 c语言编译过程。 c程序代码>预处理>编译>汇编>链接 2. 总结程序包管理器有哪些...
    浑树阅读 142评论 0 0
  • 1、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etc-YYYY-...
    Yann1阅读 270评论 0 0
  • 1、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字...
    马晖阅读 143评论 0 0