(7)Linux 构建一个deb软件安装包

了解Linux软件包的组成

| 文件类型     | 保存目录       |
| ------------ | -------------- |
| 普通程序     | /usr/bin       |
| root权限程序 | /usr/sbin      |
| 程序配置文件 | /etc           |
| 日志文件     | /var/log       |
| 文档文件     | /usr/share/doc |

Linux软件包

- 源码包

  优点:

  - 开源免费

  - 自由裁剪功能
  - 修改源代码

  缺点:

  - 安装步骤繁琐
  - 编译时间长
  - 新手无法解决编译问题

- 二进制包

  优点:

  - 简单易用
  - 安装速度快

  缺点:

  - 无法阅读修改源码
  - 无法裁剪功能
  - 依赖性强

deb包

概念:

Debian、Ubuntu、Deepin等Linux发行版的软件安装包。

dpkg工具

 概念

底层的包管理工具,主要用于对已下载到本地和已经安装的deb包进行管理

常用命令


安装软件:dpkg -i xxxx.deb

lzf@ubuntu:~/mywork/helloworld$ sudo dpkg -i helloworld1.deb 
(Reading database ... 135971 files and directories currently installed.)
Preparing to unpack helloworld1.deb ...
Unpacking helloworld1 (0.1.2) over (0.1.2) ...
Setting up helloworld1 (0.1.2) ...
******************************************************************
welcome to use helloworld1.deb!
******************************************************************


查看安装目录:dpkg -L xxxx

lzf@ubuntu:~/mywork/helloworld$ sudo dpkg -L helloworld 
/.
/usr
/usr/bin
/usr/bin/helloworld


显示版本:dpkg -l xxxx

lzf@ubuntu:~/mywork/helloworld$ sudo dpkg -l helloworld 
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  helloworld     0.1.2        amd64        Embedfire Tools


详细信息:dpkg -s xxxx

lzf@ubuntu:~/mywork/helloworld$ sudo dpkg -s helloworld 
Package: helloworld
Status: install ok installed
Priority: optional
Section: debug
Maintainer: Emdebfire
Architecture: amd64
Source: embedfire
Version: 0.1.2
Description: Embedfire Tools


罗列内容:dpkg -c xxxx.deb

lzf@ubuntu:~/mywork/helloworld$ sudo dpkg -c helloworld1.deb 
[sudo] password for lzf: 
drwxr-xr-x root/root         0 2021-09-18 07:41 ./
drwxr-xr-x root/root         0 2021-09-18 07:41 ./usr/
drwxr-xr-x root/root         0 2021-09-18 07:43 ./usr/bin/
-rwxrwxrwx root/root        34 2021-09-18 07:43 ./usr/bin/helloworld.sh


卸载软件:dpkg -r xxxx

lzf@ubuntu:~/mywork/helloworld$ sudo dpkg -r helloworld 
(Reading database ... 135971 files and directories currently installed.)
Removing helloworld (0.1.2) ...

deb包文件结构分析

- DEBIAN目录:

  - control文件:

    - Package:软件名称

    - Version:版本

    - Section:软件类别

    - Priority:对系统的重要性

    - Architecture:支持的硬件平台

    - Maintainer:软件包的维护者
    - Description:对软件的描述

  - preinst文件 : 安装之前执行的shell脚本
  - postinst文件 : 安装之后执行的shell脚本
  - prerm文件:卸载之前执行的shell脚本
  - postrm文件: 卸载之后执行的shell脚本
  - copyright文件:版权声明
  - changlog文件: 修改记录

- 软件具体安装目录:

  ​    视实际需求

##### 构建一个helloworld的deb包

演示:dpkg -b

其他:

dpkg-buildpackage

checkinstall

...
成功了!!

lzf@ubuntu:~/mywork/helloworld$ helloworld.sh
hello,world!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值