Linux—程序包安装与管理
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—程序包安装与管理相关推荐
- linux程序包覆盖安装,Linux—程序包安装与管理
1.软件包是对于一种软件所进行打包的方式.在不同的操作系统中,软件包的类型有很大的区别. 对于Linux系统中,软件包主要以两种形式出现:二进制包以及源代码包. 二进制包: 1)传统的red hat ...
- linux程序包管理rpm,yum和编译安装以及冒泡排序练习
linux程序包管理: API:Application Programming Interface POSIX:Portable OS 程序源代码--> 预处理--> 编译--> 汇 ...
- Linux程序包管理(rpm)
程序包:由源代码通过编译成CPU可执行的二进制格式,再把这些文件(二进制程序.库文件.配置文件.帮助文件)组织成为一个或有限几个"包"文件. 程序包的组成:1.程序包的组成清单(每 ...
- linux 包管理工具dnf,Linux 程序包管理 rpm yum dnf
Linux程序包管理:包管理器功能:打包,包管理(安装,升级,卸载,查询,校验) 目前Linux中最常见有两种常用工具deb:debian Linux使用 包括ubuntu rpm:Redhat Pa ...
- Linux rpm 包安装不了,解决方法
Linux rpm 包安装不了,解决方法 你是否 碰到如下情况: error: db4 error(2) from dbenv->open: No such file or directory ...
- pip Python 包安装和管理工具
pip 是一个 Python 包安装与管理工具. 从PyPI安装软件包: $ pip install SomePackage [...] Successfully installed SomePack ...
- VS中使用NuGet安装依赖时提示:无法安装程序包“xxx”。你正在尝试将此程序包安装到目标为“.NETFramework,Version=v4.5”的项目中
场景 在使用NuGet添加项目依赖,比如添加MQTTnet时提示: 安装程序包"MQTTnet3.0.0".你正在尝试将此程序包安装到目标为".NETFramework, ...
- linux下pip安装模块失败,Linux pip包安装错误
Linux pip包安装错误 我正在使用python 2.7并尝试使用pip安装scrapy但得到此:异常:Traceback(最近一次调用最后一次):文件"/usr/local/lib/p ...
- Microsoft Visual C++ 程序包安装
Microsoft Visual C++ 程序包安装 Microsoft Visual C++ 程序包安装 1.winget search :查询程序包 2.winget install :安装程序包 ...
最新文章
- Machine Learning on Spark——第四节 统计基础(二)
- 【ROI 2019 Day2】课桌【贪心】【决策单调性】【分治】
- powerpoint文字教程
- 996 的程序员,只能云养娃吗?
- Swap in C C++ C# Java
- EOS钱包及代码分析
- imx6ul:uboot-2013.10启动过程解析
- c 语言程序设计基础题答案,C语言程序设计基础教程_习题答案
- maya python 游戏与影视编程指南pdf_《Maya Python游戏与影视编程指南》.( [美]Adam Mechtley).[PDF]...
- ps渐变如何使用?如何使用Photoshop 2021给图片制作出渐变效果?
- Java中的范围限定词
- 【MATLAB数字图像处理】伪彩色增强
- ByteBuffer详解(大概2333)
- 美通社企业新闻汇总 | 2019.1.23 | 上海迪士尼建疯狂动物城园区;戴森运营总部移至新加坡...
- excel表格中单元格里面有个斜杠怎么写字?
- DVB机顶盒的概念与分类
- TypeScript 基础数据类型与接口
- npm安装electron时卡死 ,而利用cnpm安装electron时失败(等一系列幺蛾子)
- JESD204标准概述
- Python之base64加密解密