(Tín dụng cho Jorge Castro cho câu trả lời này)
Các gói Google cài đặt một công việc /etc/cron.daily/
định kỳ để lưu giữ cấu hình kho lưu trữ và kích hoạt lại nguồn sau khi nâng cấp bản phát hành.
Mỗi gói Google sẽ đặt tập lệnh riêng (hoặc liên kết đến tập lệnh) tại đây. Ví dụ : google-musicmanager
, google-chrome
hoặc google-talkplugin
(sau này là một liên kết tượng trưng đến tập lệnh tại /opt/google/talkplugin/cron/google-talkplugin
).
Dưới đây là mô tả từ tập lệnh 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".
Kịch bản sẽ:
# Install the repository signing key
# Update the Google repository if it's not set correctly.
# Add the Google repository to the apt sources.
# Remove our custom sources list file.
và
# Detect if the repo config was disabled by distro upgrade and enable if necessary.
Đây là một phần của tập lệnh phát hiện và kích hoạt lại cấu hình repo sau khi nâng cấp bản phát hành.
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
}
Và đây là /etc/apt/sources.list.d/google-talkplugin.list
tập tin được tạo bởi kịch bản.
### 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