APT包管理工具
# APT包管理工具
# 简介
APT(Advanced Package Tool)是基于Debian的系统(例如Ubuntu)的包管理器,用于管理系统中软件包的安装、升级、配置和移除。APT通过自动处理依赖关系和版本冲突,简化了包管理过程。
# APT与YUM区别
虽然APT和YUM的功能在很多方面相似,但它们之间存在一些关键差异:
- 操作系统兼容性:APT主要用于基于Debian的系统,如Ubuntu;而YUM用于基于Red Hat的系统,如CentOS和Fedora。
- 包格式:APT处理的是
.deb
包,而YUM处理的是.rpm
包。 - 命令语法:APT和YUM的命令语法不同,反映了它们的设计哲学和用户体验策略的差异。
# APT常用命令
apt-get update
:更新本地软件包索引数据库。
apt-get upgrade
:升级所有可升级的软件包。
apt-get install [package_name]
:安装或更新指定的软件包。
apt-get remove [package_name]
:删除指定的软件包,但保留配置文件。
apt-get purge [package_name]
:删除指定的软件包及其配置文件。
apt-get autoremove
:自动删除不再需要的软件包。
apt-cache search [keyword]
:搜索包含关键词的软件包。
apt-get clean
:清理APT缓存中已下载的包文件,释放磁盘空间。
dpkg -i [软件包路径].deb
:从本地软件包安装软件,也可以指定网络链接。
# gdebi工具
gdebi工具用于检索缺少的依赖,
# 安装
apt-get install -y gdebi
# 使用
gdebi [软件包路径].deb
1
2
3
4
2
3
4
# 修改仓库源
# 介绍
在Ubuntu系统中,APT的源可以通过编辑/etc/apt/sources.list
文件来进行修改。源(repositories)是网络或本地的服务器,包含了软件包的集合,修改源可以让你从更快的服务器上下载软件包,或者访问到特定版本的软件包。
# 方法
# 备份现有的sources.list文件
mv /etc/apt/sources.list{,.bak}
# 查看系统版本代号并记录
lsb_release -c
# 创建/etc/apt/sources.list文件并编辑
# 此为清华源,如果是其他系统版本就替换buster为其他版本代号
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
# 重建软件包索引
apt-get update
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 配置格式
[仓库类型] [仓库地址] [版本号]/[仓库更新类型] [软件包分类]
仓库包类型
- deb开头表示是二进制包仓库地址。
- deb-src开头表示是源代码包仓库地址,一般用不上建议注释。
仓库地址
- 可以网络或本地的服务器。
版本号
- 通过
lsb_release -c
命令查看。
仓库更新类型
- Security - 安全更新仓库,这个仓库包含了针对安全漏洞的紧急修复。Ubuntu安全团队负责维护这些更新,以确保系统对抗已知安全威胁的能力。
- Updates - 常规更新仓库,包含了软件的非安全相关更新,这些更新可能包括系统的稳定性修复、小的性能改进和非紧急的错误修复。这个仓库允许用户保持系统的更新,同时避免采用最新但可能未充分测试的软件。
- Proposed - 测试更新仓库,这个仓库包括了即将发布到
Updates
仓库中的更新。这些软件包是处于测试阶段,主要目的是提前测试。 - Backports - 回溯仓库,这个仓库将新版本的软件包回溯编译到较旧的发行版。用户可以在不升级整个系统的情况下,使用某些较新的软件版本。
软件包分类
- 不同的后缀代表着不同类型的软件包。
- main - 完全的自由软件。
- non-free - 私有软件。
- contrib - 依赖于私有软件的软件。