जब मैं ११.१० से १२.०४ में अपग्रेड करता हूं, तो मेरे पीपीए को फिर से सक्षम करने और रिपॉजिटरी को जोड़ने का सबसे अच्छा तरीका क्या है?
जब मैं ११.१० से १२.०४ में अपग्रेड करता हूं, तो मेरे पीपीए को फिर से सक्षम करने और रिपॉजिटरी को जोड़ने का सबसे अच्छा तरीका क्या है?
जवाबों:
आपको उन सभी को वापस जोड़ना होगा / /etc/apt/sources.list.d/
निर्देशिका में फ़ाइलों में लाइनों को जोड़कर उन्हें व्यक्तिगत रूप से पुन: सक्षम करना होगा ।
हालांकि अपग्रेड का समय पुनर्मूल्यांकन का एक अच्छा समय है यदि आपको पहली जगह में पीपीए की आवश्यकता है यदि आप पैकेज के नए संस्करण को प्राप्त करने के लिए सिर्फ एक का उपयोग कर रहे हैं।
मैंने एक बैश स्क्रिप्ट लिखी, जो 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
यदि आप प्रत्यय हटाना चाहते हैं # 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
यहाँ एक पायथन स्क्रिप्ट है जो वर्तमान स्रोतों को रिलीज़ करते समय ऐसे स्रोतों को खोजने और सक्षम करने के लिए पायथन एपीटी एपीआई का उपयोग करती है:
#! /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()
यदि आप इसे बिना चलाते हैं sudo
, तो यह परिवर्तनों को सहेजने में सक्षम नहीं होगा, लेकिन यह दिखाएगा कि कौन से स्रोत सक्षम होंगे। साथ चलाने के लिए sudo
परिवर्तन सहेजने के लिए।
sources.list.d
और तीन एलियन का उपयोग करता हूं sources.list
। यह कुछ ऐसा हो सकता है जो उबंटू अब अपने आप हो जाता है?
मैंने विशेष रूप से अपग्रेड के बाद दोनों PAPs को सक्षम (पुनः सक्षम) और अक्षम करने के लिए कुछ स्क्रिप्ट तैयार की हैं। वे यहाँ हैं:
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="$1"
if [ $1 == "src" ]; then mod=""; file="$2"; fi;
sudo sed -i "${mod}s/^# \(.*\) \(disabled on upgrade.*\)\?/\1/" "$file"
पीपीए स्क्रिप्ट को अक्षम करें
#! /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"
sudo
शामिल है, ताकि आप अपने घर बिन निर्देशिका में इस स्क्रिप्ट स्टोर कर सकते हैं