阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux基础教程之Linux包管理:rpm/yum/编译安装

380次阅读
没有评论

共计 5117 个字符,预计需要花费 13 分钟才能阅读完成。

rpm:安装,查询,升级,校验,卸载

 

Topic:

程序包

rpm 管理

yum 管理

 

程序包:

 

什么是程序包管理器:

将编译好的应用程序的各个组成文件打包成一个或几个程序包文件,从而更方便地实现程序包的安装、升级、卸载和查询等管理操作

 

程序包的组成清单:

文件清单

安装或卸载时运行的脚本

数据库 (公共)

程序包的名称和版本

依赖关系

功能说明

安装生成的个文件的文件路径及校验信息

 

获取程序包的途径

(1) 系统发行版的光盘或官方的文件服务器 (或镜像站点)

http://mirrors.aliyun.com

http://mirrors.sohu.com

http://mirrors.163.com

(2) 项目的官方站点

(3) 第三方组织

a. EPEL

b. rpm 包搜索引擎

http://pkgs.org

http://rpmfind.net

http://rpm.pbone.net

(4) 自动动手制作 rpm 包

 

RPM 管理:包括 rpm 包的安装、查询、升级、校验、卸载

 

rpm 包命名格式

name-version-release.arch.rpm

version: major.minor.release

release: rpm 包的发行号

release os: 2.el7.i386.rpm

arch: 平台。例如:i386, x86_64 等

 

rpm 命令:rpm [OPTIONS] [PACKAGE_FILE]

安装:-i, –install,在当前系统安装一个新的 rpm 软件包

升级:-U, –update, 检查并升级指定的软件包,如果系统没有此软件包则执行安装命令

-F, –freshen,检查并升级指定的软件包,如果系统没有此软件包不执行安装命令

卸载:-e, –erase,删除指定的软件包

查询:-q, –query,查询软件包的相关信息

校验:-V, –verify,安装后校验指定的软件包

数据库维护:–builddb, –initdb

 

安装功能:

rpm {-i|–install} [install-options] PACKAGE_FILE…

常用选项:

rpm -ivh PACKAGE_FILE

-v:verbose,详细信息

-vv:更详细的输出

 

[install-options]:

-h:hash marks,输出进度条,每个 #表示 2% 的进度

–test:测试安装,并不是真正的安装,检查并报告依赖关系及冲突消息等。

–nodeps:忽略依赖关系,不建议使用

–replacepkgs:替代原来的包重新安装

–nosigature:不检查包签名信息,不检查包来源合法性

–nodigest:不检查包完整性

 

升级功能:

rpm {-U|–upgrade} [install-options] PACKAGE_FILE

rpm {-F|–freshen} [install-options] PACKAGE_FILE

 

注意:

(1) 不要对内核做升级操作,Linux 支持多内核版本并存,因此,直接安装新版本内核

(2) 如果某源程序包的配置文件安装后曾被修改过,升级时,新版本的程序提供的同一个配置文件不会覆盖原有版本的覆盖文件,而是把新版本的配置文件重命名后提供

 

卸载命令:

rpm {-e|–erase} ] [–allmatches] [–nodeps] [–noscripts] [–test] PACKAGE_NAME….

–allmatch:卸载所有匹配指定名称的程序包的各版本

–nodeps:卸载时忽略依赖关系

–test:测试卸载,并不执行真正的卸载命令

 

查询功能:

rpm {-q|–query} [selection-options] [query-options] PACKAGE_NAME

[selection-options]

PACKAGE_NAME:查询指定的程序包是否已经安装

-a, –all:查询所有已经安装过的包

-f FILE:查询指定文件由那个程序包安装生成

-p, –package PACKAGE_FILE:用于实现对未安装的程序包执行查询操作

–whatprovides CAPABILITY:查询指定的 CAPABILITY 由那个程序包提供

–whatrequires CAPABILITY:查询指定的 CAPABILITY 被那个包以来

[query-options]

–changelog:查询 rpm 包的 changelog

-l,–list PACKAGE_NAME:查询安装生成文件列表

-i,–info PACKAGE_NAME:程序包相关信息,版本号、大小、所属的包组等

-c,–configfiles:查询指定的程序包提供的配置文件

-d,–docfiles:查询指定的程序包提供的文档

–provides PACKAGE_NAME:列出指定的程序包提供的所有的 CAPABILITY

-R,–requires PACKAGE_NAME:查询指定的程序包的依赖关系

–scripts PACKAGE_NAME:查询程序包自带的 scripts 都有哪些信息

 

常用语法格式:

rpm -qi PACKAGE_NAME

rpm -qf PACKAGE_FILE

rpm -qc PACKAGE_NAME

rpm -ql PACKAGE_NAME

rpm -qd PACKAGE_NAME

rpm -qpl PACKAGE_FILE

rpm -qpi PACKAGE_FILE

rpm -qpc PACKAGE_FILE

 

校验功能:

rpm {-V|–verify} [select-options] [verify-optoins]

S file Size differ

M Mode differs (including permissions and file type)

5 digest (formerly MD5 sum) differs

D Device major/minor number mismatch

L readLink(2) path mismatch

U User ownership differs

G Group ownership differs

T mTime differs

P caPabilities differ

包来源合法性验证和完整性验证:

来源合法性验证:

数字签名:制作者提取加密程序包的特征码,然后将自己的私钥加到特征码后面

完整性验证:获取并导入新人的包制作者的秘钥

对于 CentOS 7 来说:rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CENTOS-7

验证:

(1) 安装此组织签名的程序时,会自动执行验证;

(2) 手动验证:rpm -K PACKAGE_FILE

 

数据库重建:

rpm 管理器数据库路径:/var/lib/rpm

查询操作:通过此处的数据库进行

获取帮助:

CentOS 6:man rmp

CentOS 7:man rpmdb

 

rpm {–initdb | –rebuilddb}

–initdb:初始化数据库,当前无任何数据库可初始化创建一个新的;当前有时不执行任何操作

–rebuilddb:重新构建,通过读取当前系统上所有已经安装过的程序包进行重新创建

 

YUM 管理:

 

什么是 yum

yum 的全称是 (Yellow Dog Modifier),是 RHEL 系列 Linux 发行版的包管理工具。主要帮助我们解决了安装时包之间的依赖关系

 

yum repository:yum rempo

存储了众多 rpm 包,以及包的相关的元数据文件 (放置于特定目录下:repodata)

 

文件服务器的类型:

ftp://

http://

nfs://

file:///

 

yum 客户端

配置文件:

/etc/yum.conf:为所有仓库提供公共配置

/etc/yum.repo.d/*.repo:为仓库的指向提供配置

 

仓库指向的定义:

[repositoryID]

name=Some name for this repository

baseurl=url://path/to/repository

enabled={1|0}

gpgcheck

gpgkey=url

enablegroup={1|0}

failovermethod={roundrobin|priority}

默认为:roundrobin,意为碎金挑选

const=

默认为 1000

 

yum 命令的用法:

yum [options] [command] [package]

 

* install package1 [package2] […]

* update [package1] [package2] […]

* update-to [package1] [package2] […]

* update-minimal [package1] [package2] […]

* check-update

upgrade [package1] [package2] […]

* upgrade-to [package1] [package2] […]

* distribution-synchronization [package1] [package2] […]

* remove | erase package1 [package2] […]

* autoremove [package1] […]

* list […]

* info […]

* provides | whatprovides feature1 [feature2] […]

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

* makecache [fast]

* groups […]

* search string1 [string2] […]

* shell [filename]

* resolvedep dep1 [dep2] […]

(maintained for legacy reasons only – use repoquery or yum provides)

* localinstall rpmfile1 [rpmfile2] […]

(maintained for legacy reasons only – use install)

* localupdate rpmfile1 [rpmfile2] […]

(maintained for legacy reasons only – use update)

* reinstall package1 [package2] […]

* downgrade package1 [package2] […]

* deplist package1 [package2] […]

* repolist [all|enabled|disabled]

* repoinfo [all|enabled|disabled]

*  repository-packages  <enabled-repoid>  <install|remove|remove-or-reinstall|remove-or-distribu‐

tion-synchronization> [package2] […]

* version [all | installed | available | group-* | nogroups* | grouplist | groupinfo]

*      history     [info|list|packages-list|packages-info|summary|addon-info|redo|undo|roll‐

back|new|sync|stats]

* load-transaction [txfile]

* updateinfo [summary | list | info | remove-pkgs-ts | exclude-updates | exclude-all | check-run‐

ning-kernel]

* fssnapshot [summary | list | have-space | create | delete]

* fs [filters | refilter | refilter-cleanup | du]

* check

* help [command]

 

显示仓库列表:

repolist [all|enabled|disabled]

 

显示程序包

list

yum list [all | glob_exp1] [glob_ex2] […]

yum list availabel {available | installedupate} [glob_exp1] […]

 

安装程序包:

yum install package1 [package2] […]

reinstall package1 [package2] […] 重新安装

 

rpm 的安装包在安装时可能会和其他程序要有依赖关系。

 

前端工具能自动解决:

yum:RHEL 系列系统上 rpm 包管理器的前端工具

apt-get(apt-cache):Debian 系统 deb 包管理器的前端工具

zypper:SUSE 系统 rpm 包管理器的前端工具

 

-ivh:rpm 包安装

-Uvh:更新或安装

-Fvh:

 

yum:

 

编译:将程序源码编译后安装

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-12-03发表,共计5117字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
8016190
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛 NAS 玩转 Frpc 并且配置,随时随地直连你的私有云 大家好,我是星哥,最近在玩飞牛 NAS。 在数...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...