नई रिलीज़ के लिए अपग्रेड करने के बाद Google PPA को फिर से क्यों बनाया गया है?


9

जब आप अपग्रेड करते हैं तो PPA सामान्य रूप से अक्षम हो जाते हैं, और मैन्युअल रूप से पुन: सक्षम होना चाहिए। मैंने लगभग एक महीने पहले 12.04 में अपग्रेड किया और मैंने देखा कि जब मेरे अन्य पीपीए अक्षम हो गए थे, तब तक Google पीपीए अक्षम नहीं थे । ऐसा क्यों है?


क्या आप संबंधित स्रोत प्रदान कर सकते हैं। प्रविष्टियां?
चमेली

@ जैस्मिन क्षमा करें, मैंने पहले ही अन्य सभी विकलांगों को फिर से सक्षम / असक्षम बना दिया है। यह उबंटू में डिफ़ॉल्ट व्यवहार है इसलिए इसे पुन: पेश करने के लिए सरल होना चाहिए।
adempewolff

@irrationalJohn मेरे कहने का मतलब यह था कि जिस किसी के पास कम से कम एक Google PPA था और कम से कम एक दूसरे PPA को सक्षम किया गया था, वह एक अपग्रेड के बाद इस व्यवहार को देखेगा। किसी ऐसे व्यक्ति के लिए जो पहले से ही अन्य पीपीए (जैसे मेरे) को उन्नत और मैन्युअल रूप से पुनर्निर्मित कर चुका है, उन्हें पुन: पेश करने के लिए फिर से अपग्रेड करने की आवश्यकता होगी। मेरी सभी मशीनें पहले से ही 12.04 हैं और मुझे ऐसा महसूस नहीं हो रहा है कि 12.10 अल्फा में से किसी को अपग्रेड करना है या मैं खुद ही इसे फाइल प्रदान करने के लिए पुन: पेश करूंगा।
adempewolff

जवाबों:


11

(इस जवाब के लिए जॉर्ज कास्त्रो को श्रेय)

Google पैकेज /etc/cron.daily/रिपॉजिटरी कॉन्फ़िगरेशन को कम करने और रिलीज़ अपग्रेड के बाद स्रोत को फिर से सक्षम करने के लिए क्रॉन जॉब स्थापित करते हैं ।

प्रत्येक Google पैकेज अपनी स्क्रिप्ट (या किसी स्क्रिप्ट का लिंक) यहां रखेगा। उदाहरण के लिए: या google-musicmanager, (बाद वाली स्क्रिप्ट के लिए सिमिलिंक होना )।google-chromegoogle-talkplugin/opt/google/talkplugin/cron/google-talkplugin

यहाँ google-talkplugin स्क्रिप्ट से विवरण दिया गया है:

# This script is part of the google-talkplugin package.
#
# It creates the repository configuration file for package updates, and it
# monitors that config to see if it has been disabled by the overly aggressive
# distro upgrade process (e.g.  intrepid -> jaunty). When this situation is
# detected, the respository will be re-enabled. If the respository is disabled
# for any other reason, this won't re-enable it.
#
# This functionality can be controlled by creating the $DEFAULTS_FILE and
# setting "repo_add_once" and/or "repo_reenable_on_distupgrade" to "true" or
# "false" as desired. An empty $DEFAULTS_FILE is the same as setting both values
# to "false".

स्क्रिप्ट होगी:

  1. # Install the repository signing key
  2. # Update the Google repository if it's not set correctly.
  3. # Add the Google repository to the apt sources.
  4. # Remove our custom sources list file. तथा
  5. # Detect if the repo config was disabled by distro upgrade and enable if necessary.

यहां स्क्रिप्ट का वह भाग है जो रिलीज़ अपग्रेड के बाद रेपो कॉन्फिगर का पता लगाता है और उसका पुन: संयोजन करता है।

handle_distro_upgrade() {
  if [ ! "$REPOCONFIG" ]; then
    return 0
  fi

  find_apt_sources
  SOURCELIST="$APT_SOURCESDIR/google-talkplugin.list"
  if [ -r "$SOURCELIST" ]; then
    REPOLINE=$(grep -E "^[[:space:]]*#[[:space:]]*$REPOCONFIG[[:space:]]*# disabled on upgrade to .*" "$SOURCELIST")
    if [ $? -eq 0 ]; then
      sed -i -e "s,^[[:space:]]*#[[:space:]]*\($REPOCONFIG\)[[:space:]]*# disabled on upgrade to .*,\1," \
        "$SOURCELIST"
      LOGGER=$(which logger 2> /dev/null)
      if [ "$LOGGER" ]; then
        "$LOGGER" -t "$0" "Reverted repository modification: $REPOLINE."
      fi
    fi
  fi
}

और यहां वह /etc/apt/sources.list.d/google-talkplugin.listफाइल है जो स्क्रिप्ट द्वारा बनाई गई है।

### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb http://dl.google.com/linux/talkplugin/deb/ stable main

मैंने अभी देखा कि पिछले महीने में इस प्रक्रिया में कुछ गड़बड़ हुई थी और Google डिस्ट्रो अनधिकृत था और किसी कारणवश स्वयं का सौंदर्यीकरण नहीं हुआ था। मुझे उम्मीद है कि पैकेज को मैन्युअल रूप से पुनः इंस्टॉल करने से चीजें रीसेट हो जाएंगी।
adempewolff
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.