软件安装及sed工具

一、软件安装

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

​ 1.1.1 本地源设置:

为虚拟机加载ISO文件

# lsblk   #查看光盘设备/dev/sr0
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  120G  0 disk
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0  117G  0 part /
sdb      8:16   0   20G  0 disk
├─sdb1   8:17   0    2G  0 part /data/da2
├─sdb2   8:18   0    1G  0 part
└─sdb3   8:19   0    1G  0 part
sr0     11:0    1  9.6G  0 rom
# mount /dev/sr0 /mnt     #挂载光盘到/mnt
mount: /dev/sr0 is write-protected, mounting read-only
# cd /etc/yum.repos.d/
# vim CentOS-Base.repo
[CentOS-Base.repo]
name=CentOS-Base
baseurl=file:///mnt
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
CentOS-Base.repo                                                                                                             | 3.6 kB  00:00:00
(1/2): CentOS-Base.repo/group_gz                                                                                             | 153 kB  00:00:00
(2/2): CentOS-Base.repo/primary_db                                                                                           | 6.1 MB  00:00:00
repo id                                                                  repo name                                                            status
CentOS-Base.repo                                                         CentOS-Base                                                          10,070
repolist: 10,070
[root@localhost yum.repos.d]#

# yum install autofs  #安装autofs软件实现光盘自动挂载
# systemctl enable --now autofs
# vim  /etc/yum.repos.d/CentOS-Base.repo
[CentOS-Base.repo]
name=CentOS-Base
baseurl=file:///misc/cd
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

1.1.2 aliyun源设置

访问网址 https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11p84Dq9 ,按照网站中说明运行:

​ 注:更改原说明中CentOS-Base.repo为CentOS-Base.aliyun.repo,以免文件覆盖

# wget -O /etc/yum.repos.d/CentOS-Base.aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo
--2020-12-29 10:46:09--  https://mirrors.aliyun.com/repo/Centos-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 42.7.48.238, 42.7.48.239, 42.7.48.248, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|42.7.48.238|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2523 (2.5K) [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/CentOS-Base.aliyun.repo’

100%[==========================================================================================================>] 2,523       --.-K/s   in 0s

2020-12-29 10:46:09 (152 MB/s) - ‘/etc/yum.repos.d/CentOS-Base.aliyun.repo’ saved [2523/2523]

# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
CentOS-Base.repo                                                                                                                            | 3.6 kB  00:00:00
base                                                                                                                                        | 3.6 kB  00:00:00
extras                                                                                                                                      | 2.9 kB  00:00:00
updates                                                                                                                                     | 2.9 kB  00:00:00
repo id                                                            repo name                                                                                 status
CentOS-Base.repo                                                   CentOS-Base                                                                               10,070
base/7/x86_64                                                      CentOS-7 - Base - mirrors.aliyun.com                                                      10,072
extras/7/x86_64                                                    CentOS-7 - Extras - mirrors.aliyun.com                                                       448
updates/7/x86_64                                                   CentOS-7 - Updates - mirrors.aliyun.com                                                    1,155
repolist: 21,745


增加EPEL源

# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
--2020-12-29 10:51:46--  http://mirrors.aliyun.com/repo/epel-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 42.7.48.242, 42.7.48.241, 42.7.48.243, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|42.7.48.242|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 664 [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/epel.repo’

100%[=========================================================================================================================>] 664         --.-K/s   in 0s

2020-12-29 10:51:47 (44.5 MB/s) - ‘/etc/yum.repos.d/epel.repo’ saved [664/664]

# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
epel                                                                                                                                        | 4.7 kB  00:00:00
(1/2): epel/x86_64/primary_db                                                                                                               | 6.9 MB  00:00:04
(2/2): epel/x86_64/updateinfo                                                                                                               | 1.0 MB  00:00:15
repo id                                                        repo name                                                                        status
CentOS-Base.repo                                             CentOS-Base                                                                       10,070
base/7/x86_64                                                CentOS-7 - Base - mirrors.aliyun.com                                             10,072
epel/x86_64                                          Extra Packages for Enterprise Linux 7 - x86_64                                           13,501
extras/7/x86_64                                       CentOS-7 - Extras - mirrors.aliyun.com                                                    448
updates/7/x86_64                                     CentOS-7 - Updates - mirrors.aliyun.com                                                    1,155
repolist: 35,246

1.2 编译安装http2.4,实现可以正常访问

访问网站http://httpd.apache.org/ ,下载httpd-2.4.46.tar.bz2压缩文件,并上传服务器。按INSTLL文件中说明,在http://apr.apache.org/ 网站下载apr与apr-util

# mkdir -p  /usr/src/httpd
# mkdir -p /app/httpd244
# mv  apr-1.7.0/* /usr/src/httpd/httpd-2.4.46/srclib/apr
# mv apr-util-1.6.1/* /usr/src/httpd/httpd-2.4.46/srclib/apr-util/
# cd  /usr/src/httpd
# tar xvf httpd-2.4.46.tar.bz2
# cd /usr/src/httpd/httpd-2.4.46

安装编译时使用到的软件

# yum -y install gcc make pcre-devel openssl-devel expat-devel

编译并安装

# cd /usr/src/httpd/httpd-2.4.46
# ./configure
# make && make install

后续设置

# setenforce 0
# vim /etc/sysconfig/selinux
SELINUX=disabled    #关闭Selinux

# systemctl stop firewalld.service   #关闭iptables

# vim  /etc/profile.d/httpd.sh  # 设置apachectl路径及自动启动httpd
PATH=$PATH:/app/httpd244/bin
export PATH
/app/httpd244/bin/apachectl restart

# vim /etc/man_db.conf  #设置man帮助路径
MANDATORY_MANPATH           /app/httpd244/man

# vim /app/httpd244/conf/httpd.conf  #更改httpd启动用户、用户组
User apache
Group apache


二、sed工具应用举例

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

# ifconfig|sed -n '2p'|sed -r 's/(^[^0-9]+)([0-9.]+)(.*)/\2/'

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

# sed -r 's/^#[[:space:]]+//' fstab

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

# echo /etc/fstab | sed -r 's/(^\/.*\/)(.*)/\1/'  #取出目录名
# echo /etc/fstab | sed -r 's/(^\/.*\/)(.*)/\2/'  #取出基名