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定义的文件路径安装
rpm包管理和源码包管理的更多相关文章
- 安装包RPM包或源码包
RPM工具 # mount /dev/cdrom /mnt 挂载光盘 # rpm 软件包管理器 -i 安装(需要安装包完整名称) -v 可视化 -h 显示安装进度 ...
- yum更换国内源、yum下载rpm包、源码包安装 使用介绍
第5周第4次课(4月19日) 课程内容: 7.6 yum更换国内源7.7 yum下载rpm包7.8/7.9 源码包安装 7.6 yum更换国内源 当yum仓库的软件不好用时,例如很多yum源都是国外的 ...
- RPM包或源码包
安装RPM包或源码包 点击vmware右下角光驱连接. 安装rpm包 -i:表示安装 -v:表示可视化 -h:表示显示安装进度 (同时使用) --force:表示强制安装,即使覆盖属于其他包的文件也要 ...
- 安装RPM包或者源码包
RPM工具 RPM他是以一种数据库记录的方式将我们所需要的套件安装到linux主机的一套管理程序关于RPM各个选项的含义如下-i:表示安装-v:表示可视化-h:表示安装进度在安装RPM包时,常用的附带 ...
- 【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装
[MySQL]Linux下MySQL 5.5.5.6和5.7的RPM.二进制和源码安装 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后, ...
- 软件包管理:源码包管理-源码包与RPM包的区别
RPM会安装在默认位置,源码包会安装在指定位置. 绝大多数ROM包遵循此规范.写软件包是就固定好了. 主要影响体现在对服务的管理方法,服务的管理分三种:启动,重启动,停止. 启动时使用绝对路径来启动. ...
- linux笔记:RPM软件包管理-源码包管理
源码包和rpm包的区别: 源码包安装过程: 编译安装前准备(执行./configure --prefix=路径 来配置软件的安装位置,以及做其他的配置和检查): 编译和安装(直接在目录下执行make和 ...
- Linux-软件包管理-RPM安装位置\源码包安装位置
rpm -ql httpd 查看apache包中文件的安装位置 find /etc -name httpd 查找apache程序的启动执行httpd所在位置 cd /etc/rc.d/init.d 切 ...
- linux软件管理 源码包
源码包安装位置 安装在指定位置当中,一般是 /usr/local/软件名/ 注意: 需要指定安装路劲为了便于卸载,因为源码包的是没有卸载命令的,它的的卸载方式就是把对应安装文件夹删除了. 所以如果 ...
随机推荐
- stout代码分析之九:c++11容器新特性
stout大量使用了c++11的一些新特性,使用这些特性有利于简化我们的代码,增加代码可读性.以下将对一些容器的新特性做一个总结.主要两方面: 容器的初始化,c++11中再也不用手动insert或者p ...
- Caused by: java.io.IOException: Filesystem closed的处理
org.apache.hadoop.hive.ql.metadata.HiveException: Unable to rename output from: hdfs://nameservice/u ...
- 旋转 3d
建议chorme浏览器浏览,有样式兼容性问题. 图片可以根据自己本地路径设置路径,js库引用jquery. 写的不好,多多建议,谢谢大家. <html onselectstart="r ...
- Spring mvc 增加静态资源配置后访问不了注解配置的controller
spring mvc 增加静态资源访问配置. 例如: <!-- 静态资源映射 --> <mvc:resources location="/static/" map ...
- 将四个按钮放入一个父控件的好处:方便移动,只需要改变父控件的y值,就可移动四个按钮
将四个按钮放入一个父控件的好处:方便移动,只需要改变父控件的y值, 就可移动四个按钮 https://www.evernote.com/shard/s227/sh/78 ...
- CCC2018游记
day (-1) 晚上睡觉没盖被子 day 0 2018年2月13日 下午放学回来感到一阵头痛,一量体温结果发烧了,感觉很蓝瘦,居然在CCC前一天生病. 本来注册了账号想打practise的,结果又 ...
- patch需要数据格式前端算法,patch算法基础,两个对象对比取差异属性
在我们的前端开发过程中,表单是最常见不过的了,一般我们创建表单的时候习惯使用post方法来提交数据,编辑表单时候喜欢put,但是当表单的数据非常多的时候,编辑起来很麻烦,首先需要获取初始化数据,然后把 ...
- js 的function为什么可以添加属性
(1) function person(){ this.name = 'Tom'; } (2) function person(){} person.name = 'Tom'; (3) functio ...
- (十九)git版本管理软件——搭建git服务器
创建管理员git 为管理员用户添加sudo权限 生成管理员秘钥 设置管理员git提交账号和邮箱 下载安装gitolite 启动gitolite 添加项目版本库 添加项目成员 项目成员下载项目 gito ...
- tiny-rtems-src
https://github.com/RTEMS/rtems-libbsd https://github.com/freebsd/freebsd/tree/642b174daddbd0efd9bb5f ...