如何安全地移除包裹

Gyp*_*aut -1 apt

我正在尝试不同的包管理器,我做到了

apt-get install aptitude && apt-get install apt
Run Code Online (Sandbox Code Playgroud)

然后我不喜欢apt所以我做了

apt-get remove apt
Run Code Online (Sandbox Code Playgroud)

它警告我你即将做一些有害的事情,请输入短语“是的,按我说的做!”

我这样做是因为我之前在 StackExchange 上读过apt-get remove它只删除文件,而不是任何配置,所以它比 更安全apt-get purge,而且我认为这apt只是我正在删除。

然后我尝试安装其他软件,当它说

bash: /usr/bin/apt-get: No such file or directory
Run Code Online (Sandbox Code Playgroud)

它删除了我的apt-get apt-cache和其他包。

  • 为什么?
  • 我如何再次安装 apt-get 和类似的软件包?
  • 将来如何在使用apt-get removeapt-get purge仅安全删除我安装的内容时不犯类似错误?

Ste*_*itt 6

apt包包含,除其他外,

/usr/bin/apt
/usr/bin/apt-cache
/usr/bin/apt-cdrom
/usr/bin/apt-config
/usr/bin/apt-get
/usr/bin/apt-key
/usr/bin/apt-mark
Run Code Online (Sandbox Code Playgroud)

删除软件包时,您也删除了所有这些文件。

要重新安装,您需要检索软件包。它们可能仍在您的本地缓存中,因此

dpkg -i /var/cache/apt/archives/apt_*deb /var/cache/apt/archives/libapt-pkg*deb
Run Code Online (Sandbox Code Playgroud)

应该恢复工作配置。如果没有,您需要从发行版的存储库中下载软件包,例如,对于 Kali,您需要pool 中aptlibapt-pkg5.0软件包。apt

为避免将来发生此类情况,除非您真的知道自己在做什么,否则不要确认有害操作。您可以通过列出其内容来检查删除包时将删除的内容dpkg -L例如在这种情况下dpkg -L apt(安装了包)。