首先要说的是tar.gz不是软件包格式,而是压缩档格式,你可以把任何格式的东西压缩成tar.gz文件,就像.7z , .zip和.rar一样。
你下载的tar.gz包装的软件很可能是源码,但也有的地方把二进制码打包成tar.gz的,而deb包里包装的是二进制码和少量配置文件。把源码转换到deb文件的过程需要编译软件并制作配置文件,比较麻烦。
对于常见的软件,已经有人打包好了,都可以从软件源安装,没有必要从源码安装。如果你下载的软件是源码,那么解开之后会有一个README或者INSTALL文件,安装步骤应该就写在里面。常见的C程序软件的安装步骤是 configure, make, make install三部曲,大致是下面这样操作:
首先得安装gcc、make等软件
sudo apt-get update && sudo apt-get install build-essential
解压缩你下载的tar.gz包,得到一个文件夹。
jy ***.tar.gz
在命令行下,cd进这个文件夹
./configure
configure的时候如果报错,一般会提示你少了一些什么依赖关系,你到新立得里找找装上就行。
make
编译。如果软件较大,可能会比较久。
sudo make install
安装。这一步需要sudo
把源码打包成deb也有简单的做法,参考
关于大家“最好把它直接转换成deb包,点击安装多方便啊!”的解答:
程序源码是不依赖软件和硬件平台的,所以写程序的人一般只维护源代码。一个好的程序可以在各种操作系统上运行。
而deb包这类的二进制包是依赖硬件和软件平台的。比如说给LinuxDeepin用的deb包就是x86的ubuntu下才能用,其他系统不行。从软件上来说debian和ubuntu上有.deb包,而且debian和ubuntu的还不完全一样,suse和fedora的rpm也不完全一样,然后slackware、archlinux都有自己的二进制包打包方式,windows下有exe和msi,mac下有dmg…………再看硬件,windows,mac和archlinux只支持x86和x86-64还少一点,像debian这样的系统,支持十来种cpu架构:x86, x86-64, mips, power, sparc, alpha... 每种下头的deb包都不一样。所以同一个软件编译出来的二进制码包是很多的,软件维护者一般不维护这些二进制码包,顶多维护一两个。