linux学习第二十一篇:安装软件包的三种方法,rpm,yum工具用法,yum搭建本地仓库
时间:2022-04-26
本文章向大家介绍linux学习第二十一篇:安装软件包的三种方法,rpm,yum工具用法,yum搭建本地仓库,主要内容包括安装软件包的三种方法、rpm包介绍、rpm工具用法、yum工具用法、yum搭建本地仓库、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
- 若想安装一个包,忘记包的名字,但是记得命令,可以根据命令去搜:yum provides “/*/pvcreate”
安装软件包的三种方法
- rpm工具(安装路径和文件名基本上都是固定好的。)
- yum工具(属于用python开发的工具,实际上操作的对象也是rpm包,比rpm工具有一个优势,支持自动安装依赖的包。最简单的)
- 源码包(源代码,需要通过编译器把源码包编译成可执行文件。最难的)
rpm包介绍
- 把光盘连接上虚拟机
- 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工具用法
- 安装rpm包: rpm -ivh rpm包文件(xxxx.rpm)
- 升级rpm包:rpm -Uvh rpm包文件
- 卸载rpm包:rpm -e 包名(rpm包的第一部分)
- 查询安装的包: rpm -qa
- 查询指定包是否安装:rpm -q 包名
- 查询指定包信息:rpm -qi 包名
- 列出包安装的文件:rpm -ql 包名
- 查看一个文件是由哪个包安装的:rpm -qf 文件绝对路径(如果不知道文件的绝对路径,只知道命令,则可以使用rpm -qf ` which+命令`命令来查看,例如rpm -qf `which vim`可查看vim的安装包)
yum工具用法
- 列出可用rpm包:yum list yum list | grep ‘vim’ //列出包名含有vim的
- yum的配置文件:ls /etc/yum.repos.d/
- 搜索包:yum search vim
- 安装包:yum install [-y] 包名//-y 询问是否安装
- 可用的组列出来:yum grouplist
- 安装可用的组:yum groupinstall [-y] 包名//包名里如果有空格就需要加上单引号
- 卸载包:yum remove [-y] 包名//可把依赖的包一起删除(比较危险)
- 升级包:yum update [-y] 包名//如果系统已经运行了一些服务安装了一些环境了,就不要去升级,容易出问题。
- 用命令来搜索对应包名:yum provides“/*/vim”//前提是系统里没有安装这个包
yum搭建本地仓库
- 挂载镜像到/mnt目录: mount /dev/cdrom /mnt
- 因为可能会删除一些文件所以需要做备份: cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
- 把yum.repos.d目录下的repo文件删掉: rm -f /etc/yum.repos.d/*
- 创建dvd.repo的文件: vim/etc/yum.repos.d/dvd.repo//内容为 [dvd] name=install dvd baseurl=file:///mnt //光驱的路径,即挂载点 enable=1 //若为0则yum仓库不能用 gpgcheck=0 //0为不检测,本地临时的,所以不需要检测
- 保存好内容后退出,对之前的缓存进行清除(因为之前已经把repo的文件都删除了)所以用命令: yum clean all
- 列出可用rpm包: yum list //最后一列带有@的表示已经安装了的
扩展 1. yum保留已经安装过的包 可以设置使yum保留已经下载的rpm包,供以后升级或重新安装时使用。 修改/etc/yum.conf即可: [main] cachedir=/home/soft1/yumcache keepcache=1 debuglevel=2
cachedir是放置下载的包的地方,可以修改为自己想放置的位置。keepcache为1时表示保存已经下载的rpm包。
- 搭建局域网yum源 http://ask.apelearn.com/question/7627
- 使用神经网络来拟合函数y = x^3 +b
- GO语言如何调用C写的函数
- 使用Anaconda搭建TensorFlow-GPU环境
- google gflag使用方法举例
- caffe源码学习之Proto数据格式【1】
- 降维之pca算法
- 聚类之dbscan算法
- ubuntu 使用sudo apt-get update 出现 被配置多次导致无法升级错误解决方法
- morestack与goroutine pool
- 关于python使用threadpool中的函数单个参数和多个参数用法举例
- python科学计算之numpy
- 关于python使用cv画矩形并填充颜色同时填充文字
- Go语言入门基础
- 【前端编程】加载第三方JS的各种姿势
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【win教程】两种办法设置软件自启
- Python | 多线程死锁问题的巧妙解决方法
- Java设计模式面试题
- scala 语法深析
- React总结概括
- Spring Http Invoker
- Spring整合RMI
- Spring启用缓存
- 交通标识分类-TensorFlow实现
- Redis使用与操作k-v数据
- Spring集成Hadoop和Hbase
- JVM系列之:JIT中的Virtual Call接口
- 重新构建711的Android项目(二),架构的选择与实现
- Android的配置文件操作封装,摒弃SharedPreference操作配置漫天乱飞
- java实现PBOC的TLV格式解析,超简单的解析(全互联网最简单)