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 # 查询已安装的软件
- 类似于 Windows 的
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环境为例。
更新系统
sudo apt-get update
sudo apt-get upgrade -y
-y 表示安装过程中选项自动确认
添加 MongoDB 官方仓库
- 导入GPG公钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
- 创建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
- 安装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 等目录,同时执行安装脚本
- 启动与设置开机自启
Debian 8 默认用 SysV init(不是 systemd),所以管理服务的方式不同:
-
启动:
sudo service mongod start
-
停止:
sudo service mongod stop
-
查看状态:
sudo service mongod status
-
开机自启:
sudo chkconfig mongod on
-
测试
mongo
进入 Mongo shell 后输入:
db.version()
返回版本号(比如 “4.0.28”)就说明安装成功。 -
卸载
sudo service mongod stop
sudo apt-get purge -y mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongodb