deb软件包和tar ball有什么区别?
每种软件包的优缺点是什么?
在软件中心查找。这显然是最简单的方法,尽管软件中心并不包含所有软件,并且不会及时更新到最新版本。
尝试找到提供该软件的软件源。添加一个软件源将使该程序出现在软件中心中,并能够及时升级等。
寻找一个 .deb 包。
从源代码安装(tar 压缩包)。
你可以在Debian软件包维护者的博客上阅读相关内容:http://www.j4v4m4n.in/2012/05/01/debian-utsavam-at-mes-kuttippuram-kerala-2/
至于优缺点,.deb软件包由像apt和aptitude这样的软件包管理器进行管理。因此,每当你使用它安装软件时,它们会自动判断你的系统是否具备运行该软件所需的依赖项,并为你安装它们。
但是,如果你使用tar ball进行安装,你将需要找出该软件所依赖的内容,并且每次都要手动检查你正在安装的软件的依赖项是否已经预先安装。
而apt则会为你完成所有这些工作。
此外,从源代码安装(从tar ball安装)对于不同的软件有不同的方法。有GNU的configure-make-make install哲学,也有根据软件编写方式而定的其他方法。
然而,将它们转换为deb完全消除了所有这些差异,并使用户更容易安装和使用软件。Debian(以及Ubuntu)软件包是一组二进制文件和相关安装指令。这意味着软件包自身知道如何在何处安装,并且它还知道所依赖的软件包列表。
源代码tarball(扩展名为.tar.gz
或.tar.bz2
,甚至.tgz or .tbz2)只是一组文件和目录,使用tar
实用程序打包并使用gzip
或bzip2
进行压缩。要构建源代码,您需要执行以下操作:
tar xvfz file.tar.gz
或tar xvfj file.tar.bz2
(在空目录中)解压文件。./configure
配置软件包(软件包在开始编译之前会测试系统是否正常)。make
开始编译。make install
将应用程序安装到其“默认”位置(通常在/usr/{s}bin或/usr/local/{s}bin,但这取决于应用程序和发行版)。与源代码压缩包相比,Debian/Ubuntu软件包的主要优势是它们是“自包含”的,并且其二进制文件可以被跟踪。这意味着解压过程对用户来说是透明的,用户只能看到每个应用程序大致上一个软件包。用户甚至不需要记住给定应用程序安装了哪些文件以及它们的位置,因此安装/卸载应用程序变得(大部分情况下)只需一条指令即可完成。
源代码tar包相对于二进制包的主要优势在于,源代码可以直接在目标机器上编译,并且可以进行相应的优化。此外,即使是最好的软件包系统,在特定情况下也可能出现问题(例如,软件包版本过新或过旧),而且通常官方软件包在变得太旧时会被服务器清除。在这些情况下,人们必须手动在互联网上搜索所需的应用程序和特定版本的特定库,以满足所有依赖关系。http://www.howtogeek.com/106526/how-to-resolve-dependencies-while-compiling-software-on-ubuntu/
此外,如果你暂时忽略依赖问题,tarballs 的好处在于你可以很容易地配置许多与安装相关的事项,比如安装位置等,尤其是在从源代码安装的情况下。http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html
当然,如果你只讨论deb文件,那么它们通常是像上面回答中所说的那种已编译软件。