专栏首页北京马哥教育Linux基础之软件包管理

Linux基础之软件包管理

概述

在redhat系列的发行版中,采用rpm软件包管理器,rpm原名是Red Hat Package Manager,后来当其他发行版也采用这种软件包管理机制以后,重新命名,改为RPM Package Manager,它所能提供的功能是将编译好的应用程序文件打包成一个或几个程序文件,从而使得用户能够方便的安装,升级,卸载软件,而yum则是rpm包管理器的前端工具。

rpm包的命名格式以及基本使用

1.rpm命名格式,rpm包分为核心包和功能包

对于核心包,命名格式为:

name-version-release.arch.rpm,其中version指明了程序源码的版本信息,组成是:major.minor.release

例如:GeoIP-1.5.0-9.el7.x86_64.rpm

对于功能包,命名格式为:

name-function-version-release.arch.rpm 其中version指明了程序源码的版本信息,组成是:major.minor.release

例如:GeoIP-devel-1.5.0-9.el7.x86_64.rpm

2.rpm命令的基本使用

rpm的功能包括:安装,卸载,升级,查询,软件包校验,数据库维护等功能。

rpm的使用方式:rpm [option] [package_name]

(1)软件的安装

rpm <-i,–install> [option] package_name

常用选项:

-v,-vv:详细显示软件包的安装过程,v的个数表示信息的详细程度

-h:安装过程中以#显示安装进度条,每个#代表2%的进度

–test:测试安装,检查并报告依赖关系

–nodeps:忽略软件的依赖关系,强制安装,不过最好别这么做

–replacepkgs:重新安装

(2)软件的卸载

rpm <-e,–erease> [option] package_name

常用选项:

–allmatch:卸载跟包名匹配到的所有软件包

–nodeps:忽略所有依赖关系,强制进行卸载,最好不要这么做

–test:只是测试卸载,并不是真正卸载

(3)软件的升级

rpm <-q,–query> [option] package_name

常用选项:

-a,-all:查看已经安装的软件信息

-f <file> : 查看指定的文件是由哪个软件包安装之后生成的

-l,–list:查看软件安装生成了哪些文件

-i,–info:查看跟指定软件包相关的信息

-c,–configfiles:查看软件的配置文件信息

-d,–docfiles:查看指定软件包安装生成的文档文件

-R,–require:查看指定软件的依赖关系

–provides:查看指定软件包提供的内容

–scripts:查看安装指定软件包所生成的脚本

(4)软件的校验

rpm <-V,–verify> [option] package_name

常用选项:

-a:查看软件包的完整性

有时候还需要检验软件包的来源合法性:

a.获取并导入软件包制作者的密钥:

rpm –import /etc/pki/rpm-pgp/RPM-GPG-KEY-CentOS-6

b.手动验证:

rpm -k package_name

(5)软件的升级

rpm <-F,-U> [option] package_name

常用选项:

-U:升级或安装

-F:升级软件

–force:强制升级

(6)软件包信息数据库的管理

之所以能使用rpm对软件包进行管理,是因为rpm根据其所维护的软件包信息数据库进行,而此数据库位于/var/lib/rpm中

–initdb:初始化数据库

–rebuilddb:重建数据库

yum的使用

yum全称:Yellowdog Update Modifer,是rpm包管理器的前端工具,根据yum的配置文件中定义的yum仓库的位置,在仓库中找到合适的软件包,然后进行安装。

1.yum的配置文件

/etc/yum.conf:提供yum工具的公共配置信息

/etc/yum.repo/ :提供yum仓库的配置信息

2.yum仓库的定义

[base] #定义yum仓库的ID

name=CentOS-$releasever – Base – 163.com #定义yum仓库的名称

#指明yum仓库的位置,可以使用http,ftp等服务定义,也可以使用本地的文件路径定义

baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/

gpgcheck={1|0} #是否进行校验

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 #要进行校验时,要指明密钥文件的位置

enabled={1|0}:是否启用此仓库

a.挂载光盘 使用示例:将光盘作为本地的yum仓库

mount -t iso9660 /dev/cdroom /media/cdroom

b.在/etc/yum.repo/目录下创建一个以.repo结尾的文件,并添加如下内容即可

[my_yum_repo]

name=local repo

base=/media/Packages

gpgcheck=0

enabled=1

3.yum的使用

使用格式:

yum [option] <command> [package]

其中常用的option:

-y:安装过程中可能会安装其他软件包,此选项的意义是自动回答为yes,即都进行安装

–noplugins:禁止安装所有的插件

–nogpgcheck:安装的时候不对软件包的来源做验证

–disablerepo=repo_name:临时禁止使用指定的yum仓库

–enablerepo=repo_name:临时启用指定的yum仓库

常用的command:

install:安装指定的软件包

update:升级软件包

remove:删除指定的已经安装的软件包

list:列出yum仓库中所有的rpm软件包

info:查看指定的软件包信息

clean {package,metadata,rpmdb,all}:清除指定的缓存信息

makecache:生成缓存信息

search:查找指定的软件包

reinstall:重新安装指定的软件包

repolist:列出可用的yum仓库

groupinstall:安装指定的包组

groupinfo:查看指定包组的信息

本文分享自微信公众号 - 马哥Linux运维(magedu-Linux)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-11-21

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Ansible配置管理vCenter及相关虚拟机

    Ansible支持的模块: http://docs.ansible.com/ansible/latest/modules/modules_by_category...

    魏新宇
  • Linux集群系列之一——集群基础概念

    集群 场景一 LAMP http,web object简单无状态连接 200,50dynamic prefork,2M ...

    若与
  • Hacker基础之Linux篇:基础Linux命令八

    我们开始学习Linux压缩和打包基础 tar 在Linux中,打包和压缩是分两步完成的 打包 打包是将多个文件归并到一个文件中 tar -cvf test.ta...

    用户1631416
  • java多线程通信方式

    1、同步 通过synchronized关键字这种方式来实现线程间的通信。 (学Linux的时候学过共享内存通信,在C中通过全局变量也行,虽然java木有) ...

    张俊怡
  • 神器Pytorch(2)

    1、 首先先安装Ubuntu17.10 过程略 只是建议在这个部分为了实践方便,请安装Desktop版本。 2、 安装与配置Python、Pip ? 这种情况属...

    刀刀老高
  • 大熊学python3爬虫–scrapy浅探(一)

    ? 在介绍scrapy之前,我觉得简单介绍下python的class很有必要。 class cainiao: def __init__(self,co...

    小莹莹
  • Red Hat不是只有Linux

    相信很多关注技术动态的人都知道,近日Red Hat企业版Linux在中国 Azure Marketplace 上正式上线了。而且本周,Red Hat Linu...

    人称T客
  • Linux内核内存管理算法Buddy和Slab

    有了前两节的学习相信读者已经知道CPU所有的操作都是建立在虚拟地址上处理(这里的虚拟地址分为内核态虚拟地址和用户态虚拟地址),CPU看到的内存管理都是对page...

    刘盼
  • (六)关于网络编程的一些实用技巧和细节

    这些年,接触了形形色色的项目,写了不少网络编程的代码,从windows到linux,跌进了不少坑,由于网络编程涉及很多细节和技巧,一直想写篇文章来总结下这方面的...

    范蠡
  • 虚拟机工作站创建虚拟机并安装Linux教程 一丶什么是Linux:二丶为什么要学Linux:三丶安装虚拟机工作站和初始化虚拟机:四丶安装Linux操作系统

    前言: 今天开始学习一下Linux,之前早就想看,但是一直没时间,最近把其他知识整理完了,终于有时间来看一下Linux了。 本节只是安装虚拟机工作站,虚拟机...

    MindMrWang

扫码关注云+社区

领取腾讯云代金券