1、软件包是对于一种软件所进行打包的方式。在不同的操作系统中,软件包的类型有很大的区别。

对于Linux系统中,软件包主要以两种形式出现:二进制包以及源代码包。

二进制包:

1)传统的red hat linux二进制包

2)deb:debian系统的二进制包

3)Autopackage

源码包:

源代码则主要适用于自由软件的安装,用户需要自己编译它们。

2、软件包的组成:

1)二进制程序

2)库文件

3)配置文件

4)帮助文档

3、包管理器的基本功能:

1)打包

2)安装包

3)查询包

4)升级包

5)卸载包

6)校验包数据库管理

4、RPM包管理器:RPM包管理器就是一个用来管理报的基本功能的工具,但是RPM包管理器在解决包之间的依赖关系时比较麻烦,所以又出现了包管理器的前端管理器yum,yum介绍完rpm之后介绍,先来说明一下rpm包的命名格式。

在使用rpm包的时候,有时候我只需要使用包里边的个别功能,所以软件包又会分为主包和支包。

获取rpm包的途径:

1)发行商的光盘或站点服务器

centos:

http://mirrors.163.com

http://mirrors.sohu.com

2) http://rpmfind.net

3) http://rpm.pbone.net

来源合法性验证:获取到rpm包之后需要对包的完整性和合法性进行校验

1)源程序:通过md5或者sha512进行校验码验证

2)rpm包:

验证包完整性:校验码

验证来源合法:公钥加密算法

5、rpm包管理:常用的选项

-ivh:安装rpm包

--test:不真正安装rpm包,仅测试

-ivh --nodeps:忽略依赖关系安装

-ivh --replacepkgs:重新安装,原来的配置文件一般不会被覆盖,新安装的配置文件将会被重命名为以.rpmnew为后缀的文件

-e:卸载rpm包,如果卸载被其他程序所依赖的包,把依赖者一同卸载或者忽略依赖关系或不卸载

-qa:查询所有已经安装的包

-q:查询某个包是否安装

-qi:查询包的描述信息

-ql:查询包安装之后在当前系统生成的文件列表

-qf:查询文件是哪个包安装生成的

-qd:查询安装后生成的帮助文档

-qc:查询包安装后生成的配置文件

-q --script:查询包的相关的脚本,脚本有四类,preinstall安装前脚本,preunistall卸载前脚本,postinstall安装后脚本,postuninstall卸载后脚本。

-pql:查询安装后生成的文件列表

-qpi:查询尚未安装包以及其简单描述信息

-U:升级或安装

-F:升级

rpm包管理:检查来源合法性和软件包完整性

包完整性:通过单向加密机制(md5|sha1)

来源合法性:通过公钥加密机制(RSA)

导入制作者的公钥,centos发行版的公钥在iso文件中;

导入命令:rpm -import /path/to/gpg-key-file

rpm -K /path/to/package_file

rpm --checksig /path/to/package_file

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

--nodigest:不检查完整性

rpm包管理:数据库重建

数据库:/var/lib/rpm/

重建:

rpm --initdb:初始化

如果事先不存在一个数据库,则新建之;

rpm --rebuilddb:重建

直接重建数据库,会覆盖原有的库;

6、yum:前端管理工具

要使用yum管理应用程序,首先得配置其可用的yum仓库,保存在配置文件中

/etc/yum.conf

/etc/yum.repos.d/*.repo

配置文件格式:由两段组成,类似windows的ini配置文件

[main]:主配置段

[repo]:仓库配置段,

配置repo:

[repo_ID]

name=String

baseurl=仓库的访问路径

enabled={1|0}

gpgcheck={1|0}

gpgkey=公钥文件(可以在本地,也可以是服务器路径)

cost=定义此仓库开销,默认为1000

yum的常用命令:

yum的各命令:

1)repolist [all|enabled|disabled]:列出所有可用yum repo

2)clean [all|packages|metadate|expire-cache|rpmdb|plugins]:清理缓存

3)list [all|installed|avilable]:列出rpm包

4)info package_name:列出包的描述信息

5)grouplist:列出所有的包组

6)groupinfo "package_group_name":显示包组信息

7)install package_name ...:安装指定的程序包

8)reinstall package_name...:重新安装指定的程序包

9)check-update:检查可升级的包

10)update package_name...:升级指定的程序包

11)erase|remove package_name...:卸载某个包,依赖这个包的包也会被卸载

12)whatprovides|provides /path/to/somefile:查询某文件时由哪个包生成的

13)groupinstall "group_name":安装指定的包组

14)groupremove "group_name":卸载指定的包组

三个跟开发相关的包组:

Desktop Platform Development:有图形程序时需要安装此组

Server Platform Development

Development Tools

7、配置yum仓库来安装软件包

1)挂载cdrom作为仓库

2)配置yum源

3)查看yum源

4)安装zsh的包

转载于:https://blog.51cto.com/il23f/1370278

Linux—程序包安装与管理相关推荐

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

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

  2. linux程序包管理rpm,yum和编译安装以及冒泡排序练习

    linux程序包管理: API:Application Programming Interface POSIX:Portable OS 程序源代码--> 预处理--> 编译--> 汇 ...

  3. Linux程序包管理(rpm)

    程序包:由源代码通过编译成CPU可执行的二进制格式,再把这些文件(二进制程序.库文件.配置文件.帮助文件)组织成为一个或有限几个"包"文件. 程序包的组成:1.程序包的组成清单(每 ...

  4. linux 包管理工具dnf,Linux 程序包管理 rpm yum dnf

    Linux程序包管理:包管理器功能:打包,包管理(安装,升级,卸载,查询,校验) 目前Linux中最常见有两种常用工具deb:debian Linux使用 包括ubuntu rpm:Redhat Pa ...

  5. Linux rpm 包安装不了,解决方法

    Linux rpm 包安装不了,解决方法 你是否 碰到如下情况: error: db4 error(2) from dbenv->open: No such file or directory ...

  6. pip Python 包安装和管理工具

    pip 是一个 Python 包安装与管理工具. 从PyPI安装软件包: $ pip install SomePackage [...] Successfully installed SomePack ...

  7. VS中使用NuGet安装依赖时提示:无法安装程序包“xxx”。你正在尝试将此程序包安装到目标为“.NETFramework,Version=v4.5”的项目中

    场景 在使用NuGet添加项目依赖,比如添加MQTTnet时提示: 安装程序包"MQTTnet3.0.0".你正在尝试将此程序包安装到目标为".NETFramework, ...

  8. linux下pip安装模块失败,Linux pip包安装错误

    Linux pip包安装错误 我正在使用python 2.7并尝试使用pip安装scrapy但得到此:异常:Traceback(最近一次调用最后一次):文件"/usr/local/lib/p ...

  9. Microsoft Visual C++ 程序包安装

    Microsoft Visual C++ 程序包安装 Microsoft Visual C++ 程序包安装 1.winget search :查询程序包 2.winget install :安装程序包 ...

最新文章

  1. Machine Learning on Spark——第四节 统计基础(二)
  2. 【ROI 2019 Day2】课桌【贪心】【决策单调性】【分治】
  3. powerpoint文字教程
  4. 996 的程序员,只能云养娃吗?
  5. Swap in C C++ C# Java
  6. EOS钱包及代码分析
  7. imx6ul:uboot-2013.10启动过程解析
  8. c 语言程序设计基础题答案,C语言程序设计基础教程_习题答案
  9. maya python 游戏与影视编程指南pdf_《Maya Python游戏与影视编程指南》.( [美]Adam Mechtley).[PDF]...
  10. ps渐变如何使用?如何使用Photoshop 2021给图片制作出渐变效果?
  11. Java中的范围限定词
  12. 【MATLAB数字图像处理】伪彩色增强
  13. ByteBuffer详解(大概2333)
  14. 美通社企业新闻汇总 | 2019.1.23 | 上海迪士尼建疯狂动物城园区;戴森运营总部移至新加坡...
  15. excel表格中单元格里面有个斜杠怎么写字?
  16. DVB机顶盒的概念与分类
  17. TypeScript 基础数据类型与接口
  18. npm安装electron时卡死 ,而利用cnpm安装electron时失败(等一系列幺蛾子)
  19. JESD204标准概述
  20. Python之base64加密解密

热门文章

  1. (十七)深入浅出TCPIP之UDP打洞原理
  2. 深度学习(01)-- 基础学习
  3. 使用软链接的方式迁移Docker
  4. 13个好习惯 教你健康一整年
  5. 腾讯搜搜退出PC搜索领域:百度搜狗迎来双龙竞争
  6. 解决:bash: vim: command not found、docker 容器不识别 vi / vim 、docker 容器中安装 vim
  7. Repeater的使用
  8. 【bzoj2132】圈地计划 网络流最小割
  9. Maximum sum(poj 2479)
  10. Android开发技术周报 Issue#72