linux进阶-构建deb软件安装包

Linux软件包的组成:源码包和二进制包。

Debian派系Redhat派系
源码包
二进制包后缀debrpm
底层工具dpkgrpm
用户工具aptyum
文件类型保存目录
普通程序/usr/bin
root权限程序/usr/sbin
程序配置文件/etc
日志文件/var/log
文档文件/usr/share/doc

源码包优点:开源免费、自由裁剪、修改源代码。

源码包缺点:安装步骤繁琐、编译时间长、新手无法解决编译问题。

二进制包优点:简单易用、安装速度快。

二进制包缺点:无法阅读修改源码、无法裁剪功能、依赖性强。

二进制包:deb包和rpm包。

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

rpm包:RedHat、Fedora、Centos等Linux发行版的软件安装包。

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

安装软件:dpkg -i xxx.deb

查看安装目录:dpkg -L xxx

显示版本:dpkg -l xxx

详细信息:dpkg -s xxx

目录打包:dpkg -b xxx xxx.deb,第一个为打包的目录名,第二个为生成包的名称。

罗列内容:dpkg -c xxx.deb

卸载软件:dpkg -r xxx

deb包文件结构分析

构建一个deb包 

创建deb_pack文件夹,以存放build_deb.sh、helloworld文件夹和helloworld.deb。

打开vim编辑器,名称为build_deb.sh。deb_pack/build_deb.sh。修改权限777。

#!/bin/bash
package_dir="$1"
package_name="$2"
version="0.0.1"
author="superhero"

mkdir -p ./$package_dir/DEBIAN/

cat <<EOF > ./$package_dir/DEBIAN/changelog
VERSION:$version
AUTHOR:$author
DATE:$(date -R)
EOF

cat <<EOF > ./$package_dir/DEBIAN/copyright
*********************************************
*
*    superhero + rock pi 4b+
*
*********************************************
EOF

cat <<EOF > ./$package_dir/DEBIAN/control
Source:superhero
Package:${package_name%.*}
Version:$version
Section:debug
Priority:optional
Architecture:arm64
Maintainer:$author
Description:Embedfile Tools
EOF

cat <<EOF > ./$package_dir/DEBIAN/postinst
#!/bin/sh
echo "*********************************************"
echo "*"
echo "*    $package_name install over,no gratias!!!"
echo "*"
echo "*********************************************"
EOF

sudo chmod 775 ./$package_dir/DEBIAN/postinst
dpkg -b $package_dir $package_name

创建helloworld/usr/bin文件夹。进入deb_pack/helloworld/usr/bin,打开vim编辑器,名称为helloworld.sh。修改权限775。

#!/bin/bash
echo "hello world!!!"

返回deb_pack文件夹。

sudo ./build_deb.sh helloworld helloworld.deb
sudo dpkg -i helloworld.deb
helloworld

打包命令:

dpkg -b
dpkg -buildpackage
checkinstall
...

apt命令和apt-get命令

apt是新版的包管理工具;

解决apt-get命令过于分散的问题;

apt默认属性对用户友好(进度条、提示升级包数)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值