我正在尝试全面了解后端常用术语的实际含义。“安装”程序是否仅仅意味着程序进入某个目录(通常是/bin
或 )/opt
,并将其名称添加到文件PATH
中.profile
?
我一直以为安装程序意味着会有大量文件和对现有文件的修改分散在操作系统的各个地方。事实果真如此吗?
如果是的话,如何卸载类似的东西?我喜欢保持操作系统干净整洁,所以如果我能简单地从中删除二进制文件就好了/bin
,但如果安装确实在操作系统中留下了大量更改,我不知道如何清理安装。
它是如何工作的?
答案1
基线
“安装”程序是一个广义的术语。实际定义是
将(设备或机械)放置或固定到可供使用的位置。
所以基本上,只要将某物置于正确的位置和设置中,它就能正常运作和使用。这是我将在本回答中一直使用的术语的定义。
过程
APT(先进封装工具)
实际的“幕后”过程apt-get
可以通过以下方式很好地解释:穆鲁在这个帖子.这基本上涵盖了什么该命令的作用以及它访问的内容。我链接到他的答案是因为我不想在另一个问题上重复相同的答案,我只是想引用它。
基本安装概念
理论上,只需将可执行文件移动到bin
文件夹并让 bash 环境将该文件夹作为其指向PATH
,以及将任何其他文件移动到另一个目录(通常是/var/
)并由可执行文件引用,就可以“安装”某些东西。但是,正如我在本回答后面提到的,软件包下载和移动的内容在不同的软件包之间差别很大。因此,除非您安装的是您自己的软件包并且您知道将文件放在哪里(即使如此,您也应该将其打包成一个.deb
文件以保持自主性),否则这个过程并不是特别有用非常基本套餐。
额外文件
APT(先进封装工具)
这对于安装的每个软件包来说都有很大差异。这主要与依赖项有关,因为这些是你不需要的东西明确地告诉Ubuntu 安装,但它需要正确安装您指定的软件包。如果您想删除这些文件,那么理论上,您必须手动检查每个已安装的依赖项并删除它们。但是,有两种方法可以处理这些文件而无需这样做。apt-get
附带两个有用的命令,
apt-get remove --purge [package]
apt-get autoremove
第一个命令告诉 Ubuntu 删除所有配置/额外文件以及特定软件包的核心文件。但是,这不会删除随软件包安装的依赖项。为此,我们必须使用第二个命令。
第二条命令告诉 Ubuntu 删除所有孤立包。孤立包是作为依赖项安装的包,但其他包不再需要它。执行这两个命令将删除最初从原始安装中下载/安装的所有文件。
安装的软件包中可能还有其他需要手动恢复的次要内容,例如附加配置文件或默认应用程序关联,但这些应该很容易恢复。
基本清除概念
正如基本安装概念如上所述,您实际上只需将所有必需的文件移动到 bash 和系统环境引用的正确路径即可。要清除系统中的这些文件,只需通过返回到放置它们的目录并将其从那里删除来逆转该过程。这通常不适用于大多数已安装的软件包,但这是基本概念。