程序包的yum安装

前面在说到rpm安装程序时就说过它有一个缺陷,不能解决程序间的依赖关系,而yum能在安装过程中自动解决依赖关系,安装非常方便。

那么什么是yum呢?

yum是基于C/S架构,需要一个服务器端给我们提供各个程序包以及他们之间的依赖关系,当客户端从服务器端下载安装程序时,服务器端会查找元数据信息,包括包的依赖关系,会把依赖的包一起下载到客户端安装。

所以我们需要一个指向这个服务器的配置文件,配置文件在/etc/yum.repos.d/目录下以.repo结尾的配置文件。

该配置文件的格式如下:

[repo-id] :只是一个标识

name :名称

baseurl : 这项很重要,表示程序包的所在路径,注意是在元数据的父目录

enabled :表示是否启动该配置文件,为1时表示启动

gpgcheck :用来校验程序包来源的合法性和完整性,为1时表示启用校验功能

gpgkey :你要下载站点的秘钥,通过这个秘钥能验证程序包合法性

注意:由于该目录下有几个同样以.repo结尾的文件,所以先把其他文件的后缀改变一下

以我自己配置的文件为例,我把所有的.rpm文件都放到/mnt/cdrom目录下

vim /etc/yum.repos.d/yum.repo
    
[cdrom]
name=iso
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0

yum命令的可用选项:

-y: 安装过程中自动回答为“yes”

--disablerepo=:临时禁用在配置文件中配置并启用的某repository;

--enablerepo=:临时启用指定的某repo;

--nogpgcheck:禁止做包校验;

仓库管理:

repolist [all|enabled|disabled]

        列出当前的repo-id,可以是所有的,启用的或没启用的
[[email protected] yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
repo id                                               repo name                                          status
cdrom                                                 iso                                                4,184
repolist: 4,184

缓存管理:

clean [ packages | metadata | expire-cache | rpmdb | plugins | all

清除缓存

makecache:缓存创建  自动连接至每一个可用仓库,下载其元数据,将其创建为缓存

程序包查看:

list [all | glob_exp1] [glob_exp2] [...]

list {available|updates|installed|extras|obsoletes}

列出当前的rpm二进制包,支持通配符选项

grouplist 以包组形式列出

程序包安装:

install -y package1 [package2] [...]

[[email protected] yum.repos.d]# yum -y install httpd
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-39.el6.centos will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================================
 Package               Arch                   Version                              Repository             Size
===============================================================================================================
Installing:
 httpd                 x86_64                 2.2.15-39.el6.centos                 cdrom                 825 k
Transaction Summary
===============================================================================================================
Install       1 Package(s)
Total download size: 825 k
Installed size: 2.9 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
** Found 2 pre-existing rpmdb problem(s), ‘yum check‘ output follows:
gnome-user-share-2.28.2-3.el6.x86_64 has missing requires of httpd >= (‘0‘, ‘2.2.0‘, None)
php-5.3.3-38.el6.x86_64 has missing requires of httpd-mmn = (‘0‘, ‘20051115‘, None)
  Installing : httpd-2.2.15-39.el6.centos.x86_64                                                           1/1 
  Verifying  : httpd-2.2.15-39.el6.centos.x86_64                                                           1/1 
Installed:
  httpd.x86_64 0:2.2.15-39.el6.centos                                                                          
Complete!

重新安装(覆盖安装)

reinstall package1 [package2] [...]

程序包升级:

update [package1] [package2] [...]

程序包降级:

downgrade package1 [package2] [...]

检查有哪些升级可用:

check-update

卸载:

remove| erase package1 [package2] [...]

所有依赖于正卸载的程序包的程序包会被一并卸载;

查询:

查询程序的相关简要信息:info PACKAGE ...

在包名和sumary信息中搜索指定的关键字:search KEYWORD ...

[[email protected] yum.repos.d]# yum search httpd
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
============================================= N/S Matched: httpd ==============================================
libmicrohttpd-devel.i686 : Development files for libmicrohttpd
libmicrohttpd-devel.x86_64 : Development files for libmicrohttpd
libmicrohttpd-doc.noarch : Documentation for libmicrohttpd
httpd.x86_64 : Apache HTTP Server
httpd-devel.i686 : Development interfaces for the Apache HTTP server
httpd-devel.x86_64 : Development interfaces for the Apache HTTP server
httpd-manual.noarch : Documentation for the Apache HTTP server
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
libmicrohttpd.i686 : Lightweight library for embedding a webserver in applications
libmicrohttpd.x86_64 : Lightweight library for embedding a webserver in applications
mod_auth_mellon.x86_64 : A SAML 2.0 authentication module for the Apache Httpd Server
mod_dav_svn.x86_64 : Apache httpd module for Subversion server
mod_dnssd.x86_64 : An Apache HTTPD module which adds Zeroconf support

查询指定文件由哪个程序包安装生成:provides|whatprovides /PATH/TO/SOMEFILE

     
[[email protected] yum.repos.d]# yum provides /bin/ls
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
coreutils-8.4-37.el6.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : cdrom
Matched from:
Filename    : /bin/ls
coreutils-8.4-37.el6.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : installed
Matched from:
Other       : Provides-match: /bin/ls

包组管理:

列出所有包组:grouplist

显示指定包组详情:groupinfo group1 [...]

安装:groupinstall group1 [group2] [...]

卸载:groupremove group1 [group2] [...]

升级:groupupdate group1 [group2] [...]

Note:可直接用install、remove或update来管理包组:

@GROUP_NAME

例如:yum install @"Server Platform Development"

时间: 2024-10-21 00:40:44

程序包的yum安装的相关文章

谢烟客---------Linux之程序包管理yum使用和编译安装

yum命令及仓库创建与配置 YUM 原理 安装.卸载.查询.升级.检查,本地缓存.重装.降级.历史.获取帮助 仓库 变量.事务.URL.开销.镜像.元数据存储方式及组成 createrepo作用.命令.lftp命令 编译安装  目的 原理 开发工具及开发环境 编译后的处理 获取程序包源代码的途径 YUM Redhat二次发行版 Yellow Dog Linux,上使用的yum(Yellowdog Update Modifier),由yellow dog 研发 yum命令的工作原理 1.接收用户命

【Linux相识相知】yum的配置使用和程序包的编译安装

在上一篇博客中,写到了如何使用rpm命令来安装.卸载软件等,但是大家都知道,各个软件包之间可能存在依赖关系,如果安装某个软件需要额外的依赖其他若干的包,那么我们就需要将其他额外的包一个一个的安装上去,这样的一个过程是非常耗时的,所以出现了一个前端工具,如yum,dnf,apt-get等,本次博客就centos上的yum和程序包的编译安装做出详细的描述,最后还通过实际的例子介绍了程序包的编译安装. yum的实现原理 yum实现软件包的获取其实是基于C/S架构的,C为你的主机,S为yum repos

Linux系统程序包管理---YUM

YUM 一. CentOS: yum, dnf 1.YUM: (Yellow dogUpdate Modifier),rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,up2date的替代工具 2.yum repository: yum repo 存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata) 注意: repodata目录所在的位置就是仓库所指向的路径 3.文件服务器: ftp:// http:// file:///(本地的,默认是光盘)

程序包管理--yum

yum repository: yum仓库        存储了众多rpm包,以及包的相关元数据的文件(放在repodata目录中)服务器 文件服务:           http://            ftp://            nfs://            file:/// yum客户端:     配置文件:指向仓库的位置以及各种配置信息:每个yum客户可以有多个可用的yum仓库: 有两部分组成: 主配置文件:/etc/yum.conf              /etc

详解程序包管理YUM

一.定义      Yum(全称为 Yellowdog Updater Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软包,无须繁琐地一次次下载.安装二. yum组成部分: (1).文件服务器(共享rpm包):    原理:通过yum所支持的文件共享机制将各rpm包通过文件服务共享    repository: 仓库      1.数据

程序包管理YUM

回顾: Linux程序包管理的实现,rpm管理器 rpm命令实现程序管理: 安装: -ivh,--nodeps, --replacepkgs 卸载:-e,--nodeps 升级:-Uvh,-Fvh, --nodeps, 降级:--oldpackage 查询:  -q, -qa, -qf, -qi, -qd, -qc, -q --scripts, -q--changlog, -q --provides, -q --requires 校验:-V 导入GPG秘钥: --import,-K, --nod

程序包的编译安装

前言: 不管是rpm安装还是yum安装都是以二进制格式进行安装的,是别人编译好的程序包,我们无需再编译就能使用,但未必在所有情况下都适用,所以只能自己编译安装,通过自己编译安装可以根据自己的需求编译程序包的功能,rpm包分为编译好的rpm包,还有一种源码rpm包. 程序包编译安装:testapp-VERSION-release.src.rpm格式的rpm包安装后使用rpmbuild命令制作成二进制的rpm包,再安装.可以将此种rpm包编译制作成完全符合自己平台需要版本的程序包. 大致过程: 源代

CentOS 下 rpm包与 yum 安装与卸载

rpm包的安装: 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安装 --nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装. 5.查询一个包是否被安装 # rpm -q < rpm package name> 6.得到被安装的包的信息 # rpm -qi < rpm package name> 7.列出该包中有哪些文件 # rpm -q

如何下载Office365离线安装程序包并手动安装?

如何下载Office365离线安装包并手动安装? ?Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者博客:https://blog.51cto.com/lander IT Helpdesk 工程师实战培训课程:https://edu.51cto.com/lecturer/733218.html轻松进外企:IT Helpdesk工程师实战自学之路:https://blog.51cto.com/lander/2413018更新时间:2019/7/10