在Linux下制作软件安装包

目前,Linux操作系统的软件包主要有两种:Redhat系的RPM包管理机制和Debian系的Deb包管理机制。

Debian系统的代表有Debian、Ubuntu等操作系统。在Linux下安装软件的实质是将可执行文件复制到环境变量PATH对应的官方路径下。常见的路径有:

  • /sbin
  • /bin
  • /usr/bin
  • /usr/local/bin等
    比如说我们在shell终端输入命令时,Shell就会到这些默认路径下去找与命令对应的可执行文件,并加载到内存执行。

下面我们就来演示一下在Debian系的安装包,我在Ubuntu上演示:

第一步:写好源程序并编译好:

c 复制代码
#include <stdio.h>

int main(void){
	printf("Hello world!\n");
	return 0;
}

编译并运行测试,保证程序没有问题

bash 复制代码
$gcc helloworld.c -o helloworld
$./helloworld
Hello world!

第三步:创建相应的目录

建一个名为helloworld的目录

bash 复制代码
$mkdir helloworld

在helloworld目录下创建DEBIAN目录和usr/local/bin

bash 复制代码
$cd helloworld
helloword$mkdir DEBIAN
helloword$mkdir -p usr/local/bin

在DEBIAN创建一份名为control描述文件

bash 复制代码
helloword$cd DEBIAN
helloworld/DEBIAN$ touch control

control文件的内容如下:

bash 复制代码
package:helloworld
version:1.0
architecture:arm64
maintainer:me
description:deb package demo

第四步,将可执行文件helloworld拷贝到helloworld/usr/local/bin目录下

bash 复制代码
$mv helloworld helloworld/usr/local/bin

这表示目录usr/local/bin是这个deb包的默认安装目录

第五步:使用dpkg命令生成deb包

bash 复制代码
$dpkg -b helloworld/ helloworld_1.0_arm64.deb

命令完成后,会在当前目录得到helloworld_1.0_arm64.deb这个包

安装helloworld_1.0_arm64.deb包

bash 复制代码
$dpkg -i helloworld_1.0_arm64.deb

在shell终端运行helloworld程序

bash 复制代码
$helloworld
Hello world!

查看安装的位置

bash 复制代码
$ls /usr/local/bin
helloworld
相关推荐
镜子AI7 小时前
镜子AI 技术复盘:三条自动化链路上的“停止条件“设计
运维·人工智能·自动化
tianyuanwo7 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
HideF7 小时前
Linux sudo
linux
FlightYe8 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
蹊黎8 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
知已难寻9 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
huainingning10 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
牛马鸡niumasi10 小时前
【Linux】C语言文件操作
linux
say_fall10 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii11 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器