Linux 发行版换源

 
Category: VM

写在前面

在 docker 使用 Linux 发行版, 想要安装包需要换国内镜像源, 而换源需要编辑镜像列表文件, 但是编辑的话需要vim或者 nano, 这俩编辑器又得换源之后才能安装…..

解决死锁的办法: 用 sed 啊!

下面的命令都运行在 sudo 权限下

archlinux

sed -i '1s/^/Server = https:\/\/mirrors.tuna.tsinghua.edu.cn\/archlinux\/$repo\/os\/$arch\n/' /etc/pacman.d/mirrorlist

ubuntu

对 Intel 架构

sed -i 's|http://archive.ubuntu.com/ubuntu|https://mirrors.tuna.tsinghua.edu.cn/ubuntu|' /etc/apt/sources.list

arm 架构

sed -i 's|http://ports.ubuntu.com/ubuntu-ports|https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports|' /etc/apt/sources.list

kali

sed -i "s@http://http.kali.org/kali@https://mirrors.tuna.tsinghua.edu.cn/kali@g" /etc/apt/sources.list

or the latest version:(2024.2)

sed -i "s@http://kali.download/kali@https://mirrors.tuna.tsinghua.edu.cn/kali@g" /etc/apt/sources.list
  # default 
  # Generated by distrobuilder
  deb http://kali.download/kali kali-rolling main contrib non-free non-free-firmware

centos

针对 Intel 架构

# 对于 CentOS 7
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
    -i.bak \
    /etc/yum.repos.d/CentOS-*.repo

# 对于 CentOS 8
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://mirror.centos.org/$contentdir|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
    -i.bak \
    /etc/yum.repos.d/CentOS-*.repo

针对非 Intel 架构

sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://mirror.centos.org/altarch/|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-altarch/|g' \
         -e 's|^#baseurl=http://mirror.centos.org/$contentdir/|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-altarch/|g' \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo

然后刷新

sudo yum makecache

alpine

轻量级Linux 发行版, 之前 colima 默认的 daemon 就是 alpine

sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories

使用 apk 命令作为包管理器

add和 del 代表 install 和 uninstall