大多数现代的类 Unix 操作系统都提供了一种中心化的机制用来搜索和安装软件。软件通常都是存放在存储库中,并通过包的形式进行分发。处理包的工作被称为包管理。包提供了操作系统的基本组件,以及共享的库、应用程序、服务和文档。
包管理系统除了安装软件外,它还提供了工具来更新已经安装的包。包存储库有助于确保你的系统中使用的代码是经过审查的,并且软件的安装版本已经得到了开发人员和包维护人员的认可。
虽然这些包管理系统的功能和优点大致相同,但打包格式和工具却因平台而异:
操作系统 格式 工具
Debian .deb apt, apt-cache, apt-get, dpkg
Ubuntu .deb apt, apt-cache, apt-get, dpkg
CentOS .rpm yum
Fedora .rpm dnf
FreeBSD Ports, .txz make, pkg
apt-get update
apt-get update命令会扫描每一个软件源服务器,并为该服务器所具有软件包资源建立索引文件,存放在本地的/var/lib/apt/lists/目录中。 使用apt-get执行安装、更新操作时,都将依据这些索引文件,向软件源服务器申请资源。因此,在计算机设备空闲时,经常使用“apt-get update”命令刷新软件源,是一个好的习惯
apt-get upgrade
将系统中的所有软件包一次性升级到最新版本,可以很方便的完成在相同版本号的发行版中更新软件包。在依赖关系检查后,命令列出了目前所有需要升级的软件包,在得到用户确认后,便开始更新软件包的下载和安装。当然,apt- get upgrade命令会在最后以合理的次序,安装本次更新的软件包。系统更新需要用户等待一段时间。
apt-get install XXX
使用“apt-get install”下载软件包大体分为4步:第一步,扫描本地存放的软件包更新列表(由“apt-get update”命令刷新更新列表,也就是/var/lib/apt/lists/),找到最新版本的软件包;第二步,进行软件包依赖关系检查,找到支持该软件正常运行的所有软件包;第三步,从软件源所指 的镜像站点中,下载相关软件包;第四步,解压软件包,并自动完成应用程序的安装和配置。
相关命令:
清除缓存(/var/cache/apt/archives/{,partial}下)中所有已下载的包:把安装的软件的备份清除
apt-get clean
类似于clean,但清除的是缓存中过期的包(即已不能下载或者无用的包):删除已卸载掉的软件的备份
apt-get autoclean
删除因安装软件自动安装的依赖,而现在不需要的依赖包
apt-get autoremove
查找已安装软件
两种方法
apt list --installed
dpkg -l
查找某款软件
dpkg -l | grep xxx
查找软件安装目录
dpkg -L 软件名
apt-get相关的目录
/etc/apt/sources.list
存放的是软件源站点
Debian和Ubuntu更改apt软件源 https://blog.catmes.com/archives/apt-sources.html
/var/lib/dpkg/available
文件的内容是软件包的描述信息, 该软件包括当前系统所使用的 ubunt 安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包.
/var/cache/apt/archives
目录是在用 apt-get install 安装软件时,软件包的临时存放路径
/var/lib/apt/lists
使用apt-get update命令会从/etc/apt/sources.list中下载软件列表,并保存到该目录
ubuntu下如何查看软件安装目录以及安装版本
https://blog.csdn.net/micheal_j/article/details/7386623
(总结)Ubuntu apt-get apt-cache命令 使用 https://rsljdkt.iteye.com/blog/1142463
Linux 包管理基础:apt、yum、dnf 和 pkg https://linux.cn/article-8782-1.html
【Linux】- apt-get命令 https://www.cnblogs.com/wangwust/p/9767892.html
Linux中apt与apt-get的区别以及详细使用方法 https://blog.csdn.net/qq_24681499/article/details/84821826