网站建设的费用计入,t型布局网站的样子,做端口映射 怎么访问网站,华艺网络网站开发deb安装包
deb是Unix系统(其实主要是Linux)下的安装包#xff0c;基于 tar 包#xff0c;因此本身会记录文件的权限(读/写/可执行)以及所有者/用户组。 由于 Unix 类系统对权限、所有者、组的严格要求#xff0c;而 deb 格式安装包又经常会涉及到系统比较底层的操作#…deb安装包
deb是Unix系统(其实主要是Linux)下的安装包基于 tar 包因此本身会记录文件的权限(读/写/可执行)以及所有者/用户组。 由于 Unix 类系统对权限、所有者、组的严格要求而 deb 格式安装包又经常会涉及到系统比较底层的操作所以权限等的设置尤其重要。
deb组成
查看deb包含哪些文件
两个命令结果都是一样的查看deb安装包内有哪些文件。
dpkg -c xxx.deb // 安装前根据deb文件查看
dpkg -L debname // 安装后根据软件名称查看deb包本身有三部分组成
组成详细数据包包含实际安装的程序数据文件名为“data.tar.XXX”安装信息及控制包包含deb的安装说明标识脚本等文件名为“control.tar.gz”二进制数据包含文件头等信息需要特殊软件才能查看 deb本身可以使用不同的压缩方式. tar格式并不是一种压缩格式而是直接把分散的文件和目录集合在一起并记录其权限等数据信息。之前提到过的 data.tar.XXX这里 XXX 就是经过压缩后的后缀名. deb默认使用的压缩格式为gzip格式所以最常见的就是 data.tar.gz。常有的压缩格式还有 bzip2 和 lzma其中 lzma 压缩率最高但压缩需要的 CPU 资源和时间都比较长 详细介绍
data.tar.gz 包含的是实际安装的程序数据而在安装过程中该包里的数据会被直接解压到根目录(即/),因此在打包之前需要根据文件所在位置设置好相应的文件/目录树。control.tar.gz 则包含了一个deb安装的时候所需要的控制信息。
控制文件描述control用了记录软件标识版本号平台依赖信息等数据preinst在解包data.tar.gz前运行的脚本postinst在解包数据后运行的脚本prerm卸载时在删除文件之前运行的脚本postrm在删除文件之后运行的脚本
备注 - inst是install安装的缩写 - pre是表示XX之前的前缀 - post是表示XX之后的前缀 - rm是remove移除的缩写
安装移除
deb包安装
dpkg -i xxx.deb
deb包移除
dpkg -r debname
查看某个文件属于哪个安装包
dpkg -S filepath
指定安装路径
dpkg -X xxx.deb dirname
制作deb流程
准备好可执行的二进制文件
这个二进制文件要可执行提前要考虑兼容性如果程序有目录要完整的一个程序目录。 这里只拿一个单独的二进制文件打包。测试文件下载
新建软件文件夹 我们测试名称为MyDeb新建一个名为DEBIAN文件夹 此文件夹内存放控制信息
在DEBIAN里新建一个文本文档, 名为control, 编码为utf-8, 内容如下所示
例子
Package: MyDeb
Version: 1.0.0-2018.01.11
Section: Software
Priority: optional
Depends:
Suggests:
Architecture: i386
Installed-Size: 4096
Maintainer: gatieme
Provides: bioinfoserv-arb
Description: xxx
我们创建一个简单的。
package: MyDeb #安装包的名称
version: 1.0.0 #版本
architecture: i386 #平台
maintainer: young #维护者
description: you can description the deb #描述安装包的信息
然后我们创建对应的二进制包安装完成后的路径信息放置在DEBIAN的同级目录下也就是把当前的目录当成根(“/”)目录,制作完成后安装时当前目录下除了DEBIAN目录的其他目录都会被默认安装到系统的“/”目录下。
下面是一个程序目录的例子。
|——mydeb|————usr|————bin|——可执行文件安装后就在你的/usr/bin生成相应的可执行文件|————share|————icons |——deb.png(图标文件生成到/usr/share/icons/)|————applications |——deb.desktop桌面文件生成到/usr/share/applications/|————DEBIAN(大写、用来制作打包文件)|————control(描述deb包的信息必须的文件)
完整实验例子目录结构
MyDeb
├── DEBIAN
│ └── control
├── opt
│ └── MyDeb
│ ├── heart
│ └── heart.desktop
└── usr├── bin│ └── heart - /home/vincent/桌面/MyDeb/opt/MyDeb/heart└── share├── applications│ └── heart.desktop└── icons└── heart_98.png8 directories, 6 files打包
sudo dpkg -b MyDeb/ MyDeb-linux-amd64.deb