修改 ubuntu debian 源

This commit is contained in:
Martin 2025-01-13 20:07:25 +08:00
parent 28a83e30f5
commit 5c7ccf4f4f
2 changed files with 47 additions and 24 deletions

View File

@ -17,17 +17,32 @@ pip config set global.index-url https://mirrors.martin98.com/repository/pypi-gro
npm config set registry https://mirrors.martin98.com/repository/npm-group/ npm config set registry https://mirrors.martin98.com/repository/npm-group/
``` ```
##### docker 容器中 #### dockerfile
##### DEB822 格式
```bash ```bash
RUN --mount=type=cache,target=/var/cache/apt \ RUN --mount=type=cache,target=/var/cache/apt \
--mount=type=cache,target=/var/lib/apt \ --mount=type=cache,target=/var/lib/apt \
sed -i '6,$d' /etc/apt/sources.list.d/dhttps://mirrors.mebian.sources && \ APT_OPTIONS="-o Acquire::https::mirrors.martin98.com::Verify-Peer=false -o Acquire::https::mirrors.martin98.com::Verify-Host=false" \
sed -i 's|http://deb.debian.org/debian|artin98.com/repository/debian-tsinghua/|g' /etc/apt/sources.list.d/debian.sources && \ type=$(cat /etc/*release | grep ^ID= | cut -d= -f2) && \
apt update && \ sed -i '6,$d' /etc/apt/sources.list.d/${type}.sources && \
apt install -y --no-install-recommends \ sed -i "s|http://deb.debian.org/debian|https://mirrors.martin98.com/repository/${type}-tsinghua/|g" /etc/apt/sources.list.d/${type}.sources && \
gcc \ apt update $APT_OPTIONS && apt install $APT_OPTIONS -y ca-certificates curl && update-ca-certificates
g++ \ ```
python3-dev ##### 传统格式
```bash
RUN --mount=type=cache,target=/var/cache/apt \
--mount=type=cache,target=/var/lib/apt \
APT_OPTIONS="-o Acquire::https::mirrors.martin98.com::Verify-Peer=false -o Acquire::https::mirrors.martin98.com::Verify-Host=false" \
type=$(cat /etc/*release | grep ^ID= | cut -d= -f2) && \
release=$(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2) && \
components=$([ "${type}" = "debian" ] && echo "main contrib non-free non-free-firmware" || ([ "${type}" = "ubuntu" ] && echo "main restricted universe multiverse")) && \
echo "deb https://mirrors.martin98.com/repository/${type}-tsinghua-${release}${suite#noble}/ ${suite} ${components}"
echo "deb https://mirrors.martin98.com/repository/${type}-tsinghua-${release}/ ${suite} ${components}"
sed -i '6,$d' /etc/apt/sources.list.d/${type}.sources && \
sed -i "s|http://deb.debian.org/debian|https://mirrors.martin98.com/repository/${type}-tsinghua/|g" /etc/apt/sources.list.d/${type}.sources && \
apt update $APT_OPTIONS && apt install $APT_OPTIONS -y ca-certificates && update-ca-certificates
``` ```
#### 进入容器 #### 进入容器

View File

@ -1,22 +1,30 @@
#!/bin/bash #!/bin/bash
# 配置 ubuntu 源 type=$(cat /etc/*release | grep ^ID= | cut -d= -f2)
if [ -f /etc/apt/sources.list.d/ubuntu.sources ]; then release=$(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2)
cat > /etc/apt/sources.list.d/ubuntu.sources <<EOF components=$([ "${type}" = "debian" ] && echo "main contrib non-free non-free-firmware" || ([ "${type}" = "ubuntu" ] && echo "main restricted universe multiverse"))
Types: deb
URIs: https://mirrors.martin98.com/repository/ubuntu-tsinghua/ # DEB822 格式
Suites: noble noble-updates noble-backports # docker.martin98.com/library/ubuntu:latest
Components: main restricted universe multiverse # docker.martin98.com/library/debian:latest
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg if [ -f /etc/apt/sources.list.d/${type}.sources ]; then
cat > /etc/apt/sources.list.d/${type}.sources <<EOF
$(for suite in ${release} ${release}-updates ${release}-backports; do
echo "Types: deb"
echo "URIs: https://mirrors.martin98.com/repository/${type}-tsinghua-${suite}/"
echo "Suites: $suite"
echo "Components: ${components}"
echo "Signed-By: /usr/share/keyrings/${type}-archive-keyring.gpg"
echo
done)
EOF EOF
# 配置 debian 源 # 传统格式
elif [ -f /etc/apt/sources.list.d/debian.sources ]; then # docker.martin98.com/library/ubuntu:22.04
cat > /etc/apt/sources.list.d/debian.sources <<EOF elif [ -f /etc/apt/sources.list ]; then
Types: deb cat > /etc/apt/sources.list <<EOF
URIs: https://mirrors.martin98.com/repository/debian-tsinghua/ $(for suite in ${release} ${release}-updates ${release}-backports; do
Suites: bookworm bookworm-updates bookworm-backports echo "deb https://mirrors.martin98.com/repository/${type}-tsinghua-${suite}/ ${suite} ${components}"
Components: main contrib non-free non-free-firmware done)
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF EOF
else else
echo "没有找到合适的源" echo "没有找到合适的源"