当前位置:首页 » 编程软件 » linux什么是编译安装

linux什么是编译安装

发布时间: 2024-10-03 01:40:34

linux上的编译安装的基本概念是什么,具体的流程又是怎么个样子

计算机运行的程序都是二进制的代码,那么我们所用的编程语言都是自然语言中的字符,那么就需要有一种机制来将这些转化成二进制代码,那么根据转化机制不一样,编程语言(软件 产生的源头)分两大类 解释型 编译型,解释型就不说了,编译型就是在写好程序的源码以后对程序进行编译,编译成二进制的可执行代码。
在linux中很多软件的源码都会伴随着软件一起发布,软件就是经过编译的一些二进制的文件,这些二进制文件由源码编译而来。所以当我们拿到了软件的源码的时候,可以根据源码编译出软件,然后对软件进行安装,这就是你所说的编译安装了,对于非电脑专业的人不需要了解那么多,涉及的东西比较多,要知道在编译的时候需要设置编译参数的,,
所以会拿deb rpm包来安装就行了。。使用打包好的二进制包安装的另外的好处就是可以由包管理系统进行管理可以方便的对软件包进行安装升级和卸载,如果是源码编译那么就需要自己手动的管理了。
具体的流程没那么复杂,linux软件发布的源码都是有标准格式 的,通常是tar.gz tar.bz2这样的压缩包,
tar xvf xxx.tar.gz 解压源码包
cd xxx 进入源码目录
more INSTALL 或者more README 阅读源码包里的安装说明,看不懂英语的可以跳过这步
./configure 参数 配置编译参数;最常见的是prefix=安装路径 这样可以把软件安装到一个指定目录而不是安装到系统的文件结构中(linux的文件结构可以参考FHS标准规范里的定义)
make 当上一步正确的执行后会生成一个Makefile文件,使用make命令可以对软件源码进行编译
make install 安装(可能会需要root权限)
//部分软件还会提供make test 这样的测试,在安装前可以运行make test 来测试软件是否编译正确。

② Linux中服务器软件为什么需要编译安装

服务器CPU事实已经被Intel垄断了,就那么几种型号,编来编去生成的机器码是一样的。Intel宣传自己的编译工具Intel C++ Compiler 比GCC编译出来性能要提升10%-20%,这就是一广告,生产环境很少用人用它,何况它还要收费
性能真不是问题,比如 strip 命令可以大大减小可执行文件的size,但是我装过几千遍软件,都没有见有人在安装脚本里面使用。
软件需要编译安装的真实理由有如下3点:
1.软件在编译期间需要配置,比如说nginx,需要在编译的时候指定包含哪些mole,php,apache 也是一样。
同样的是数据库,mysql 通过编译安装,因为要定制存储引擎(是否支持innodb .. ),而sqlite却绝少有人编译,都是直接下载二进制文件来用。
2.软件需要统一安装路径,每个team都会自己的安装目录约定,有些喜欢装在 /opt/下面,有些喜欢装在 /usr/local/ ,编译安装可以方便的指定这些路径(configure --prefix=xxx )

3.需要最新的版本,软件仓库的版本一般都比较低,这个理由其实不充分,生产环境倾向保守,不追求最新版本,但是对于geek来说,这可能是最重要的原因
弄明白原因之后,就很容易判断编译还是下载:
nginx/apache/php/mysql 编译安装
python/ruby/java 直接下载

③ Linux中make, make install命令分别是什么,用法

make是用来编译的,它从Makefile中读取指令,然后编译。

make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

用法:

1、make:

这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。

如果 在 make 过程中出现 error ,就要记下错误代码(注意不仅仅是最后一行),然后可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址)。

或者系统少了一些依赖库等,这些需要自己仔细研究错误代码。

make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能。

比如 make install 一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。

make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。

一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。

2、make install

这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。

(3)linux什么是编译安装扩展阅读

当我们在使用make命令时,常常会在make后面加上其他单词,比如check,install,installcheck…这些单词都是make的参数,我们称之为“目标(targets)”。

最常见的几个目标:

make all:编译程序、库、文档等(等同于make)

make install:安装已经编译好的程序。复制文件树中到文件到指定的位置

make unistall:卸载已经安装的程序。

make clean:删除由make命令产生的文件

make distclean:删除由./configure产生的文件

make check:测试刚刚编译的软件(某些程序可能不支持)

make installcheck:检查安装的库和程序(某些程序可能不支持)

make dist:重新打包成packname-version.tar.gz

④ 在Linux 下安装软件的方法有哪些各有什么优劣

大体上有两种方法:源代码安装与二进制文件安装~
1、源代码安装的方法:
./configure

make && make install clean

2、二进制文件安装:
利用各自的管理工具进行安装,Debian系列的话有:Deb包管理工具,RedHat系列有RPM管理工具等,这样的话就可以下载二进制文件如:.deb或者.rpm到电脑,然后双击文件就可以安装了。

优势:
1、二进制安装的话是利用本地电脑进行编译安装,这样的安装对于机器而言,性能肯定是比二进制安装好因为在你的电脑上编译时编译器会针对您的电脑配置进行优化。
2、二进制安装的话你不必记忆编译安装相关的命令只需要双击鼠标就可以了,这种方法对于普通使用者而言是比较好的,并且比较方便。

⑤ linux下面yum安装和源码编译安装的区别

yum直接从服务器下载bin文件,速度快,不用编译。
源码下载的是:shell

python
+
CPP
+
Head
+
Config.......
需要自己编译安装,速度很慢,受机器性能影响可能编译失败,还需要自己解决依赖库问题。

⑥ linux下安装文件总是提示./configure --prefix: 没有那个文件或目录

linux下源码的安装由3个步骤组成:配置(configure)、编译(make)、安装(make install)。

其中配置语句“./configure --prefix=/usr/local/test”提示“没有那个文件或目录”,是因为配置指定路径“/usr/local/test”时,没有这样的文件或目录存在。

只需在“./configure --prefix=”语句中放入一个存在的目录路径,重新编译安装即可解决。

以安装hdf5软件为例,具体操作步骤如下:

1、首先从官网下载hdf5,根据自己的要求下载对应的版本:hdf5-1.8.3.tar.gz。

⑦ Linux中源码编译安装程序包括哪些基本步骤

第一步:创建编译脚本
进入到源码目录 执行 ./configure --prefix=/.../.....(--prefix=后面是想要安装到的目录)
第二部:编译
执行 make
第三部:安装
执行 make install
当然上面这几部都是最基本的步骤,如果想优化编译,要在./configure 后面加参数,或者configure之后手动修改Makefile文件 如O2(优化等级) FLAGS 等编译参数的修改。
--------------------------------------------------------------------------------------------------------------
以上都是源码包的编译
如果是自己写的C代码 直接 用gcc编译即可。
例如 编译test.c
执行 gcc -o test test.c即可将test.c编译为可执行的文件 test

自己打出来的 要采纳啊!

热点内容
忍3无伤脚本 发布:2024-11-05 19:11:40 浏览:301
江苏云服务器散热器定制 发布:2024-11-05 18:50:15 浏览:719
投资分红网站源码 发布:2024-11-05 18:36:38 浏览:503
我的世界推荐适合萌新的服务器 发布:2024-11-05 18:30:03 浏览:577
c语言考级 发布:2024-11-05 18:16:54 浏览:504
易语言不能编译安卓app吗 发布:2024-11-05 18:14:11 浏览:836
c语言重点知识 发布:2024-11-05 18:04:53 浏览:641
算法分家 发布:2024-11-05 17:55:39 浏览:469
手游云顶怎么确定服务器 发布:2024-11-05 17:52:03 浏览:777
天籁选哪个配置2021 发布:2024-11-05 17:50:26 浏览:812