为什么 add-apt-repository --remove 不删除 ppa 列表

cho*_* Lu 5 ubuntu

我想删除一个ppa,这是一个非常基本的东西。但似乎我的 ubuntu 不能很好地工作。我知道有很多类似的问题,我提出了一些让我感到困惑但在其他问题中没有提到也没有很好解释的问题。

我曾尝试使用“sudo add-apt-repository --remove”和“sudo apt-get purge”,但它们都没有按预期工作。ppa 源列表文件仍然存在。

这是代码:

首先,检查sources.list.d中的第三方ppa列表

xx:~$ cd /etc/apt/sources.list.d
xx/etc/apt/sources.list.d$ ls
Run Code Online (Sandbox Code Playgroud)

结果:

artfwo-ubuntu-ppa-bionic.list       something else.list
Run Code Online (Sandbox Code Playgroud)

现在,假设我想删除 'artfwo' ppa

  1. 使用 apt 和 --remove:
sudo apt-add-repository --remove ppa:artfwo/ppa

This archive contains SuperCollider packages, some packages, related to bug 217611, libvorbis with aoTuV beta5.5 patchset and test packages of various projects.
More info: https://launchpad.net/~artfwo/+archive/ubuntu/ppa
Press [ENTER] to continue or Ctrl-c to cancel removing it.
(I clicked Enter)
xx:/etc/apt/sources.list.d$ 
Run Code Online (Sandbox Code Playgroud)

按 [ENTER] 确认,没有任何反应。检查ppa列表使用'ls':

sudo apt-get update
ls
Run Code Online (Sandbox Code Playgroud)

结果:

artfwo-ubuntu-ppa-bionic.list       something else.list
Run Code Online (Sandbox Code Playgroud)

artfwo ppa 列表仍然存在!更令人困惑的是,如果再次使用 apt --remove :

sudo apt-add-repository --remove ppa:artfwo/ppa
This archive contains SuperCollider packages, some packages, related to bug 217611, libvorbis with aoTuV beta5.5 patchset and test packages of various projects.
More info: https://launchpad.net/~artfwo/+archive/ubuntu/ppa
Press [ENTER] to continue or Ctrl-c to cancel removing it.
Run Code Online (Sandbox Code Playgroud)

它仍然可以找到刚刚通过命令删除的 artfwo ppa,并且仍然要求我确认删除。因此,如果 apt-add-repository --remove 不删除 ppa 列表,则两者都无法检测到已删除的 ppa。它的意义何在?

  1. 使用清除
sudo apt-get install purge
sudo ppa-purge ppa:artfwo/ppa
Run Code Online (Sandbox Code Playgroud)

结果:

Updating packages lists
PPA to be removed: artfwo ppa
Warning:  Could not find package list for PPA: artfwo ppa
Run Code Online (Sandbox Code Playgroud)

它找不到 artfwo ppa!

不过,使用 'ls' 来检查 ppa 列表:

sudo apt-get update
ls
Run Code Online (Sandbox Code Playgroud)

结果:

artfwo-ubuntu-ppa-bionic.list       something else.list
Run Code Online (Sandbox Code Playgroud)

artfwo ppa 列表没有被清除。

我知道这可能是因为我之前使用 apt-add-repository --remove 成功删除了它。但是,sources.list.d 中仍然存在源列表,apt-add-repository --remove 仍然可以检测到它,甚至再次要求我确认删除,这些东西,相反,表明 ppa 仍然存在。

总体:

  1. 为什么“apt-add-repository --remove”和“ppa-purge”都没有删除sources.list.d中的列表文件?留下东西看起来很烦人!
  2. 为什么在 ppa 源上使用 'apt-add-repository --remove' 并确认后,它仍然可以一次又一次地在同一个 ppa 源上使用?真的会删除ppa存储库吗?