升级后重新启用 PPA/repos 的最佳方法是什么?

phi*_*lew 46 ppa repository software-sources

当我从 11.10 升级到 12.04 时,重新启用我的 PPA 和添加的存储库的最佳方法是什么?

Jor*_*tro 38

您需要通过取消注释/etc/apt/sources.list.d/目录中文件中的行,将它们全部添加回/重新启用它们。

尽管升级时间是重新评估是否首先需要 PPA 的好时机,如果您只是使用 PPA 来获取更新版本的软件包。


kla*_* se 10

我编写了一个 bash 脚本,从sources.list.d升级期间禁用的所有文件中删除前导哈希字符。

以下代码用于将raring源升级到saucy.

如果要保留后缀# disabled on upgrade to ...,请使用

for f in /etc/apt/sources.list.d/*.list; do sudo sed -i 's/raring/saucy/g' $f; sudo sed -i 's/^# \(.*disabled on upgrade to.*\)/\1/g' $f;done
Run Code Online (Sandbox Code Playgroud)

如果要删除后缀# disabled on upgrade to ...,请使用

for f in /etc/apt/sources.list.d/*.list; do sudo sed -i 's/raring/saucy/g' $f; sudo sed -i 's/^# \(.*\) # disabled on upgrade to.*/\1/g' $f;done
Run Code Online (Sandbox Code Playgroud)


mur*_*uru 6

这是一个 python 脚本,它使用 Python APT API 查找和启用此类源,同时将版本设置为当前版本:

#! /usr/bin/python3

import aptsources.sourceslist as sl
import lsb_release

codename = lsb_release.get_distro_information()['CODENAME']
sources = sl.SourcesList()

for source in sources.list:
    if source.comment.lower().find("disabled on upgrade") >= 0:
        source.dist = codename
        source.set_enabled(True)
        print(source)
sources.save()
Run Code Online (Sandbox Code Playgroud)

如果您在没有 的情况下运行它sudo,它将无法保存更改,但它会显示将启用哪些源。运行sudo以保存更改。