这是一个非常基本的问题,但我找不到答案。我想知道包和软件之间的区别。
通过输入命令 sudo apt-get install filezilla,下载名为 filezilla 的软件包和其他依赖软件包。OK。这是软件包。
那么,什么是软件?在 ubuntu 里所有的东西都是包,对吧?或者有软件吗?如果有,软件到底是什么?
通过使用 ubuntu 软件中心,我是否安装软件包或软件?
提前致谢。
答案1
如果您熟悉 MS-Windows,那么在该系统下安装软件的常用方法是setup.exe
。如您所见,Ubuntu 使用软件包。
主要(巨大)差异在于软件包具有所谓的依赖关系,因此 APT 等系统可以在安装您选择的软件包之前下载所有必要的依赖关系。当然,有时所有依赖关系都已满足,因此只需安装一个软件包。
软件包setup.exe
是单个二进制文件中文件的集合。在大多数情况下,这是某种压缩档案。在 MS-Windows 下,它们通常使用 zip。Debian / Ubuntu 软件包使用 ar 和 tar(ar 作为包装器,tar 用于保存软件包的所有文件。)
因此,根据软件的一般定义,一个包通常可以看作是一个软件(程序)。它需要自动安装的依赖项,这是人为的。但是,有些软件包本身并不是软件。也就是说,-doc 软件包可能只是 HTML 或 man 文件。其他软件包仅包含调试符号。
作为一名程序员,我会说软件是安装在/usr/bin
(或等同于)下的文件。这些文件是实际的脑软件,即将编译好的程序发送到计算机的 CPU 来执行操作。
答案2
软件包就像盒子一样,里面装有“构建”软件所需的所有组件。当您使用 APT 安装软件时,您基本上是从存储库下载 DEB(Debian)软件包,然后使用此软件包附带的“部件”构建软件。所以是的,您在 Ubuntu 中使用软件。Ubuntu 本身就是一个软件。软件包只是编译(构建)程序的简单方法。
为了清楚起见,软件是用户和硬件之间进行通信的工具。