目前,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