各Linux发行版包管理工具换源

CentOS

搭建本地源(利用ISO镜像)

  1. 备份默认的网络源CentOS-Base.repo
  1. $ cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
  1. 拷贝iso镜像文件解压指/media/cdrom文件夹,如果是虚拟机可选择挂载
  2. 配置/etc/yum.repos.d/CentOS-Media.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/   #镜像文件路径
       file:///media/cdrom/
       file:///media/cdrecorder/
gpgcheck=1    #标志开启key验证,开启必须要有gpgkey文件,也可以选择关闭
enabled=1       #标志开启此yum源
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

更换网络源

  1. 备份系统自带yum源
$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
  1. 下载最新的阿里 yum 源到 /etc/yum.repos.d
# CentOS 5
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
# CentOS 6
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
# CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  1. 之后运行 yum makecache 生成缓存即可。

优质的中国yum镜像源:

Ubuntu

Ubuntu 的话, 在 /etc/apt/sources.list 中输入以下内容:

# 阿里云
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

# 阿里云测试版
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

# Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main

# 官方源
deb http://archive.ubuntu.com/ubuntu/ bionic main restricted
deb-src http://archive.ubuntu.com/ubuntu/ bionic main restricted
deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ bionic universe
deb-src http://archive.ubuntu.com/ubuntu/ bionic universe
deb http://archive.ubuntu.com/ubuntu/ bionic-updates universe
deb-src http://archive.ubuntu.com/ubuntu/ bionic-updates universe
deb http://archive.ubuntu.com/ubuntu/ bionic multiverse
deb-src http://archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://archive.ubuntu.com/ubuntu/ bionic-updates multiverse
deb-src http://archive.ubuntu.com/ubuntu/ bionic-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu bionic partner
deb-src http://archive.canonical.com/ubuntu bionic partner
deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted
deb-src http://security.ubuntu.com/ubuntu/ bionic-security main restricted
deb http://security.ubuntu.com/ubuntu/ bionic-security universe
deb-src http://security.ubuntu.com/ubuntu/ bionic-security universe
deb http://security.ubuntu.com/ubuntu/ bionic-security multiverse
deb-src http://security.ubuntu.com/ubuntu/ bionic-security multiverse

Debian

Debian 的话, 在 /etc/apt/sources.list 中输入以下内容:

首先查看自己的Debian版本(版本不同配置的源不同):

$ cat /etc/issue
Debian GNU/Linux 9 \n \l

看到我的版本是9, 使用的是 stretch (详细配置可以到OPSX中查看)

# 阿里云
deb http://mirrors.aliyun.com/debian/ stretch main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch main non-free contrib
deb http://mirrors.aliyun.com/debian-security stretch/updates main
deb-src http://mirrors.aliyun.com/debian-security stretch/updates main
deb http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib

# 官方源
deb http://deb.debian.org/debian stretch main
deb http://deb.debian.org/debian stretch-updates main
deb http://security.debian.org/debian-security/ stretch/updates main
deb http://ftp.debian.org/debian stretch-backports main

Kali

Kali 的话, 在 /etc/apt/sources.list 中输入以下内容:

#阿里云
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

#中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

#清华大学
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free

#浙大
deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free

#东软大学
deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
deb-src http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib

#官方源
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib

apt-get 的使用

Debian系(Debian, Ubuntu, Kali, Deepin)使用apt进行包管理, 源文件位于 /etc/apt/sources.list

$ cd /etc/apt  # 进入配置文件所在目录
$ cp sources.list sources.list.bak  # 备份配置文件
$ echo '' > sources.list
$ vim sources.list  # 编辑配置文件

更新源

$ apt update
$ apt list

安装包

$ apt-get install packagename

卸载包

保留配置文件:

$ apt-get remove packagename

删除配置文件:

$ apt-get –purge remove packagename

清理包

卸载包会在系统内留有备份, 如果需要释放空间可以使用以下命令清理已经卸载掉的包:

$ apt-get autoclean

如果您的需求十分迫切,可以使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。

更新包

$ apt-get upgrade

将系统升级到新版本:

$ apt-get dist-upgrade

定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。

yum 的使用

Redhat系(Redhat, CentOS, Fedora)使用yum进行包管理, 源配置文件位于 /etc/yum.repos.d/

清除并重建本地缓存

$ yum clean all
$ yum makecache

清除指定的缓存

$ yum clean packages # 清除缓存目录下的软件包
$ yum clean headers # 清除缓存目录下的 headers
$ yum clean oldheaders # 清除缓存目录下旧的 headers

安装包

若一个软件包在官方源内,则应通过官方源安装:

$ yum install PackageName # 安装指定包
$ yum reinstall PackageName # 覆盖安装软件包

更新包

$ yum update # 全部更新
$ yum update PackageName # 更新系统中的一个或多个软件包
$ yum check-update # 检查可更新的程序
$ yum upgrade PackageName # 更新软件包同时考虑软件包取代关系

查找和显示

$ yum list # 显示所有已经安装和可以安装的程序包
$ yum list PackageName # 显示指定程序包安装情况
$ yum info PackageName # 显示安装包信息
$ yum deplist PackageName # 查看程序依赖情况

删除程序

$ yum remove & erase PackageName # 删除程序包

yum 插件

yum-fastestmirror

自动搜索最快镜像插件

$ yum install yum-fastestmirror

yum-plugin-priorities

用于设置 yum 源的优先级

当既有本地 yum 源又有阿里源的时候,我们在装软件包的时候当然希望先用本地的yum源去安装,本地找不到可用的包时再使用阿里源去安装软件,这里就涉及到了优先级的问题,yum提供的插件 yum-plugin-priorities.noarch 可以解决这个问题。

查看系统是否安装了优先级的插件

$ rpm -qa | grep yum-plugin-
$ yum search yum-plugin-priorities
# 用search查看是否有此插件可用

安装yum-plugin-priorities.noarch插件

$ yum -y install yum-plugin-priorities.noarch

看插件是否启用

$ cat /etc/yum/pluginconf.d/priorities.conf
[main]
enabled = 1
# 1为启用;0为禁用

修改本地yum源优先使用

比如本地有两个 yum 源配置文件,需要将 local.repo 设置为优先,需要在对应的文件中加入 priority=1,数字越小优先级越高 :

$ ll /etc/yum.repos.d/
total 8
-rw-r--r--. 1 root root 2573 May 15  2015 CentOS-Base.repo
-rw-r--r--. 1 root root   67 Jun 20 06:04 local.repo

改写对应文件:

$ vi /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///opt/centos
enabled=1
gpgcheck=0
priority=1

在原基础上加入 priority=1 ;数字越小优先级越高
可以继续修改其他源的 priority 值,经测试仅配置本地源的优先级为 priority=1 就会优先使用本地源了

错误解决

/var/run/yum.pid 已被锁定,PID 为 xxxx 的另一个程序正在运行的问题解决

解决方案

$ rm -f /var/run/yum.pid

其他包管理工具

SUSE 使用 zypper 进行包管理, 没怎么研究

参考资料

切换阿里源参考: 阿里巴巴开源镜像站OPSX