add-apt-repository
命令添加了许多PPA。是否有删除这些PPA的简单方法?我已经在/etc/apt/sources.list
中检查了适当的Deb行,但它们不存在。 这是在服务器系统上,因此命令行解决方案会很棒!
#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
–贝迪尔
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
上没有-r
或add-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-purgehttps://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
评论
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)>删除(可能“删除”,不确定正确的翻译,我只能检查另一种语言的程序选项)。