存储库 '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'
我的一些 GitHub 操作工作流最近开始 return 安装 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 and here 了解到,添加 sudo apt-get --allow-releaseinfo-change update
或 sudo apt-get dist-upgrade
可以解决问题,但即使将它们添加到我的工作流程中也无法解决问题。
我尝试使用此操作 setup-chromedriver 但在遵循文档时 return 出现了同样的错误:
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 runner版本作为跑步者(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
我知道你试过
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/*
FWIW,您可以通过添加 specialist options
来限制您允许绕过的字段 apt-secure
来降低使用此选项 (--allow-releaseinfo-change
) 的风险。来自 man apt-get
:
Specialist options (--allow-releaseinfo-change-field) exist to allow changes only for certain fields like origin, label, codename, suite, version and defaultpin. See also apt_preferences(5).
例如,在 Debian 及其衍生版本 RPi OS
之间 bullseye
的延迟发布造成的当前错误中,specialist option
将是 suite
。这是因为 buster
中的 suite
标签已从 stable
更改为 oldstable
:
$ sudo apt-get --allow-releaseinfo-change-suite update
我的一些 GitHub 操作工作流最近开始 return 安装 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 and here 了解到,添加
sudo apt-get --allow-releaseinfo-change update
或sudo apt-get dist-upgrade
可以解决问题,但即使将它们添加到我的工作流程中也无法解决问题。我尝试使用此操作 setup-chromedriver 但在遵循文档时 return 出现了同样的错误:
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 runner版本作为跑步者(
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
我知道你试过
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/*
FWIW,您可以通过添加 specialist options
来限制您允许绕过的字段 apt-secure
来降低使用此选项 (--allow-releaseinfo-change
) 的风险。来自 man apt-get
:
Specialist options (--allow-releaseinfo-change-field) exist to allow changes only for certain fields like origin, label, codename, suite, version and defaultpin. See also apt_preferences(5).
例如,在 Debian 及其衍生版本 RPi OS
之间 bullseye
的延迟发布造成的当前错误中,specialist option
将是 suite
。这是因为 buster
中的 suite
标签已从 stable
更改为 oldstable
:
$ sudo apt-get --allow-releaseinfo-change-suite update