เหตุใดจึงเปิดใช้งาน PPA ของ Google อีกครั้งหลังจากอัปเกรดเป็นรุ่นใหม่


9

PPA จะถูกปิดใช้งานตามปกติเมื่อคุณอัปเกรดและต้องเปิดใช้งานใหม่ด้วยตนเอง ฉันอัปเกรดเป็น 12.04 ประมาณหนึ่งเดือนที่ผ่านมาและฉันเพิ่งสังเกตเห็นว่าในขณะที่ PPA อื่น ๆ ของฉันถูกปิดใช้งาน แต่ PPA ของ Google ก็ไม่ได้ถูกปิดใช้งาน ทำไมนี้


คุณสามารถให้รายการแหล่งข้อมูลที่เกี่ยวข้องได้หรือไม่?
jasmines

@jasmines ขออภัยฉันเปิดใช้งานอีกครั้ง / ไม่ใส่เครื่องหมายข้อคิดเห็นในรายการปิดใช้งานอื่น ๆ ทั้งหมด นี่เป็นพฤติกรรมเริ่มต้นใน Ubuntu ดังนั้นควรทำให้ง่าย
adempewolff

@irrationalJohn สิ่งที่ฉันหมายถึงคือทุกคนที่มี google PPA อย่างน้อยหนึ่งอันและอย่างน้อยหนึ่ง PPA ที่เปิดใช้งานจะเห็นพฤติกรรมนี้หลังจากการอัปเกรด distro สำหรับผู้ที่ได้รับการอัปเกรดและเปิดใช้งาน PPA อื่นด้วยตนเอง (เช่นฉัน) พวกเขาจะต้องอัปเกรดอีกครั้งเพื่อทำซ้ำ เครื่องของฉันทั้งหมดมีอยู่แล้ว 12.04 และฉันไม่รู้สึกอยากอัปเกรดเป็น 12.10 อัลฟาหรือฉันจะทำซ้ำตัวเองเพื่อให้ไฟล์
adempewolff

คำตอบ:


11

(ให้เครดิตกับ Jorge Castro สำหรับคำตอบนี้)

แพคเกจ Google ติดตั้งงาน cron ใน/etc/cron.daily/การดูแลการกำหนดค่าที่เก็บและเปิดใช้งานแหล่งที่มาหลังจากการอัพเกรดรุ่น

แพ็คเกจ Google แต่ละชุดจะวางสคริปต์ของตนเอง (หรือลิงก์ไปยังสคริปต์) ที่นี่ ตัวอย่างเช่นgoogle-musicmanager, google-chromeหรือgoogle-talkplugin(หลังถูก symlink ไปสคริปต์ที่เป็น/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.

นี่คือส่วนของสคริปต์ที่ตรวจจับและเปิดใช้งานการกำหนดค่า repo อีกครั้งหลังจากการอัพเกรดรุ่น

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 distro ไม่ได้รับอนุญาตและด้วยเหตุผลบางอย่างไม่ได้รับอนุญาตอีกครั้ง ฉันหวังว่าการติดตั้งแพ็คเกจด้วยตนเองจะเป็นการรีเซ็ตสิ่งต่าง ๆ
adempewolff
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.