如何删除 PPA?

Dav*_*ord 1441 apt ppa

我使用该add-apt-repository命令添加了许多 PPA 。有没有一种简单的方法可以删除这些 PPA?我已经检查/etc/apt/sources.list了适当的 deb 行,但它们不在那里。

这是在服务器系统上,所以命令行解决方案会很棒!

小智 1807

有多种选择:

  1. 使用--remove标志,类似于添加 PPA 的方式:

    sudo add-apt-repository --remove ppa:whatever/ppa
    
    Run Code Online (Sandbox Code Playgroud)
  2. 您还可以通过.list/etc/apt/sources.list.d目录中删除文件来删除 PPA 。

  3. 作为更安全的替代方案,您可以安装 ppa-purge:

    sudo apt-get install ppa-purge
    
    Run Code Online (Sandbox Code Playgroud)

    然后删除 PPA,将其提供的包优雅地降级为官方存储库提供的包:

    sudo ppa-purge ppa:whatever/ppa
    
    Run Code Online (Sandbox Code Playgroud)

    请注意,这将卸载 PPA 提供的软件包,但不会卸载官方存储库提供的软件包。如果你想删除它们,你应该告诉它 apt:

    sudo apt-get purge package_name
    
    Run Code Online (Sandbox Code Playgroud)
  4. 最后但并非最不重要的是,您还可以通过单击几下鼠标(无需终端)从 Ubuntu 设置的“软件源”部分禁用或删除 PPA。

  • 我得到 `add-apt-repository: error: no such option: --remove` :-/ (30认同)
  • 这将从存储库列表中删除 PPA,但如果该软件包是标准存储库中某个软件包的较新版本,则您必须随后手动降级该软件包。ppa-purge(请参阅其他答案)为您做到这一点。 (29认同)
  • 它应该是`sudo apt-add-repository --remove ppa:repo_name/subdirectory` (7认同)
  • 同样,我得到 `add-apt-repository: error: no such option: --remove` 和 `add-apt-repository: error: no such option: -r` (7认同)
  • 如果 `--remove` 标志不起作用,上面的答案应该用下面提供的信息进行修改。具体来说,删除`/etc/apt/sources.list.d`目录中的条目 (4认同)
  • 如果我的 repo 以 `https://` 而不是 `ppa:` 开头,我该怎么办? (3认同)
  • @chtfn 我认为这就是问题所在,是的,它们会过时。当然取决于包,但这肯定是一个问题。 (2认同)
  • @Hrvoje T `add-apt-repository` 不会卸载应用程序,它只会删除存储库,以便将来不会检索/安装更新。(与大多数命令一样,您可以通过键入 `man <command>` 来阅读手册页,在本例中为:`man add-apt-repository`。) (2认同)

ish*_*ish 284

只需apt-add-repository再次运行并--remove选择删除通过命令行添加的 PPA。例如:

sudo apt-add-repository --remove ppa:kernel-ppa/ppa
Run Code Online (Sandbox Code Playgroud)

然后更新:

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

  • 如上所述; 我正在运行 13.10 并且我得到 `add-apt-repository: error: no such option: --remove` (6认同)
  • 作为记录,--remove/-r 标志是在 10.10 中添加的。来源:http://askubuntu.com/a/18202/41756 (5认同)

小智 221

或者,如ppas存储在/etc/apt/sources.list.d你可以找到你想要进入删除之一:

ls /etc/apt/sources.list.d
Run Code Online (Sandbox Code Playgroud)

然后,当您记下该违规 ppa 的名称(例如myppa.list)时,您可以输入:

sudo rm -i /etc/apt/sources.list.d/myppa.list
Run Code Online (Sandbox Code Playgroud)

小心rm (因此我使用交互式开关,以便您可以确认您的操作。然后运行sudo apt-get update

这个方法只是删除ppa.list文件;它不会删除任何其他文件或解决由以下原因引起的任何其他问题ppa;对,你可以使用ppa-purge你已经得到了你的能力,更新回来(我知道你在你的问题中提到这一点,但我加入了这点,未来的读者)后:看到这里的更多信息ppa-purge

还要考虑到,如果您之前将 repo 的密钥添加为受信任的,则应将其删除

# list the trusted keys
sudo apt-key list
# remove the key
sudo apt-key del KEY_ID
Run Code Online (Sandbox Code Playgroud)

  • 在 Ubuntu 16 及更高版本上,删除密钥时,KEY_ID 是 `pub` 第二行的*最后 8 个字符*。例如你看到`EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796`,在这种情况下KEY_ID是`D38B4796`所以你这样做:`sudo apt-key del D38B4796` (3认同)
  • 请注意,在列出密钥时,它们将包含类似“pub 2048R/5044912E 2010-02-11”的行。在这种情况下,要删除此密钥,`KEY_ID` 是 `5044912E`。请参阅 https://askubuntu.com/a/107189/108037。我提到这一点是因为当传递 `2048R/5044912E` 作为密钥 ID 时,`apt-key del` 静默失败并显示 `OK`。 (2认同)

小智 129

您可以使用

sudo ppa-purge ppa:repository-name/subdirectory
Run Code Online (Sandbox Code Playgroud)

终端中的命令。

您首先需要安装ppa-purge才能使用此命令。为此,请使用sudo apt-get install ppa-purge或单击此按钮:

通过软件中心安装
(来源:hostmar.co

在此处了解更多信息。

  • 哟,这对我不起作用,但我非常喜欢这种语法,无论如何我都会投票支持它。 (9认同)
  • 这不适用于已删除的存储库,在这种情况下它会失败并显示“警告:找不到 PPA 的包列表:存储库名称子目录”。 (6认同)

Mic*_*haw 47

这个问题的答案会对你有所帮助。

您可以System > Administration > Software Sources/etc/apt/sources.list.d/.

您还可以使用名为ppa-purge的包。

而且,当我评论我上面链接的问题时,

Launchpad 上存在一个错误,要求为 add-apt-repository 命令提供 --remove 参数。我已提交合并请求以实现该功能,但尚未被接受。希望你很快就会拥有这个功能。

  • 仅供参考,在 Ubuntu 16.04 中找到 PPA 列表的方法是“系统设置 -> 系统 -> 软件和更新 -> 其他软件” (4认同)
  • 我在“Ubuntu 软件中心 > 编辑 > 软件源”中找到了它。 (3认同)

nha*_*ler 34

有些人可能更喜欢通过 GUI 添加和删除存储库。从 Ubuntu 10.10 开始,这需要一些额外的工作。wiki上提供了解释。为了尝试在一个地方提供这个问题的所有答案,我将尝试在这里总结重要的细节。请务必检查 wiki(尤其是在发布新版本的 Ubuntu 后)以确保此过程仍然有效。

首先,您需要在系统-> 管理菜单中重新启用“软件源”。右键单击应用程序/位置/系统菜单,然后单击“编辑菜单”。

点击“编辑菜单”

这将打开一个窗口,向下滚动并单击“管理”。选中“软件源”旁边的框,然后单击“关闭”按钮。

选中“软件源”旁边的框

转到系统-> 管理,您应该会在菜单中看到“软件源”。

“软件来源”现在在菜单中

在打开的窗口中,单击顶部的“其他软件”选项卡。

“其他软件”选项卡

您应该会看到您添加的所有存储库(包括通过 add-apt-repository 添加的 PPA)。您可以通过取消选中旁边的框来暂时禁用存储库。要永久删除存储库,请突出显示它并单击“删除”按钮。完成后,点击“关闭”按钮。

正如马塞尔·斯蒂姆伯格早些时候指出的那样:

这将从存储库列表中删除 PPA,但如果该软件包是标准存储库中某个软件包的较新版本,则您必须随后手动降级该软件包。ppa-purge(请参阅其他答案)为您做到这一点。

希望这会有所帮助。


HDa*_*ave 26

ppa-purge是你的朋友。它会自动卸载您通过 ppa 安装的任何内容,然后删除 ppa。

通过以下方式安装 ppa-purge:

sudo apt-get install ppa-purge

并像这样使用它:

sudo ppa-purge ppa-url

中提琴。

  • OP 确实已经尝试过 ppa-purge。 (2认同)

Pau*_*tas 23

由于 Ubuntu Maverick (10.10)add-apt-repository接受一个-ror--remove参数,它以与安装 PPA 相同的方式删除 PPA。:)

所以:

安装: sudo apt-add-repository ppa:user/repository

卸载: sudo apt-add-repository -r ppa:user/repository

  • 谢谢!我使用 sudo apt-add-repository -r ppa:user/repository 从 New Linux Counter Project 卸载顽固的 ppa。我尝试了很多命令行和建议,但没有一个有任何帮助,只有你的有用!谢谢!一个信息:它也适用于 12.04 LTS,不仅适用于 Maverick。 (2认同)

mró*_*ówa 20

运行 Ubuntu 软件中心,然后从菜单中选择“软件源”——您可以在那里添加/编辑/删除存储库。


小智 14

运行这些命令:

sudo add-apt-repository --remove ppa:kernel-ppa/ppa 
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)


Li *_* Lo 11

根据是使用完整的 sources.list 行还是 ppa 调用 add-apt-repository,它将该行附加到 /etc/apt/sources.list 或 /etc/apt/sources.list.d/ 目录中的新文件. 如果它是 ppa,它将把 pp​​a GPG 密钥导入到 apt 的密钥环中

要逆转由 add-apt-repository 完成的操作,您可以手动删除 apt 行或使用“软件源”之类的工具来执行此操作,然后使用 apt-key 删除 GPG 密钥,如下所示:

“sudo apt-key list”找出要删除的存储库的ID,然后
“sudo apt-key del id”,其中看起来像7FAC5991。id 是“/”字符之后的部分。


Dav*_*end 11

使用 add-apt-repository

注意:此解决方案不会删除/降级与存储库关联的包。

add-apt-repository命令具有删除存储库的选项,该选项用-r. 您只需要知道要在途中发送的 PPA。使用以下命令:

sudo add-apt-repository -r ppa:REPOSITORY/HERE
Run Code Online (Sandbox Code Playgroud)

...将“PPA/HERE”更改为您要删除的 PPA。

来源: 如何在 UBUNTU 中使用 LAUNCHPAD PPA(添加、删除、清除、禁用)


使用 ppa-purge

注意:此解决方案将清除 PPA,并从中降级所有软件包。

安装使用:

sudo apt install ppa-purge
Run Code Online (Sandbox Code Playgroud)

要使用ppa-purge你会做:

sudo ppa-purge ppa:REPOSITORY/HERE
Run Code Online (Sandbox Code Playgroud)

...将“REPOSITORY/HERE”更改为您要删除的存储库。

来源:通过 命令行删除或清除 PPA 存储库 [快速 UBUNTU 提示]


使用软件和更新

注意:此解决方案不会删除/降级与存储库关联的包。

搜索“软件和更新”(或software-properties-gtk)并启动它,然后选择选项卡 ->“其他软件”。要删除存储库,请取消选中它,然后单击“关闭”,最后单击“刷新”。

在此处输入图片说明


Cod*_*dly 10

如果您谈论的是通过 PPA 安装的实际应用程序,它们将与任何其他应用程序一样列出,您可以以相同的方式卸载它。PPA(存储库)本身将列在“设置”->“存储库”菜单的“其他软件”选项卡下。它们可以像任何其他来源一样被删除。

Synaptic Repository/PPA 屏幕截图


mxd*_*dsp 8

您可以使用y-ppa-manager

安装 :

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager
Run Code Online (Sandbox Code Playgroud)

用 :

打开 Y PPA 管理器并选择 Manage PPAs

在此处输入图片说明

选择要删除的 PPA,然后单击Remove按钮

在此处输入图片说明


Mar*_*ppi 7

您可以在 System > Administration > Software Sources

您也可以/etc/apt/sources.list.d/在可以找到<repo>-ppa-<distro>.list文件的位置删除它们您可以删除该文件或简单地注释掉 deb 行


Dan*_*ker 7

在Linux Mint的不存在--remove-r交换机add-apt-repository。如果要删除存储库,则必须手动执行。这并不难:

  1. 列出所有已安装的存储库。

    ls /etc/apt/sources.list.d
    
    Run Code Online (Sandbox Code Playgroud)

    这列出了,例如:

    getdeb.list  natecarlson-maven3-trusty.list  official-package-repositories.list
    
    Run Code Online (Sandbox Code Playgroud)
  2. 找到要删除的存储库的名称。
    就我而言,我想删除natecarlson-maven3-trusty.list.

  3. 删除存储库。

    sudo rm -i /etc/apt/sources.list.d/natecarlson-maven3-trusty.list
    
    Run Code Online (Sandbox Code Playgroud)
  4. 列出所有 GPG 密钥。

    apt-key list
    
    Run Code Online (Sandbox Code Playgroud)

    这列出了,例如:

    /etc/apt/trusted.gpg
    --------------------
    pub   1024D/437D05B5 2004-09-12
    uid                  Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
    sub   2048g/79164387 2004-09-12
    
    pub   1024D/FBB75451 2004-12-30
    uid                  Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>
    
    pub   4096R/46D7E7CF 2009-05-15
    uid                  GetDeb Archive Automatic Signing Key <archive@getdeb.net>
    
    pub   1024R/3DD9F856 2011-04-15
    uid                  Launchpad PPA for Nate Carlson
    
    Run Code Online (Sandbox Code Playgroud)
  5. 找到要删除的密钥的密钥 ID。密钥 ID 是/.
    就我而言,我想删除 Nate Carlson 密钥,因此 ID 为3DD9F856.

  6. 取下钥匙。

    sudo apt-key del 3DD9F856
    
    Run Code Online (Sandbox Code Playgroud)
  7. 更新包列表。

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

完毕!


Mar*_*nas 6

有一个命令,add-apt-repository -r

但是删除文件并重新运行sudo apt-get update也可以。


joh*_*vdw 6

除了已经提到的解决方案:如果您仍然从该存储库安装了软件,最好将它们恢复到 ubuntu 提供的原始版本:来自 ppa 的那个将不再获得(安全和其他)更新。有一个工具可以做到这一点:ppa-purge https://packages.ubuntu.com/search?keywords=ppa-purge


pap*_*ija 6

这取决于。如果您已经从 ppa 安装了一个新应用程序,那么您可以正常卸载它。但是,如果您启用了 ppa 来获取您已经安装的程序的更新版本(Firefox 4、更新的 Xorg 驱动程序等),那么您需要使用名为 ppa-purge 的程序。

Ppa-purge 在 Maverick 和更新版本的存储库中可用。Lucid 用户可以使用向后移植。只需安装它然后运行

sudo ppa-purge ppa:repository-name/directory
Run Code Online (Sandbox Code Playgroud)

上述命令将从您的软件源中禁用 ppa,然后从 Ubuntu 存储库重新安装升级应用程序的官方版本。


Mat*_*att 5

天哪!Ubuntu!提到此功能已添加到“调整”PPA 中。

大概一旦它在宇宙中,你就可以用它来移除自己:)


Gee*_*elu 5

您可以使用Ubuntu-Tweak,这使得编辑 ppa 变得非常容易。您可以手动删除 ppa,或者当 Ubuntu-Tweak 知道它时,只需单击一个按钮即可。


Enz*_*Chi 5

您可以尝试下面的这些命令,它非常适合我删除 Linux 内核 3.5 (ppa:xorg-edgers/ppa)。

sudo apt-get install ppa-purge
sudo ppa-purge ppa:<XXX>/<YYY>
Run Code Online (Sandbox Code Playgroud)


Igo*_* V. 5

删除所有 PPA'a 的最简单方法是:

cd /etc/apt/sources.list.d && sudo rm -i *list*
Run Code Online (Sandbox Code Playgroud)

它将首先带您到包含sources.list.d然后rm(删除)基本上所有名称中带有单词列表的文件的目录