前言
提示:这里可以添加本文要记录的大概内容:
程序安装的本质是将一个可执行文件安装到ROM的过程。下载的软件安装包中包含了可以在计算机上运行的可执行文件,软件开发者为了方便用户使用将可执行文件,程序运行时需要的动态共享库,安装使用文档等打包压缩,生成可运行的自解压安装包格式。使用安装包安装软件就是将包中的可执行文件解压出来,然后将可执行文件和动态共享库复制到指定的安装目录,并把这些安装信息告诉操作系统。
当用户运行这个软件时,操作系统就会从安装目录找到这个可执行文件,把它加载到内存执行。
在linux环境下,一般将可执行文件直接复制到系统的官方路径/bin, /sbin, /usr/bin下,程序运行时直接从这些系统默认的路径下去查找可执行文件,将其加载到内存运行。
提示:以下是本篇文章正文内容,下面案例可供参考
在linux下制作deb软件安装包
linux操作系统根据对安装包管理的不同分为:Redhat系和Debian系。Debian系列,像Debian,Ubuntu等操作系统使用deb包管理机制。Redhat使用RPM包管理机制。
在linux环境下,安装软件就是将可执行文件复制到环境变量PATH对应的官方路径下面,常用的官方路径/bin, /sbin, /usr/bin, /usr/local/bin等,当在shell(terminal 也就是终端中)输入命令时,shell就会到这些默认的路径下去找与该命令对应的二进制文件(可执行文件), 并加载到内存执行。
实验步骤
写一个简单的测试程序(helloworld.c)
代码如下(示例):
#include<stdio.h>
int main(void){
printf("making a deb package, used for testing! \n");
return 0;
}
编译程序
编辑以上内容的C源码文件,使用gcc编译器编译C源码文件生成可执行文件(helloworld)。
创建软件安装目录
创建一个文件夹名字与编译生成的可执行文件保持一致,该文件夹下包含两个文件夹DEBIAN和usr,将可执行文件helloworld放在helloworld/usr/local/bin/目录下
按照如下格式,编辑DEBIAN目录下的control文本文件
dbpk制作安装包
使用dpkg -b helloworld/ helloworld_1.0_amd_64.deb命令,将helloworld文件夹制作成一个deb程序安装包(使用该安装包,可执行文件会自动被放置在系统默认PATH下,/usr/local/bin)
测试
使用whereis <可执行文件名> 来查看安装的可执行文件的安装位置,在shell终端的任意目录下,输入helloworld进行测试
卸载
dpkg -P helloworld // 卸载程序以及配置文件
dpkg -r helloworld // 卸载helloworld程序
总结
提示:这里对文章进行总结:
以上就是总结的简单内容,仅仅简单介绍了在Ubuntu 22.04系统下的使用dpkg工具制作一个deb安装包,并进行安装和测试的过程。本文仅仅作为一个十分简易的展示,一个完善的软件项目包括可执行文件,运行时需要的动态共享库,使用文档等;期望本文能给读者带来一些参考。