少年乘勇气,百战过乌孙。这篇文章主要讲述文本处理sed&软件管理相关的知识,希望能为你提供帮助。
1.自建yum仓库,分别为网络源和本地源。一、网络源
(1)备份CentOS-Base.repo
(2)从网上下载yum源
# cd /etc/yum.repos.d/
# cp CentOS-Base.repo{,.bak}
# wget http://mirrors.aliyun.com/repo/Centos-7.repo(3)将下载的yum源设置为默认源
# mv Centos-7.repo CentOS-Base.repo(4)清除源缓存并生成新缓存
# yum clean all
# yum makecache
二、本地源
挂载方式有多种:
ftp://
http://
nfs://
file://
此处我直接使用本地下载的centos7镜像文件挂载为本地yum源
(1)挂载centos7镜像所在的设备文件到/mnt/cdrom创建挂载点目录:
【文本处理sed&软件管理】# mkdir /mnt/cdrom挂载
# mount /dev/cdrom /mnt/cdrom/
(2)到/etc/yum.repo.d下去修改CentOS-Media.repo文件
# cd /etc/yum.repos.d
# vim CentOS-Media.repo
baseurl=file:///mnt/cdrom 表示这个源的文件路径
gpgcheck=1 表示对从这个源下载的rpm包进行校验
enable=1 启用此仓库
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7 此路径为挂载点目录下的文件,表示下载rpm包的校验码
(3)修改CentOS-Base.repo默认源不启动直接将其重命名为CentOS-Base.repo.bak即不会启用
# mv CentOS-Base.repo CentOS-Base.repo.bak(4)查看yum缓存
# yum repolist显示已经缓存成功
下载程序包做验证
2.编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交。一、环境准备
提供开发工具及开发环境
# yum install -y gcc gcc++ zlib zlib-devel expat-devel pcre-devel二、编译安装
编译安装apr-1.7.0.tar.gz
编译安装apr-util-1.6.1.tar.gz
# cd ~
# tar xf apr-1.7.0.tar.gz
# cd apr-1.7.0
# ./configure--prefix=/usr/local/apr
# make & & make install
编译安装 httpd-2.4.41.tar.gz
# cd ..
# tar xf apr-util-1.6.1.tar.gz
# cd apr-util-1.6.1
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make & & make install
三、安装后的配置至此:找到apache二进制文件的安装目录,其下有一个apachectl的文件
# cd ..
# tar xf httpd-2.4.41.tar.gz
# cd httpd-2.4.41
# ./configure--prefix=/usr/local/apache--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util
# make & & make install
# cd /usr/local/apache/bin给apachectl传递一个参数start,可以看到已经监听了80端口,说明httpd服务已经启动
# ./apachectl start
尝试访问,关闭防火墙
# systemctl stop firewalld
至此已经完成安装。但是默认的环境变量中并不存在/usr/local/apache/bin的路径,所以需要导出二进制程序目录至PATH环境变量中.用echo $PATH查看环境变量路径
# vim /etc/profile.d/httpd.sh在/etc/profile.d/目录下新建一个.sh结尾的文件,插入以下信息
export PATH=/usr/local/apache/bin/:$PATH导出库文件路径。一般上我们运行程序,Linux系统会在特定的路径下为应用查找所以来的库文件:/usr/lib、/usr/lib64、/lib、/lib64这四个目录下面,但是自己编译安装的程序提供的库文件有可能不在系统搜索的路径中,因此我们需要在系统里面添加一下。注意以.conf结尾。
创建新的库文件httpd.conf
# vim /etc/ld.so.conf.d/httpd.conf写入安装的apache的库文件路径
/usr/local/apache/lib让系统重新生成缓存
# ldconfig导出头文件,apache安装生成的include头文件不在默认的头文件/usr/include/目录,可以通过符号链接或者直接复制的方式加入该目录,此处使用符号链接
# ln -sv /usr/local/apache/include/ /usr/include/apache导出帮助手册,apache安装生成的帮助手册不在系统默认路径/etc/man_db.conf文件中
# vim /etc/man_db.conf
MANDATORY_MANPATH /usr/local/apache/man
四、将apachectl加入systemctl并设置开机自启动,重命名为httpd
首先将/usr/local/apache/bin/apachectl 复制到/etc/init.d/目录下
编辑/etc/rc.d/init.d/httpd
# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d
# mv /etc/rc.d/init.d/apachectl /etc/rc.d/init.d/httpd
用chkconfig命令将httpd添加到系统服务并设置开机启动
# vim /etc/rc.d/init.d/httpd
#chkconfig: 2345 10 90 其中2345是默认启动级别,10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低
此时使用systemctl命令就能正常管理到apachectl服务了
# chkconfig --add httpd
# chkconfig httpd on
3.利用sed 取出ifconfig命令中本机的IPv4地址。ifconfig | sed -nr "2s/[^0-9]+([0-9.]+).*/\\1/p"
4.删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符。sed -ri.bak /^#/s/^#// /etc/fstab
5.处理/etc/fstab路径,使用sed命令取出其目录名和基名。(1)取目录
echo "/etc/fstab" |sed -r s#(^/.*/)([^/]+/?)#\\1#
(2)取基名
echo "/etc/fstab" |sed -r s#(^/.*/)([^/]+/?)#\\2#
推荐阅读
- NFS共享服务
- 十三周
- 0到1快速掌握Java全栈开发,玩转微信生态
- #yyds干货盘点#redis笔记第1篇-redis简介
- PXE一键批量装机
- #yyds干货盘点#Windows Server之额外域控
- #yyds干货盘点#shell进阶之shift与select相关技术
- 线上服务器too many open files 问题排查记录
- Selenium 4.0 Alpha更新实践