源代码包 编辑 请登陆,再编辑

前言

首先要说的是tar.gz不是软件包格式,而是压缩档格式,你可以把任何格式的东西压缩成tar.gz文件,就像.7z , .zip和.rar一样。

你下载的tar.gz包装的软件很可能是源码,但也有的地方把二进制码打包成tar.gz的,而deb包里包装的是二进制码和少量配置文件。把源码转换到deb文件的过程需要编译软件并制作配置文件,比较麻烦。

对于常见的软件,已经有人打包好了,都可以从软件源安装,没有必要从源码安装。如果你下载的软件是源码,那么解开之后会有一个README或者INSTALL文件,安装步骤应该就写在里面。

获取源码包

深度操作系统使用的所有软件的源代码都可以轻松获取。例如获取deepin-music-player 源代码,只需要终端执行:

sudo apt-get source deepin-music-player 

编译安装

源代码包的安装一般为下载软件源代码,然后编译安装. 常见的C程序软件的安装步骤是 configure, make, make install三部曲,大致是下面这样操作:

首先得安装gcc、make等软件

sudo apt-get update && sudo apt-get install build-essential

解压缩你下载的tar.gz包,得到一个文件夹。

tar -zvxf ***.tar.gz 

在命令行下,cd进这个文件夹

cd xxx  ##xxx为需要进入的文件夹

配置文件,终端执行:

./configure  ##配置

configure的时候如果报错,一般会提示你少了一些什么依赖关系,你到新立得里找找装上就行。

安装新立得可以用

 sudo apt-get update && sudo apt-get install synaptic

开始编译。终端执行:

make  ##编译

安装生成的二进制文件,软件如果软件较大,可能会比较久。

sudo make install   ##安装软件

注意:具体安装方法以软件源代码中的README等帮助文件为准。

删除

方法一 在源代码包目录上,终端执行:

make uninstal

方法二

直接删除源代码程序文件

说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。

由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净, 那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用

rm -rf 软件目录名 

命令来进行干净彻底的卸载。

与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

常见问题

为什么不把软件全部转换成deb包,点击安装多方便啊!

程序源码是不依赖软件和硬件平台的,所以写程序的人一般只维护源代码。一个好的程序可以在各种操作系统上运行。 而deb包这类的二进制包是依赖硬件和软件平台的。 比如说给深度操作系统用的deb包就是x86的ubuntu下才能用,其他系统不行。

同时源码发行的话也同时给了用户自己很高的权限,他可以制作一个自己的二进制包,比如使用dpkg来制作,详情请见dpkg的帮助手册。

man dpkg

从软件上来说debian和ubuntu上有.deb包,而且debian和ubuntu的还不完全一样,suse和fedora的rpm也不完全一样,然后slackware、archlinux都有自己的二进制包打包方式和对应的包管理器,比如debian的dpkg和centos的rpm等,刚才所使用的apt-get也只是dpkg的一个前端而已。类似的还有yun、dnf、apt(可以简单理解为apt-get的升级版)、aptitude等。

每个发行版的deb包可能不一样。所以同一个软件编译出来的二进制包是很多的,软件维护者一般不维护这些二进制码包,顶多维护一两个。还有自己编译软件好处是,可以编译出最适合自己电脑软件配置,这样软件性能更好,也是很多人编译内核的原因!

相关链接

linux源码包软件的安装与卸载