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
source code 是程序员写的码,
binary code 是机器跑的码。
source code 得经过 compile 才能成为 binary code 。
RPM 有分兩種:binary rpm 跟 source rpm 。
前者是編好的 binary ,安裝就可用。
後者是還沒編好的 source ,需 rebuild 之後才能安裝
源代码方式和二进制包是软件包的两种形式。二进制包里面包括了已经经过编译,可以马上运行的程序。你只需要下载和解包(安装)它们以后,就马上可以使用。源代码包里面包括了程序原始的程序代码,需要在你的计算机上进行编译以后才可以产生可以运行程序,所以从源代码安装的时间会比较长。
Linux下有个命令叫file,因为Linux并不是按照后缀名来判断文件类型的。所以一般在不清楚文件到底是什么类型的时候,就用file这个命令去判断。
file php-5.2.14.tar.gz
php-5.2.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这个命令去查看文件包的类型.
源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。
其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
如果配置--prefix,如:
- ./configure --prefix=/usr/local/test
可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。
用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。
当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。
Linux下二进制包、源代码包、rpm包的更多相关文章
- Linux下彻底删除安装的rpm包
如何彻底Linux系统下安装的rpm包?现以mySQL为例进行介绍: 一.使用以下命令查看mysql安装情况 [root@xpq mysql]# rpm -qa|grep -i mysql MySQL ...
- Linux下卸载和安装MySQL[rpm包]
一.卸载原来的mysql: 卸载一: 输入: #rpm -qa | grep -i mysql 显示: mysql-libs-5.1.52-1.el6_0.1.i686 卸载方法: yum -y re ...
- 『学了就忘』Linux软件包管理 — 44、在RPM包中提取文件
目录 1.RPM包中文件的提取 2.在RPM包中提取文件的操作 (1)cpio命令介绍 (2)提取RPM包中文件 1.RPM包中文件的提取 为什么要做这个事呢? 在操作Linux系统的时候误删除一个文 ...
- 基于suse linux系统的cacti系统部署——rpm包方式
豆丁 http://www.docin.com/p-191889788.html rpm包方式:啊扬--沙迳:2010-12-1:更改:2011/5/16:一.Cacti的简介(来源:网络):Cact ...
- linux日常---1、linux下安装、查看、卸载包常用命令
linux日常---1.linux下安装.查看.卸载包常用命令 一.总结 一句话总结: 对比学习 1.linux如何查看系统中安装的程序? rpm -qa # 查看所有安装的软件包 2.linux ...
- fpm定制化RPM包之nginx rpm包的制作
fpm定制化RPM包之nginx rpm包的制作 1.安装ruby模块 # yum -y install ruby rubygems ruby-devel 2.添加阿里云的Rubygems仓库,国外资 ...
- 将源码包制作成rpm包
Linux系统中一般安装软件有两种方法,源码安装和yum安装或者rpm包安装,由于光盘中的rpm包都是几年前制作成的,所以软件版本都很低,同时yum安装对软件的可定制性很低,所以为了使用最新的软件,一 ...
- [转帖]deb包转化为rpm包
deb包转化为rpm包 https://www.cnblogs.com/noxy/p/6371399.html 改天尝试一下之前经常遇到能下载deb包 下载不到rpm包的情况. deb文件格式本是ub ...
- Linux下基于官方源代码RPM包构建自定义MySQL RPM包
rpmbuild时不要以root用户执行! 方法一: 1.首先安装rpmbuild #yum install rpm-build gcc gcc-c++ cmake bison ncurses-dev ...
随机推荐
- 全面解读Oracle同义词的概念作用、创建删除查看及Oracle的db link
Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系. 在Oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必 ...
- sessionStorage 的数据会在同一网站的多个标签页之间共享吗?这取决于标签页如何打开
一直以来,我所以为的 sessionStorage 的生命周期是这样的:在 sessionStorage 中存储的数据会在当前浏览器的同一网站的多个标签页中共享,并在此网站的最后一个标签页被关闭后清除 ...
- C++系统学习之二:字符串
上一篇文章主要学习的是C++的基本类型,它们是C++语言直接定义的,它们体现了计算机硬件本身具备的能力.而本篇文章将主要学习内置类型之外的标准库所定义的类型,分别是string和vector,此外还将 ...
- 【Java_基础】空串、空格串、null的区别
1.表示的区别 string str1 = ""; //空串 str1.length() 等于 0 string str2 = " "; / ...
- Linux–varnish(一)
简介 Varnish 是一款高性能且开源的反向代理服务器和 HTTP 加速器,其采用全新的软件体系机构,和现在的硬件体系紧密配合,与传统的 squid 相比,varnish 具有性能更高.速度更快.管 ...
- ES5中新增的forEach等新方法的一些使用声明
转载地址:http://www.zhangxinxu.com/wordpress/?p=3220 一.前言-索引 ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块, ...
- CDC相关知识点总结
跨时钟域设计很重要,每一个项目都会有,这个要马上学会总结好.本能力属于重要而且急需的能力.
- 2019年最新 Python 模拟登录知乎 支持验证码
知乎的登录页面已经改版多次,加强了身份验证,网络上大部分模拟登录均已失效,所以我重写了一份完整的,并实现了提交验证码 (包括中文验证码),本文我对分析过程和代码进行步骤分解,完整的代码请见末尾 Git ...
- wireshark抓文件上传的包的结果记录
如果我们再一个表单中放了一个text的input 还放了一个file的input进行文件上传,此时用wireshark抓到的包应该是什么样子的呢 html代码 <form action=&quo ...
- 【编程工具】Sublime Text3的安装和常用插件推荐
本人刚刚学习 HTML,曾经上网找过一些编写 HTML 的软件,但感觉都不太好,经过三挑四选下,最终我决定选择 Sublime Text3 这款软件来作为学习工具,上网找到了许多实用的插件,在这里给大 ...