编辑源地址文件
vim /etc/apt/sources.list
上图的deb http://http.kali.org/kali kali-rolling main contrib non-free就是官方的源地址。
操作说明:移动光标到需要删除的行按两次“d”删除内容,移动到需要插入内容的地方按“i”插入,插入完成后按Esc退出编辑,输入“:”,然后后继续输入“wq”保存并退出。
添加源地址
#中科大
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.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
更新
修改sources.list之后需要执行命令
apt-get update
apt-get upgrade
删除软件包依赖项-慎重
apt-get autoremove
apt-get autoremove 会卸载所有自动安装且不再使用的软件包,一般用来清理依赖项,比如我安装A的时候自动安装了B 和C,而B和C只被A依赖,那么我卸载A之后可以用这个命令清理掉B和C
看起来似乎没什么问题,但假如你没有使用apt去管理、安装一些软件,那么apt可能不能获得正确的依赖关系。比如D同样依赖于B,但apt不知道,使用autoremove后D会报错。
sources.list-介绍
参考链接:https://blog.youkuaiyun.com/u012843189/article/details/80964287
apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。
apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
apt 命令执行需要超级管理员权限(root)。
apt来管理软件包,apt可以将软件库存储在如下文件中:
/etc/apt/sources.list和/etc/apt/sources.list.d/目录中带.list后缀的文件中。可以使用命令man sources.list来查看apt的完整存储机制。通过编辑这些文件,我们可以添加、删除、或者临时关闭某些软件库。
常用apt命令
apt 常用命令
apt install #安装软件包
apt remove #移除软件包
apt update #更新可用软件包列表
apt upgrade #通过安装/升级软件来更新系统
apt dist-upgrade #通过卸载/安装/升级来更新系统
vim /etc/apt/sources.list #编辑软件源信息文件
下面详细分析文件sources.list的格式和写法
以字符’#'开头的行代表该行是一行注释
不以’#'开头的行是apt repository,它的格式为:
deb: 二进制包仓库
deb-src: 二进制包的源码库
URI:库所在的地址,可以是网络地址,也可以是本地的镜像地址
codename: Ubuntu版本的代号。可以用命令lsb_release -sc来查看当前系统的代号。
components: 软件的性质(free或non-free等)
————————————————
apt-get update 解释
#从/etc/apt/sources.list 文件中定义的源中获取的最新的如那件包列表,
即没有更新软件,而是相当于windows下面的检查更新,获取的是软件的状态
Kali Rolling :是Kali的即时更新版,只要Kali中有更新,更新包就会放入Kali Rolling中供用户下载使用。它为用户提供了一个稳定更新的版本,同时会带有最新的更新安装包。这个是我们最常用的源
在kali Rolling 下有3类软件包main、non-free和contrib。其中main遵从Debian自由软件指导方针(DFSG),并且不依赖于non-free;contrib 遵从Debian自由软件指导方针(DFSG),但依赖于non-free;non-free不遵从Debian自由软件指导方针(DFSG)
InRelease 代表软件包更新列表,里面会有版本号等,后期更新会根据它进行判定是否更新
apt-get upgrate 解释
apt upgrade #对其进行更新,开始的包比较多,所以时间也比较长;同样apt dist-upgrade 也是对其更新,他俩的区别是:
upgrade :升级时,如果软件包有相依性的问题,此软件包就不会被升级(更稳定)
dist-upgrade升级时,如果软件包有相依性的问题,会移除旧版,直接安装新版本。(所以通常会被认为是有风险的升级,不兼容可能不会正常运行)
升级时要先获取apt update然后在更新apt upgrade;如果没有获取包的信息,upgrade也是无效的,相当于还是用的旧版本