Linux 基础教程 34-软件包管理-RPM

    对于Linux而言管理各类软件,如安装、卸载和升级等是常有的事情和必备的技能。以CentOS为例,常用的安装包命令有rpmyum

RPM基础

    RPM(RedHat Package Manager)是一个系统软件包,功能类似于Windows中的添加/删除程序,但又比添加/删除程序功能更强。在Linux界广泛使用的依然为各类开源软件,也就是代码是开放的,这些代码通常会被打包为.tar.gz形式在互联网上进行传播,而这些开源软件被下载后仍然需要编译成二进制后才可以使用。这种试虽然兼容性好,但使用起来却不方便,存在一定的依赖关系,而文件较大时,编译出错的概率也非常大,对于日常使用人员也很麻烦。
    使用RPM可以很容易地对RPM形式的软件进行安装、升级、卸载、检验和查询等操作。RPM可以让用户直接以binary方式安装软件包且可代替用户查询是否已经安装了相关的库文件。在用RPM删除程序时,管理器会提示用户是否要删除相关程序。如果使用RPM进行升级,RPM会保留得得配置。另外RPM还保留了一个包含所有软件包资料的数据库,通过该数据库可以查询各个已经安装的软件包等等。

RPM使用

RPM安装路径

    Linux的目录是有统一规范的,这个规范的作用是保证任何一个软件都能找到另一款软件、文件。

  • 可以运行的文件存放在/bin或/usr/bin目录中
  • 库文件存放在/lib或/usr/lib目录中
  • 配置文件存放在/etc目录

    一般,RPM类型的文件在安装的时候,会先去读取文件内记载的设置参数内容,然后将该数据用于比较Linux环境,从而找出是否有属性依赖的软件还没有安装的问题。使用RPM方式安装的软件,在完成安装后,会将该软件的相关信息写入到/var/lib/rpm目录下的数据库文件中。该数据库非常重要,如果软件升级必须依赖它,如版本比对就是从这个数据库中读取数据的。

RPM组成部分

    RPM包含RPM数据库RPM软件包文件RPM命令三部分。

  • RPM数据库

    Linux系统中保留了当前安装软件的数据库,路径位于/var/lib/rpm,可使用file命令查看目录内容。
27-1 FileRPMDB_c2i.png

/var/lib/rpm目录中的文件全部都是数据库文件且为二进制。
  • RPM软件包文件

    RPM软件包与tar归档文件类似:tar文件含有要安装到系统上的文件,软件包除了tar中的信息还包含一个RPM包头,该包头提供了有关软件包的信息,如名称、安装大小及其内容的简短描述等。另软件包还包含了属性依赖信息,即为了使文件可被安装和使用,必须安装的其他软件包、可执行文件和库文件等。在Linux安装光盘中,软件包文件通常位于Packages目录中。软件包文件的名称通常由下列几条信息构成:

名称-版本-发行号.体系结构.rpm

    以CentOS 7中MySQL为例
27-2 RPM-Query.png

名称:mysql-community-common
版本:5.7.20
发行号:1
体系结构:el7.x86_64。el7代表CentOS 7.x系统,x86_64是指该软件是针对哪种CPU架构开发的。
  • RPM命令

    RPM命令是用来管理数据库的工具,如下所示:

命令选项作用
-i安装软件包
-U,-F软件包升级
-e删除软件包
-q查询安装包
-a查询的所有安装包
-v显示安装的详细过程
-h显示安装进度
--checksig校验签名以确保其完整性和源发性
更多RPM命令解释可以使用man rpm进行查看
RPM安装

RPM包安装格式如下:

rpm -i rpm包的全路径及文件名
rpm -ivh rpm包的全路径及文件名

其中各参数解释如下:

  • -i:代表安装
  • -v:代表verbose,在安装过程中显示详细的信息
  • -h:代表hash,在安装过程中将显示#表示安装进度
对于较大的RPM包,在安装时需要使用-ivh,可以方便查看在安装过程中的相应信息和进度。在安装过程出现warning时并不影响软件包的安装,出现error则无法继续安装,需要排错。

示例1:本地安装VSFTPD
27-3 InstallVSFTPD.png

    在上面我们使用的是本地安装,如果RPM软件包不在本地时,如何安装?RPM其实也支持在线安装。
示例2:在线安装VSFTPD
27-4 InstallVSFTPDOnline.png

可与rpm -i结合使用的参数如下所示:

命令选项作用
-h,--hash安装输出#代表安装进度
-v,--verbose1个-v选项打印软件包名称,多个-v选项提供更多详细信息的输出
--nodeps即使不符合安装前提条件,仍进行安装
--replace-files安装时已有的文件会被新文件覆盖替换
--force即使已经安装了软件包,也要进行安装
--test不执行任何操作,只打印输出
--noscripts不执行与RPM安装有关的任何脚本
--prefix指定安装rpm包安装路径
RPM卸载

    一旦安装了软件包,软件包文件则无关紧要了,该软件包现在就是本地计算机上面的一条数据库记录。因此,不再使用软件包文件名称,如vsftpd-3.0.2-22.el7.x86_64.rpm,而仅仅使用软件包名称,如vsftpd-3.0.2-22.el7.x86_64来指该软件包,使用

rpm -e packagename

进行删除软件包,其中-e代表earse。

说明1:packagename:可以包含版本等信息,但不能包含后缀名.rpm
说明2:rpm -e vsftpd-3.0.2-22.el7.x86_64(正确)
      rpm -e vsftpd-3.0.2-22.el7.x86_64.rpm(错误)

27-5 UninstallVSFTPD_c2i.png

RPM升级

    使用RPM升级软件包非常方便简单,主要参数是-U,当然也可以直接写-Uvh或-Fvh,两者区别如下:

-Uvh:如果软件包没有安装,则直接安装,如果要安装的软件包是新的版本,则软件会进行自动更新为新的版本。
-Fvh:如果软件包没有安装,则不会安装,也即只能对已经安装的软件包进行升级

27-6 UpdatelVSFTPD_c2i.png

RPM查询

    RPM软件包查询中与rpm -q package-name结合使用的一些选项和作用如下所示:

命令选项作用
-a查询所有已安装的软件包
-f filename拥有文件filename的软件包
-p packagefilename直接查询软件包文件packagefilename
-i软件包信息包头
-l列出软件包所拥有的文件
--requires安装包的先决条件
--provides显示安装包提供的内容
--scripts显示软件包的安装脚本
-last按时间排序显示系统上安装的RPM包

1、查看已经安装的RPM包信息和安装的文件
27-7 QueryVSFTPD_c2i.png
2、查看RPM安装包的依赖项、提供的内容及最近安装包
27-8 QueryVSFTPDCondition_c2i.png
本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:
MyQRCode.jpg

转载于:https://www.cnblogs.com/surpassme/p/9445978.html

内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑流程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制流程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计流程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制流程的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值