Linux系统rpm包管理

一.概述

1.接口种类:

1.API:Application Program Interface (应用编程接口)
2.ABI:Application Binary Interface(应用二进制接口)

2.程序包格式

1.windows使用的程序包格式:exe,msi
2.unix-like:ELF

3.使用库级别的虚拟化,可以实现在不同操作系统上使用不同的二进制程序

1.Linux:WinE工具实现
2.Windows:Cywin工具实现

4.系统级和应用级开发:

1.系统级开发:
(1)C/C++语言:httpd,vsftpd,nginx
(2)go语言
2.应用级开发(需要透过中间层实现):
(1)java/Python/perl/ruby/php
(2)java: hadoop, hbase, (需要安装jvm虚拟机实现)
(3)Python:openstack, (需要安装pvm虚拟机实现)
(4)perl: (使用perl解释器)
(5)ruby: (使用ruby解释器)
(6)php: (使用php解释器)

5.程序格式

1.C/C++程序格式:
1)源代码:文本格式的程序代码(需要通过编译为二进制格式后使用)。
ps:其编译开发环境:编译器、头文件、开发库

2)二进制格式:文本格式的程序代码 --> 编译器 --> 二进制格式
ps:二进制文件格式需要包含四部分:二进制程序、库文件、配置文件、帮助文件

2.java/python程序格式:
1)源代码:编译成能够在其虚拟机(jvm/pvm)运行的格式
ps:开发环境:编译器、开发库

2)二进制格式

3.项目构建工具
1)c/c++: make
2)java: maven

二.程序包管理器概述

1.概念

1.源代码 --> 目标二进制格式 --> 组织成为一个或有限几个“包”文件;
1)功能安装、升级、卸载、查询、校验

2.各发行版程序包管理器

1.debian:dpt包管理器, 使用dpkg命令;程序包后缀名:".deb"
2.redhat:rpm包管理器;使用rpm命令,程序包后缀名:".rpm"
ps:即为redhat package manager或 rpm is package manager
3.S.u.S.E:rpm包管理器;程序包后缀名:".rpm"
4.Gentoo:ports包管理器
5.ArchLinux

3.命名格式

1.源代码命名格式:name-version-release.tar.gz

  1. name:软件名称
    2)version:major(主版本号).minor(次版本号)
    3)release(源代码编译次数)

2.rpm包命名格式:name-version-release.arch.rpm
1)name:软件名称
2)version:major(主版本号).minor(次版本号).release源代码编译次数)
3)release.arch:rpm包的发行号
ps:例:redis-3.0.2.targz --> redis-3.0.2-1.centos7.x64.rpm

3.拆包和子包
1)主包:name-version-release.arch.rpm
2)子包:name-function-version-release.arch.rpm
ps:function:devel, utils, libs, …为了实现将个功能拆分使用

4.依赖关系:rpm包安装会有依赖关系,导致安装出错,可使用前端工具自动解决依赖关系。
1)yum:rhel系列系统上rpm包管理器的前端工具;
2)apt-get (apt-cache):deb包管理器的前端工具;
3)zypper:suse的rpm管理器前端工具;
4)dnf:Fedora 22+系统上rpm包管理器的前端工具

4.程序包管理器功能

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

2.程序包的组成清单(每个程序包都单独实现)
1)文件清单
2) 安装或卸载时运行的脚本

3.数据库(公共)

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

5.程序包获取途径

1.系统发行版的光盘或官方的文件服务器(或镜像站点)
1)http://mirrors.aliyun.com
2)http://mirrors.sohu.com
3)http://mirrors.163.com

  1. 需求项目的官方站点

3.第三方组织
1)EPEL
2)rpm包专用搜索引擎
(1)http://pkgs.org
(2)http://rpmfind.net
(3)http://rpm.pbone.net

4.自己根据要求,编译代码

ps:1.需要检查其合法性,2.来源合法性,3.程序包的完整性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值