欢迎光临
我们一直在努力

第八期:构建deb软件安装包

大家好,接下来的一段时间我将开始学习野火的Linux系统课程并将学习到的干货逐步更新到我的CSDN博客中。没时间刷课的同学可以把我的博客喂给AI  突击一下。

目录

1、Linux软件包

1.两大类软件包

源码包(.tar.gz 压缩源码)

二进制包(deb、rpm)

2.deb 软件包目录规范(FHS 标准)

2、deb包与dpkg工具

3、构建一个helloworld的deb包

4、apt工具

apt 包管理器

常用 apt 命令

dpkg vs apt 

1、Linux软件包

1.两大类软件包

源码包(.tar.gz 压缩源码)

优点

  • 开源免费,可以看到源代码
  • 可以自由裁剪功能,编译时开启 / 关闭模块
  • 可以修改源代码,二次开发

缺点

  • 安装步骤繁琐:./configure → make → make install
  • 需要本地编译,编译耗时久
  • 依赖库多,编译报错新手很难排查解决

本质:拿到 C/C++ 源码,自己在本机编译生成可执行程序。

二进制包(deb、rpm)

已经在别的机器编译完成,直接拿来安装,不需要本机编译。

优点

  • 安装简单,一条命令即可
  • 安装速度快,不用编译

缺点

  • 看不到源代码,不能修改源码
  • 编译时已经固定功能,无法自由裁剪模块
  • 依赖问题需要包管理器处理

2.deb 软件包目录规范(FHS 标准)

文件类型保存目录说明
普通程序 /usr/bin 普通用户可执行的二进制程序,所有用户都能调用
root 权限程序 /usr/sbin 仅 root / 管理员使用的工具程序,普通用户一般不执行
程序配置文件 /etc 系统级配置,全局配置文件;软件安装后,修改这里会影响全部用户
日志文件 /var/log 运行产生的日志,可变数据,会不断增长
文档文件 /usr/share/doc 软件说明文档、README、版权信息等

补充:

  • /usr 是只读的系统目录:存放软件本体,安装时写入,运行时不会修改。
  • /var 是可变目录:日志、缓存、运行数据,程序运行过程会持续读写修改。
  • /etc 配置:区分全局与用户配置
    • /etc/xxx.conf:全局配置,所有用户生效;
    • ~/.xxxrc:用户私有配置,只对当前用户生效。
  • 区分 /bin 和 /usr/bin
    • /bin:系统启动必备命令(单用户模式也要用)
    • /usr/bin:普通应用软件,deb 包的程序一般放这里。
  • 2、deb包与dpkg工具

    • 两种二进制包
    包格式适用发行版包管理器
    deb Debian、Ubuntu、Deepin dpkg / apt
    rpm RedHat、CentOS、Fedora rpm / yum/dnf

    注意:deb 和 rpm 不能互相通用,Ubuntu 不能直接装 rpm 包,因此我们主要用deb。

    • dpkg(deb 底层工具)

    dpkg:本地包管理工具,只处理本地已经下载好的 deb 文件,不会自动解决依赖。 apt 是上层工具,会联网自动处理依赖,底层依然调用 dpkg。

    • dpkg 常用命令
    命令作用
    dpkg -i xxx.deb 安装 deb 包(本地文件)
    dpkg -L 软件名 查看该软件安装到系统哪些目录(文件列表)
    dpkg -l 软件名 查看软件版本、安装状态
    dpkg -s 软件名 查看软件详细信息(版本、状态、依赖)
    dpkg -c xxx.deb 查看deb 包内部包含哪些文件(还没安装,只是下载了deb包)
    dpkg -r 软件名 卸载软件(保留配置文件)
    dpkg -P 软件名 彻底卸载,删除配置文件
    • 总结
  • deb 包用于 Ubuntu/Debian 系;rpm 用于 CentOS/RHEL 系。
  • dpkg是底层工具,处理本地 deb,不解决依赖;apt 负责联网 + 依赖。
  • -L看已安装文件;-c看 deb 包内部文件。
  • -r卸载保留配置;-P彻底卸载。
  • 3、构建一个helloworld的deb包

    4、apt工具

    apt 包管理器

    旧版:apt‑get、apt‑cache 命令分散; apt 是新版整合工具,底层调用 dpkg。

    • 优点:自带进度条、显示升级包数量,交互友好
    • 重要:apt 可以联网自动解决依赖;dpkg 不行

    常用 apt 命令

    apt install 软件名 #联网安装,自动解决依赖
    apt remove 软件名 #卸载,保留配置文件
    apt purge 软件名 #彻底卸载,删除配置
    apt show 软件名 #查看软件信息

    dpkg vs apt 

    工具特点依赖处理
    dpkg 底层工具,操作本地 deb 包 不自动处理依赖
    apt 上层管理工具,联网 自动处理依赖
    赞(0)
    未经允许不得转载:171主机测评 » 第八期:构建deb软件安装包
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址