“ ppa-purge”和“ add-apt-repository -r”之间的区别?


42

ppa-purge和之间的主要区别是什么add-apt-repository -r。哪一个可以更好地清除残差项目,并说明理由?是否add-apt-repository -r应该做些什么ppa-purge呢?

编辑:同时从apt的钥匙圈中删除钥匙吗?

Answers:


52

据我了解,区别在于他们删除PPA 之后的工作。

ppa-purge-禁用PPA并还原为官方软件包(如果适用)。例如,如果我添加了xorg-edgers PPA并安装了Nvidia驱动程序,那么如果我ppa-purge对上述PPA进行了操作,它不仅会禁用xorg-edgers PPA,还会将NVIDIA驱动程序从PPA中的驱动程序还原为正式版可以在官方Ubuntu库中找到。

add-apt-repository -r-仅删除所述PPA。不会还原任何软件包。

案例场景可能是:

  • 当您想从PPA保留软件包但要删除实际的PPA时。例如,如果您想从PPA中添加Ubuntu Tweak软件包,但又想删除PPA,则可以使用add-apt-repository来安装Ubuntu Tweak。

  • 当您想返回正式软件包并停止使用已更新/实验性软件包(如内核版本的软件包,专有软件包...)的PPA时。在这种情况下,您可能希望使用ppa-purge,前提是您打算返回到官方版本。这与删除每个已安装的PPA软件包然后执行以下操作相同:

    sudo apt-get update  
    sudo apt-get upgrade
    sudo apt-get install PACKAGES
    

在大多数情况下,add-apt-repository应该足以添加和删除PPA。使用ppa-purge只能在少数情况下提供帮助,在这种情况下,您实际上想删除软件包并安装正式版本,这种情况并不常见,因为大多数用户添加PPA的功能要比Ubuntu随附的更好。例如kazam(来自Kazam PPA),专有视频驱动程序(来自swat-x或xorg-edgers PPA),甚至包括Google Chrome和VirtualBox。即使他们删除了它,从删除的PPA中删除当前软件包并安装正式软件包也只有2到3条命令。

考虑到所有这些,它简单地取决于用户想要对与PPA相关的软件包执行的操作。


这是否意味着不需要ppa-purge使用回购软件来安装官方回购软件中不可用的pkg,例如“ ubuntu-tweak”之类的说法,因为没有pkg可以还原为官方pkg?
Alinwndrld

@Alinwndrld将更新答案。
路易斯·阿尔瓦拉多

1
@LuisAlvarado轻微拼写错误:sudo apt-get ugprade:)
Paddy Landau

@Alinwndrld在ppa-purge这种情况下,至少开发版本的会删除软件包。您也可以测试我的版本ppa-purge,其中包括了许多改进。它也可以删除PPA以外的其他存储库,因此最好将其命名为remove-apt-repository
jarno

12

apt-add-repository手册页说,这对命令:

   REPOSITORY can  be  either  a  line  that  can  be  added  directly  to
   sources.list(5),  in the form ppa:<user>/<ppa-name> for adding Personal
   Package Archives, or a distribution component to enable.

   In  the   first   form,   REPOSITORY   will   just   be   appended   to
   /etc/apt/sources.list.

   In  the second form, ppa:<user>/<ppa-name> will be expanded to the full
   deb  line  of  the  PPA  and   added   into   a   new   file   in   the
   /etc/apt/sources.list.d/  directory.   The  GPG public key of the newly
   added PPA will also be downloaded and added to apt's keyring.

   In the third form, the given distribution component will be enabled for
   all sources.  

和:

-r, --remove Remove the specified repository  

所以,add-apt-repository只是增加和移除了线路/etc/apt/sources.list/etc/apt/sources.list.d/

ppa-purge手册页这样说:

NAME
       ppa-purge - disables a PPA and reverts to official packages

DESCRIPTION
       This script provides a  bash  shell  script  capable  of  automatically
       downgrading all packages in a given PPA back to the ubuntu versions.

       You  have  to  run  it  using  root  privileges  because of the package
       manager.  

因此,ppa-purge不仅将删除PPA,还将所有软件包降级到其默认版本。在测试Beta或更高版本的软件时,这很有用。


两者都可以从apt的密钥环中删除ppa密钥吗?
Alinwndrld

@Alinwndrld应该。
赛斯2013年

@Alinwndrld看到这里。至于ppa-purge,目前还没有。那里的钥匙有害吗?
jarno
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.