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

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

评论

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

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

有关。 (特别是,请参阅我的此答案以获取ppa-purge与multarch一起使用。)

我可以建议尝试一遍搜索不必要的然后del(rm -rf):grep -i WhatYouWantTosearch /etc/apt/sources.list{,.d/*}

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

#1 楼

有许多选项:


使用--remove标志,类似于添加PPA的方式:
sudo add-apt-repository --remove ppa:whatever/ppa



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


作为一种更安全的选择,您可以安装ppa-purge:
sudo apt-get install ppa-purge

,然后删除PPA,将其提供的软件包降级为官方存储库提供的软件包:
sudo ppa-purge ppa:whatever/ppa

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



最后但并非最不重要的是,您也可以从“软件源”部分禁用或删除PPA。在Ubuntu设置中,只需单击鼠标即可(无需终端)。



评论


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

– Marcel Stimberg
2010年8月11日14:00

我得到add-apt-repository:错误:没有这样的选项:--remove:-/

–拉法
13年2月18日在14:12

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

–MountainX
2013年6月20日23:55

同样,我得到add-apt-repository:错误:没有这样的选项:--remove和add-apt-repository:错误:没有这样的选项:-r

–virtualxtc
2014年4月30日在21:54



如果--remove标志不起作用,则应使用下面提供的信息修改以上答案。具体来说,删除/etc/apt/sources.list.d目录中的条目

–user1816847
2014年8月12日5:35



#2 楼

只需使用--remove选项再次运行apt-add-repository即可删除通过命令行添加的PPA,例如:

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


,然后使用:

sudo apt-get update


评论


这会永久删除该PPA吗?

–Chirag
2012年8月7日在23:11

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

–ish
2012年8月7日在23:17

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

– Niels Bom
2014年3月27日在16:01

如上所述;我正在运行13.10,但我得到了add-apt-repository:错误:没有这样的选项:--remove

–virtualxtc
2014年4月30日在21:56

@ClainDsilva这是因为您可能会陷入从PPA安装的任何软件包的本地安装版本上。您应该始终使用ppa-purge。

–约翰·斯科特(John Scott)
2015年10月11日在22:18

#3 楼

或者,由于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(I知道您在问题中提到了这一点,但我想为以后的读者添加这一点):请参阅此处以获取有关ppa-purge的更多信息。

还要考虑到,如果您以前将回购协议的密钥添加为相信您应该删除它:

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


评论


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

– m3nda
2015年6月12日13:11

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

–詹姆斯
18年7月9日在11:01

在Ubuntu 16及更高版本上,删除密钥时,KEY_ID是发布区第二行的最后8个字符。例如,您看到EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796,在这种情况下KEY_ID为D38B4796,因此您可以这样做:sudo apt-key del D38B4796

– Emmanuel N K
1月29日5:41

仍在搜寻此答案,六年后askubuntu.com/questions/307/…

– philshem
2月3日9:18

当add-apt-repository --remove没有执行任何操作时,这对我有用。

–约书亚·品特(Joshua Pinter)
6月23日15:27

#4 楼

您可以在终端中使用
sudo ppa-purge ppa:repository-name/subdirectory

命令。
首先需要安装ppa-purge才能使用此命令。为此,请使用sudo apt-get install ppa-purge或单击此按钮:
(来源:hostmar.co)
在此处了解更多信息。

评论


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

– Lekensteyn
2011-10-27 9:26

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

–数学
2012年2月6日17:14

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

–康拉德·迪恩
2012年3月3日,下午2:45

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

– Alaa Ali
2013年9月7日在8:33

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

–贝迪尔
2015年1月9日在10:37

#5 楼

该问题的答案将为您提供帮助。

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

还可以使用名为ppa-purge的软件包。 br />
而且,正如我对上面链接到的问题的评论一样,


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


评论


我在Ubuntu软件中心>编辑>软件源中找到它。

–乔什·M。
2012年10月1日15:07

“ ppa-purge”链接无效。它给出了404错误。

–克里斯蒂安娜·尼古拉(Cristiana Nicolae)
2014年2月10日在8:05

在Ubuntu 16.04中FYI查找PPA列表的方法是系统设置->系统->软件和更新->其他软件

– knocte
16年6月10日在5:22

您知道如何通过命令行访问系统>管理>软件源吗? (我通过i3使用Ubuntu,所以没有这些菜单)。

– BKSpurgeon
11月9日下午6:40

#6 楼

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

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



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



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



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



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

如Marcel Stimberg先前所述:


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


希望能帮到您。

评论


您不需要编辑菜单,在“软件中心”菜单中有一个“软件源”条目。

–乔治·卡斯特罗(Jorge Castro)
2010-12-29 at 2:25

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

– nhandler
2010-12-29 19:16

#7 楼

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

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

sudo apt-get install ppa-purge

并使用它像这样:

sudo ppa-purge ppa-url

中提琴。

评论


OP已经尝试过ppa-purge。

– jokerdino♦
2012年8月14日中午12:00

#8 楼

由于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

评论


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

–克里斯蒂安娜·尼古拉(Cristiana Nicolae)
2014年2月10日在8:20

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

– Paulo Freitas
14年2月14日在11:33

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

–virtualxtc
2014年7月31日在7:33

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

– Paulo Freitas
2014年7月31日在13:03



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

–virtualxtc
2014年8月1日在7:29

#9 楼

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

#10 楼

运行以下命令:

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


评论


如上所述;我正在运行13.10,但我得到了add-apt-repository:错误:没有这样的选项:--remove

–virtualxtc
14年4月30日在22:01

#11 楼

根据是否使用完整的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 list”查找要删除的存储库的ID,然后
看起来像7FAC5991的“ sudo apt-key del id”。 id是“ /”字符后的部分。

#12 楼

使用add-apt-repository
注:此解决方案不会删除/降级与存储库关联的软件包。
add-apt-repository命令具有删除存储库的选项,该选项由-r指定。您只需要知道要发送的PPA。使用以下命令:
sudo add-apt-repository -r ppa:REPOSITORY/HERE

...将“ PPA / HERE”更改为要删除的PPA。
资料来源:如何使用LAUNCHPAD PPA(添加,删除,清除,禁用) )在UBUNTU中

使用ppa-purge
注意:此解决方案将清除PPA,并降级其所有软件包的版本。
要安装使用:
sudo apt install ppa-purge

要使用ppa-purge,您可以执行以下操作:
sudo ppa-purge ppa:REPOSITORY/HERE

...将“ REPOSITORY / HERE”更改为要删除的存储库。
来源:通过命令行删除或清除PPA存储库[QUICK UBUNTU提示]

使用软件和更新
注意:此解决方案不会删除/降级与存储库关联的软件包。
搜索“软件和更新”(或software-properties-gtk)并启动它,然后选择选项卡->“其他软件”。要删除存储库,请取消选中它,然后单击“关闭”,最后单击“刷新”。


#13 楼

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



#14 楼

您可以使用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按钮



#15 楼

您可以在System > Administration > Software Sources中管理您的存储库

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

#16 楼

在Linux Mint中,在--remove上没有-radd-apt-repository开关
。如果要删除存储库,则必须手动进行。这并不难:



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

ls /etc/apt/sources.list.d


例如以下列表:

getdeb.list  natecarlson-maven3-trusty.list  official-package-repositories.list


找到要删除的存储库的名称。
我要删除natecarlson-maven3-trusty.list

删除存储库。

sudo rm -i /etc/apt/sources.list.d/natecarlson-maven3-trusty.list



列出所有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


找到要删除的密钥的密钥ID。密钥ID是/之后的部分。
对于我来说,我想删除Nate Carlson密钥,所以ID是3DD9F856

删除密钥。

sudo apt-key del 3DD9F856



更新软件包列表。

sudo apt-get update



完成!

评论


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

–user2428118
17年2月15日在20:08

#17 楼

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

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

评论


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

–伊凡
2010-12-20在3:18

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

–virtualxtc
2014年4月30日在22:02

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

– Marius Gedminas
2014年5月2日,9:27

#18 楼

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

Paver-purge在Maverick及更新版本的存储库中可用。反向端口可供Lucid用户使用。只需安装它,然后运行

sudo ppa-purge ppa:repository-name/directory


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

#19 楼

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

评论


ppa-purge是好东西,但它也是强大的东西。

– Ryan C. Thompson
2010-12-20 23:52

#20 楼

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

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

#21 楼

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

#22 楼

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

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


#23 楼

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

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


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

#24 楼

add-apt-repository现在接受--remove参数。

https://bugs.edge.launchpad.net/ubuntu/+bug/446216

我建议添加也是rm-apt-repository命令:

https://code.edge.launchpad.net/~bryceharrington/software-properties/rm-apt-repository/+merge/25988


评论


从ubuntu 13.10开始,他们似乎已删除了此功能。

–virtualxtc
2014年4月30日在22:04

#25 楼

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

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

rmppa snagglepuss


添加错误检查(例如,不存在的参数) )如果您愿意...

#26 楼

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

想象一下apt update会出现以下错误:

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
18年4月13日在2:52

是的我的示例并未直接说明,但是如果您的apt更新未能显示上述错误,那么删除源文件将使其再次正常运行。因此,在这种情况下不必指定它;)不过,我感到困惑。我将进行编辑,谢谢您的评论!

– Guillaume LeMière
18年4月13日在2:58