Apa cara terbaik untuk mengaktifkan kembali AKP / repo setelah peningkatan?


Jawaban:


28

Anda perlu menambahkan semuanya kembali / diaktifkan kembali secara individual dengan menghapus komentar pada baris dalam file di /etc/apt/sources.list.d/direktori.

Meskipun waktu pemutakhiran adalah waktu yang baik untuk mengevaluasi kembali jika Anda memerlukan PPA di tempat pertama jika Anda hanya menggunakan satu untuk mendapatkan versi paket yang lebih baru.


8

Saya menulis skrip bash yang menghapus karakter hash utama dari semua file sources.list.dyang dinonaktifkan selama pemutakhiran.

Kode berikut adalah untuk memutakhirkan raringsumber ke saucy.

Jika Anda ingin mempertahankan sufiks # disabled on upgrade to ..., gunakan

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

jika Anda ingin menghapus sufiks # disabled on upgrade to ..., gunakan

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

4

Berikut ini adalah skrip python yang menggunakan API APT Python untuk menemukan dan mengaktifkan sumber-sumber tersebut, sambil mengatur rilis ke rilis saat ini:

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

Jika Anda menjalankannya tanpa sudo, itu tidak akan dapat menyimpan perubahan, tetapi itu akan menunjukkan sumber mana yang akan diaktifkan. Jalankan dengan sudountuk menyimpan perubahan.


Apakah ini menggantikan, misalnya, '# deb cran.rstudio.com/bin/linux/ubuntu artful /' dengan '# deb cran.rstudio.com/bin/linux/ubuntu bionic'? Apa yang akan terjadi jika Anda tidak melakukan itu (seperti tanggapan Anda sebelumnya)?
Jeffrey Benjamin Brown

@ JeffreyBenjaminBrown itu, dan jika Anda tidak menggantinya, itu mungkin terjadi bahwa dependensi tidak dapat dipenuhi.
muru

Saya menemukan bahwa kata "artful" (nama kode 17.10) telah diganti dengan "bionic" di beberapa baris yang dikomentari "dinonaktifkan pada peningkatan ...", sementara yang lain tidak. Saya baru saja menghapus komentar semua baris dengan komentar "dinonaktifkan" itu dan mulai bekerja (walaupun saya harus menginstal ulang gcc untuk beberapa alasan). Dan saya menggunakan banyak repo pihak ketiga - 13 file di sources.list.d, dan tiga yang asing di sources.list. Mungkinkah ini sesuatu yang Ubuntu tangani secara otomatis sekarang?
Jeffrey Benjamin Brown

@ JeffreyBenjaminBrown Mungkin, saya belum meng-upgrade dalam beberapa kali (instalasi baru, biasanya), jadi tak tahu.
muru

1
Ini sepertinya telah merusak file sumber apt saya untuk 19.10
Dreamcat4

1

Saya telah membuat beberapa skrip untuk mengaktifkan (mengaktifkan kembali) dan menonaktifkan PPA, khususnya setelah peningkatan. Di sini mereka:

PPA mengaktifkan kembali skrip

#! /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="$1"
if [ $1 == "src" ]; then mod=""; file="$2"; fi;
sudo sed -i "${mod}s/^# \(.*\) \(disabled on upgrade.*\)\?/\1/" "$file"

Skrip menonaktifkan 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="${1}"
mod=""
# If its only needed to disable the source
if [ $1 = "src" ]; then mod="2"; file="${2}"; 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"

Ini sudodisertakan sehingga Anda dapat menyimpan skrip ini di direktori home bin Anda

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.