Qual é a melhor maneira de reativar os PPAs / repos após uma atualização?

30

Quando atualizo de 11,10 para 12,04, qual é a melhor maneira de reativar meus PPAs e adicionar repositórios?

    
por philipballew 10.03.2012 / 00:16

4 respostas

21

Você precisa adicioná-los novamente / reativá-los individualmente removendo o comentário das linhas nos arquivos no diretório /etc/apt/sources.list.d/ .

Embora o tempo de atualização seja um bom momento para reavaliar se você precisa do PPA, em primeiro lugar, se estava usando apenas um para obter uma versão mais recente de um pacote.

    
por Jorge Castro 10.03.2012 / 00:23
6

Eu escrevi um script bash que remove o caractere de hash principal de todos os arquivos em sources.list.d que foram desativados durante a atualização.

O código a seguir é para atualizar raring sources para saucy .

Se você quiser manter o sufixo # disabled on upgrade to ... , use

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

se você quiser excluir o sufixo # disabled on upgrade to ... , use

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
    
por klaus se 24.11.2013 / 18:34
3

Aqui está um script python que usa a API APT do Python para encontrar e ativar essas fontes, enquanto define a versão para a versão atual:

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

Se você executá-lo sem sudo , ele não poderá salvar as alterações, mas mostrará quais fontes seriam ativadas. Execute com sudo para salvar as alterações.

    
por muru 18.05.2017 / 10:53
1

Eu criei alguns scripts para habilitar (reativar) e desabilitar os PPAs, especialmente após um upgrade. Aqui estão eles:

PPA reativar script

#! /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 desativação do 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"

O sudo está incluído para que você possa armazenar esse script em seu diretório bin da casa

    
por Severo Raz 23.04.2014 / 00:07