我最近从 Windows 转到 Linux,我有一个问题,当安装软件变得混乱时,Ubuntu/Linux 如何处理文件重复的问题。举个例子,让我谈谈我现在遇到的问题;安装 Ruby On Rails。在下载过程中出现错误(与此主题无关),为了解决这个问题,我回到安装的开始并运行所有必需的步骤,重新下载我已经下载的大部分内容。我习惯了 Windows 用重复的文件堵塞一切,我的感觉是 Ubuntu 比这更聪明。Ubuntu 如何处理用户下载多个东西?每次安装之前,它都会检查系统中是否已经存在某个关键文件,如果存在,它就不会下载任何文件?在终端中,我从未收到过系统发出的消息,内容如下,
“用户 Alex 已经下载了此包”
这正是我所期望的。我真的很想得到关于这里发生的事情的详细但非技术性的解释。
答案1
Ubuntu 基于 Debian,因此使用易于。如果您想了解更多详细信息,请查看该 wiki 页面。
...但要回答你的一些问题:
首先,安装包会被缓存在 中
/var/cache/apt/archives
。如果某个包已被缓存,则除非有新版本可用,否则不会再次下载该包。其次,APT 会跟踪已安装的软件包,因此,如果您尝试安装已安装的软件包,您将收到一条消息,提示该软件包已经是最新版本:
~$ sudo apt-get install zsync Reading package lists... Done Building dependency tree Reading state information... Done zsync is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
第三,APT 通常以 root 身份运行,这样普通的非特权用户就不会下载和安装软件。