rpm包管理和源码包管理

(1)软件类型

源码包			需要gcc编译		nginx-1.12.1.tar.gz
二进制包		已编译			mysql-community-common-5.7.12-1.el7.x86_64.rpm
常见的二进制包
系统平台				包类型				工具				在线安装(自动解决依赖关系)
Redhat/Centos			RPM					rpm,rpmbuild		yum
Ubuntu/Debian			DPKG				dpkg				apt
注意:不管是源码包,还是二进制包,安装时都可能会有依赖问题
软件包名					版本号version		发布版本release			系统平台(i386,x86_64,noarch)
mysql-community-common		5.7.12				1.el7					x86_64
# uname -m									//查看系统架构
x86_64
# cat /etc/redhat-release 					//查看系统平台
CentOS Linux release 7.3.1611 (Core)

(2)rpm包管理

需要手动解决包的依赖关系

1)安装

https://pkgs.org/
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-1.el7.x86_64.rpm //url安装
rpm -ivh ntfs-3g-2017.3.23-1.el7.x86_64.rpm //本地安装
rpm -Uvh ntfs-3g-2017.3.23-1.el7.x86_64.rpm //升级
额外选项:
--nosignature //不检验软件包的签名
--force //强制安装软件包,相当于yum reinstall ,重新安装软件,文件缺失可以重新安装
--nodeps //忽略依赖关系
rpm包安装信息存储到本地RPM数据库中
ldconfig //加载当前系统所有库文件
ldconfig -p //打印当前系统加载的库文件

2)查询

rpm -q vsftpd //查询指定包是否安装
rpm -qa vsftpd //从当前系统所有安装包中查询指定包是否安装
rpm -ql vsftpd //查询vsftpd安装的文件
rpm -qc vsftpd //查询vsftpd包的配置文件
rpm -qf /usr/sbin/vsftpd //查询该文件属于哪个rpm包
rpm -qi vsftpd //查询包的information
rpm -qd vsftpd //查询安装的帮助文档

3)卸载

rpm -e vsftpd //卸载包,如果包有依赖,默认情况下无法卸载
rpm -e vsftpd --nodeps //忽略依赖关系卸载
yum remove vsftpd //卸载包的同时,如果有其它的依赖包也会把卸载掉依赖包

(3)源码包管理:源码编译安装三部曲

例:安装nginx
yum install pcre pcre-devel openssl openssl-devel gcc make zlib-devel -y
mkdir /tools
cd /tools/
wget http://tengine.taobao.org/download/tengine-1.5.1.tar.gz
useradd nginx -s /sbin/nologin 
tar xf tengine-1.5.1.tar.gz
cd tengine-1.5.1
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx1.5.1 --with-http_stub_status_module --with-http_ssl_module   --with-http_upstream_check_module
make && make install
ln -sv /usr/local/nginx1.5.1/ /usr/local/nginx
echo "export PATH=/usr/local/nginx/sbin:$PATH" >>/etc/profile
source /etc/profile
echo "/usr/local/nginx/sbin/nginx"  >>/etc/rc.local
nginx

源码安装三部曲

./configure 
	指定安装路径,例如--prefix=/usr/local/nginx 
	启用或禁用某个功能,例如 --enable-ssl ,--disable-filter 
	和其它软件关联,例如--with-pcre 
	检查安装环境,例如是否有编译器,是否满足安装软件的依赖需求
	最终生成makefile文件
make  				//按照makefile文件编译,可以使用-j 2 指定两颗cpu编译,优化编译器参数
make install		//按makefile定义的文件路径安装
原文地址:https://www.cnblogs.com/lovelinux199075/p/9034015.html