存储库“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 updatesudo 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的主要内容,如果未能解决你的问题,请参考以下文章

Git存储库中的Git存储库[重复]

如何将普通的 Git 存储库转换为裸存储库?

Git归档存储库作为一个功能齐全的存储库?

Git:如何使外部存储库和嵌入式存储库作为通用/独立存储库工作?

如何将 ivy 本地存储库用作 maven 存储库

如何更改 Xcode 4 Organizer 的存储库列表中存储库的顺序?还是最初选择的存储库?