存储库"http://security.debian.org/debian-security 破坏者/更新 InRelease"将其"套件"值从"稳定"更改为"旧稳定"



我的一些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

What I tried

  1. 我从这里和这里读到添加sudo apt-get --allow-releaseinfo-change updatesudo apt-get dist-upgrade可以解决问题,但即使将它们添加到我的工作流程中也没有解决它。

  2. 我尝试使用这个操作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
    
  3. 似乎与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

我知道你试过了

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/*

顺便说一下,您可以通过添加"专业选项"来降低使用此选项(--allow-releaseinfo-change)的风险。来限制您允许绕过apt-secure的字段。Fromman apt-get:

专家选项(--allow-releaseinfo-change-field)存在,只允许更改某些字段,如原产地,标签,代号,套件,版本和默认pin。参见apt_preferences(5)。

例如,在当前由Debian和其衍生的RPi操作系统之间延迟发布的bullseye所造成的麻烦中,专家选项将是suite。这是因为buster中的suite标签已经从stable更改为oldstable:

$ sudo apt-get --allow-releaseinfo-change-suite update

备注

这是一个来自serverfault.com的交叉帖子。

在这里感觉也是相关的,因为我无法用公认的答案apt-get --allow-releaseinfo-change-suite update解决问题,而且公认的答案有安全隐患,实际上并没有解决apt从错误的repo获取安全更新的潜在问题。

在Debian Stretch (9) Docker镜像上遇到此问题。

运行apt-get update

时出现以下错误
W: The repository 'http://security.debian.org/debian-security stretch/updates Release' does not have a Release file.
W: The repository 'http://deb.debian.org/debian stretch Release' does not have a Release file.
W: The repository 'http://deb.debian.org/debian stretch-updates Release' does not have a Release file.
E: Failed to fetch http://security.debian.org/debian-security/dists/stretch/updates/main/binary-amd64/Packages  404  Not Found [IP: xx]
E: Failed to fetch http://deb.debian.org/debian/dists/stretch/main/binary-amd64/Packages  404  Not Found
E: Failed to fetch http://deb.debian.org/debian/dists/stretch-updates/main/binary-amd64/Packages  404  Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.

的背景这是特别与证券回购相关的。

这些repo定义用于apt获取update,它们定义在/etc/apt/sources.list

官方Debian安全推荐- https://www.debian.org/security/

To keep your Debian operating system up-to-date with security patches, please add the following line to your /etc/apt/sources.list file
`deb http://security.debian.org/debian-security bullseye-security main contrib non-free`

将这行添加到Dockerfile

RUN echo "deb http://security.debian.org/debian-security bullseye-security main contrib non-free" > /etc/apt/sources.list
RUN apt-get update

其他解决方案什么不适合我:

  • 将repo更改为stable-security
  • 运行带有--allow-releaseinfo-change标志的apt-get更新的标志配对无法识别

  • 不要使用bullseye security repo,你可以使用stretch archive repodeb http://archive.debian.org/debian stretch main contrib non-free;从安全的角度来看,最好还是坚持使用最新版本的安全性

更新如果你只是放大安全回购问题,以上内容是正确的。

为什么我们有这些问题与安全回购?

在我的例子中,Debian 9是一个存档的,不支持的,不维护的版本。

虽然我可以"修复"(绕过)安全库,我在APT的依赖库上有进一步的问题。由于该版本已弃用,这些库需要指向存档。

总的来说,这迫使我升级到Debian 10。在Debian 10上,我不需要上面的修复。

相关内容

  • 没有找到相关文章

最新更新