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

 配置网络源:
##备份系统自带的yum源文件
[root@centos84 yum.repos.d]# mkdir ~/yum_bak
[root@centos84 yum.repos.d]# mv * ~/yum_bak

##通过wget命令直接下载阿里云yum源
[root@centos84 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
--2021-12-12 06:28:20-- https://mirrors.aliyun.com/repo/Centos-8.repo
Connecting to 172.30.232.251:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 2595 (2.5K) [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/CentOS-Base.repo’

/etc/yum.repos.d/CentOS-Base.repo 100%[==================================================================================>] 2.53K --.-KB/s in 0s

2021-12-12 06:28:20 (48.6 MB/s) - ‘/etc/yum.repos.d/CentOS-Base.repo’ saved [2595/2595]
##清理缓存,加载缓存
[root@centos84 yum.repos.d]# yum clean all
[root@centos84 yum.repos.d]# yum makecache
CentOS-8 - Base - mirrors.aliyun.com 12 MB/s | 3.5 MB 00:00
CentOS-8 - Extras - mirrors.aliyun.com 72 kB/s | 10 kB 00:00
CentOS-8 - AppStream - mirrors.aliyun.com 15 MB/s | 8.2 MB 00:00
Metadata cache created.
##列出可用的yum源
[root@centos84 ~]# yum repolist
repo id repo name
AppStream CentOS-8 - AppStream - mirrors.aliyun.com
base CentOS-8 - Base - mirrors.aliyun.com
extras CentOS-8 - Extras - mirrors.aliyun.com
 配置本地源
##挂在光盘到/mnt 下
[root@centos84 ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@centos84 ~]# vi /etc/yum.repos.d/cl8.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
enbale=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enable=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[root@centos84 yum.repos.d]# yum clean all
Repository AppStream is listed more than once in the configuration
13 files removed
[root@centos84 yum.repos.d]# yum makecache
Repository AppStream is listed more than once in the configuration
CentOS-8 - Base - mirrors.aliyun.com 3.7 MB/s | 3.5 MB 00:00
CentOS-8 - Extras - mirrors.aliyun.com 39 kB/s | 10 kB 00:00
CentOS-8 - AppStream - mirrors.aliyun.com 20 MB/s | 8.2 MB 00:00
BaseOS 195 MB/s | 2.5 MB 00:00
Metadata cache created.
[root@centos84 yum.repos.d]#
[root@centos84 yum.repos.d]# yum repolist
Repository AppStream is listed more than once in the configuration
repo id repo name
AppStream CentOS-8 - AppStream - mirrors.aliyun.com
BaseOS BaseOS
base CentOS-8 - Base - mirrors.aliyun.com
extras CentOS-8 - Extras - mirrors.aliyun.com

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

##使用wget 下载Apache httpd 2.4.51 Released源码包
[root@centos84 data]# wget https://dlcdn.apache.org//httpd/httpd-2.4.51.tar.bz2
--2021-12-12 07:00:42-- https://dlcdn.apache.org//httpd/httpd-2.4.51.tar.bz2
Connecting to 172.30.232.251:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 7653609 (7.3M) [application/x-bzip2]
Saving to: ‘httpd-2.4.51.tar.bz2’

httpd-2.4.51.tar.bz2 100%[==================================================================================>] 7.30M 111KB/s in 84s

2021-12-12 07:02:07 (88.6 KB/s) - ‘httpd-2.4.51.tar.bz2’ saved [7653609/7653609]
##安装编译环境依赖包
yum install gcc make autoconf apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config
##临时关闭selinux
[root@centos84 ~]# setenforce 0
##解压httpd 2.4.51
[root@centos84 data]# tar -jxvf httpd-2.4.51.tar.bz2
httpd-2.4.51/
httpd-2.4.51/acinclude.m4
httpd-2.4.51/README.cmake
httpd-2.4.51/INSTALL
……
httpd-2.4.51/test/modules/http2/htdocs/noh2/index.html
httpd-2.4.51/test/modules/http2/htdocs/noh2/alive.json
httpd-2.4.51/test/modules/http2/mod_h2test/mod_h2test.c
httpd-2.4.51/test/modules/http2/mod_h2test/mod_h2test.h
[root@centos84 data]# cd httpd-2.4.51/
##配置
[root@centos84 httpd-2.4.51]# ./configure --prefix=/usr/local/http24 --sysconfdir=/etc/httpd --enable-ssl
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking build system type... x86_64-pc-linux-gnu
……
configure: summary of build options:

Server Version: 2.4.51
Install prefix: /usr/local/http24
C compiler: gcc
CFLAGS: -pthread
CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE
LDFLAGS:
LIBS:
C preprocessor: gcc -E
##编译并发4个任务执行
[root@centos84 httpd-2.4.51]# make -j 4
Making all in srclib
make[1]: Entering directory '/data/httpd-2.4.51/srclib'
make[1]: Leaving directory '/data/httpd-2.4.51/srclib'
Making all in os
make[1]: Entering directory '/data/httpd-2.4.51/os'
Making all in unix
make[2]: Entering directory '/data/httpd-2.4.51/os/unix'
make[3]: Entering directory '/data/httpd-2.4.51/os/unix'
……
make[4]: Leaving directory '/data/httpd-2.4.51/modules/mappers'
make[3]: Leaving directory '/data/httpd-2.4.51/modules/mappers'
make[2]: Leaving directory '/data/httpd-2.4.51/modules'
make[2]: Entering directory '/data/httpd-2.4.51/support'
make[2]: Leaving directory '/data/httpd-2.4.51/support'

make[1]: Leaving directory '/data/httpd-2.4.51'
##安装
[root@centos84 httpd-2.4.51]# make install
Making install in srclib
make[1]: Entering directory '/data/httpd-2.4.51/srclib'
make[2]: Entering directory '/data/httpd-2.4.51/srclib'
make[2]: Leaving directory '/data/httpd-2.4.51/srclib'
make[1]: Leaving directory '/data/httpd-2.4.51/srclib'
Making install in os
……
Installing header files
mkdir /usr/local/http24/include
Installing build system files
mkdir /usr/local/http24/build
Installing man pages and online manual
mkdir /usr/local/http24/man
mkdir /usr/local/http24/man/man1
mkdir /usr/local/http24/man/man8
mkdir /usr/local/http24/manual
make[1]: Leaving directory '/data/httpd-2.4.51'
##配置环境
[root@centos84 httpd-2.4.51]# echo 'PATH=/usr/local/http24/bin:$PATH' > /etc/profile.d/httpd.sh
[root@centos84 httpd-2.4.51]# sou
soundstretch source
[root@centos84 httpd-2.4.51]# source /etc/profile.d/httpd.sh
[root@centos84 httpd-2.4.51]#
##启动apache
[root@centos84 httpd-2.4.51]# apachectl start
[root@centos84 httpd-2.4.51]# ps -aux | grep httpd
root 156765 0.0 0.1 118944 5392 ? Ss 07:37 0:00 /usr/local/http24/bin/httpd -k start
daemon 156766 0.0 0.3 2126000 11788 ? Sl 07:37 0:00 /usr/local/http24/bin/httpd -k start
daemon 156767 0.0 0.3 2126000 11788 ? Sl 07:37 0:00 /usr/local/http24/bin/httpd -k start
daemon 156768 0.0 0.3 2126000 13828 ? Sl 07:37 0:00 /usr/local/http24/bin/httpd -k start
root 156872 0.0 0.0 12136 1128 pts/1 S+ 07:37 0:00 grep --color=auto httpd

访问效果

第四周学习作业_sed

3、利用sed 取出ifconfig命令中本机的IPv4地址

[root@centos84 ~]# ifconfig ens192 | sed -rn '2s/^.*inet ([0-9.]+) .*/\1/p'
172.30.232.201

4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符

[root@centos84 ~]# cp /etc/fstab .
[root@centos84 ~]#
[root@centos84 ~]#
[root@centos84 ~]# cat fstab

#
# /etc/fstab
# Created by anaconda on Fri Dec 3 11:23:33 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=7a5e61a3-1145-471b-b933-1816ecafb229 /boot xfs defaults 0 0
UUID=E30C-3026 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap none swap defaults 0 0
[root@centos84 ~]# sed -ri.bak '/^$|^#/d' fstab
[root@centos84 ~]# cat fstab
/dev/mapper/cl-root / xfs defaults 0 0
UUID=7a5e61a3-1145-471b-b933-1816ecafb229 /boot xfs defaults 0 0
UUID=E30C-3026 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap none swap defaults 0 0
[root@centos84 ~]#

5、处理/etc/fstab路径,使用sed命令取出其目录名和基名

[root@centos84 ~]# ls /etc/fstab | sed -rn 's#^(.*)/([^/]+)#\1#p'
/etc
[root@centos84 ~]# ls /etc/fstab | sed -rn 's#^(.*)/([^/]+)#\2#p'
fstab
[root@centos84 ~]#

6、列出ubuntu软件管理工具apt的一些用法(自由总结)

apt相关的文件
/etc/apt/sources.list               设置软件包的来源
/etc/apt/apt.conf apt配置文件
/etc/apt/apt.conf.d apt的零碎配置文件
/etc/apt/preferences 版本参数
/var/cache/apt/archives/ 存放已经下载的软件包
/var/cache/apt/archives/partial/ 存放正在下载的软件包
/var/lib/apt/lists/ 存放已经下载的软件包的详细信息
/var/lib/apt/lists/partial/ 存放正在下载的软件包的详细信息
yum和apt对比

任务

CentOS(yum)

ubuntu(apt)

软件源配置

/etc/yum.conf

/etc/apt/sources.list

更新软件包列表

每次运行yum时自动执行

apt update

从软件仓库软件安装软件

yum install package

apt install package

安装一个已下载的软件包

yum install pkg.rpm

rpm -i pkg.rpm

dpkg -i pkg.deb

pkg --install pkg.deb

删除软件包

rpm -e package

apt remove package

软件包升级检查/测试

yum check-update

apt -s upgrade

升级软件包

yum update

rpm -Uvh [args]

apt  upgrade

升级整个系统

yum upgrade

apt dist-upgrade

获取某软件包的信息

yum search package

apt show package

获取所有软件包的信息

yum list available

apt-cache dumpavail

显示所有已安装的软件

yum list installed

rpm -qa

dpkg -l

dpkg --list

获取某个已安装软件包的信息

yum info package

rpm -qi package

dpkg --status package

列出某个已安装软件包所包含的文件列表

rpm -ql package


列出某个已安装软件包所包含的文档        

rpm -qd package


列出某个已安装软件包所包含的配置文件

rpm -qc package      


显示某个软件包所依赖的软件包列表

rpm -qR package

apt depends package

显示某个软件包的反向依赖关系

rpm -q -whatrequires [args]

apt rdepends package

获取某个软件包文件的信息

rpm -qpi pkg.rpm

dpkg --info pkg.deb

获取某个软件包文件所包含的文件列表

rpm -qpl pkg.rpm

dpkg --contents pkg.deb

获取某个软件包文件所包含的文档

rpm -qpd pkg.rpm


获取某个软件包文件所包含的配置文件

rpm -qpc pkg.rpm


搜索某个文件是由哪个软件包安装的

yum provides /file/name

apt search /file/name

显示本地软件包缓存的状态


apt-cache stats

删除本地缓存的所有软件包

yum clean packages

apt clean

仅删除本地缓存中过时的软件包


apt autoclean

删除所有软件包信息

yum clean headers

apt purge