Linux程序包管理(yum)
YUM(Yellowdog Update Modifier):是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum是一个前端程序,所以它必须依赖一个yum客户端,repository,顾名思义,是一个软件的仓库,也叫做yum源,它可以是http或ftp站点, 也可以是本地软件池,每一个repository中存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata)。repodata中包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是通过这些信息,才能自动化地完成余下的任务。
yum客户端(yum源):通过yum的配置文件定义其细节内容。
配置文件:
/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:
通常一个.repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用
配置文件中各项参数的定义:
[repositoryID]
name=Some name for this repository
baseurl=url://path/to/repository/
enabled={1|0}
gpgcheck={1|0}
gpgkey=URL
enablegroups={1|0}
failovermethod={roundrobin|priority} (priority:按优先级排序,roundrobin,意为随机挑选) 默认为:roundrobin
cost= 默认为1000
yum命令的用法:
使用格式:yum [options] [command] [package ...]
命令行选项(命令行的优先度要高于配置文件):
--nogpgcheck:禁止进行gpg check;
-y: 自动回答为“yes”;
-q:静默模式;
--disablerepo=repoidglob:临时禁用此处指定的repo;
--enablerepo=repoidglob:临时启用此处指定的repo;
--noplugins:禁用所有插件;
常用command
显示仓库列表:repolist [all|enabled|disabled]
显示程序包:list
# yum list [all | glob_exp1] [glob_exp2] [...]
# yum list {available|installed|updates} [glob_exp1] [...]
安装程序包:install package1 [package2] [...]
reinstall package1 [package2] [...] (重新安装)
升级程序包:update [package1] [package2] [...]
降级程序包:downgrade package1 [package2] [...]
检查可用升级:check-update
卸载程序包:remove | erase package1 [package2] [...]
查看程序包information: info [...]
查看指定的特性(可以是某文件)是由哪个程序包所提供:provides | whatprovides feature1 [feature2] [...]
清理本地缓存:clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
构建缓存:makecache
搜索:以指定的关键字搜索程序包名及summary信息;
search string1 [string2] [...]
查看指定包所依赖的capabilities:
deplist package1 [package2] [...]
查看yum事务历史:
history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
安装及升级本地程序包:
* localinstall rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use install)
* localupdate rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use update)
包组管理的相关命令:
* groupinstall group1 [group2] [...]
* groupupdate group1 [group2] [...]
* grouplist [hidden] [groupwildcard] [...]
* groupremove group1 [group2] [...]
* groupinfo group1 [...]
创建yum仓库:
命令:createrepo [options] <directory>
演示过程
1.
2.
3.
4.
至此,创建本地仓库完成。
使用光盘当作本地yum仓库:
(1)挂载光盘至某目录,例如/media/cdrom
# mount -r -t iso9660 /dev/cdrom /media/cdrom
(2)创建配置文件 (同上)
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号;
$arch: 平台;
$basearch:基础平台;
$YUM0-$YUM9
示例:http://http://mirror.centos.org/centos/$releasever/updates/$basearch/
yum仓库文件服务器的地址类型:ftp://
http://
nfs://
file:///
转载于:https://blog.51cto.com/puro2016/1753163
Linux程序包管理(yum)相关推荐
- Linux 程序包管理-YUM
前端工具YUM管理程序包: rpm管理软件虽然方便,但是需要手工解决软件包的依赖关系:很多时候安装一个软件需要首先安装一个或多个(有时多达上百个)其它软件,手工解决很复杂:使用yum可以解决这个问 ...
- linux 包管理工具dnf,Linux 程序包管理 rpm yum dnf
Linux程序包管理:包管理器功能:打包,包管理(安装,升级,卸载,查询,校验) 目前Linux中最常见有两种常用工具deb:debian Linux使用 包括ubuntu rpm:Redhat Pa ...
- linux程序包管理rpm,yum和编译安装以及冒泡排序练习
linux程序包管理: API:Application Programming Interface POSIX:Portable OS 程序源代码--> 预处理--> 编译--> 汇 ...
- Linux程序包管理
一. RPM RPM的全名为"RedHat Package Manager",是由RedHat公司开发的.Rpm是以一种数据库记录的方式将所需要的套件安装到linux主机的一套管理 ...
- Linux程序包管理(rpm)
程序包:由源代码通过编译成CPU可执行的二进制格式,再把这些文件(二进制程序.库文件.配置文件.帮助文件)组织成为一个或有限几个"包"文件. 程序包的组成:1.程序包的组成清单(每 ...
- Linux程序包管理,YUM命令使用解析。
在使用Linux的朋友,肯定会遇到软件包安装的问题,今天我来和大家一起学习一下YUM的使用. YUM (Yellow dog Updater Modified ): 是一个在Fedora和RedHat ...
- Linux程序包管理之RPM
一RPM介绍: 1,RPM:是指.rpm的文件格式的软件包,也可能是指其本身的软件包管理器(RPM Package Manager).最早由Red Hat研制,现在也由开源社区开发.RPM通常随附于L ...
- linux 程序包管理5 编译安装
1.二进制程序的访问方法vim /etc/profile.d/apache.shPATH=/usr/local/apache/bin:/usr/local/apache/sbin=$PATHexpor ...
- Linux程序包管理2
转载于:https://www.cnblogs.com/jacky1982/p/8245566.html
最新文章
- 用过美德乐吸奶器的宝妈们感觉比国产吸奶器怎么样啊?
- 76.Zabbix添加图形和聚合图形
- 【机器学习基础】数学推导+纯Python实现机器学习算法27:LDA线性判别分析
- mysql中的竖线怎么用_Mysql event时间触发器,实现定时修改某些符合某一条件的某一字段...
- C#中增量类功能的方式之 继承与扩展
- 7-6 动物 (15 分)
- 微软 Edge 浏览器加入对 ARM64 的原生支持
- c++ int最大值_PTA「实验7-1-10 交换最小值和最大值」
- Spring缓存切面源码解析
- oracle vba 数组_vba:使用array中的文本从selection.find返回页码
- 学习方法推荐——番茄工作法
- 自制三层架构代码生成器软件
- js可以用的万年历API
- 基于TCP的STM32 IAP bootloader初步设计
- CodeForces 576C Points on Plane 莫队
- springboot2 集成shiro-spring-boot-web-starter
- 每日一练c++题目日刊 | 第七期
- 计算机安全措施方案,计算机安全应急预案
- Linux内核进程,线程,进程组,会话组织模型以及进程管理
- subtext 安装PythonIDE -Anaconda