deepwzh的技术笔记
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • 操作系统
  • Linux 源码阅读笔记
  • 内存管理
  • 文件系统
  • Windows

    • Windows
    • 端口转发
    • WSL

      • WSL
      • 与 windows 的互通
      • 安装
      • wsl 常见问题
      • 在 wsl 下进行开发
      • 配置
  • Linux

    • Linux
    • 动态追踪技术
    • DNS 配置
    • 问题排查
    • 杂项
    • Linux 免密登录
    • ebpf
    • 性能调优
    • init 进程
    • Ipvs
    • 基准测试
    • Linux
    • Keepalived
    • Linux 与 Unix
    • 系统调用
    • 命令行补全
    • 文件系统

      • 文件系统
      • Mount
    • systemd

      • systemd
      • Systemd
    • 命令工具

      • 命令工具
      • 时区配置
      • 进程管理工具
      • 路由表维护
      • 文件系统工具
      • 网络工具

        • 网络工具
        • curl
        • 端口转发 rinetd
    • 包管理

      • 包管理
      • APT 与 DEB
    • Shell

      • Shell
      • Zsh
      • Bash

        • Bash
        • 配置文件

APT 与 DEB

概述

在 Debian 系 Linux 发行版(如 Ubuntu),APT (Advanced Package Tool) 最常用的高级包管理工具(Ubuntu、Debian 系发行版),他使用 DEB 作为软件包格式。

DEB(Debian Package)是 Debian 系 Linux 发行版(如 Ubuntu)中软件包管理的核心组件。Deb 包通过 Dpkg 工具进行安装。

它们的关系如下:

  • Deb 是包格式
  • Dpkg 用于包的操作安装
  • Apt 会调用 Dpkg 进行包的安装,并解决依赖问题

配置

镜像源配置地址:/etc/apt/source.list

在 Ubuntu24.04,配置格式做了一次升级

镜像源替换

Ubuntu24.04-

sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
# 或者

Ubuntu24.04+

sed -i "s@http://.*archive.ubuntu.com@https://mirrors.aliyun.com@g; s@http://.*security.ubuntu.com@https://mirrors.aliyun.com@g" /etc/apt/sources.list.d/ubuntu.sources

Debian

sed -i 's|http://deb.debian.org|https://mirrors.aliyun.com|g' /etc/apt/sources.list

执行替换命令后,要再执行下

sudo apt update

dpkg 相关命令

安装

# 安装
sudo dpkg -i package.deb

卸载

# 卸载
sudo dpkg -r package_name
# 完全卸载
sudo dpkg -P package_name

查询信息

  • 列出已安装的包

dpkg -l


- **查看包状态(如版本、依赖)**  
	```bash
dpkg -s package_name
  • 列出包安装的文件

dpkg -L package_name


- **搜索文件所属的包**  
	```bash
dpkg -S /path/to/file

包内容检查

  • **查看 .deb **文件内容

dpkg -c package.deb


- **提取包元信息**  
	```bash
dpkg -I package.deb

注意事项

  • dpkg 不自动解决依赖,若安装失败可运行 sudo apt-get -f install 修复。
  • 日常推荐优先使用 apt/apt-get,dpkg 更适合手动管理本地包。

apt 相关命令

包查询与搜索

# 搜索包名称
sudo apt search package_name

# 查看可以升级的包
sudo apt list --upgradeable

# 查看已经安装的
sudo apt list --installed

更新镜像源

sudo apt update

升级已经安装的包

sudo apt upgrade

查看包信息

# 查看包内容
sudo apt show package_name

保持包(禁止其版本更新)

sudo apt-mark hold package_name

下载源码包

sudo apt source package_name

清理维护

# 清理缓存包
sudo apt clean
# 只清理旧版本的缓存包
sudo apt autoclean

例如命令用于在基于 Debian 的 Linux 发行版(如 Ubuntu)上将 kubelet、kubeadm 和 kubectl 这三个 Kubernetes 组件的包标记为“保持”状态。这样做的目的是防止这些包在系统更新时被自动升级。

Prev
包管理