我对 Ubuntu 还很陌生。我刚刚从 Windows 迁移到 Ubuntu 13.10。
在使用 Windows 时,通常做法是下载软件、将下载的文件保存在不同的分区中,然后使用可执行的 .exe 安装程序在计算机中安装该软件。
我一直在使用 Ubuntu 安装应用程序
sudo apt-get install <package-name>
在此过程中,我无法在安装之前存储软件的副本。是否有执行此操作的过程?Ubuntu 甚至不会询问我将软件下载到的路径。我也没有被要求提供操作系统要安装软件的路径。
我无法理解正在发生的过程。
答案1
Linux 软件以软件包形式组织,并且apt
是管理这些软件包的软件。软件包可能依赖于许多其他软件包才能运行。例如,如果您安装 Wine 的软件包,apt
将报告wine
依赖于其他几个包,而这些又依赖于为 Wine 执行某些操作的其他软件包,例如字体、文件系统实用程序、文件类型支持等。
以这种方式组织软件有很多优点。
- 无需安装两次软件。
- 删除和安装软件包非常容易,因为它是全自动的。
- 删除软件始终是非侵入性的。
- 升级软件非常简单。
- 无需跟踪一堆下载的可执行安装程序文件。
在 Windows 中,程序会有一个大文件夹,里面保存着所有软件二进制文件、图标、配置文件以及特定程序的整个 blob。在 Linux 中,系统使用的所有图标 ( /usr/share/icons
)、所有二进制文件 ( /bin
)、所有固件文件 ( /lib/firmware
) 以及其余文件都有一个专用文件夹。软件的软件包文件会跟踪整个系统中的所有文件。这样查找起来就容易多了。
当你安装包时,会发生以下情况:假设你调用以下命令sudo apt-get install libreoffice
:
- 系统会检查计算机上的软件包列表(位于 中
/var/lib/apt/lists
)中是否存在名为 的软件包libreoffice
。列表提供了有关所有不同可安装软件包的信息,这些信息存储在http://archive.ubuntu.com/。该网站并非供用户浏览(见下文),而是供 apt 使用。检查软件包的依赖关系(在libreoffice
的情况如果需要安装依赖项,则会按照正确的顺序将它们添加到要安装的包列表中。 - 所有软件包均从以下网站下载http://archive.ubuntu.com/。 如果你有选择不同的镜像为了获得更快的速度,可以从那里下载。
- 这打包文件本身是档案其中包含程序数据的存档、数据存放位置信息以及有关软件包的更多详细信息。软件包将单独解压缩,然后根据存档中软件包控制信息的详细信息进行设置。然后运行任何特定脚本并更改配置文件。
- 同时,apt 会跟踪软件包的状态:是否已安装、部分安装还是未安装。
如果你想知道“幕后”发生了什么,你可以检查软件包在系统上安装的文件http://packages.ubuntu.com/。如果需要,您还可以从那里下载 .deb 软件包文件,但通常您不想这样做。您还可以使用apt
下载并查看软件包的详细信息。
- 要下载包文件及其依赖项:
sudo apt-get download <package>
- 要查看包的详细信息:
sudo apt-cache showpkg <package>
- 要查看您已下载的软件包(此目录通常是写保护的,普通用户无法访问):
ls /var/cache/apt/archives
- 要清除缓存并节省磁盘空间:
sudo apt-get clean
总而言之,在 Linux 中,用户无需知道软件包的所有文件保存在哪里以及安装软件包时具体做了什么,除非您正在执行明确需要这些知识的高级操作。您可以使用功能强大的软件中心查看已安装的程序,并使用它安装和删除它们。
答案2
Ubuntu 的设计使得通过 安装的软件包apt-get
可以放置在正确的位置,因此一切都可以顺利进行,您无需担心下载到哪里、安装到哪个目录等问题。sudo apt-get install <packagename>
将软件包的副本下载到/var/cache/apt/archives
,以便您可以在那里查找以前安装的软件包。或者,您可以运行apt-get download <packagename>
将软件包文件下载.deb
到当前目录,而无需安装它(可以稍后通过 安装sudo dpkg -i filename.deb
)。但是,对于大多数用户来说,最简单的方法是使用标准sudo apt-get install ...
命令,而不必担心备份或意外不安装先前下载的内容。
答案3
导航到 /var/cache/apt/archives。当您输入 sudo apt-get install program-name 时,它会将程序及其依赖项下载到该位置。只需将文件从那里复制到备份位置即可。如果您想重新安装它们或将它们安装在另一台计算机上,只需将它们粘贴回去,断开与互联网的连接,然后输入常规安装命令 sudo apt-get install program-name。或者,您也可以在计算机上设置本地存储库。