一.   概述

  本篇介绍在linux上见到的各种包管理系统(package management system,PMS)用来进行软件安装,管理,删除的命令行工具。PMS是利用一个数据库来记录各种相关内容,包括: linux系统上已安装了什么软件包,每个包安装了什么文件,每个已安装软件包的版本。

  软件包通常会依赖其他的包,为了前者能够正常运行,补依赖的包必须提前安装在系统中。PMS工具将会检测这些依赖关系关系,并在安装需要的包之前,先安装好所有额外的软件包。

  PMS对于不同发行版,没有一套统一的标准工具。使用广泛的两种主要PMS基础工具是dpkg和rpm。  基于Debian发行版使用的是dpkg命令。基于 Red Hat发行版使用的是rpm命令。本篇主要介绍基于Red Hat系统的rpm工具和它的各种前端界面。

  基于 red hat系统:
    基于 red hat系统也有几种不同的可用前端工具。常见的有以下3种:
      (1)   yum:在rea hat和Fedora中使用。(2) urpm: 在Manddriva中使用。(3) Zipper: 在openSUSE 中使用。
    这些前面都是基于rpm命令工具的,重点是介绍yum工具。

二 . yum 工具 

    2.1    yum列出已安装包

    [root@xuegod64 hsr]# yum list installed

      上面的命令输出内容太多,可以将内容重定向到一个文件中,可以用more或less命令,按照需要查看这个列表, 如下所示:
      

      下面通过grep过滤查找mysql的已安装包,如下所示:
      
      如果需要找出系统上的某个特定文件属于哪个软件包,yum 也可以做到,下面找mysql文件属于哪个软件包,如下所示:

      
    

    2.2   用yum安装软件
    软件包存储在服务器上,可以利用本地linux系统上的PMS工具如yum 通过互联网访问服务器,这些服务器称为仓库(repository),可以用PMS工具来搜索新的软件包,或者是更新系统上已安装的软件包。下面使用yum 分别查找三个仓库:base, updates, extras以及对应的服务器地址, 与yum有关配置,是通过/etc/yum.conf文件。
         

   
      (1) 用yum 安装软件包很简单,例如安装 xterm包,都是通过联网安装。

        
        也可以手动下载rpm安装文件并用yum安装,这叫本地安装,命令如下:

    yum localinstall package_name.rpm

      对于rpm包,一般都是用rpm工具来安装,如下安装mysql的rpm包,命令如下:
      

      (2) 用yum 更新软件
      要列出所有已安装包的可用更新,命令如下:
      
      如果上面没有输出,说明不需要有任何更新,例如更新ModemManager命令如下:
      
       如果要更新所有,则使用命令 yum updates

      (3) 用yum卸载软件
      yum在卸载软件包,包括是否保留软件包的数据和配置文件。只删除软件包而保留软件包的数据和配置文件,命令如下:

      yum remove package_name

      要删除软件包和它所有文件,就用erase选项,下面删除xterm软件包,以及软件包数据和配置文件
      

 

  

Linux编程 18 安装软件程序(yum工具对软件包安装,删除,更新介绍)的更多相关文章

  1. linux 软件管理--yum工具及源码包

    目录 linux 软件管理--yum工具及源码包 一.yum基本概述 二.yum源的配置 三.yum实践案例 四.yum全局配置文件 五.yum签名检查机制 五.制作本地yum仓库 六.构建企业级yu ...

  2. Linux安装软件总结(二.几种安装命令介绍)

    一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd soft.version.rpm所在 ...

  3. 自学Linux Shell9.1-安装软件程序

    点击返回 自学Linux命令行与Shell脚本之路 9.1-linux安装软件程序 PMS利用一个数据库来记录各种相关内容: Linux系统安装了什么软件包 每个包安装什么文件 每个已安装软件包的版本 ...

  4. linux3种安装软件、yum仓库、防火墙、乱码

    Linux中安装软件的三种方式 1.哪三种方式? rpm安装 yum安装 源代码编译安装 2.区别 rpm安装类似于windows中的安装包,下载下来之后直接安装.缺点是不能自己解决依赖. yum安装 ...

  5. 《Linux命令行与shell脚本编程大全》第九章 安装软件程序

    包管理系统(PMS):用来进行软件安装.管理和删除的命令行工具 9.1包管理基础 1.主流的Linux发行版都采用了某种形式的包管理系统来控制软件和库的安装 2.PMS用一个数据库来记录:系统上安装了 ...

  6. SUSE linux使用zypper 安装软件-比yum更好用

    1. How to install "wget" command in Linux and how to use multiple : https://www.cyberciti. ...

  7. linux 基础入门(8) 软件安装 rpm、yum与源码安装详解

    8.软件 RPM包安装 8.1rpm安装 rpm[选项]软件包名称 主选项 -i 安装 -e卸载 -U升级 -q查找 辅助选项 -ⅴ显示过程 -h --hash 查询 -a-all查询所有安装的包 - ...

  8. linux 安装软件程序

    1.用aptitude管理软件包 查看已安装的/未安装的等软件包 无法通过aptitude看到一个细节是所有跟某个特定软件包关联的所有文件的列表.利用dpkg命令能看到这个列表. dpkg -L pa ...

  9. 网卡配置文件详解 用户管理与文件权限篇 文件与目录权限 软连接 tar解压命令 killall命令 linux防火墙 dns解析设置 计划任务crond服务 软件包安装 阿里云 yum源 安装

    Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ...

随机推荐

  1. MongoDB学习记录(二) - MongoDB的"增查改删"操作之"增"

    如果做插入文档操作的集合不存在,那么集合将被创建 db.collection.insertOne() insertOne为collection插入一条文档,如果文档的_id字段未指定,MongoDB会 ...

  2. 检索html页自生成&nasp;标签,并替换为空(即去掉空格)

    在开发过程中,遇到这样的一种情况,就是页面有时候不知道什么原因会自动生成一些元素,从而打乱自己原有的一些布局. 原html页源代码: 生成后的html源代码: 可以明显看出自动生成了很多   元素,现 ...

  3. vue 导航守卫,验证是否登录

    路由跳转前,可以用导航守卫判断是否登录,如果登录了就正常跳转,没有登录就把路由指向登录页面. router.beforeEach((to, from, next) => { const next ...

  4. LOJ-10092(最大半连通子图)

    题目连通:传送门 思路: 题目定义很清晰,然后就不会了QAQ…… 后来看了书,先缩点,然后再用拓扑排序找到最长的链子的节点数(因为缩点后所有点都是一个强连通分量,所以找最长的链子就是最大限度包含 点的 ...

  5. 关于Socket.IO的知识点记录

    最近因为项目的需要,开始学习nodejs,本着js的那点儿功底,nodejs学习起来还是挺快能上手的.随着深入学习,知道了express框架并那它写了一个小功能,作为一个php程序员哈,在expres ...

  6. Python数据结构之单链表

    Python数据结构之单链表 单链表有后继结点,无前继结点. 以下实现: 创建单链表 打印单链表 获取单链表的长度 判断单链表是否为空 在单链表后插入数据 获取单链表指定位置的数据 获取单链表指定元素 ...

  7. 与我们息息相关的internet服务(3)---电子邮件服务

    几年前了解了一下,现在再实施的时候,再了解,当然如果要到牛人张小龙28岁时的开发程度,可能还差一个筋斗云 在起步一个公司,从组建的技术上,可能要准备很多东西,其中一个就是我们熟悉的企业邮箱. 伊妹儿, ...

  8. HDFS JAVA客户端的权限错误:Permission denied

    HDFS JAVA客户端的权限错误:Permission denied 转自:http://blog.csdn.net/kkdelta/article/details/50393413 搭建了一个Ha ...

  9. build.gradle

    1.将Eclipse项目导入到Android studio 中 很多点9图出现问题解决方法: 在build.gradle里添加以下两句: aaptOptions.cruncherEnabled = f ...

  10. CCNA学前基础一

    网络设备: 集线器:集线器就是一种采用共享式工作状态的设备.Hub将信号放大后传输给其他端口,即传输线路是共享的. 交换机:用于连接终端设备,和基本的安全功能还有广播域的隔离.优点实现多用户同时访问, ...