Linux系统-debian系的软件包管理

Debian系的包管理核心

Debian系的发行版(如Debian、Ubuntu等)主要以来一下工具链:

  • dpkg :底层工具,负责安装、卸载、查询.deb格式的软件包。
  • APT(Advanced Package Tool) :在dpkg之上构建的高层管理工具,解决依赖关系、联网下载等。
  • 前端工具
    • 命令行:apt-getaptapt-cache
      • 区别
        老版本 Debian (≤8):用 apt-get + apt-cache,最兼容。
        新版本 Debian (≥9):直接用 apt,简单好看。
        脚本或自动化场景:尽量用 apt-get,避免 apt 输出格式变化破坏脚本。
    • 图形界面:SynapticSoftWare Center

核心软件包格式

  • Debian包(.deb
    • 类似于 Windows 的 .msi 或 Android 的 .apk
    • 内部包含:
      • 程序文件
      • 元数据(名称、版本、依赖、维护者信息)
      • 安装/卸载脚本(如 postinstprerm
    • 示例:
      dpkg -i package.deb # 安装本地包
      dpkg -r package # 卸载包
      dpkg -l | grep name # 查询已安装的软件

APT的作用

dpkg本身不会自动处理以来关系,APT才是依赖解决器仓库管理器

  • 配置源

    软件仓库信息保存在 /etc/apt/sources.list/etc/apt/sources.list.d/*.list

    示例:
    deb http://mirrors.debian.org/debian/ bookworm main contrib non-free
    deb http://security.debian.org/ bookworm-security main

  • 常用命令
    apt update # 更新本地包列表
    apt upgrade # 升级所有可升级的软件
    apt install nginx # 安装 nginx
    apt remove nginx # 卸载软件(保留配置)
    apt purge nginx # 卸载并删除配置文件
    apt search keyword # 搜索软件
    apt show nginx # 查看软件详情
    apt list --installed # 已安装软件

Debian系的优势

  • 依赖管理完善:APT 会自动解决依赖问题。
  • 仓库丰富:Debian 官方仓库非常庞大,Ubuntu 等衍生版还有 PPA(Personal Package Archives)。
  • 一致性:APT 生态稳定,软件打包规范严格。
  • 安全更新机制:Debian 有 security 仓库,Ubuntu 有 LTS(长期支持版)。

实战安装MongoDB

这里以debian8环境为例。

更新系统

bash 复制代码
sudo apt-get update
sudo apt-get upgrade -y

-y 表示安装过程中选项自动确认

添加 MongoDB 官方仓库

  1. 导入GPG公钥
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
  2. 创建MogoDB源文件
    echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
  3. 安装MogoDB
    sudo apt-get update
    sudo apt-get install -y mongodb-org

解释:sudo apt-get install -y mongodb-org
APT 查询仓库 → 找到 mongodb-org 元包对应的 .deb 文件列表
解析依赖 → 比如 mongodb-org-server.deb, mongodb-org-shell.deb 等
下载 .deb 文件 → 存到本地缓存(通常 /var/cache/apt/archives/)
调用 dpkg 安装每个 .deb → 放到 /usr/bin, /usr/lib 等目录,同时执行安装脚本

  1. 启动与设置开机自启
    Debian 8 默认用 SysV init(不是 systemd),所以管理服务的方式不同:
  • 启动:
    sudo service mongod start

  • 停止:
    sudo service mongod stop

  • 查看状态:
    sudo service mongod status

  • 开机自启:
    sudo chkconfig mongod on

  1. 测试
    mongo

    进入 Mongo shell 后输入:
    db.version()

    返回版本号(比如 "4.0.28")就说明安装成功。

  2. 卸载
    sudo service mongod stop
    sudo apt-get purge -y mongodb-org*
    sudo rm -r /var/log/mongodb /var/lib/mongodb

相关推荐
云智慧AIOps社区17 小时前
轻帆云ITSM|制造业智能化转型,从流程重构看 IT 服务管理发展新趋势
运维·自动化·aiops·智能运维·itsm平台·it服务管理系统
闵孚龙17 小时前
Claude Code 技能系统全解析:AI Agent 自定义能力、SKILL.md、MCP 扩展、上下文预算与企业级自动化落地
运维·人工智能·自动化
corpse201017 小时前
CentOS Linux release 8.5.2111下的CVE-2026-31431 Linux内核提权漏洞处置
linux·运维·centos
我是苏苏17 小时前
C#基础:Winform桌面开发中自定义组件UI、属性及事件
服务器·数据库·c#
http阿拉丁神猫17 小时前
ansible脚本解读
服务器·ansible·apache
KaMeidebaby17 小时前
卡梅德生物技术快报|Fab 抗体文库构建标准化实验流程与数据复盘
服务器·前端·数据库·人工智能·算法
小船跨境17 小时前
演唱会自动化抢票如何提高成功率?票务住宅IP与配置指南
运维·服务器
楼兰公子17 小时前
《深入理解Linux网络技术内幕》全套学习资料合集
linux·网络·应用·驱动
想唱rap17 小时前
IO多路转接之epoll
linux·运维·服务器·数据库·网络协议·算法·http
舰长11517 小时前
polkit服务没起来,导致防火墙命令卡住
linux·运维·服务器