文本处理sed&软件管理

少年乘勇气,百战过乌孙。这篇文章主要讲述文本处理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



二、本地源
挂载方式有多种:
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 


# 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

尝试访问,关闭防火墙
# 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/目录下


# 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服务了


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#













    推荐阅读