存储库“http://security.debian.org/debian-security buster/updates InRelease”将其“Suite”值从“stable”更改为“oldst
Posted
技术标签:
【中文标题】存储库“http://security.debian.org/debian-security buster/updates InRelease”将其“Suite”值从“stable”更改为“oldstable”[关闭]【英文标题】:Repository 'http://security.debian.org/debian-security buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable' [closed] 【发布时间】:2021-10-18 12:04:58 【问题描述】:我最近启动的一些 GitHub Actions 工作流在安装 Chromedriver 时返回此错误:
Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
Reading package lists...
E: Repository 'http://security.debian.org/debian-security buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
E: Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
E: Repository 'http://deb.debian.org/debian buster-updates InRelease' changed its 'Suite' value from 'stable-updates' to 'oldstable-updates'
Error: Process completed with exit code 100.
这是我的步骤实现:
jobs:
build:
runs-on: ubuntu-latest
container:
image: docker://guillaumefalourd/ritchiecli:py-3.8
steps:
- name: Install Chrome Driver
run: |
sudo apt-get update
sudo apt-get install -y unzip xvfb libxi6 libgconf-2-4 gnupg2
sudo curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add
sudo echo "deb https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list
sudo apt-get -y update
sudo apt-get -y install google-chrome-stable
wget -N https://chromedriver.storage.googleapis.com/89.0.4389.23/chromedriver_linux64.zip -P ~/
unzip ~/chromedriver_linux64.zip -d ~/
rm ~/chromedriver_linux64.zip
sudo mv -f ~/chromedriver /usr/local/bin/chromedriver
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod 0755 /usr/local/bin/chromedriver
Docker 镜像实现:docker://guillaumefalourd/ritchiecli:py-3.8
我尝试了什么
我从here 和here 中了解到,添加sudo apt-get --allow-releaseinfo-change update
或sudo apt-get dist-upgrade
可以解决问题,但即使将它们添加到我的工作流程中也不能解决问题。
我尝试使用此操作setup-chromedriver,但在遵循文档时返回相同的错误:
steps:
- uses: actions/checkout@v2
- uses: nanasess/setup-chromedriver@master
with:
# Optional: do not specify to match Chrome's version
chromedriver-version: '88.0.4324.96'
- run: |
export DISPLAY=:99
chromedriver --url-base=/wd/hub &
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional
因为它似乎与 Debian 10 (Buster) (?) 我也尝试使用另一个 Ubuntu 运行器版本作为运行器(ubuntu-18.04
而不是 ubuntu-latest
),但是没有任何改变,同样的错误。
我该如何解决这个问题?
回答
我后来观察到问题出现在第一个命令:sudo apt-get update
(我在之后添加了另一个命令......)。
用它代替 sudo apt-get --allow-releaseinfo-change update
解决了我的问题。
因此,答案不是将sudo apt-get --allow-releaseinfo-change update
添加到步骤执行的命令中,而是替换sudo apt-get update
命令。
jobs:
build:
runs-on: ubuntu-latest
container:
image: docker://guillaumefalourd/ritchiecli:py-3.8
steps:
- name: Install Chrome Driver
run: |
sudo apt-get --allow-releaseinfo-change update
sudo apt-get install -y unzip xvfb libxi6 libgconf-2-4 gnupg2
sudo curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add
sudo echo "deb https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list
sudo apt-get -y update
sudo apt-get -y install google-chrome-stable
wget -N https://chromedriver.storage.googleapis.com/89.0.4389.23/chromedriver_linux64.zip -P ~/
unzip ~/chromedriver_linux64.zip -d ~/
rm ~/chromedriver_linux64.zip
sudo mv -f ~/chromedriver /usr/local/bin/chromedriver
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod 0755 /usr/local/bin/chromedriver
【问题讨论】:
如果你想要稳定(变化),在 source.list 上使用“稳定”,否则使用发布名称。注意:如果您从其他人那里得到错误的数据,sed
命令可以纠正它。所以检查你的 /etc/apt/sources.list*
旁注:这可能是因为 Debian 刚刚发布了 "bullseye" (debian.org/News/2021/20210814),所以 Buster 进入了 LTS - wiki.debian.org/LTS
apt upgrade
为我解决了这个问题。
【参考方案1】:
我知道你试过了
apt-get --allow-releaseinfo-change update
但它对我有用。
这是我在 dockerfile 中的命令:
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
&& apt-get --allow-releaseinfo-change update \
&& apt-get install -y google-chrome-unstable \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/*
不需要:rm -rf /var/lib/apt/lists/*
【讨论】:
感谢您的回答。后来我观察到问题发生在第一个命令:sudo apt-get update
(我在之后添加了另一个命令......)。只需将其替换为 sudo apt-get --allow-releaseinfo-change update
即可解决我的问题 :)
它以前不在那里,然后突然需要apt-get --allow-releaseinfo-change update
来消除错误!有人可以更简短地解释一下吗?
正是我的 Buster 系统所需要的。在我写这篇文章时,我的系统现在正在更新 263 个软件包,其中包含几个额外的安全更新。一个++【参考方案2】:
FWIW,您可以通过添加 specialist options
来限制您允许绕过 apt-secure
的字段来降低使用此选项 (--allow-releaseinfo-change
) 的风险。来自man apt-get
:
存在专家选项 (--allow-releaseinfo-change-field) 以仅允许更改某些字段,例如来源、标签、代号、套件、版本和默认密码。另请参阅 apt_preferences(5)。
例如,在 Debian 及其衍生版本 RPi OS
之间延迟发布 bullseye
所创建的当前 bugaboo 中,specialist option
将是 suite
。这是因为buster
中的suite
标签已从stable
更改为oldstable
:
$ sudo apt-get --allow-releaseinfo-change-suite update
【讨论】:
这个答案对我来说似乎更好,因为允许的发布信息更改仅限于特定的字段套件,仅此而已。以上是关于存储库“http://security.debian.org/debian-security buster/updates InRelease”将其“Suite”值从“stable”更改为“oldst的主要内容,如果未能解决你的问题,请参考以下文章