摘要:源码包即程序软件的源代码一般也叫,即将软件的源码以打包后再压缩的资源包。
一、安装包分类
在Linux平台下,软件包的类型可以划分为两类:源码包、二进制包。
源码包:即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后再压缩的资源包)。
二进制包:如 Red Hat发行版的.rpm包,Debian发行版的.deb包。
这篇文章将要介绍的是Linux平台下的源码安装,关于二进制包的安装可以查看我的另两篇文章:《Linux软件安装管理之——RPM与YUM详解》、《Linux软件安装管理之——dpkg与apt-*详解》
二、源码包安装的主要步骤源码包的安装主要分为三个步骤,如图:
三、最简单的例子为了能够更好的理解源码包的安装过程,这里举一个最简单的例子来加以说明。
1、获取源代码文件这里使用C语言来编写一个最简单的程序,输出“Hello World!”,
首先,使用命令【vim hello.c】创建一个c源文件,内容如下:
#include2、编译int main(void){ printf("Hello World! "); }
编译的命令为【gcc hello.c】
执行了上面的命令后则可以发现当前目录下多了一个a.out,该文件即为编译后生成的二进制文件。
3、测试结果运行命令【./a.out】,则可以得到如下结果。
举上面这个例子只是为了能够更加好的理解软件在Linux中安装的原理,在实际中可以说是不会有这么简单的一个程序来让你安装的。一般情况,一个软件是由一系列的程序文件来组成,所以现实中的源码包安装方法并没有像上面那个例子那么简单,那下面就来介绍一般情况下的源码包安装方法。
四、源码包安装详解现实中,使用一个源码包来安装程序时,基本步骤如:
在上图第二步中的--prefix后面接的路径表示这个软件将要安装到哪个目录去,如果没有指定--prefix=/path这个参数,通常默认为/usr/local。本人推荐安装位置为 /usr/local/XXX,XXX为自己的实际目录,这样会方便以后的管理。
源码包安装方式的man文件默认保存在/usr/local/man或/usr/local/share/man中,如果你的安装路径自定义为如/usr/local/XXX,则man文件则一般是在/usr/local/XXX/share/man中。此时如果你想要通过man来查看你所安装软件的man手册,则需要自行修改man的路径配置文件(可能是man.config或者manpath.config)。需要在相应位置添加如下一行:
MANPATH /usr/local/XXX/share/man五、其它 1、卸载
通过源码包安装的软件,当你想要卸载的时候,只需要把整个安装路径删除掉就行了,100%卸载,不会像windows那样经常会残留那多注册表之类的垃圾。
根据你的安装时候选择的安装路径,源码包的卸载又仓库两种情况:
如果你安装时候指定的路径为:
--prefix=/usr/local/XXX,那么卸载的时候只需要把XXX这个文件夹删除即可,因为该软件安装的所有文件都是放置在XXX这个文件夹。
但如果你进行源码包安装的时候没有指定位置(默认值一般为/usr/local/),或指定的位置为--prefix=/usr/local,则这时候你安装软件生成的文件将分别存储在/usr/local/里面的bin、lib或ect等目录中,这时候卸载起来就相对麻烦一点了。
2、源码包安装与二进制包的区别源码包的优点:
1)开源,如果有能力可以修改源代码
2)可以自由选择所需的功能
3)软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
4)卸载方便
源码包的缺点:
1)安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误
2)编译过程时间较长,安装比二进制安装时间长
3)因为是编译安装,安装过程中一旦报错新手解决
二进制包的优点:
1)包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
2)安装速度比源码快得多、
二进制包的缺点:
1)经过编译,不可以再看到源码
2)功能选择不如源码包灵活
3)依赖性
参考文献:《鸟哥的Linux私房菜——基础学习篇》鸟哥
《The Linux Command Line》William E. Shotts, Jr.
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/10352.html
一、序言 上一篇文章《Linux软件安装管理之——源码安装详解》详细介绍了Linux平台下的源码包安装原理,虽然使用源代码进行软件编译可以具有定制化的设置,但对于Linux distribution的发行商来说,则有软件管理不晚的问题,毕竟不是每个人都会进行源代码编译的。这个问题将会严重的影响linux平台上软件的发行与推广。 为了解决上述的问题,厂商先在他们的系统上面编译好了我们用户所需要的软件...
一、序言 上一篇文章《Linux软件安装管理之——源码安装详解》详细介绍了Linux平台下的源码包安装原理,虽然使用源代码进行软件编译可以具有定制化的设置,但对于Linux distribution的发行商来说,则有软件管理不晚的问题,毕竟不是每个人都会进行源代码编译的。这个问题将会严重的影响linux平台上软件的发行与推广。 为了解决上述的问题,厂商先在他们的系统上面编译好了我们用户所需要的软件...
摘要:这里将要介绍的是系列发行版的与的详细使用方法,如需要了解系列发行版的包管理系统可查看我的另一篇文章软件安装管理之与详解。 一、序言 上一篇文章《Linux软件安装管理之——源码安装详解》详细介绍了Linux平台下的源码包安装原理,虽然使用源代码进行软件编译可以具有定制化的设置,但对于Linux distribution的发行商来说,则有软件管理不晚的问题,毕竟不是每个人都会进行源代码编...
摘要:这里将要介绍的是系列发行版的与的详细使用方法,如需要了解系列发行版的包管理系统可查看我的另一篇文章软件安装管理之与详解。 一、序言 上一篇文章《Linux软件安装管理之——源码安装详解》详细介绍了Linux平台下的源码包安装原理,虽然使用源代码进行软件编译可以具有定制化的设置,但对于Linux distribution的发行商来说,则有软件管理不晚的问题,毕竟不是每个人都会进行源代码编...
摘要:但实际安装的还是源码包和二进制包。优点安装简单快捷缺点完全丧失了自定义性总结其实中软件包只有源码包和二进制包两种软件安装包。源码包安装位置安装在指定位置当中,一般是软件名源码包安装的服务,只能用绝对路径进行服务的管理。 一、Linux软件包分类 1.1 源码包 优点: 开源,如果有足够的能力,可以修改源代码; 可以自由选择所需的功能; 软件是编译安装,所以更加适合自己的系统,...
阅读 3207·2021-11-23 09:51
阅读 2326·2021-11-11 16:55
阅读 3085·2021-10-13 09:40
阅读 2924·2021-10-12 10:11
阅读 1075·2021-09-22 15:25
阅读 1666·2019-08-29 16:26
阅读 640·2019-08-29 13:21
阅读 2217·2019-08-23 16:19