完全卸载与软件包一起安装的相关软件包

完全卸载与软件包一起安装的相关软件包

我如何删除我已安装或系统已安装的完全相同的东西,例如添加对某种语言的支持?是否有我可以遵循的程序?Apt-get remove、autoremove 或 purge 不是我想要的,它会留下一些东西。

我目前正在研究debfoster,但我希望我能监督一些更简单、更本土化的东西。

此时我必须从快照恢复我的系统以使其进入以前的设置,我正在开发国际应用程序,当我安装和卸载例如中文时,我最终会得到几个以前不存在的不需要的字体,这使我的测试变得毫无意义。

更新:

为了更新和澄清我的问题,我已经知道软件包安装是在一个月前记录的,我问如何正确删除中文支持我找到了一个解决方案,安装的软件包(包括我想删除的字体)只在 /var/log/dpkg.log 中。我正在寻找自动化或一些工具,可以自动执行此操作,这样我就不必在每次安装和卸载新语言或应用程序时处理日志。显然,Ubuntu 有一个小缺陷,它不会在删除语言时卸载字体,我确实安装了一种新语言,然后每天删除几次进行测试,我今天编写了一个脚本,我将日志中的所有内容都放在其中,不会卸载,我仍然希望我是在重新发明轮子,并且已经有一些程序可以跟踪软件包正在接触的文件和其他内容,并确保在删除时将其删除。

答案1

如果你通过包管理器(apt-getdpkgsynaptic)安装了“东西”,那么所有内容都会被记录下来/var/log/apt/*。只需进行简单的编辑即可生成apt-get purge命令。

如果您通过其他方式安装了“东西”(sudo make install,,/usr/bin/cpan...),则必须使用相同的方法将其卸载。

为了让您以后的生活更轻松,特别是如果您使用第二种方法,请考虑安装和使用installwatch。从man页面:

trusty (1) installwatch.1.gz
Provided by: checkinstall_1.6.2-4ubuntu1_i386

NAME

       installwatch — Track installation of software

SYNOPSIS

       installwatch [options]  [command]

DESCRIPTION

       installwatch  is  a  program that is used in order to track the changes
       made  while  installing  local  software  (i.e.   "make  install").  It
       monitors  the requested command, and produces a log which indicates all
       created and modified files.

答案2

我问题中提到的应用程序debfoster终究是起到了作用,只是我花了一段时间才弄清楚它是如何使用的。

sudo apt-get install debfoster

生成 keepers 文件,存储在/var/lib/debfoster/keepers

sudo debfoster -q

这个 keepers 文件包含所有当前安装的软件包,下次安装某些软件包时,只需运行:

sudo debfoster

它将开始列出自上次生成 keepers 文件以来安装的所有软件包。系统将询问 9 个选项,其中前 4 个很重要:

Yes        Keep the package. [default]
No         Delete the package.
Prune      Delete the package and the packages it is keeping installed.
Skip       Skip this question.

更多信息man debfosterdebfoster --help

这实际上甚至列出了使用 apt-get autoremove 或使用语言设置 GUI 卸载语言包时省略的字体。

答案3

我认为您所说的“相关”软件包是 apt 或 apt-get 提到的“附加”软件包(安装时)和“自动安装”软件包(删除时)。

据我了解答案,sudo apt autoremove如果运行,不应该留下任何东西您的特定程序/包已被卸载。

查看卸载程序,其安装(使用 apt 或 apt-get)带来了什么 - 按照链接的答案:

首先,运行sudo apt autoremove以便 apt 从“干净”状态启动。

然后,模拟删除您的程序/包并记下自动安装的包:

sudo apt-get remove --dry-run YOUR_PROGRAM

这将给出类似

The following packages were automatically installed and are no longer required:
  THE_LIST_OF_PACKAGES
Use 'sudo apt autoremove' to remove them.

卸载 YOUR_PROGRAM 后,如果愿意,请执行以下操作

sudo apt remove <THE_LIST_OF_PACKAGES>

代替sudo apt autoremove


至于debfoster,如果你在安装程序之前已经安装了它并创建了 keepers 文件,那么查看程序附带了哪些附加软件包的简单方法是使用以下命令

sudo debfoster -r YOUR_PROGRAM

相关内容