gpt4 book ai didi

linux - apt-get 抑制有关缺少存储库的警告

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:35 25 4
gpt4 key购买 nike

有开发和生产环境。每一个都有一个 Debian 存储库。例如 http://devhttp://prod

当机器(物理)转移到生产环境时,如何避免更改/etc/apt/sources.list

一种解决方案是同时编写:

deb http://dev/debian main
deb http://prod/debian main

在开发环境中出现有关无法访问 http://prod/ 的警告是可以的。但如何摆脱生产网络中的警告呢?

最佳答案

有一个整洁的镜子功能。在/etc/apt/sources.list中:

deb mirror://localhost/mirrors.txt jessie main

在同一台计算机上托管的 mirrors.txt 中:

http://dev/debian
http://prod/debian

因此,它会在每个配置中找到一些存储库。

但无论如何它都会提示。我将使用脚本:

#!/bin/bash

# Generates a list of available repositories.

set -e

release_codename="$(lsb_release -cs)"

all_mirrors_list=/etc/locate-my-repositories/all-my-mirrors.list
active_list=/var/lib/locate-my-repositories/my.list

mirrors="$(cat "$all_mirrors_list")"

active=$(for r in $mirrors; do
if curl -s "$r"/dists/"$release_codename"/main/binary-"$(dpkg --print-architecture)"/Release | grep -q '^Component:'; then
printf '%s\n' "$r"
fi
done)

# Formats a valid /etc/apr/sources.list: makes "deb http://url jessie main"
# entry from "http://url".
function to_sources_list() {
sed "s/\(.*\)/deb \\1 $release_codename main/"
}

if [ -z "$active" ]; then
# Nothing is found. Give everything to apt-get, maybe it will be more lucky.
cat "$all_mirrors_list"
else
printf '%s\n' "$active"
fi | to_sources_list > "$active_list"

关于linux - apt-get 抑制有关缺少存储库的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32698247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com