CentOS软件包管理rpm、yum

一、软件包概述

        Linux常见软件包分为两种,分别是源代码包、二进制文件包。源代码包是没有经过编译的包,需要经过GCC、C++编译器编译才能运行,文件内容包含源代码文件,通常以.tar.gz、.zip、.rar结尾;二进制包无需编译,可以直接安装使用,文件内容包含.bin可执行文件,通常以.rpm结尾。

        源码包:name-Version.tar.gz

        version:major-minor-release

        二进制应用程序的组成部分:二进制文件、库文件、配置文件、帮助文件

        rpm包命名格式:

                name-Version-ARCH.rpm

                常见的ARCH:

                        x86:i386,i486,i586,i686

                        x86_64:x64,x86_64,amd64

                        powerpc:ppc

                        跟平台无关:noarch

        例如:

        389-ds-base-libs-1.3.4.0-19.el7.x86_64.rpm

        abattis-cantarell-fonts-0.0.16-3.el7.noarch.rpm

                0.0.16:表示版本号,通用格式,“主版本.次版本.修正号”

                -3:表示发布版本,该RPM包是第几次编译生成的;

                el* :软件包发行版本,el7表示该软件包适用于RHEL 7.x/CentOS 7.x

        CentOS管理软件包的方式:1、使用包管理器RPM;2、使用前端工具yum。

二、RPM软件包管理器

        RPM(RedHat Package Manager)类似Windows里面的“添加、删除程序”。RPM软件包以rpm为扩展名,RPM也是一种软件包管理器,可以让用户方便的进行软件的安装、更新、卸载、查询等,操作命令为rpm。

        rpm命令使用:安装、卸载、更新、查询:

        1、安装

                rpm {-i|--install} [install-options] PACKAGE_FILE ...

                        -v:verbose

                        -vv:更详细的信息

                        -h:以#号显示程序安装执行进度

                例:rpm -ivh PACKAGE_FILE...

                [install-options]

                        --test:测试安装,不实际安装

                        --nodeps:忽略依赖关系

                        --replacepkgs:重新安装

                        --nosignature:不检查来源合法性

                        --nodigest:不检查包完整性

                        --force:如果软件已安装,想重新安装,可以使用强制安装的方式

[root@Master Packages]# rpm -i lrzsz*
warning: lrzsz-0.12.20-36.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEYpackage lrzsz-0.12.20-36.el7.x86_64 is already installed
[root@Master Packages]# ll lrzsz-0.12.20-36.el7.x86_64.rpm 
-r--r--r-- 3 root root 79376 Jul  3  2014 lrzsz-0.12.20-36.el7.x86_64.rpm
[root@Master Packages]# rpm -ihv --force lrzsz-0.12.20-36.el7.x86_64.rpm 
warning: lrzsz-0.12.20-36.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...1:lrzsz-0.12.20-36.el7             ################################# [100%]

        2、更新

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

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

                        upgrade:如果存在旧包,则升级,否则进行“安装”操作;

                        freshen:如果存在旧包,则升级,否则不做任何操作

                        rpm -Uvh PACKAGE_FILE...

                                --oldpacage:降级;

                                --force:强制升级;

        注意:

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

                2、如果源程序包的配置文件安装后修改过,升级后,新版本提供的同名配置文件不会直接覆盖掉老版本的配置文件,而把新版本的文件重命名(FILENAME.rpmnew)后保留

        3、查询

        rpm {-q|--query} [select-options] [query-options]

                [select-options]

                        -a:显示所有安装包

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

                        -p:/PATH/PACKAGE_FILE,针对未安装的程序包进行查询;

                        --whatprovides CAPABILITY:查询指定的CAPABILITY有哪个包所提供:

                        --whatrequires CAPABILITY:查询指定CAPABILITY被哪个包所提供;

                [query-options]

                        --changelog:查询rpm包的changelog

                        -c:查询程序包的配置文件

                        -d:查询程序生成的文档

                        -i:显示包信息information

                        -l:查看程序包安装后所有文件

                        --scripts:程序包自带的脚本片段

                        -R:查看指定程序包所依赖的CAPABILITY:

                        --provides:列出指定程序包所提供的CAPABILITY;

                        --requires

                用法:

                -qi PACKAGE,-qf FILE,-qc PACKAGE,-ql PACKAGE, -qd PACKAGE

                -qpi PACKAGE_FILE

        4、卸载

                rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]

                        [--notriggers] [--test] PACKAGE_NAME ...

                rpm -e --nodeps 忽略依赖卸载

三、Yum软件包管理

        RPM包管理器可以让用户不必经过编译就使用软件,但也存在不方便。当遇到软件包依赖问题时,RPM包管理器会中断当前安装,提示用户依赖的软件包。这种方法使用起来非常不方便,特别是一些依赖非常复杂的软件包。为解决软件包依赖问题,Red Hat公司开发一个新工具Yum(Yellow dog Update,Modified)。也称rpm前端软件包管理工具,它需要基于RPM工作,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。

        使用yum工具,前提需要有yum仓库(yum repository)即yum源,yum源中存储了众多rpm包,以及包的相关元数据文件(放在目录特定目录下:repodata)。当用户通过yum工具安装软件包时,yum在仓库中通过元数据搜索软件包的依赖关系,并从仓库中下载并安装软件包。

        yum仓库是文件服务器:

                ftp://

                http://

                nfs://

                file:/// --本地

        yum相关配置文件:

                主配置文件:/etc/yum.conf 为所有仓库提供公共配置,一般不用修改

                分配置文件:/etc/yum.repos.d/*.repo 为仓库指定具体路径

1、本地yum源配置

(1)将系统iso安装包配置到虚拟机光驱中。

(2)挂载光驱文件

        查看光驱文件名:lsblk

        创建挂载文件夹:mkdir /mnt/cdrom

        挂载光驱:mount /dev/sr0 /mnt/cdrom

(3)创建yum源文件

                cd /etc/yum.repos.d

                mkdir /bak_repo

                mv C* /bak_repo 备份原来的yum源

                vi centos7.yum

[centos7]                 #[repositoryID]
name=centos7              #name='xxx' 
baseurl=file:///mnt/CentOS7.0        #baseurl='仓库访问路径' --可指定多个url
gpgcheck=0               #gpgcheck=[1|0],是否检验合法性
enabled=1                #enable=[1|0],是否启用,默认启用

                yum clean all 清除缓存目录下的软件包及索引信息

                yum makecache 建立缓存及索引信息

                yum repolist 验证yum源目录

-------------------------------------配置本地yum源完成------------------------------------------------

2、yum命令使用

        yum的命令形式一般是如下:yum [options] [command] [package ...]

        其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。

                [command]为所要进行的操作,包括install、update、remove、list等

                [package ...]是操作的对象。

(1)安装程序包:

                yum install PACKAGE...

                yum reinstall package1 [package2] [...]

(2)升级程序包:

                yum upgrade [package1] [package2] [...]

                yum downgrade package1 [package2] [...] 降级

(3)检查可用升级

                yum check-update

(4)卸载程序包

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

(5)显示程序包:

                yum list

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

                yum list available|installed|updates [glob_exp1] [...]

(6)查看程序包的简要信息:

                yum info package1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/81258.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构 二叉树(一篇基本掌握)

绪论 雄关漫道真如铁,而今迈步从头越。 本章将开始学习二叉树(全文共一万两千字),二叉树相较于前面的数据结构来说难度会有许多的攀升,但只要跟着本篇博客深入的学习也可以基本的掌握基础二叉树。 话不多说安全带系好&…

31 对集合中的字符串,按照长度降序排列

思路&#xff1a;使用集合的sort方法&#xff0c;新建一个Comparator接口&#xff0c;泛型是<String>&#xff0c;重写里面的compare方法。 package jiang.com; import java.util.Arrays; import java.util.Comparator; import java.util.List;public class Practice4 {…

在tensorflow分布式训练过程中突然终止(终止)

问题 这是为那些将从服务器接收渐变的员工提供的培训功能&#xff0c;在计算权重和偏差后&#xff0c;将更新的渐变发送到服务器。代码如下&#xff1a; def train():"""Train CIFAR-10 for a number of steps."""g1 tf.Graph()with g1.as_de…

高绩效项目管理助力企业数字化变革︱海克斯康数字智能大中华区PMO经理周游

海克斯康数字智能大中华区PMO经理周游先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾&#xff0c;演讲议题&#xff1a;高绩效项目管理助力企业数字化变革。大会将于8月12-13日在北京举办&#xff0c;敬请关注&#xff01; 议题简要&#xff1a; 在当今项目驱动的…

【软件工程】3 ATM系统的设计

目录 3 ATM系统的设计 3.1体系结构设计 3.2 设计模式选择 3.3 补充、完善类图 3.4 数据库设计 3.4.1 类与表的映射关系 3.4.2 数据库设计规范 3.4.3 数据库表 3.5 界面设计 3.5.1 界面结构设计 3.5.2 界面设计 3.5.2.1 功能界面设计 3.5.2.2 交互界面 总博客&…

机器学习笔记

文章目录 编码器-解码器Batch Normalization好处 编码器-解码器 第二个input与transformer中的解码器类似。 Batch Normalization 尽量使得w1和w2之间呈现为正圆 训练模型的时候&#xff0c; μ \mu μ和 σ \sigma σ不可以认为是常数&#xff0c;而是包含数据的变量&…

Stable Diffusion - 哥特 (Goth) 风格服装与背景的 LoRA 配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132177882 图像来源于 Goth Clothing 的 LoRA 效果&#xff0c;配合哥特 (Goth) 风格服饰的相关提示词。 测试模型&#xff1a;DreamShaper 8 哥…

Linux 权限

1. shell命令及其运行原理 1.1 是什么shell&#xff1f; shell是一个命令行解释器。 1.2 shell的作用&#xff1f; 在Linux操作系统中&#xff0c;用户一般是不与操作系统直接交互的&#xff0c;而是通过一个外壳程序来传递用户的需求和反馈结果给用户&#xff0c;shell就是一…

c++:day4

1.思维导图 2.shell函数获取uid和gid&#xff0c;并用变量接 #!/bin/bashfunction fun() {read -p "输入用户名" necho uid:id -u $necho gid:id -g $n } afun echo $a3.冒泡、选择和快排代码整理 /**************************************************************…

ChatGPT下架官方检测工具,承认无法鉴别AI内容

去年底&#xff0c;OpenAI 推出的 ChatGPT &#xff0c;带来了生成式人工智能涌现的热潮。它不仅能够协助完成撰写邮件、视频脚本、文案、翻译、代码等任务&#xff0c;还能通过学习和理解人类的语言来进行对话&#xff0c;并根据聊天的上下文进行互动。 但随之而来的争议也让人…

神码ai火车头伪原创插件怎么用【php源码】

本篇文章给大家谈谈python小程序代码50 到100行&#xff0c;以及python小程序代码100行&#xff0c;希望对各位有所帮助&#xff0c;不要忘了收藏本站喔。 火车头采集ai伪原创插件截图&#xff1a; 目录 1 新建文件夹 2 获取指定文件或文件夹的绝对路径 3 删除指定路径的文件 …

中文版开源Llama 2同时有了语言、多模态大模型,完全可商用

可以说&#xff0c;AI 初创公司 LinkSoul.Al 的这些开源项目让海外开源大模型在国内的普及和推广速度与国际几乎保持了一致。 7 月 19 日&#xff0c;Meta 终于发布了免费可商用版本 Llama 2&#xff0c;让开源大模型领域的格局发生了巨大变化。 Llama 2 模型系列包含 70 亿、…

使用docker搭建GPT服务

不用ChatGPT账号,不用API,直接免费使用上官方原版的GPT4.0! 这个操作主要使用的是GitHub上的一个开源项目freegpt。 通过docker把这个项目打包到本地电脑上,直接就能使用上原版GPT4.0。 第一步:下载Docker 下载网址:docker.com 根据自己的电脑系统下载对应的版本即可 下…

rk3399移植linux kernel

rk3399移植linux kernel 0.前言一、移植ubuntu根文件系统二、移植linux1.支持NFS(可选)2.配置uevent helper3.支持etx4文件系统(默认已支持)4.配置DRM驱动5.有线网卡驱动6.无线网卡驱动 三、设备树四、内核镜像文件制作五、烧录六、总结 参考文章&#xff1a; 1.RK3399移植u-bo…

python高阶技巧

目录 设计模式 单例模式 具体用法 工厂模式 优点 闭包 案例 修改闭包外部变量 闭包优缺点 装饰器 装饰器原理 装饰器写法 递归 递归的调用过程 递归的优缺点 用递归计算阶乘 设计模式 含义&#xff1a;设计模式是一种编程套路&#xff0c;通过这种编程套路可…

数字员工助力农行安全生产数字化转型应用实践

党的二十大指出&#xff0c;“以数字中国建设助力中国式现代化&#xff0c;加快建设网络强国、数字中国”&#xff0c;2022年1月发布《“十四五”数字经济发展规划》提出&#xff0c;加强类人智能、自然交互与虚拟现实等技术研究。近年来&#xff0c;各大银行纷纷推出自己的数字…

2023年8月份华为H12-811更新了

801、[单选题]178/832、在系统视图下键入什么命令可以切换到用户视图? A quit B souter C system-view D user-view 试题答案&#xff1a;A 试题解析&#xff1a;在系统视图下键入quit命令退出到用户视图。因此答案选A。 802、[单选题]“网络管理员在三层交换机上创建了V…

python简单的病毒编程代码,如何用python做恶搞病毒

这篇文章主要介绍了python简单的病毒编程代码&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获&#xff0c;下面让小编带着大家一起了解一下。 相信各位好奇心重的朋友们,特别是接触过爬虫的朋友们都想试一试如何做一个爬虫,别…

git使用(常见用法)

一.下载git git官方下载跳转 安装简单,有手就行 二. git的简单使用 1. 连接远程仓库 #初始化 git init #配置账户 git config --global user.name “输入你的用户名” git config --global user.email “输入你的邮箱” git config --list #--q退出 #配置验证邮箱 ssh-key…

2023.8.7论文阅读

文章目录 CMUNeXt: An Efficient Medical Image Segmentation Network based on Large Kernel and Skip Fusion摘要本文方法实验结果 Boundary Difference Over Union Loss For Medical Image Segmentation&#xff08;损失函数&#xff09;摘要本文方法实验结果 CMUNeXt: An E…