各Linux发行版包管理工具换源
CentOS
搭建本地源(利用ISO镜像)
- 备份默认的网络源CentOS-Base.repo
$ cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 拷贝iso镜像文件解压指/media/cdrom文件夹,如果是虚拟机可选择挂载
- 配置/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
更换网络源
- 备份系统自带yum源
$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 下载最新的阿里 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
- 之后运行
yum makecache
生成缓存即可。
优质的中国yum镜像源:
- 阿里yum源:http://mirrors.aliyun.com/repo/
- 163(网易)yum源: http://mirrors.163.com/.help/
- 中科大的Linux安装镜像源:http://centos.ustc.edu.cn/
- 搜狐的Linux安装镜像源:http://mirrors.sohu.com/
- 北京首都在线科技:http://mirrors.yun-idc.com/
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