博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rpm+二进制包+源码包@聊聊
阅读量:6950 次
发布时间:2019-06-27

本文共 1904 字,大约阅读时间需要 6 分钟。

hot3.png

Linux下rpm包、二进制包、源代码包

主要提供三种格式的mysql包:rpm格式、二进制格式、源码格式:(tar打包,gz压缩)

  • rpm格式: libjpeg-devel-6b-33.x86_64.rpm #rpm格式很好区分,
  • 二进制包: mysql-3.23.58-pc-linux-i686.tar.gz #二进制格式的包名字很长,有版本号、适应平台、适应的硬件类型等,格式:mysql-<版本>-<OS>-tar.gz
  • 源码包: php-5.2.14.tar.gz #而源码格式仅仅就是一个版本号的tar包。#cj 安装区别:解压、./config、make、make install

RPM 有分兩種:binary rpm 跟 source rpm 。

前者是編好的 binary ,安裝就可用。
後者是還沒編好的 source ,需 rebuild 之後才能安裝

source code 是程序员写的码,

binary code 是机器跑的码。
source code 得经过 compile 才能成为 binary code 。

二进制包和源代码方式是软件包的两种形式:

二进制包里面包括了已经经过编译,可以马上运行的程序。你只需要下载和解包(安装)它们以后,就马上可以使用。
源代码包里面包括了程序原始的程序代码,需要在你的计算机上进行编译以后才可以产生可以运行程序,所以从源代码安装的时间会比较长。

源码的安装

一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。

Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。

其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
如果配置--prefix,如:
1../configure --prefix=/usr/local/test
可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。
用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。
当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。

其他

14.tar.gz: gzip compressed data, was "php-5.2.14.tar", from Unix, last modified: Wed Jul 21 22:32:34 2010, max compression 这个php-5.2.14.tar.gz 明显是个gzip的压缩包,这样的文件一般都是用tar zxvf 命令去解包然后去配置编译安装的,通常情况把这种安装方法叫做源码编译安装。

file libjpeg-devel-6b-33.x86_64.rpm

libjpeg-devel-6b-33.x86_64.rpm: RPM v3 bin i386 libjpeg-devel-6b-33
这个libjpeg-devel-6b-33.x86_64.rpm 文件,就是个标准的redhat系列发行版本所用的RPM格式软件包。一般在RHEL、CentOS、SUSE、OracleLinux下都可以安装类似的RPM包。标准的安装方法是rpm -ivh。

基本上红帽系列Linux发行版本安装软件就这两种方法了。还有经常被提起的yum,其实就是由yum自动判断rpm包的依赖,然后一次性把所有需要安装的N个rpm统一下载安装,其实原理和一个个的安装rpm没有什么本质区别。

一般在官网上下载的源码包都是以:tar.gz tar.bz2结尾的,经过编译的一般是以.rpm来结尾的,linux下的文件扩展名没有实际的意义,这样做只是为了方便你去查看是什么类型的包然后采取什么样的方式去安装和配置,当然有时候并不能从文件的扩展名去查看什么类型的包,因为文件名可以随意的去修改可以使用file这个命令去查看文件包的类型.

转载于:https://my.oschina.net/u/3651233/blog/1621772

你可能感兴趣的文章
[JSOI2008]Blue Mary开公司(李超线段树)
查看>>
语音技术带来的表单查询交互改进
查看>>
Java_1简介
查看>>
Java权限修饰符
查看>>
editplus如何配置php编译环境?
查看>>
第三章 DispatcherServlet详解
查看>>
python nose测试框架全面介绍二
查看>>
C_数据结构_递归不同函数间调用
查看>>
Java-笔记12-复习
查看>>
[原创]自制16*24 LED点阵屏
查看>>
toString 方法
查看>>
thymeleaf+springboot找不到html,只返回了字符串
查看>>
使用SAX解析xml文档
查看>>
tensorflow 安装
查看>>
洗礼灵魂,修炼python(76)--全栈项目实战篇(4)—— 购物车系统
查看>>
利刃 MVVMLight 1:MVVMLight介绍以及在项目中的使用
查看>>
C#排序算法
查看>>
[NOI2009]变换序列
查看>>
Dubbo项目一段时间后提供者消失
查看>>
oracleXE版本相关问题整理
查看>>