Quel est le meilleur moyen de réactiver les PPA / repos après une mise à niveau?

32

Lorsque je passe de 11.10 à 12.04, quel est le meilleur moyen de réactiver mes PPA et mes référentiels ajoutés?

    
posée philipballew 10.03.2012 - 00:16
la source

4 réponses

22

Vous devez les ajouter / réactiver individuellement en décommentant les lignes des fichiers du répertoire /etc/apt/sources.list.d/ .

Bien que le temps de mise à niveau soit un bon moment pour réévaluer si vous avez besoin du PPA si vous en utilisiez un pour obtenir une version plus récente d’un package.

    
réponse donnée Jorge Castro 10.03.2012 - 00:23
la source
6

J'ai écrit un script bash qui supprime le caractère de hachage principal de tous les fichiers de sources.list.d qui ont été désactivés pendant la mise à niveau.

Le code suivant permet de mettre à niveau raring sources vers saucy .

Si vous souhaitez conserver le suffixe # disabled on upgrade to ... , utilisez

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.*\)//g' $f;done

si vous souhaitez supprimer le suffixe # disabled on upgrade to ... , utilisez

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.*//g' $f;done
    
réponse donnée klaus se 24.11.2013 - 18:34
la source
4

Voici un script python qui utilise l’API Python APT pour trouver et activer de telles sources, tout en définissant la version pour la version actuelle:

#! /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()

Si vous l'exécutez sans sudo , il ne pourra pas enregistrer les modifications, mais affichera les sources à activer. Exécutez avec sudo pour enregistrer les modifications.

    
réponse donnée muru 18.05.2017 - 10:53
la source
1

J'ai créé deux scripts pour activer (réactiver) et désactiver les PPA, en particulier après une mise à niveau. Les voici:

Script de réactivation de PPA

#! /bin/bash
# PPA re-enable script
# Use: ppa-reenable source.list
# to reenable a PPA without its source line
# Use: ppa-reenable src source.list
# to reenable a PPA with its source line

mod=1
file=""
if [  == "src" ]; then mod=""; file=""; fi;
sudo sed -i "${mod}s/^# \(.*\) \(disabled on upgrade.*\)\?//" "$file"

Script de désactivation de PPA

#! /bin/bash
# PPA disable script
# Use: ppa-disable source.list
# to disable the PPA completely
# Use: ppa-disable src source.list
# to disable the source of the PPA only

file=""
mod=""
# If its only needed to disable the source
if [  = "src" ]; then mod="2"; file=""; fi;

# If source line is disabled, don't comment it out
second="'sed -n 2p \"$file\"'"
second="${second:0:1}"
if ( [ $second == "#" ] && [ $mod != "2" ] ); then
    mod="1"
fi

sudo sed -i "${mod}s/^/# /" "$file"

Le sudo est inclus afin que vous puissiez stocker ce script dans votre répertoire home bin

    
réponse donnée Severo Raz 23.04.2014 - 00:07
la source

Lire d'autres questions sur les étiquettes