linux软件包安装与卸载

article/2025/10/8 17:34:53

7.1 安装软件包的三种方法

  • 在Linux下安装软件包,主要有3种办法
    (1)rpm工具(手动安装,难点在于包的依赖关系)
    (2)yum工具(python开发出来的工具,操作对象rpm包,能自动解决软件包的依赖关系)
    (3)源码包(源码包需要同过编译器把该源码包编译成可执行的文件)【安装难度大】

7.2 rpm包介绍

  • 要想使用rpm工具,得先有rpm包。先将光盘连接到系统中,再使用mount命令挂载,就能查看里面的内容了
    (1)在VMware中将光盘放入系统,点击连接
    这里写图片描述
    (2)挂载光盘到/mnt/目录下,切换到/mnt/目录下,查看Packages中就是rpm包
mount /dev/cdrom /mnt/

这里写图片描述

pykickstart-1.99.66.12-1.el7.noarch.rpm  

pykickstart :包名
1.99.66.12:版本信息
1.el7.noarch:发布版本号,并且没有硬件平台限制。(x86_64为64位平台)(i386.i586.i686都是为32位平台)
rpm ;后缀名


7.3 rpm工具用法

  • 安装rmp包
rpm -ivh  zip-3.0-11.el7.x86_64.rpm  //初次安装需要写上包全名 

-v :表示可视化
-i :表示安装
-h :表示显示安装进度
这里写图片描述 该包已经安装过了,所以会显示为这样。

  • 升级RPM包
rpm -Uvh zip-3.1-11.el7.x86_64.rpm  //如果安装的软件出现了更新的版本,可以使用-U选项来升级它。升级软件包也需要写入包全名。
  • 卸载RPM包
rpm -e zip //卸载时只需要写入包名即可,没有任何提示,则说明已经卸载。提示错误的话,说明要解决它的依赖性。

这里写图片描述

  • 查询已安装的包
rpm -qa  

这里写图片描述 以上均是已经安装的包。

  • 查询一个包是否已经安装
rpm -q zip   //这里的包是需要写入包名即可。

这里写图片描述

  • 查看一个已安装的RPM包的相关信息
rpm -qi  kbd  //写包名即可

这里写图片描述

  • 列出一个RPM包的安装文件
rpm  -ql  zip   //查看安装zip包后都安装了哪些文件

这里写图片描述

  • 通过某个文件属于哪个RPM包来安装的
    rpm -qf /usr/bin/zip //文件的绝对路径

这里写图片描述

当某个命令忘记了绝对路径,又不想分2步来查询。那么可以后面跟which cd(这里的符号时反引号)

rpm -qf `which cd`  /这里写入的命令不能是带有alias

这里写图片描述


7.4 yum工具用法

  • 因为RPM工具在安装包时,需要安装它所依赖的包,当依赖的包太多时,那么安装起来是一件很痛苦的事情,yum工具得出现就可以很好的解决包的依赖性,它会自动的安装所依赖的包。还有一个好处是使用yum安装时,仅仅是写入包名即可,而rpm安装时,是需要写入包全名的
    这里写图片描述
  • 列出所有可用的RPM包
yum list 

这里写图片描述
关于这里的仓库名是怎么来的,可以查看yum的配置文件/etc/yum.repos.d/
这里写图片描述仓库是从下面的网址来查找的

  • 搜索RPM包
yum search network //搜索的比较模糊yum list  |grep "network  //只查找出包名中出现network的包"

这里写图片描述

  • 安装rpm包
yum  install  vim  //安装中会出现交互提示,如果只想直接安装可以使用-y选项
  • 列出可用组
yum grouplist 

这里写图片描述
安装可用组时,需要切换到英文显示。这样才可以安装,包名中出现空格时,需要用单引号括起来yum groupinstall 可用组包名

  • 卸载RPM包
yum remove vim  //卸载时不要加-y选项,因为如果要卸载的依赖包又是系统所需要的,那么继续卸载有可能会导致系统异常,不加-y也可以查看到它所依赖的包都有哪些

这里写图片描述

  • 升级包
yum update  包名  //使用在刚安装完系统可以使用。如果系统中有已经运行了一段时间的服务,那么这时去升级可能会出现问题
  • 查询一个命令是由哪个包来安装的
yum  provides "/*/vim"  //在系统中查询该命令对应的安装包

这里写图片描述


7.5 yum搭建本地仓库

  • 有时候,yum不能使用,是因为系统不能连网,这时就需要自己在系统中使用光盘制作yum源,让它来本地中寻找RPM包。
    (1)挂载光盘
```
2)删除/etc/yum.repos.d/目录下的所有repos文件(在删除之前,应该做备份)

cp /etc/yum.repos.d /etc/yum.repos.d_bak
“`
这里写图片描述
(3)创建新文件dvd.repo,并加入以下内容
这里写图片描述
(4)清理之前的缓存 yum clean all

(5)再使用yum list 来查看是否成功
这里写图片描述


使用yum保留下载的rpm包

可以设置使yum保留已经下载的rpm包,供以后升级或者重新安装时使用
修改/etc/yum.conf即可(这是个新文件)

[main]
cachedir=/home/soft1/yumcache
keepcache=1
debuglevel=2

——cachedir是防止下载的包的地方,可以自定义
keepcache=1表示保存已经下载的rpm包


http://chatgpt.dhexx.cn/article/j84otTOt.shtml

相关文章

linux下如何卸载系统软件,教你在Linux下如何卸载软件

软件的卸载 1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令: #rpm -q -a 即可查询到当前系统中安装的所有的软件包。 2.确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入如下命令即可卸载软件&am…

Linux 软件安装与卸载

软件安装与卸载 软件安装与卸载概述 在Ubuntu中安装软件和Windows系统中双击exe文件安装软件的方式有很大的不同,在Ubuntu中主要分为以下两种种软件安装的方式: - 通过apt-get包管理器从软件源中安装(图形化和终端命令两种方式) -通过deb格式的软件包安装我们使用…

uniapp+h5混合开发

为了减少app频繁上架,频繁更新,决定放弃纯uniapp开发,改用uniapp(后续简称uni)h5的方式进行混合开发。 技术选型: 整个app架子用uni(vue3),h5采用vue3vant4,然后使用uni的webview进行…

H5 混合开发(更新中)

1 流行的混合开发方案 基于 WebView UI (JSBridge) 基于 Native UI(ReactNative、weex) 小程序方案(微信、支付宝小程序) JS通过JSBridge来调用native api,如拍照/扫一扫 2 H5和原生互相调用…

MATLAB+JAVA的混合开发

近期项目中需要使用matlab跟java做混合开发。主要记录一下,此次开发遇到的问题点。 环境:使用的matlab版本是 R2018b。 当前状况:MATLAB代码已经编写好,且运行成功。需要打成jar包才可以被java调用。 步骤一: 按照…

Unity和Android混合开发

Unity和Android混合开发 通用的流程 https://blog.csdn.net/zhangdi2017/article/details/65629589 应用场景 Unity游戏中一些功能需要安卓系统的支持,如搜索wifi等。而且想接入SDK时,很多都是针对安卓的SDK,很少有针对Unity的&#xff0c…

Android App混合开发

混合开发的App(Hybrid App)就是在一个App中内嵌一个轻量级的浏览器,一部分原生的功能改为Html 5来开发,这部分功能不仅能够在不升级App的情况下动态更新,而且可以在Android或iOS的App上同时运行,让用户的体…

混合开发Hybrid App有哪些优势和不足?

从当前移动开发的实际情况来看,移动端的开发方式三分天下:纯原生(Native App)、混合开发(Hybird App)、网页应用(Web App)。 纯原生(Native App)&#xff1…

前端混合开发

gitbook完整版集合 混合开发 混合开发 一部分原生一部分js内嵌浏览器壳web手机端网页:手机操作比较困难,一般没有手机操作权限 混合开发框架 weex:采用vue框架,可打包成appreact-native:采用react框架 react语法加…

什么是混合移动App开发?

这里写目录标题 什么是混合移动App开发【重点】关于移动App开发,需要知道的几个概念: 为什么要学混合App开发从程序员的角度分析:从企业的角度分析:(选择合适自身的移动App开发方式)【重点】 企业如何选择合适自己的App开发方式企业中项目开发…

Flutter 混合开发

在Flutter 开发中混合的形式主要有两种 作为独立的页面 进行维护可以相互嵌套 原生集成 Flutte 混合开发的步骤: 创建 Flutter module添加 Flutter module 依赖(为原生项目添加 Flutter 依赖)在 Java/Object-c 中调用 Flutter module编写 Dar…

谈谈App混合开发

混合开发的App(Hybrid App)就是在一个App中内嵌一个轻量级的浏览器,一部分原生的功能改为Html 5来开发,这部分功能不仅能够在不升级App的情况下动态更新,而且可以在Android或iOS的App上同时运行,让用户的体…

原生开发、H5开发与混合开发的区别

文章目录 前言三种方式分别的优缺点原生开发Web APP (HTML5)开发混合(原生H5)开发 三种方式对比 前言 移动应用开发的方式,目前主要有三种: Native App: 本地应用程序(原生App) Web…

Android Hybrid混合开发

关于混合开发常问道的问题: Android如何嵌套h5页面?h5页面如何调用Android接口?Android如何调用网页(js)方法?h5页面 判断 移动端是ios、或者Android 问题1.android如何嵌套h5页面: 当我们用vue开发完项…

混合开发(Hybrid App)有哪些优劣点?

从当前移动开发的实际情况来看,移动端的开发方式三分天下:纯原生(Native App)、混合开发(Hybird App)、网页应用(Web App)。 那么,混合式开发与其他的两种开发模式相比&…

原生开发、H5开发和混合开发的区别

目前市场上主流的APP分为三种:原生APP、Web APP(即HTML5)和混合APP三种,相对应的定 制开发就是原生开发、H5开发和混合开发。那么这三种开发模式究竟有何不同呢?下面我们就分别从这三者各自的优劣势来区分比较吧&#…

混合开发

一、原生语言: 苹果手机:ios系统,由swift和c/object-c语言编写,后缀名为 ipa(ios开发的安装包的后缀名) swift语言是一种开源的语言 安卓手机:android系统,由java(andr…

Android : 混合开发整理指南

混合开发: 是一种开发模式Hybrid App. 混合开发 Native Web. 另一篇博文:Kotlin与H5通信 场景应用: 例如: 微信公众号通过JSSDK连接Native端和Web端 微信小程序通过内置框架连接Native端和Web端 混合开发的核心技术: JS…

Hybrid APP混合开发的一些经验和总结

Hybrid APP混合开发的一些经验和总结 写在前面: 由于业务需要,接触到一个Hybrid APP混合开发的项目。当时是第一次接触混合开发,有一些经验和总结,欢迎各位一起交流学习~ 1、混合开发概述 Hybrid App主要以JSNative两者相互调用为…

【Python编程入门】引言

What is Python? Python 是由 Guido van Rossum 工程师于1991年所开发,是一种高级的、解释性的、交互式的通用型编程语言。它被设计成具有高度可读性,是一门动态编程语言,并且具备自动垃圾回收机制。Python支持多种编程范式,其中…