文章目录

  • 厚基础Linux——第七周作业
    • 1、自建yum仓库,分别为网络源和本地源
      • 环境规划
      • 技术要求
      • 需求分析
        • server端
        • client端
      • 操作步骤
        • 系统安装
        • server操作步骤
        • clinet端操作步骤
    • 2、编译安装http2.4.43,实现可以正常访问,并将编译步骤和结果提交。
    • 3、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统 ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项
      • 涉及知识点
      • 代码段
    • 4、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小 为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
      • 涉及知识点
      • 代码段

厚基础Linux——第七周作业

1、自建yum仓库,分别为网络源和本地源

环境规划

主机名 IP 空间 描述
server 10.0.0.18 60G centos8最小化安装,克隆client,增加硬盘40G,连接互联网
client 10.0.0.8 20G centos8最小化安装,离线状态

技术要求

  1. server端构建yum仓库,提供不限于base,appstream,extras,epel源的安装包。
  2. client端应该能通过访问server,获取server端所有安装包,应该支持gpgkey验证。

需求分析

server端

  1. server端应该拥有包,元数据,gpg公钥,以及网络服务。

  2. 网络服务需要安装httpd,保持开机启动。

  3. Base、AppStream包,元数据,公钥可由光盘提供;epel,extras应该用reposync下载镜像站点的包,元数据;公钥需要单独下载。

client端

  1. client端应该配置能够访问server的repo文件。Base、Appstream的公钥本地提供,epel,extras应该访问服务器端。

操作步骤

系统安装

  1. 最小化安装CentOS8,20G硬盘,配置ip地址为10.0.0.8,作client;
  2. 克隆虚拟机,作server;

server操作步骤

  1. 重新生成mac地址。新硬盘分区格式化为xfs。

    fdisk -l
    #40G全分配给主分区sdb1
    fdisk /dev/sdb#创建文件系统
    mkfs.xfs /dev/sdb1
    
  2. 修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens32,增加新ip和新的mac地址。重启服务器,重要!!。成功后client和server都应该能够接入网络,server能够连接互联网。

    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="none"
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="ens32"
    UUID="310a75a8-07e6-4ed4-a657-ec56bbf1cd93"
    DEVICE="ens32"
    ONBOOT="yes"
    IPADDR="10.0.0.18"               #修改新的IP
    PREFIX="24"
    GATEWAY="10.0.0.2"
    DNS1="114.114.114.114"
    IPV6_PRIVACY="no"
    HARDWARE="00:50:56:3C:2A:88" #增加此行,使用新的mac地址
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yjDFqnyq-1606552363905)(https://i.loli.net/2020/10/07/dj7OlfhIe8Vyck3.png)]

  1. 配置阿里源 ,安装httpd服务,启用httpd服务。

    #安装wget#挂载光盘映像
    mount /dev/sr0 /mnt#rpm命令安装
    rpm -ivh `find /mnt -name "wget*"`#下载阿里源repo文件#Base,AppStream,Extras
    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo#Epel
    yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
    sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
    sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*#安装httpd服务
    yum install httpd -y#启动httpd服务,并设置为开机自动启动
    systemctl enable --now httpd#关闭selinux
    vi /etc/selinux/config
    selinux=disabledsetenforce 0#关闭防火墙
    systemctl disable firewalld
    systemctl stop firewalld

    配置成功后,访问10.0.0.18应该能够看到测试页面。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9GFyHbSY-1606552363906)(https://i.loli.net/2020/10/07/Pufi5bpqXILxoD4.png)]

  2. 创建httpd服务目录文件夹,导入相应的包和元数据。

#创建httpd目录下的目录
mkdir -p /var/www/html/centos/8/BaseOS
mkdir -p /var/www/html/centos/8/AppStream
mkdir -p /var/www/html/centos/8/extras
mkdir -p /var/www/html/centos/8/epel#挂载前面格式化好的硬盘
mount /dev/sdb1 /var/www/html/centos/8#修改配置文件/etc/fstab,实现自动挂载
echo "/dev/sdb1 /var/www/html/centos/8  xfs     defaults        0 0
" >> /etc/fstab#导入包和元数据
#BaseOS
cd /mnt/BaseOS
cp -avr . /var/www/html/centos/8/BaseOS#AppStream
cd /mnt/AppStream
cp -avr . /var/www/html/centos/8/AppStream#extras
dnf reposync --repoid=extras --download-metadata -p /var/www/html/centos/8/#epel
dnf reposync --repoid=epel --download-metadata -p /var/www/html/centos/8/#下载epel公钥
wget -O /var/www/html/centos/8/epel/RPM-GPG-KEY-EPEL-8 https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-8

clinet端操作步骤

客户端需要配置yum仓库文件

#备份原仓库文件
cd /etc/yum.repos.d
mkdir old
mv *.repo old#创建私有yum仓库配置文件
vi prvyum.repo[BaseOS]
name=BaseOS
enabled=1
baseurl=http://10.0.0.18/centos/8/BaseOS/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[AppStream]
name=AppStream
enabled=1
baseurl=http://10.0.0.18/centos/8/AppStream/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[extras]
name=extras
enabled=1
baseurl=http://10.0.0.18/centos/8/extras/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[epel]
name=epel
enabled=1
baseurl=http://10.0.0.18/centos/8/epel/
gpgcheck=1
gpgkey=http://10.0.0.18/centos/8/epel/RPM-GPG-KEY-EPEL-8#创建yum缓存
yum makecache#使用私有源在离线环境安装httpd
yum install httpd -y

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-piG5fwKX-1606552363907)(https://i.loli.net/2020/10/07/MgueOkaVswXr5oW.png)]

2、编译安装http2.4.43,实现可以正常访问,并将编译步骤和结果提交。

使用脚本实现。

#!/bin/bash
#
#***************************************************************************
#Author:                                Kel Zhou
#QQ:                                    248416319
#Date:                                  2020-10-11
#FileName:                              /data/apache.sh
#URL:                                   https://i.csdn.net/#/uc/profile
#Description:                           源码安装apache
#Copyright (C):                         2020 All rights reserved
#***************************************************************************
#VAR
RED='echo -e \033[31m'
GREEN='echo -e \033[32m'
END='\033[0m'
HOME='/opt/httpd'
CFGDIR='/etc/httpd'
DIR='/opt/apps'#解压源码
pkg='httpd-2.4.46.tar.bz2'
[ -d $DIR ] || (mkdir -p $DIR;$GREEN"$DIR CREATE SUCCEED"$END)
mv $pkg $DIR
cd $DIR
tar xf $pkg && $GREEN"unzip SUCCEED"$END || $RED"unzip FAILED"$END#安装缺少包
yum install -yq bzip2 gcc make apr-devel apr-util-devel pcre-devel redhat-rpm-config openssl-devel#configure
[ -d $HOME] || mkdir -p $HOME
[ -d $CFGDIR] || mkdir -p $CFG$DIR
cd `echo $pkg | sed -r 's/^(.*).tar.bz2/\1/'`
./configure --prefix=$HOME --sysconfdir=$CFGDIR --enable-ssl
make -j4 &> /dev/null && make install &> /dev/null
if [ $? = 0 ];  then
$GREEN"make install succeed"$END;
else
$RED "make install failed"$END;
exit 10 ;
fi
#创建用户,修改配置文件
id apache &> /dev/null || (useradd -r -s /sbin/nologin -d $HOME/htdocs -c Apache -u 48 apache;$GREEN"user apache created succeed"$END)sed -Ei.bak -e '/^User /s/^(User ).*$/\1apache/' \
-e '/^Group /s/^(Group ).*$/\1apache/' $CFGDIR/httpd.conf && $GREEN"user apache applied succeed"$END#环境变量
echo 'PATH=$PATH:'"$HOME/bin" > /etc/profile.d/apache.sh#启动服务
$HOME/bin/apachectl start

3、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统 ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项

涉及知识点

使用fdisk创建2G分区;在分区上使用mkfs命令创建文件系统,指定其类型,卷标;在/etc/fstab文件中配置分区自动挂载和挂载默认选项。

#fdisk
#fdisk /dev/xxx   可以对存储设备进行分区
#m 打印帮助页
#n 添加新分区 需要指定起始扇区,终止扇区;终止扇区可以通+2G来选择。
#w 将分区表写入生效#mkfs
#-t 指定分区类型 ext4 xfs ..
#-L 指定卷标
#-m 指定管理员专用预留空间百分比
#-b 指定块大小#/etc/fstab
#写在该配置文件内的系统会自动挂载
#共六个字段,依次为设备标识(支持UUID,设备名,卷标),挂载点,文件系统,挂载配置,备份时间间隔,fsck文件系统检查顺序
#挂载配置项,写入acl,会使文件系统支持acl

代码段

#分出2G分区
echo -e "n\np\n1\n+2G\nw\n" | fdisk /dev/nvme0n1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WTPOaqZh-1606552363909)(https://i.loli.net/2020/10/08/ce9ECS145anUHFl.png)]

#创建文件系统
mkfs -t ext4 -m 1 -L "TEST" -b 2k /dev/nvme0n1p1#查看参数生效
tune2fs -l /dev/nvme0n1p1 | \grep -e name -e 'Block size' -e 'Block count' -e 'Reserved block count'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rAeEfoem-1606552363910)(https://i.loli.net/2020/10/08/J8tV9k3WueUYo5O.png)]

#创建挂载目录
mkdir /test
#自动挂载,配置acl
echo "UUID=ad234c05-6519-412b-a778-992f27a681d4 /test ext4 acl 0 0" >> /etc/fstab

4、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小 为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录

涉及知识点

逻辑卷的创建过程,需要依次创建物理卷,创建卷组,创建逻辑卷,创建文件系统,挂载到目录四个过程

#物理卷管理
#pvcreate 创建物理卷命令,可以将分区,存储设备直接创建为物理卷,供卷组使用。
#常见用法
pvcreate /dev/sda6 /dev/nvme0n1p3#查看物理卷
pvs
#查看物理卷详情
pvdispaly#vgcreate 使用物理卷创建卷组,为逻辑卷提供资源库
#常见用法
#-s 指定卷组PE空间大小,默认单位为m
vgcreate testvg -s 16m /dev/sda6 /dev/nvme0n1p3#查看卷组
vgs
#查看物理卷详情
vgdispaly#lvcreate 使用卷组资源创建逻辑卷
#常见用法
#-n 指定逻辑卷名称
#-l 指定分配PE数量,占用vg百分比,占用空闲空间百分比
#-L 指定分配空间
lvcreate -n testlv -L 5G

代码段

#创建物理卷
pvcreate /dev/sda6 /dev/nvme0n1p3#创建卷组,指定PE大小为16m
vgcreate testvg -s 16m /dev/sda6 /dev/nvme0n1p3#创建逻辑卷,指定名称为testlv
lvcreate -n testlv -L 5G testvg
#格式化,创建文件系统,并挂载到/users目录
mkfs.ext4 /dev/testvg/testlv
echo "UUID=32a82b98-6514-4aed-b681-2ec8e7cfffee /users ext4 defaults 0 0" >> /etc/fstab
mount -a

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cEMZ8sFE-1606552363911)(https://i.loli.net/2020/10/09/dVKCoUzi6WYQOa3.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DQTfDKuz-1606552363911)(https://i.loli.net/2020/10/09/cLjbrYGlESoNhMu.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9pPF5lye-1606552363912)(https://i.loli.net/2020/10/09/s6wMFWzOVHmL2Rx.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OIGoqplI-1606552363912)(https://i.loli.net/2020/10/09/TmE5V9PH4R1snpD.png)]

厚基础Linux——第七周作业相关推荐

  1. 厚基础Linux——第二周作业

    文章目录 厚基础Linux--第二周作业 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别. SlackWare SUSE DeBian Ubuntu RedHat RedHat Lin ...

  2. 2019年春季学期第七周作业

    A Q 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 2019春第七周作业 我在这个课程的目标是 尽可能了解并且应用指针及文件和数组的知识 这个作业在那个具体方面帮助我实现目标 大致掌 ...

  3. 2017-2018-2 20179215《密码与安全新技术》第七周作业

    2017-2018-2 20179215 <密码与安全新技术> 第七周作业 课程:<密码与安全新技术> 班级: 201792 姓名: 袁琳 学号:20179215 上课教师:谢 ...

  4. 20189200余超 2018-2019-2 移动平台应用开发实践第七周作业

    20189200余超 2018-2019-2 移动平台应用开发实践第七周作业 布局 在这一节中首先学习了java的页面布局,在此基础之上来进行了编程. 图片如下: 代码如下: *** 使用代码进行登录 ...

  5. 厚基础Linux——学习笔记(一)

    厚基础Linux--学习笔记(一) 命令清单 本期命令 history 问题一:命令执行记录需要详细的执行时间 问题二:某些命令带有隐私信息,不希望被记录下来 history -c history - ...

  6. 学号20189220余超 2018-2019-2 《密码与安全新技术专题》第七周作业

    学号20189220 余超 2018-2019-2 <密码与安全新技术专题>第七周作业--论文学习及报告总结 课程:<密码与安全新技术专题> 班级: 1892 姓名: 余超 学 ...

  7. 2019春第七周作业

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 要求我们掌握指针,可以更好的运用它 我在这个课程的目标是  学懂C语言,会编程一些简单的小应用 这个作业在那个具体方面帮助我实现目标  这 ...

  8. 20169211《移动平台开发实践》第七周作业

    教材学习内容总结 一.常见控件 Android控件的可见属性:所有的Android控件都具有这个属性,可以通过android:visibility进行指定,可选值有三种,visible.invisib ...

  9. 20162302 第七周作业

    20162302 2016-2017-2 <程序设计与数据结构>第七周学习总结 教材学习总结 复习以前的内容,修正代码中的错误 学习多态的用法 学习接口的相关内容,并创建多态引用 教材学习 ...

最新文章

  1. 15.2. NFS Client Configuration
  2. awk算术运算一例:统计hdfs上某段时间内的文件大小
  3. 23.C++类对象的指针为空时,调用成员函数不会挂掉
  4. 一脸懵逼学习Hadoop中的序列化机制——流量求和统计MapReduce的程序开发案例——流量求和统计排序...
  5. 画好原理图的几个技巧
  6. object string java_Object类和String类
  7. session相关知识的收集于整理
  8. Linux基础命令---accept打印机控制
  9. C# CookieHelper帮助类
  10. Win7双屏显示设置
  11. 请远离这些精神毒品!!
  12. 第12期《啊哈算法 PDF版本》
  13. 基于Web的svg编辑器(1)——撤销重做功能
  14. 信捷XD5程序+TG765触摸屏程序,功能为XY双轴排版机
  15. aptana php插件使用教程,用Aptana Studio 1.5开发PHP,很强的PHP IDE,Aptana PHP,简介,安装教程...
  16. 隔离变压器不触电原因
  17. AntV使用方法详解
  18. 高并发下接口幂等性解决方案
  19. 一个完整的项目管理流程!
  20. R的绘图(二)——基本图形

热门文章

  1. Struts原理与实践(7)[转]
  2. struts中的javascript
  3. 魅族M9同步谷歌联系人
  4. SoX使用手册(中文版)
  5. 同心拼图(concentric mosaics)
  6. ios绘图_使用Pencilkit轻松将绘图功能添加到ios应用
  7. 小米9预约如此火爆,雷军的供货能跟上吗?
  8. 家居装修行业APP开发解决方案
  9. 2021.1知识图谱表示与推理综述(自己总结)
  10. 夫妻卖盲盒、年入16亿,揭秘泡泡玛特的暴利生意