工具

sudo apt-get install dh-make

// 安装
dpkh -i xxx.deb
// 查看文件内容
dpkg -c xxx.deb
// 打包
dpkg -b . xxxx.deb
// 删除包,但保留配置文件
dpkg -r xxx
该命令删除包,且删除配置文件。
dpkg -P|--purge xxx

deb接口

DEBEIAN目录
  • control
    包描述文件
字段 用途 说明
Package 程序名称 中间不能有空格
Version 软件版本
Description 程序描述
Section 软件类别
Priority 软件对于系统的重要行 extra
Essential 是否是系统最版本的软件包 yes/no,yes时则不允许卸载
Depends 软件所依赖的其他软件包和库文件 若依赖多个软件包和库文件,用逗号隔开
Pre-Depends 软件安装前必须安装、配置依赖性的软件包和库文件 常用于必须的预运行脚本需求
Recommends 推荐安装的其他软件包和库文件
  • preinst
    Deb包文件解包之前(即软件安装前),将会运行该脚本。可以停止作用于待升级软件包的服务,直到软件包安装或升级完成。
  • postinst
    负责完成安装包时的配置工作。如新安装或升级的软件重启服务。软件安装完后,执行该Shell脚本,一般用来配置软件执行环境,必须以“#!/bin/sh”为首行。
  • prerm
    该脚本负责停止与软件包相关联的daemon服务。它在删除软件包关联文件之前执行。
  • postrm
    负责修改软件包链接或文件关联,或删除由它创建的文件。软件卸载后,执行该Shell脚本,一般作为清理收尾工作,必须以“#!/bin/sh”为首行

####

    Creating config file /etc/gconf/2/path with new version
    正在设置 libgconf-2-4:amd64 (3.2.6-5) ...
    正在设置 sunloginclient (15.2.0.63064) ...
    Created symlink /etc/systemd/system/multi-user.target.wants/runsunloginclient.service → /etc/systemd/system/runsunloginclient.service.
    正在设置 gconf-service (3.2.6-5) ...
    正在处理用于 libc-bin (2.28.21-1+deepin-1) 的触发器 ...
    root@kevin:~# dpkg -i SunloginClient_15.2.0.63064_amd64.deb 
    (正在读取数据库 ... 系统当前共安装有 222774 个文件和目录。)
    准备解压 SunloginClient_15.2.0.63064_amd64.deb  ...
    Sunlogin stopped
    Removed /etc/systemd/system/multi-user.target.wants/runsunloginclient.service.
    正在解压 sunloginclient (15.2.0.63064) 并覆盖 (15.2.0.63064) ...
    /root/SunloginClient_15.2.0.63064_amd64.deb;
    正在设置 sunloginclient (15.2.0.63064) ...
    Created symlink /etc/systemd/system/multi-user.target.wants/runsunloginclient.service → /etc/systemd/system/runsunloginclient.service.
    正在处理用于 desktop-file-utils (0.23-4) 的触发器 ...
    正在处理用于 bamfdaemon (0.5.4.1-1+eagle) 的触发器 ...
    Rebuilding /usr/share/applications/bamf-2.index...
    正在处理用于 mime-support (3.62) 的触发器 ...

异常处理

  • 已安装 pre-removal 脚本 返回了错误号
    删除/var/lib/dpkg/status文件对应模块的内容(Package:
  • 安装时存在依赖确实的问题
    • 安装前,先运行sudo apt-get update
    • 安装后,运行(修复安装)sudo apt-get -f -y install
文档更新时间: 2025-01-07 17:08   作者:方杰