কোনও আপগ্রেডের পরে পিপিএ / রেপোস সক্ষম করার সর্বোত্তম উপায় কী?


40

আমি যখন ১১.১০ থেকে ১২.০৪ এ আপগ্রেড করব তখন আমার পিপিএ এবং যুক্ত রেপোজিটারিগুলি পুনরায় সক্ষম করার সর্বোত্তম উপায় কী?

উত্তর:


28

/etc/apt/sources.list.d/ডিরেক্টরিতে থাকা ফাইলগুলির লাইনগুলিকে সংকীর্ণ করে আপনাকে স্বতন্ত্রভাবে তাদের পুনরায় সক্রিয় করতে হবে / পুনরায় সক্ষম করতে হবে ।

প্যাকেজের নতুন সংস্করণ পেতে আপনি যদি কেবল একটি ব্যবহার করে থাকেন তবে প্রথমে পিপিএ প্রয়োজন হলে পুনর্নির্মাণের জন্য আপগ্রেড সময়টি ভাল সময়।


8

আমি একটি বাশ স্ক্রিপ্ট লিখেছিলাম 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

4

এখানে একটি পাইথন স্ক্রিপ্ট রয়েছে যা বর্তমান রিলিজটিতে রিলিজটি সেট করার সময় পাইথন এপিটি এপিআই ব্যবহার করে এমন উত্সগুলি সন্ধান এবং সক্ষম করতে ব্যবহার করে:

#! /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পরিবর্তনগুলি সংরক্ষণ করতে চালান ।


উদাহরণস্বরূপ, এটি কি '# দেব cran.rstudio.com/bin/linux/ubuntu artful /' এর সাথে '# দেব cran.rstudio.com/bin/linux/ubuntu বায়োনিক' প্রতিস্থাপন করে? আপনি যদি এটি না করেন তবে কী হবে (আপনার প্রতিক্রিয়ার প্রতিক্রিয়া হিসাবে)?
জেফ্রি বেঞ্জামিন ব্রাউন

@ জেফ্রিবেনজামিন ব্রাউন এটি করেছে, এবং আপনি যদি এটি প্রতিস্থাপন না করেন তবে এমনটি হতে পারে যে নির্ভরতাগুলি সন্তুষ্ট হতে পারে না।
মুড়ু

আমি দেখতে পেলাম যে "আর্টফুল" (17.10 কোডনাম) শব্দটি "বায়োনিক" দিয়ে কিছু লাইনে "আপগ্রেডে অক্ষম ..." মন্তব্য করা হয়েছে এমন কিছু লাইনে প্রতিস্থাপন করা হয়েছিল, অন্যদিকে ছিল না। আমি এই "অক্ষম" মন্তব্যের সাথে সমস্ত লাইনকে সংশোধন করেছি এবং কাজ করতে এগিয়ে এসেছি (যদিও আমাকে কোনও কারণে জিসিসি পুনরায় ইনস্টল করতে হয়েছিল)। 13 ফাইল - আর আমি তৃতীয় পক্ষের Repos অনেক ব্যবহার sources.list.d, এবং তিনটি পরক বেশী sources.list। এই কি এখন উবুন্টু স্বয়ংক্রিয়ভাবে যত্ন নিতে পারে?
জেফ্রি বেঞ্জামিন ব্রাউন 7

@ জেফ্রিবেনজামিন ব্রাউন সম্ভবত, সাম্প্রতিক সময়ে আমি আপগ্রেড করিনি (সাধারণত নতুন করে ইনস্টল করা, সাধারণত), তাই না।
মুরু

1
দেখে মনে হচ্ছে এটি 19.10
ড্রিমক্যাট 4

1

বিশেষত একটি আপগ্রেডের পরে আমি উভয় সক্ষম (পুনরায় সক্ষম) এবং অক্ষম পিপিএ উভয়ের জন্য বেশ কয়েকটি স্ক্রিপ্ট তৈরি করেছি। এখানে তারা:

পিপিএ পুনরায় সক্ষম স্ক্রিপ্ট

#! /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অন্তর্ভুক্ত করা হয় যাতে আপনি আপনার বাড়িতে bin ডিরেক্টরীতে এই স্ক্রিপ্টের সংরক্ষণ করতে পারেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.