如何删除PPA?


1219

我使用add-apt-repository命令添加了许多PPA 。是否有删除这些PPA的简单方法?我已经检查/etc/apt/sources.list了合适的Deb行,但它们不存在。

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


11
Launchpad上有一个错误(bugs.launchpad.net/software-properties/+bug/446216)为add-apt-repository命令请求--remove参数。我已经提交了合并请求(code.launchpad.net/~mac9416/software-properties/…)以实现该功能,但尚未被接受。希望您很快就会有此功能。
Michael Crenshaw,2010年

这真是个好消息。令我有些生气的是,没有命令可以撤消添加。有点像只安装的能力!ppa-purge很好,但这甚至不在官方的回购协议中。
David Ashford 2010年

1
有关。(特别是看到我的这个答案为获得ppa-purge与multarch工作。)
利雅卡根

1
我可以建议尝试先搜索不必要的内容然后进行del(rm -rf)的搜索:grep -i WhatYouWantTosearch /etc/apt/sources.list{,.d/*}
弗拉基米尔Ch

2
使用GUI: sudo synaptic>配置>存储库> PPA>(选择PPA)>删除(可能“删除”,不确定翻译是否正确,我只能检查另一种语言的程序选项)。
弗朗

Answers:


1533

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

sudo add-apt-repository --remove ppa:whatever/ppa

作为更安全的选择,您可以安装ppa-purge:

sudo apt-get install ppa-purge

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

sudo ppa-purge ppa:whatever/ppa

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

sudo apt-get purge package_name

您也可以通过.list/etc/apt/sources.list.d目录中删除文件来删除PPA 。

最后但并非最不重要的一点是,您还可以通过单击几下鼠标(无需终端)从Ubuntu设置的“软件源”部分禁用或删除PPA。


27
这将从存储库列表中删除PPA,但是如果软件包是标准存储库中的PPA的较新版本,则必须在此后手动将其降级。ppa-purge(请参阅其他答案)可以为您完成此任务。
Marcel Stimberg 2010年

30
我得到add-apt-repository: error: no such option: --remove:-/
拉法

7
应该是sudo apt-add-repository --remove ppa:repo_name/subdirectory
MountainX

7
同样,我得到add-apt-repository: error: no such option: --removeadd-apt-repository: error: no such option: -r
virtualxtc

66
这几乎与单击“开始”按钮以关闭一样逻辑。
Gauthier 2014年

264

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

sudo apt-add-repository --remove ppa:kernel-ppa/ppa

然后更新:

sudo apt-get update

这会永久删除该PPA吗?
希拉格

1
是的,永久。要再次使用它,必须像第一次使用时一样手动添加。
ish 2012年

5
为了记录,在--10.10中添加了--remove / -r标志。资料来源:askubuntu.com/a/18202/41756
Niels Bom

6
如上所述; 我正在运行13.10,我得到了add-apt-repository: error: no such option: --remove
virtualxtc 2014年

1
@ClainDsilva这是因为您将被困在可能已从PPA安装的任何软件包的本地安装版本上。您应该始终使用ppa-purge。
约翰·斯科特

172

或者,ppas存储在其中,/etc/apt/sources.list.d您可以通过输入以下内容找到要删除的内容:

ls /etc/apt/sources.list.d

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

sudo rm -i /etc/apt/sources.list.d/myppa.list

请注意 rm(因此,为什么要使用交互式开关,以便您确认操作。然后运行sudo apt-get update

此方法仅删除ppa .list文件。它不会删除任何其他文件或解决由引起的任何其他问题ppa; 因为您可以ppa-purge在恢复更新功能后使用它(我知道您在问题中提到了这一点,但是我想为以后的读者添加这一点):有关的更多信息,请参见此处ppa-purge

还应考虑到,如果您以前将存储库的密钥添加为可信密钥,则应将其删除

# list the trusted keys
sudo apt-key list
# remove the key
sudo apt-key del KEY_ID

7
这对我有用,而被接受的答案却没有。
philshem 2014年

我删除了/etc/apt/sources.list.d/文件夹的全部内容,但仍然有4个错误的条目:/为什么现在开始失败……
erm3nda 2015年

请注意,列出密钥时,它们的行会像pub 2048R/5044912E 2010-02-11。在这种情况下,要删除该密钥,KEY_ID则为5044912E。参见askubuntu.com/a/107189/108037。我之所以这样说,是因为作为密钥ID 传递时,它apt-key del默默地失败了。OK2048R/5044912E
jamesc

125

您可以使用

sudo ppa-purge ppa:repository-name/subdirectory

终端中的命令。

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

通过软件中心安装

在这里找到更多关于它的信息


5
这不适用于已删除的存储库,在这种情况下,它将失败并显示“警告:找不到PPA的软件包列表:存储库名称子目录”。
Lekensteyn 2011年

它不适用于Ubuntu 11.10,还是我错了?
数学

9
,这对我不起作用,但是我非常喜欢这种语法,无论如何我还是赞成它。
Conrad.Dean 2012年

@DaveJarvis默认情况下未在任何系统= /上安装。我已经编辑了答案,以包括有关如何安装它的信息。
Alaa Ali

这对我不起作用,显然它没有禁用ppa,然后实际上没有降级软件包。但是,它会打印出软件包列表,例如软件包名称/分发。如果您手动禁用ppa,然后运行apt-get install <complete-list-of-those-packages>,则apt-get会根据输出自动为您降级,我认为这是一样的内部。
贝尔迪尔,2015年

44

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

您可以System > Administration > Software Sources通过或通过删除中的文件来管理PPA /etc/apt/sources.list.d/

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

而且,正如我对上面链接的问题的评论一样,

Launchpad上有一个错误,要求add-apt-repository命令使用--remove参数。我已经提交了合并请求以实现该功能,但尚未被接受。希望您很快就会有此功能。


2
我在中找到它Ubuntu Software Center > Edit > Software Sources
Josh M.

“ ppa-purge”链接不起作用。它给出了404错误。
Cristiana Nicolae 2014年

3
仅供参考,在Ubuntu 16.04中查找PPA列表的方法是System Settings -> System -> Software & Updates -> Other Software
knocte

33

有些人可能更喜欢通过GUI添加和删除存储库。从Ubuntu 10.10开始,这需要一些额外的工作。Wiki上有说明。为了在一个地方尝试并获得针对该问题的所有答案,我将在这里尝试并总结重要的细节。确保检查维基(尤其是在发布新版本的Ubuntu时),以确保该过程仍然有效。

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

点击“编辑菜单”

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

选中“软件来源”旁边的框

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

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

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

“其他软件”标签

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

正如Marcel Stimberg先前指出的那样:

这将从存储库列表中删除PPA,但是如果该软件包是标准存储库中的PPA的较新版本,则必须在此后手动将其降级。ppa-purge(请参阅其他答案)可以为您完成此任务。

希望这会有所帮助。


您无需编辑菜单,在“软件中心”菜单中有一个“软件源”条目。
豪尔赫·卡斯特罗

谢谢。看起来我的gksu出现了问题,导致我一开始尝试时就不了解软件资源。我将在本地解决该问题并更新答案。
nhandler 2010年

更简单,更可靠
Matheus Abreu

25

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

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

sudo apt-get install ppa-purge

并像这样使用它:

sudo ppa-purge ppa-url

中提琴


2
OP已经尝试过ppa-purge。
jokerdino

20

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

所以:

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

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


2
谢谢!我使用sudo apt-add-repository -r ppa:user / repository从New Linux Counter Project卸载了顽固的ppa。我尝试了很多命令行和建议,但是它们都没有任何帮助,只有您自己有用!谢谢!一个信息:它也可以在12.04 LTS中使用,不仅在Maverick中。
克里斯蒂安娜·尼古拉

不客气,@ CristianaNicolae!我已经根据您的建议更新了答案,谢谢!:)
Paulo Freitas 2014年

我正在运行13.10,但我得到了add-apt-repository:错误:没有这样的选项:-r
virtualxtc 2014年

1
@virtualxtc我目前正在运行Ubuntu 14.04,它仍然有自己的选择-r--removeapt-add-repository命令。因此,我认为您正在使用的修改或过时版本apt-add-repository。该实用程序由python-software-properties软件包提供,也许您使用的是锁定版本。您可以在此处查看其源代码:bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty / ...这些删除选项是在2010年末修订版47中引入的。因此,它们从10.10开始存在,并且从未更改过,您可以参见源代码。
Paulo Freitas

还有其他几个用户报告了相同的问题,因此此锁定必须是很常见的事情。陌生人仍然是-r --remove标志选项在man / help文件中列出,但仍会产生所述错误。下次我在Ubuntu中时,我将看看我的python-software-properties。
virtualxtc

18

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


13

运行以下命令:

sudo add-apt-repository --remove ppa:kernel-ppa/ppa 
sudo apt-get update

如上所述; 我正在运行13.10,我得到了add-apt-repository: error: no such option: --remove
virtualxtc 2014年

10

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

要撤消add-apt-repository所做的操作,您可以手动删除apt行,也可以使用“软件源”之类的工具执行该操作,然后使用apt-key删除GPG密钥,如下所示:

单击“ sudo apt-key列表”以查找要删除的存储库的ID,然后
查找“ sudo apt-key del id”,其中看起来像7FAC5991。id是“ /”字符后的部分。


9

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

突触存储库/ PPA屏幕的屏幕截图


9

使用 add-apt-repository

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

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

sudo add-apt-repository -r ppa:REPOSITORY/HERE

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

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


使用 ppa-purge

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

要安装使用:

sudo apt install ppa-purge

要使用ppa-purge您会做的事情:

sudo ppa-purge ppa:REPOSITORY/HERE

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

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


使用软件和更新

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

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

在此处输入图片说明


7

您可以使用y-ppa-manager

安装方式:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

采用 :

打开Y PPA Manager,然后选择 Manage PPAs

在此处输入图片说明

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

在此处输入图片说明


确实是一个方便的工具。
极客长老'18

5

您可以在以下位置管理您的存储库 System > Administration > Software Sources

您也可以在/etc/apt/sources.list.d/找到<repo>-ppa-<distro>.list文件的位置将其删除。您可以删除该文件或仅注释掉deb行


5

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

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


1
我不知道这是什么意思,但是在命令return和apt-get update之后,相应的文件仍然在/etc/apt/list.sources.d中。我手动删除了它们并重新运行更新,不知道是否有必要。
伊万

1
我正在运行13.10,我得到了add-apt-repository: error: no such option: -r
virtualxtc 2014年

1
这太有趣了; 13.10add-apt-repository手册页声称此选项存在。实际上它出现在12.04中。
Marius Gedminas 2014年


5

这取决于。如果您是从PPA安装的新应用程序,则可以正常将其卸载。但是,如果已启用ppa以获得已安装的程序的较新版本(Firefox 4,较新的Xorg驱动程序等),则需要使用名为ppa-purge的程序。

Paver-purge在Maverick和更新版本的存储库中可用。一个反向移植可用于清醒用户。只需安装然后运行

sudo ppa-purge ppa:repository-name/directory

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


5

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

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

    ls /etc/apt/sources.list.d
    

    例如,此列表:

    getdeb.list  natecarlson-maven3-trusty.list  official-package-repositories.list
    
  2. 找到您要删除的存储库的名称。
    就我而言,我想删除natecarlson-maven3-trusty.list

  3. 删除存储库。

    sudo rm -i /etc/apt/sources.list.d/natecarlson-maven3-trusty.list
    
  4. 列出所有GPG密钥。

    apt-key list
    

    例如,此列表:

    /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
    
  5. 找到您要删除的密钥的密钥ID。密钥ID是后面的部分/
    就我而言,我想删除Nate Carlson键,因此ID为3DD9F856

  6. 拔下钥匙。

    sudo apt-key del 3DD9F856
    
  7. 更新软件包列表。

    sudo apt-get update
    

做完了!


薄荷用户还可以使用内置的软件源工具,这对我来说是最方便的解决方案。
user2428118 '17

5

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

cd /etc/apt/sources.list.d && sudo rm -i *list*

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


4

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

大概一旦它进入了宇宙,您就可以使用它来删除自身:)


4

您可以使用Ubuntu-Tweak,这使得编辑ppa非常容易。您可以手动删除ppa,也可以在Ubuntu-Tweak知道后仅单击一个按钮即可删除。


4

您可以在下面尝试使用这些命令,对我来说,删除Linux内核3.5(ppa:xorg-edgers / ppa)非常有效。

sudo apt-get install ppa-purge
sudo ppa-purge ppa:<XXX>/<YYY>


1

创建此函数(将其添加到存储函数的任何位置),然后使用适当的ppa名称运行:

rmppa()
{
    sudo -- sh -c 'rm /etc/apt/sources.list.d/"$1".list ; apt-get update'
}

rmppa snagglepuss

如果需要,请添加错误检查(例如,不存在的参数)。


0

所有这些答案都很好,但是对我来说,最简单的方法仍然是使用rm -rf直接删除它们。

假设apt更新给您以下错误:

W: Failed to fetch http://ppa.launchpad.net/ondrej/php5-5.6/ubuntu/dists/trusty/main/binary-amd64/Packages  403  Forbidden

然后,您可以像执行以下操作来修复它:

sudo rm -rf /etc/apt/sources.list.d/andrej*

几乎与罗恩·约翰(RonJohn)的答案相同,但我注意到您不觉得sudo apt update事后跑步有必要吗?
WinEunuuchs2Unix

是的 我的示例未直接说明,但是如果您的apt更新未能显示以上错误,则删除源文件将使其再次运行。因此,在这种情况下不必指定它;)尽管我感到困惑。我将进行编辑,谢谢您的评论!
Guillaume LeMière'18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.