专栏首页linux运维学习linux学习第二十一篇:安装软件包的三种方法,rpm,yum工具用法,yum搭建本地仓库

linux学习第二十一篇:安装软件包的三种方法,rpm,yum工具用法,yum搭建本地仓库

  • 若想安装一个包,忘记包的名字,但是记得命令,可以根据命令去搜:yum provides “/*/pvcreate”

安装软件包的三种方法

  • rpm工具(安装路径和文件名基本上都是固定好的。)
  • yum工具(属于用python开发的工具,实际上操作的对象也是rpm包,比rpm工具有一个优势,支持自动安装依赖的包。最简单的)
  • 源码包(源代码,需要通过编译器把源码包编译成可执行文件。最难的)

rpm包介绍

  1. 把光盘连接上虚拟机
  2. mount /dev/cdrom /mnt 把光盘挂载到目录/mnt下
[root@xie-02 zzz]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@xie-02 zzz]# cd /mnt
[root@xie-02 mnt]# ls
CentOS_BuildTag  EULA      images    LiveOS    repodata        RPM-GPG-KEY-CentOS-Testing-7EFI             GPL       isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

3.rpm包格式:包名、版本号、发布版本号、平台(x86_64是64位,i386,i586,i686是32位.Centos7不区别32位或者64位,默认都是64位)

rpm工具用法

  1. 安装rpm包: rpm -ivh rpm包文件(xxxx.rpm)
  2. 升级rpm包:rpm -Uvh rpm包文件
  3. 卸载rpm包:rpm -e 包名(rpm包的第一部分)
  4. 查询安装的包: rpm -qa
  5. 查询指定包是否安装:rpm -q 包名
  6. 查询指定包信息:rpm -qi 包名
  7. 列出包安装的文件:rpm -ql 包名
  8. 查看一个文件是由哪个包安装的:rpm -qf 文件绝对路径(如果不知道文件的绝对路径,只知道命令,则可以使用rpm -qf ` which+命令`命令来查看,例如rpm -qf `which vim`可查看vim的安装包)

yum工具用法

  1. 列出可用rpm包:yum list yum list | grep ‘vim’ //列出包名含有vim的
  2. yum的配置文件:ls /etc/yum.repos.d/
  1. 搜索包:yum search vim
  2. 安装包:yum install [-y] 包名//-y 询问是否安装
  3. 可用的组列出来:yum grouplist
  4. 安装可用的组:yum groupinstall [-y] 包名//包名里如果有空格就需要加上单引号
  5. 卸载包:yum remove [-y] 包名//可把依赖的包一起删除(比较危险)
  6. 升级包:yum update [-y] 包名//如果系统已经运行了一些服务安装了一些环境了,就不要去升级,容易出问题。
  7. 用命令来搜索对应包名:yum provides“/*/vim”//前提是系统里没有安装这个包

yum搭建本地仓库

  1. 挂载镜像到/mnt目录: mount /dev/cdrom /mnt
  2. 因为可能会删除一些文件所以需要做备份: cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
  3. 把yum.repos.d目录下的repo文件删掉: rm -f /etc/yum.repos.d/*
  4. 创建dvd.repo的文件: vim/etc/yum.repos.d/dvd.repo//内容为 [dvd] name=install dvd baseurl=file:///mnt //光驱的路径,即挂载点 enable=1 //若为0则yum仓库不能用 gpgcheck=0 //0为不检测,本地临时的,所以不需要检测
  5. 保存好内容后退出,对之前的缓存进行清除(因为之前已经把repo的文件都删除了)所以用命令: yum clean all
  6. 列出可用rpm包: yum list //最后一列带有@的表示已经安装了的

扩展 1. yum保留已经安装过的包 可以设置使yum保留已经下载的rpm包,供以后升级或重新安装时使用。 修改/etc/yum.conf即可: [main] cachedir=/home/soft1/yumcache keepcache=1 debuglevel=2

cachedir是放置下载的包的地方,可以修改为自己想放置的位置。keepcache为1时表示保存已经下载的rpm包。

  1. 搭建局域网yum源 http://ask.apelearn.com/question/7627

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux学习第二十二篇:yum更换国内源,yum下载rpm包,源码包安装

    yum更换国内源 删除/etc/yum.repos.d/下上一部分创建的dvd.repo文件: rm -f dvd.repo 将备份的/etc/yum.re...

    用户1215343
  • linux学习第五十二篇: exportfs命令,NFS客户端问题,FTP介绍,使用vsftpd搭建ftp服务

    exportfs命令 常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录 以下操作在服务端上 vim /et...

    用户1215343
  • linux学习第四十七篇:Nginx负载均衡,ssl原理,生产ssl密钥对,Nginx配置ssl

    Nginx负载均衡 负载均衡,将用户的所有HTTP请求均衡的分配到每一台机器上,充分发挥所有机器的性能,提高服务的质量和用户体验。 ? vim /usr/l...

    用户1215343
  • WPF布局

    莫问今朝
  • 从SAP最佳业务实践看企业管理(64)-SOP-精益生产

    精益生产、柔性制造 什么是竞争力? 一个企业在自由和公平的市场条件下生产经得起考验的产品和服务,创造附加价值,从而维持和增加企业实际收入的能力程度。 竞争力取决...

    SAP最佳业务实践
  • Linux的安装(虚拟机环境)与基础配置

    人生不如戏
  • python docopt模块

    参考:http://hao.jobbole.com/docopt/ https://www.jb51.net/article/109598.htm ht...

    周小董
  • MySQL 中 update 修改数据与原数据相同会再次执行吗

    本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗?

    芋道源码
  • AngularJS实现鼠标移入显示,鼠标移出隐藏

    http://plnkr.co/edit/Ro80nR7HT7OGGPCXjz7E?p=preview

    飞奔去旅行
  • MongoDB 复制集(Replica Set)

    Leshami

扫码关注云+社区

领取腾讯云代金券