linux(RPM包的查询,安装,升级和卸载,yum概述与源码编译安装)以及安装apache
RPM软件包
RPM机制封装的软件包文件拥有约定俗成的命名格式,一般使用“软件名 - 软件版本 - 发布次数.操作系统类型.硬件架构类型.rpm”的文件名形式。例如:
查询RPM软件包
rpm -qa:查看系统中以RPM方式安装的所有软件列表
rpm -qi :软件包的详细信息(查看指定软件包的名称,版本,许可协议,用途等描述信息)
rpm -ql :软件包当中的所有文件,显示指定的软件包在当前系统中安装的所有目录,文件列表
rpm -qf :根据指定文件或目录查看是属于哪个软件包安装的
rpm -qc:查看软件包所有配置文件。如conf cnf ini 都是配置文件
rpm -qd:查看软件包的文档
查询未安装的RPM软件包文件信息
使用命令的基本格式
rpm -qp[子选项] RPM包文件
常用选项有以下几种
-qpi
-qpl
-qpc
-qpd
安装,升级,卸载RPM软件包
使用rpm命令实现安装,升级,卸载软件包这些操作时,需要了解基本的命令选项。
-i:在当前系统中安装(Install)一个新的RPM软件
-e:卸载指定名称的软件包
-U:检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于“-i”选项
-F:检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装
–force:强制安装某个软件包,当需要替换现已安装的软件包及文件,或者安装一个比之前使用的软件版本更旧的软件时,可以使用此选项。
–nodeps:在安装或升级,卸载一个软件包时,不检查与其他软件包的依赖关系
-h:在安装或升级软件包的过程中,以“#”号显示安装进度
-v:显示软件安装过程中的详细信息
rpm -ivh:安装
rpm -evh:卸载
df -Th :查看挂载
Yum概述与常用命令
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装
Yum常用命令
安装软件(以foo-x.x.x.rpm为例)
yum install foo-x.x.x.rpm
删除软件
yum remove foo-x.x.x.rpm
或者
yum erase foo-x.x.x.rpm
升级软件
yum upgrade foo
或者
yum update foo
查询信息
yum info foo
搜索软件(以包含foo字段为例)
yum search foo
显示软件包依赖关系
yum deplist foo
清空yum仓库缓存
yum clean all
源代码编译安装
Linux操作系统之所以能够在十余年的时间里发展壮大以至于风靡全球,其开放源代码的特性是很重要的原因之一,及Linux操作系统中包括内核在内的所有软件都可以获得源代码,并且可以经过定制修改后编译安装。
编译源代码需要有相应 的开发环境,对于*软件来说,gcc和make是最佳的编译工具。Linux系统采用默认安装后没有安装gcc,我们可以使用rpm命令来安装gcc。所需的软件包在镜像文件中就有提供。
yum -y install gcc gcc-c++
编译安装的基本过程
获得所需安装的软件源代码以后,安装的基本过程包括解包,配置,编译及安装。大多数开源软件的安装都遵循这个过程。
解压缩
开源软件的源代码包一般为TarBall形式,扩展名为“.tar.gz”或“.tar.bz2”,都可以使用tar命令进行解压。
例:将httpd-2.2.6.tar.gz文件解包到/usr/src/目录中:tar zxvf httpd-2.2.6.tar.gz -C /usr/src/
配置
在编译应用程序之前,需要进入源代码目录,对软件的安装目录,功能选择等参数进行配置。
在Linux系统中通过源代码方式安装软件时,也可以将所有程序文件安装到同一个文件夹,当需要卸载软件时,只需将该文件夹删除即可。
将软件包httpd-2.2.6安装到/usr/src/local/apache
cd /usr/src/httpd-2.2.6/
./configure --prefix=/usr/local/apache
编译
编译的过程主要是根据Makefile文件内的配置信息(若上一步的配置操作失败,将无法进行编译),将源代码文件进行编译而生成二进制的程序模块,动态链接库,可执行文件等。
配置完成后,只需要在源代码目录中执行“make”命令即可执行编译操作。
安装
编译完成后,就可以执行“make install”命令将软件的执行程序,配置文件,帮助文档等相关文件复制到Linux系统中了,也就是应用程序的最后“安装”过程。同样是在源代码目录中执行命令。
安装apache
安装Apache----下面两个插件是httpd2.4以后的版本所需要
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
cd httpd-2.4.29
./configure \
--prefix=/usr/local/httpd \ ###指定安装目录
--enable-so \ ###开启apache核心功能模块
--enable-rewrite \ ###重写功能
--enable-charset-lite \ ###支持字符集
--enable-cgi ###通用网关接口,支持多种语言编写,规范
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-cgid \
--enable-deflate
make && make install ###配置文件构建出二进制文件及安装
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd ###添加注释
# chkconfig: 35 85 21 ###35级别自动运行第85个启动第21个关闭
# description: Apache is a World Wide Web server
chkconfig --add httpd ###将httpd加入到SERVICE管理器
vi /usr/local/httpd/conf/httpd.conf
ServerName www.yun.com:80
Listen 192.168.175.130:80
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
systemctl stop firewalld.service
setenforce 0
httpd -t
apachectl -t
service httpd start
netstat -anpt| grep 80
上一篇: 犯“春困”了吗?滋阴