首先要说的是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的一个前端而已。类似的还有yum、dnf、apt(可以简单理解为apt-get的升级版)、aptitude等。
每个发行版的deb包可能不一样。所以同一个软件编译出来的二进制包是很多的,软件维护者一般不维护这些二进制码包,顶多维护一两个。还有自己编译软件好处是,可以编译出最适合自己电脑软件配置,这样软件性能更好,也是很多人编译内核的原因!
转载自Deepin Wiki百科:
https://wiki.deepin.org/wiki/源代码包