做为系统管理员可能会面对的任务:

    1.自动批量安装操作系统

    2.完成系统的本地化 (配置现成的发行版或者软件包,以求符合自己的需要,本地安全规定、文       件存放和网络拓扑的需要,这个过程称为“本地化”)

    3.给系统打补丁且保持系统的更新   

    4.管理附加的软件包   


程序管理器的功能: 

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

1.程序包的组成清单

文件清单

安装或卸载时运行的脚本

2.公共的数据库  /var/lib/rpm

程序包的名称和版本; 依赖关系 ;功能说明;安装生成的各文件的文件路径及校验码信息;等等 

我们要考虑的问题: 1 .普通用户在安装软件时有那些方面的限制?

                  

RPM 全称是Red Hat Package Manager 由红帽公司开发的.RPM类型所含有的套件是经过编译后的二进制文件,所以可以直接安装在客户端系统上,RedHat,Fedora、SUSE等使用的RPM。另一款.deb是是Debian 和Ubuntu使用的程序管理系统         

   RPM和.deb这两种打包系统现在都是两层的全能配置管理工具.下面一层是安装、卸载和查询软件包的工具:rpm 和 dpkg .在这些命令之上是知道如何在internet上找软件包、分析软件包间依赖关系、以及升级系统上所有软件包的系统,这个层次上有配合RPM系统运行的yum,还有源自.deb的APT. APT目前也可以支持RPM系统。

         

我们来了解下下面一层rpm 的用法:

在本地直接安装程序包:

rpm -ivh packagename.rpm

-i : 安装程序包 install的意思

-v : 显示更详细的安装过程

-vv: 更详细的输出

-h : 安装进度

当安装多个程序包的时候,程序包名用空格隔开即可

rpm -ivh packagename1.rpm packagename2.rpm packagename3.rpm

使用网络安装程序包时,把网络路径补全

rpm -ivh http: //website.name/path/packagename.rpm

我们可以在安装之前先测试一下是否程序包是否可以安装到系统上

rpm -ivh packagename.rpm --test   只测试当安装

--replacepkgs  重新安装某个已经安装过的套件

--nomd5  不检测RPM文件的MD5信息.

升级安装过的程序包有两种方法:

-Uvh  U 指update先检测系统有没有安装程序包,如果没有,就新安装程序;如果有,就安装高版本程序包。

-Fvh  先检测系统有没有安装程序包,如果没有,就不更新程序包;如果有,就更新程序包。

当我们重新安装一个linux系统时,可以使用-Fvh 参数来对系统上已经安装的程序更新至最           新的版本。

   注意:不要对Linux内核进行升级操作,会出现很多未知的问题,linux支持多个内核共存,只需要安装新内核就可以了.


RPM的查询操作

    查询操作参数都带 -q  例

rpm  -q packagename.rpm : 查询后面套件名称是否安装

-qa : 列出所有已安装的套件名称

-qi : 列出该套件的详细信息

-ql : 列出该套件的所有文件和目录

-qc : 列出该套件的所有配置文件

-qd : 列出套件的帮助文件

-qR : 列出与套件有关的依赖套件所有文件

-qf : 由后面接的文件名称,找出该文件属于哪一个已安装的套件。

查询某个RPM文件内含有的信息     

        -qp[icdlR] :p后面接的所有参数以上面说明为准,但用途仅在于找出某个RPM文件内的                         信息,而非已安装的套件信息,这一点请注意

  例如: #rpm -qa | grep ^c     显示已经安装过的套件中,以c打头的套件.

        #rpm -qi bash  查看bash程序包的相关说明

        # rpm -qf yum.conf   查看yum.conf属于那个程序套件

              yum-3.2.29-69.el6.centos.noarch        

        #rpm -qpR yum-3.2.29-69.el6.centos.noarch 安装前查看yum套件的需求文件.

        #rpm -ivh yum-3.2.29-69.el6.centos.noarch --replacepkgs 当套件有损坏时,可以重               新安装一次套件

        #rpm -qf yum.iconf   当误删掉一个文件时,它的名字依然在/var/lib/rpm 的数据库中               存在,如果不知道它属于哪个套件,依然可以用这个指令


卸载和重装数据库

    #rpm -e rouout      卸载rouout软件套件. = --erase

#rpm --rebuilddb 重建数据库   


 linux的各个发行版本都维护着自己的软件库,这些软件库和发行版选择的软件管理系统携手工作。软件包管理系统的默认配置能指向一个或者几个由发行商控制的知名Web或FTP服务器。

    yum的介绍:yellowdog Updater Modified是基于RPM的元软件管理器。  

    yum是rpm的前端管理工具,而因为yum自身的问题,dnf会是yum的升级版。yum是一个c/s架构的软件,分为服务端和客户端。 yum repo 仓库里存放里众多的rpm包,以及包的元数据数据,放置在特定目录repodata。 

  yum客户端的配置文件有/etc/yum.conf ,它为yum的主配置文件,为yum仓库提供了公共配置或yum配置。

另一个是被yum.conf文件里指向的/etc/yum.repos.d/*.repo为yum仓库指向提供配置,里面每一个以.repo 线束的文件都可配置一个仓库指向(如果不是以.repo结尾将不视做仓库文件),一个yum是可以指向多个仓库的,可以对多个仓库配置开销值,让yum优先选择开销小的仓库同类同版本的rpm包。

  

仓库文件的格式:  

Example: [repositoryid]

name=Some name for this repository

baseurl=url://path/to/repository/


yum的命令形式一般是如下:yum [options] [command] [package ...]
其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package ...]是操作的对象。

概括了部分常用的命令包括:

1 安装
yum install 全部安装
yum install package1 安装指定的安装包package1
yum groupinsall group1 安装程序组group1

2 更新和升级
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 升级指定程序包package1
yum groupupdate group1 升级程序组group1

3 查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包

4 删除程序
yum remove | erase package1 删除程序包package1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况

5 清除缓存
yum clean packages 清除缓存目录下的软件包
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers


转载于:https://blog.51cto.com/10997991/1728782

linux的修炼:程序包的安装和卸载管理 rpmyum相关推荐

  1. LINUX下tar.gz包的安装方法

    LINUX下tar.gz包的安装方法 在tar.gz的东西不多了---- ======================================== 大多以tar.gz 和tar.bz2打包软件 ...

  2. Linux 系统下各种包的安装方法

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

  3. suse linux 软件包安装,SUSE Linux 11系统rpm包离线安装GCC

    SUSE Linux 11系统rpm包离线安装GCC 1.问题显示 编译失败 python2.6环境下编译pycrypto-2.6.1 src/hash_template.c:360: warning ...

  4. 关于msi格式的程序包的安装

    关于msi格式的程序包的安装 最近几天安装msi格式的程序包时,会报错.然后想了一下,想试一试利用命令行的方式: 首先以管理员身份打开命令提示符(直接右键win图标你就会看到的~) 输入如下指令: m ...

  5. linux环境怎么更新离线rpm包,SUSE Linux 11系统rpm包离线安装GCC

    SUSE Linux 11系统rpm包离线安装GCC 1.问题显示 编译失败 python2.6环境下编译pycrypto-2.6.1 src/hash_template.c:360: warning ...

  6. linux suse11安装包,SUSE Linux 11系统rpm包离线安装GCC

    SUSE Linux 11系统rpm包离线安装GCC 1.问题显示 编译失败 python2.6环境下编译pycrypto-2.6.1 src/hash_template.c:360: warning ...

  7. 软件安装或打包遇到的问题 “请与管理员联系将程序包的安装用户界面选项更改为基本”...

    2011-08-30 11:46 打包软件遇到的问题 "请与管理员联系将程序包的安装用户界面选项更改为基本" 不会安装该公布应用程序,因为它可能不安全.请与管理员联系将程序包的安装 ...

  8. 【转载】linux-查询rpm包相关安装、卸载脚本

        测试过程中,有时要测试开发自己打的rpm包,为了确认打包正确,需要查询rpm包相关安装.卸载脚本,可以使用命令:   [root@6 /]#rpm -q --scripts mysql pos ...

  9. linux程序包覆盖安装,Linux—程序包安装与管理

    1.软件包是对于一种软件所进行打包的方式.在不同的操作系统中,软件包的类型有很大的区别. 对于Linux系统中,软件包主要以两种形式出现:二进制包以及源代码包. 二进制包: 1)传统的red hat ...

最新文章

  1. Java并发编程(十一)——原子操作CAS
  2. Codeforces Round #504 E. Down or Right
  3. Bit-Z 关于交易隐藏及下线说明
  4. JavaScript getFullYear() 方法
  5. java8 list 行转列_Java14 都来了,你还不会用 Java8吗?
  6. python云计算架构开发_云计算开发一般负责什么工作呢?更偏向于运维么?
  7. c语言判断任意位数能否倒序数,C语言求助!一个三位数的逆序数,总是编不对...
  8. Linux文本界面配置yum源,修改Linux默认语言 配置yum源
  9. golang 解析php序列化,golang实现php里的serialize()和unserialize()序列和反序列方法
  10. [转]ubuntu系统瘦身-清理系统垃圾文件
  11. 【12c】12c RMAN新特性之通过网络远程恢复数据库(RESTORE/Recover from Service)
  12. XP电脑开机就检查硬盘
  13. linux常用进程管理工具及查看
  14. 最简单的三层实例【插入据
  15. 批量裁剪或延伸的lisp程序_10 行 Python 代码,批量压缩图片 500 张,简直太强大了...
  16. 飞思卡尔mc9s08烧录方法_编程器USBDM 读写MC9S08 MCF51 批量烧录刷写NXP飞思卡尔单片机...
  17. dnf时装补丁教程_DNF补丁教程:就 是 这 么 简 单
  18. 从零实现一个3D建模软件
  19. 你必须会的微服务之Hystrix熔断器
  20. cogs 347 地震 splay

热门文章

  1. 第九章 SQL查询数据库(二)
  2. 苹果iPhone微信分身版如何安装
  3. mysql 全外连接报错的原因
  4. 视频标签video属性讲解
  5. 生活记录--2019.11
  6. 13个问题解密陈旭东的“神奇工场”
  7. 如何做好客户体验管理
  8. 塑造客户体验未来的趋势
  9. 外网访问内网FTP Server【内网穿透】
  10. v-for遍历Map和遍历对象