rpm软件包管理
Posted 生如夏花和秋叶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rpm软件包管理相关的知识,希望对你有一定的参考价值。
rpm软件包有2种,一种是二进制软件包,系统光盘中的/dev/sr0/run/media/root/centos \7 \x86_64里的package就是,另一种是源码安装包。
(一)二进制软件包安装
1.安装:在相对路径中安装(确定电脑中已有二进制包),即包的路径下输入
rpm -vih + 包名(全称,以rpm结尾) 如: rpm -vih vsftpd-3.0.2-21.el7.x86_64.rpm
i -----install v----详细信息 h-----显示安装进度
2.命令:
rpm -qi + 包名 软件包详情
rpm -ql + 包名 查看软件包及相关包的路径
rpm -qa 查看系统中已安装的所有软件包
rpm -qa | grep + 包名 查看包是否已安装
rpm -qf + 文件路径 查看这个文件是由哪个软件包产生的
rpm -e + 包名 删除软件包 (反引号 rpm -e `rpm -qa | grep vsftpd`)
3.缺点:rpm安装软件包时不能解决包之间的依赖关系(如安装A包时要先装B包),安装时很麻烦。
yum安装能解决这个问题。yum是又Python写的,能很好解决包之间的依赖关系。但前提是要有安装包之间的依赖关系文件和所有的安装包,即软件包仓库。
包之间依赖关系性文件是repodata文件,在/dev/sr0/run/media/root/centos \7 \x86_64里有个repodata,这个就是一个软件包依赖惯性文件。
4.yum安装软件包步骤:(必须有软件包仓库:包和依赖关系文件)
(1)修改yum配置:
---->cd /etc/yum.repos.d
----->ls (显示系统自带的一些yum源)
mkdir /tmp/bak
mv * /tmp/bak (将系统自带的一些yum源先移除,装完之后记得把系统自带的yum源弄回来)
(2)编写本地yum源,5部分
-----> vim local.repo (以.repo结尾,local.repo是自己给提的名字)
第一部分 [local] 标题 可以自己随便写
第二部分 name=local.repo
第三部分 baseurl=file:// +软件包仓库路径 例如: baseurl=file:///opt
第四部分 enable=1 开启yum源
第五部分 gpgcheck=0 关闭,不检测gpg认证
五部分写完后保存退出
(3)安装软件包
------> yum clean all 清yum缓存
------>yum install + 包名 (可以不写全)
yum -y install + 包名 -y 不提示是否安装,直接yes安装
(4)卸载软件包
-----> yum erase + 包名 删除时只删除本体包,主包,所依赖的包不删除
注: yum的一些扩展源
-----> yum install epel-* -y (-*是包名没有记全时这样)
yum建缓存 可以提高安装速度
----> yum makecache -y
5.自定义yum源安装包,就是下载到二进制软件包了,怎么安装(比如关于httpd的包)
(1)将所有用的包下载下后,,cp到/cangku_httpd
(2)createrepo /cangku_httpd createrepo工具来生成依赖关系 写repodata文件
(3)写源文件.repo
------> vim httpd.repo
[httpd]
name=httpd sever
baseurl=file:///cangku_httpd
enable=1
gpgcheck=0
保存就可以了
(4)yum install httpd 安装包就可以了
注:上面的baseurl=file本地路径,也可以自定义网络yum源,后边跟网址,如baseurl=http://mirrors.centos.org/centos/7/os/x86-64/
yum从网络下包安装后会自动删除,不想删除怎么办
----->vim /etc/yum.conf
keepcache=1
cachedir=路径,安装包就会在这个路径下;
(二)源码软件包
这部分以源码安装python3.6为例,展示源码安装软件包过程。主流python都是C语言写的。
1.原理:将下载到本地的源码软件包---->编译成二进制包------>再安装
2.操作步骤:
(1)搭建环境:
----->yum grouplist 查看组包清单是否有‘开发工具’组包
-----> yum groupinstall ‘开发工具‘ -y
(2)在python源码压缩包路径下将压缩包解压
---->tar xvf Python3.6.2.tgz 解后包为Python3.6.2
---->cd Python3.6.2 ------>ls
(3)定制源码包配置信息
-------->./configure --prefix=/usr/local/python3.6.2 等号后边为把python安装到哪个路径下
(4)编译
------>make
(5)安装
-------->make install
步骤四和五可以写在一起 ,一起执行:make && make install
四核五完了后一般都会报错,提示缺少什么软件包,按提示的安装缺少的软件包,再执行四和五即可;
(6)使用
----->cd到安装路径下 cd /usr/loacal/python3.6.2
------>cd bin ------>ls
----->./python3.6 ./是执行的意思
(7)退出 ctrl +d
注意事项:
python3.6.2的可执行文件bin只是在路径/usr/local/python3.6.3这个路径下生效,换个路径或者终端,就不起作用了。怎么办,将这个路径加到全局中去。
(8)将python3.6.2加到全局环境中去,终端的任何路径下都可以用
将PATH=/urs/local/python3.6.2/bin:$PATH写到/etc/profile中,最后一行。注意路径之间用冒号
--------> vim /etc/profile
PATH=/urs/local/python3.6.2/bin:$PATH
export PATH
然后重启终端 ----->reboot 即可生效;
以上是关于rpm软件包管理的主要内容,如果未能解决你的问题,请参考以下文章