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

Debian系的包管理核心

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

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

核心软件包格式

  • Debian包(.deb)
    • 类似于 Windows 的 .msi 或 Android 的 .apk。
    • 内部包含:
      • 程序文件
      • 元数据(名称、版本、依赖、维护者信息)
      • 安装/卸载脚本(如 postinst、prerm)
    • 示例:
      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

相关推荐
小白的码BUG之路9 小时前
linux -- ssh两台机器相连
运维·服务器·ssh
缓慢更新10 小时前
表单引擎的存储建模:宽表与文档库的取舍
运维·服务器·网络·数据库·低代码·oracle·适配器模式
续写烂尾11 小时前
贴片 SD NAND、eMMC、TF 卡规格怎么定?硬件工程师选型清单
运维·服务器·网络
不昀11 小时前
网口Link Up后仍然掉线,怎样区分物理链路和数据通路问题?
linux·以太网
迪康妍妍11 小时前
终端管控实操:封堵网盘与IM外发通道的落地思路
运维·网络·安全·架构·安全性测试
sxgzzn11 小时前
如何选择合适的开关柜在线监测工具?
运维·重构·无人机·开关柜局放在线监测·光伏运维管理系统
科技小E11 小时前
监控设备品牌杂乱无法互通?EasyGBS打通孤岛,统一汇聚视频
服务器·网络·音视频
Lhan.zzZ11 小时前
Qt WebEngineView 在 Linux 上无法加载网页:从“看不见 HTML“到“禁用沙箱“
linux·c++·qt
zxcvb15312 小时前
运维经验分享:监控网页更新内容的几种思路
运维
Fcy64813 小时前
Linux下 多路转接select详解
linux·select·多路转接