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

发布时间:2026/10/22 16:53:50

第八期:构建deb软件安装包 大家好接下来的一段时间我将开始学习野火的Linux系统课程并将学习到的干货逐步更新到我的CSDN博客中。没时间刷课的同学可以把我的博客喂给AI 突击一下。目录1、Linux软件包1.两大类软件包源码包.tar.gz 压缩源码二进制包deb、rpm2.deb 软件包目录规范FHS 标准2、deb包与dpkg工具3、构建一个helloworld的deb包4、apt工具apt 包管理器常用 apt 命令dpkg vs apt1、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工具两种二进制包包格式适用发行版包管理器debDebian、Ubuntu、Deepindpkg/aptrpmRedHat、CentOS、Fedorarpm/yum/dnf注意deb 和 rpm不能互相通用Ubuntu 不能直接装 rpm 包,因此我们主要用deb。dpkgdeb 底层工具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上层管理工具联网自动处理依赖
延伸阅读

更多相关文章

2026/10/22 12:51:53

UltraEdit免安装版指南:绿色便携、配置迁移与大文件处理实战

简介:这款 UE 文本编辑器免安装版,为程序员、脚本编写者和内容创作者提供一套即下即用的专业编辑环境。整个资源包仅 11.37MB,压缩后共 187 个文件,包含可直接运行的 exe 主程序、支撑功能的 dll 动态链接库、适用于多种语言的 cm…

2026/10/21 8:10:03

前雅思考官Simon教学体系全解析:写作口语听力备考方案

备考雅思写作、口语和听力,很多考生都听说过前雅思考官 Simon 的网课资源,但真正把整套资料用起来的人并不多。有的是因为网课零散不成体系,有的是拿到讲义后不知道按什么顺序学,还有的卡在“看了范文却写不出自己的文章”这个环节…

2026/10/21 9:08:07

msado15.dll 32位与64位版本详解:选择、注册与常见错误排查

简介:msado15.dll 32位与64位全版本ADO组件集合,面向需要在Windows下进行数据库应用程序开发的工程师,解决因系统架构不匹配或DLL版本缺失导致的ADO调用失败问题。压缩包共194个文件,约33.7MB,包含96个dll文件、96个tx…

2026/10/22 16:53:49

STM32F407 GPIO与PWM速度极限实测:从寄存器到波形的完整分析

最近在做一款基于 STM32F407 的实时控制面板,遇到了一个以前一直没太当回事、这次却直接卡住进度的问题:引脚开关速度到底能跑多快。嘴上说“F407 主频 168MHz,翻转个引脚还不是小意思”,真正示波器怼上去看波形的时候&#xff0c…

2026/10/22 16:53:49

OpenClaw Skills:给AI装上“手”,从聊天到主动执行

把OpenClaw从“聊天窗口”变成“干活的手”,就差一个Skills我见过太多人把OpenClaw跑起来之后,兴冲冲地丢给它一句“帮我把 downloads 文件夹里超过500MB的文件列出来”,结果它回了一段完美的Python代码,然后客气地补了一句“你可…

2026/10/22 16:53:49

考研数学一概率统计核心考点、解题套路与复习规划

考研数学一的概率论与数理统计,在我的印象里一直是三块内容里最矛盾的存在。论分值,150分里它占33分上下,不算少;论知识点,它的公式密度和学习曲线比高等数学温和得多。但每年对完答案,翻车最惨烈的偏偏就是…

2026/10/22 16:53:49

从HTTP 401到WebSocket放行的标准化排错动线

1. 项目概述:这不是一次简单的“连不上”,而是一套标准化排错流水线 “手机连不上 DSH”——这句话在某智能硬件实验室的工位上,几乎每天都会被不同角色重复五次以上:测试同学抓着手机原地踱步,嵌入式工程师盯着串口日…

2026/10/22 16:53:49

基于S7-200 PLC与MCGS触屏的运料小车自动控制系统设计

1. 项目背景与整体方案选型 1.1 运料小车要解决的实际问题 车间里有一台往来于原料仓和生产线之间的轨道小车,原来靠人工推,来回一趟将近两分钟,到了位置以后装卸料还要人等,效率低不说,工人长期重复走路也容易疲劳。…

2026/10/22 16:48:48

从单机到多集群:AI平台的资源隔离与算力调度实战

早两年我们部署 CubeStudio 的时候,就是一台高配服务器,加一块大显卡,装个 Kubernetes 单机版,然后把 Jupyter 类型的交互环境挂上去,几个算法同事用着也没觉得有什么问题。真正逼我动手改架构的,是三个非常…

2026/10/22 11:29:28

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/22 0:01:49

电商智能运营体系从0到1:架构设计、落地步骤与避坑指南

前两年我们团队接了一个电商平台的运营中台项目,目标很直白:把过去靠运营拍脑袋做的选品、定价、发券、推活动这些事,逐步用数据算法和自动化流程代替。项目名字内部就叫“电商智能运营体系”。最近有不少朋友问我当时是怎么设计的、踩过哪些…

2026/10/22 0:01:49

若依框架AI代码生成不稳定?用Agent Skill三层结构+五步法搞定

最近一段时间,我一直想把后台管理系统里那些机械重复的增删改查代码交给AI去写。框架用的是若依,按理说这类业务代码模式非常固定,应该是AI最擅长的事情。可真试下来却不是那么回事——你让AI生成一个用户管理模块,它给出的Contro…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑