设为首页 收藏本站
查看: 461|回复: 0

[经验分享] linux下的软件安装方式(rpm,yum,编译安装)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-1-25 09:20:12 | 显示全部楼层 |阅读模式
rpm包是以一种数据库记录的方式将所需的套件安装在linux系统上的软件包;也就是说linux系统中存在着关于rpm包的数据库,它记录了安装的包以及包与包之间的依赖相关性。
安装rpm包:rpm -ivh [--force] [--test]长包名.rpm
    --force:忽略软件包及文件的冲突
    --nodeps:忽略软件包的依赖关系强行安装
    --test:检查依赖关系并不是真正的安装
更新rpm包:rpm -Uvh [--force] 长包名.rpm
卸载rpm包:rpm -e  [--nodeps] 包名或长包名
rpm查询:
  • rpm -qa:查看系统已安装所有rpm包
  • rpm -qa vim-enhanced:根据包名收索已安装rpm包
  • rpm -qa |grep vim:根据关键字收索已安装rpm包
  • grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
  • rpm -qi 长包名.rpm:可以查看已安装的rpm包的详细信息
  • rpm -ql 长包名.rpm:可以查看已安装的rpm包所安装的文件列表
  • rpm -qf  文件路径:可以查看安装该文件rpm包
  • rpm -qf 'which vim':查看命令的相关包是否安装 ,`号是反单引号Esc键下面那个,表示直接调用``内的命令结果。


yum是linux的软件管家,可以根据依赖关系自动计算好到预先指定的yum源下载、更新、卸载哪些rpm包。
yum的关键之处就是要有可靠的yum源(repository),它可以是http或ftp站点,也可以是本地软件池(flie://)
搜索rpm包:yum search rpm包名
                    yum list |grep rpm包名

yum grouplist:显示已安装的和未安装的环境列表

根据提供的文件搜索rpm包 yum provides /*mkpasswd等价rpm -qf
@表示已安装的
下载安装rpm包:yum [-y] install rpm包名
下载rpm包:yum [-y] install rpm包名 --downloadonly --downloaddir=目录(使用参数需要安装插件yum-plugin-downloadonly)
重新安装rpm包:yum [-y] reinstall rpm包名
更新rpm包:yum [-y] udate rpm包名
卸载rpm包:yum [-y] rmmove rpm包名
  • 卸载时-y参数谨慎使用

yum 的配置文件分为两部分:main 和repository
  • main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。
  • repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中。

当同一个rpm包在多个不同的yum源中都有时,按yum源名升序排列显示最第一个。
yum -y install yum-priorities:可以安装该插件设置yum源优先级别1-99。

第三方yum源:epel(可通过yum安装)、rpmforg、rpmfusion...可以安装更多的rpm包。

CentOS yum 源的配置与使用
指定好yum源(.repo文件)后最好执行下以下2条命令:yum clean all清除缓存、yum makecache生成缓存
可以使用createrepo工具搭建局域网repository

源码编译安装:
使用源码包的好处除了可以自定义修改源代码外还可以定制相关的功能,因为源码包在编译的时候是可以附加额外的选项的。
linux的源码包一般是C语言开发,其编译器是gcc。
安装步骤:
  • 安装ggc编译器
  • 下载源码包到/usr/local/src并解压
  • 进入该源码包解压目录,查看帮助文档INSTALL或README
  • 根据帮助文档编译安装源码包,安装过程中可使用echo $?校验安装是否正确,0为正常

wKioL1ajGyLgcJ3iAAAdH2BGBk0479.jpg
编译前,可在执行脚本configure检查编译环境时定制编译参数,如--prefix=directory指定安装目录,可使用./configure --help查看更多参数
卸载就是直接删除安装目录
make clean仅仅是清除编译时生成的可执行文件及配置文件。
make distclean类似make clean,但同时也将configure生成的文件全部删除掉,包括Makefile。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-169079-1-1.html 上篇帖子: Linux 磁盘挂载 下篇帖子: Linux文件权限描述 linux 软件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表