文本处理sed&软件管理

Posted 会飞de冬瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本处理sed&软件管理相关的知识,希望对你有一定的参考价值。

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

一、网络源

(1)备份CentOS-Base.repo


# cd /etc/yum.repos.d/

# cp CentOS-Base.repo{,.bak}


(2)从网上下载yum源

# wget http://mirrors.aliyun.com/repo/Centos-7.repo

(3)将下载的yum源设置为默认源

# mv Centos-7.repo CentOS-Base.repo

(4)清除源缓存并生成新缓存


# yum clean all

# yum makecache


文本处理sed&软件管理_centos

二、本地源

挂载方式有多种:

ftp://

http://

nfs://

file://

此处我直接使用本地下载的centos7镜像文件挂载为本地yum源

(1)挂载centos7镜像所在的设备文件到/mnt/cdrom

创建挂载点目录:

# mkdir /mnt/cdrom

挂载

# mount /dev/cdrom /mnt/cdrom/


文本处理sed&软件管理_centos_02

(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包的校验码


文本处理sed&软件管理_centos_03

(3)修改CentOS-Base.repo默认源不启动

直接将其重命名为CentOS-Base.repo.bak即不会启用

# mv CentOS-Base.repo CentOS-Base.repo.bak

(4)查看yum缓存

# yum repolist

显示已经缓存成功

文本处理sed&软件管理_centos_04

下载程序包做验证

文本处理sed&软件管理_sed_05

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

一、环境准备

提供开发工具及开发环境


# yum install -y gcc gcc++ zlib zlib-devel expat-devel pcre-devel 

二、编译安装

编译安装apr-1.7.0.tar.gz 


# cd ~

# tar xf apr-1.7.0.tar.gz

# cd apr-1.7.0

# ./configure --prefix=/usr/local/apr

# make && make install


编译安装apr-util-1.6.1.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


编译安装 httpd-2.4.41.tar.gz


# 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


三、安装后的配置

至此:找到apache二进制文件的安装目录,其下有一个apachectl的文件

# cd /usr/local/apache/bin

给apachectl传递一个参数start,可以看到已经监听了80端口,说明httpd服务已经启动

# ./apachectl start

文本处理sed&软件管理_缓存_06

尝试访问,关闭防火墙

# systemctl stop firewalld

文本处理sed&软件管理_centos_07

至此已经完成安装。但是默认的环境变量中并不存在/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


文本处理sed&软件管理_centos_08

四、将apachectl加入systemctl并设置开机自启动,重命名为httpd


首先将/usr/local/apache/bin/apachectl 复制到/etc/init.d/目录下


# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d

# mv /etc/rc.d/init.d/apachectl     /etc/rc.d/init.d/httpd


编辑/etc/rc.d/init.d/httpd 



# vim /etc/rc.d/init.d/httpd

#chkconfig: 2345 10 90      其中2345是默认启动级别,10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低


用chkconfig命令将httpd添加到系统服务并设置开机启动



# chkconfig --add httpd

# chkconfig httpd on


此时使用systemctl命令就能正常管理到apachectl服务了

文本处理sed&软件管理_centos_09


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#







以上是关于文本处理sed&软件管理的主要内容,如果未能解决你的问题,请参考以下文章

linux文本处理sed软件包管理磁盘存储和文件系统

文本处理sed&软件管理

文本处理sed&软件管理练习题

第四周作业( 文本处理sed;软件管理;文件系统RAID)

Linux学习- sed,软件包管理

Linux文本处理和软件包管理