1、制作安装包

  1. 制作安装包的信息
    1> 生成文件夹 DEBIAN
    2> 生成文件control,放在DEBIAN
    3> control中内容
package: ***            # 生成的包名,注意不管大小写,安装后系统中只能通过小写查找到
version: 1.0.0          # 版本信息
architecture: amd64     # 系统环境
maintainer: ***         # 维护者
description: ****       # 描述信息
  1. 生成安装包
// 终端中输入
dpkg -b   /*需要生成包的文件夹*/     *****.dep  // 生成的包名

2、编写安装脚本

#!/bin/sh# 生成要安装的文件夹,${USER} 为用户名
mkdir /home/${USER}/***Path=/home/${USER}/***# 拷贝安装包到要安装的文件夹下,有时候不拷贝会出现安装失败情况
cp ./***.dep ${Path}/***.dep# 安装到指定目录下
sudo dpkg -i --instdir=${Path} ${Path}/***.dep#创建启动器,写两个是防止创建快捷方式无法到桌面
cd /home/${USER}/Desktop/
cd /home/${USER}/桌面/touch ***.desktop
ExecPath=${Path}/runTime.sh   # 执行脚本信息
IconPath=${Path}/***.png
echo "[Desktop Entry]" > ***.desktop
echo "Encoding=UTF-8" >> ***.desktop
echo "Name=***" >> ***.desktop
echo "Exec="${ExecPath} >> ***.desktop
echo "Icon="${IconPath} >> ***.desktop
echo "Terminal=false" >> ***.desktop
echo "Type=Application" >> ***.desktop
chmod +x ***.desktop

执行脚本

#!/bin/sh# 脚本执行路径
Path=/home/${USER}/***# 加载路径下库文件和路径下Lib文件夹下库文件
export QT_QPA_PLATFORM_PLUGIN_PATH=${Path}/Lib/
export LD_LIBRARY_PATH=${Path}:${Path}/Lib:$LD_LIBRARY_PATH
export QT_DEBUG_PLUGINS=1# 可执行文件路径
${Path}/****

3、编写卸载脚本

#!/bin/sh# 卸载程序,control中package后面名字(全小写,要不找不到)
sudo dpkg -r ***# 删除目录
Path=/home/${USER}/***
rm -rf ${Path}# 进桌面,删除桌面快捷方式
cd /home/${USER}/Desktop/
cd /home/${USER}/桌面/rm ***.desktop

dpkg 常用命令

  • 安装软件
    命令行:dpkg -i <.deb file name>
    示例:dpkg -i avg71flm_r28-1_i386.deb

  • 安装一个目录下面所有的软件包
    命令行:dpkg -R
    示例:dpkg -R /usr/local/src

  • 删除软件包(保留其配置信息)
    命令行:dpkg -r
    示例:dpkg -r avg71flm

  • 替代软件包的信息
    命令行:dpkg –update-avail

  • 从软件包里面读取软件的信息
    命令行:dpkg -A package_file

  • 删除一个包(包括配置信息)
    命令行:dpkg -P

  • 丢失所有的Uninstall的软件包信息
    命令行:dpkg –forget-old-unavail

  • 删除软件包的Avaliable信息
    命令行:dpkg –clear-avail

  • 比较同一个包的不同版本之间的差别
    命令行:dpkg –compare-versions ver1 op ver2

  • 显示帮助信息
    命令行:dpkg –help

  • 显示dpkg的Licence
    命令行:dpkg –licence (or) dpkg –license

  • 显示dpkg的版本号
    命令行:dpkg --version

  • 建立一个deb文件
    命令行:dpkg -b directory [filename]

  • 显示一个Deb文件的目录
    命令行:dpkg -c filename

  • 显示所有已经安装的Deb包,同时显示版本号以及简短说明
    命令行:dpkg -l

  • 报告指定包的状态信息
    命令行:dpkg -s package-name
    示例:dpkg -s ssh

  • 显示包的具体信息
    命令行:dpkg -p package-name
    示例:dpkg -p cacti

Linux下通过dpkg生成.dep安装包相关推荐

  1. ubuntu下使用python生成.deb安装包

    前一节介绍看在windows下python生成安装包的方法windows下使用python生成安装包(可实现安装和卸载等). 在ubuntu系统下,安装包一般都是.deb格式,只有这样才能实现在系统上 ...

  2. 【ROS1总结】使用bloom-generat打包ROS包生成debian安装包

    > 说明:<br><br> > 本文首发于 Playfish Blog,转载请保留链接. 前言 在之前的博客中,介绍了ROS包的编写,在本节中将讲述如何将之前写的R ...

  3. Qt 在mac上使用证书签名并生成pkg安装包

    @[TOC](Qt 在mac上生成pkg安装包)## 标题 1.使用Qt Creator编译出Release版本 2.将生成的app程序拷贝到新的目录 3.使用macdeployqt添加依赖库 mac ...

  4. 【VS2019 C# Winform如何生成exe安装包】

    VS2019 C# Winform如何生成exe安装包 一. 安装扩展程序 二.新建安装程序 三.安装程序的生成 四.安装程序的测试 如果帮到了你,请点个赞再走!谢谢! 一. 安装扩展程序 检查是否有 ...

  5. entos下rtorrent与rutorrent一键安装包

    entos下rtorrent与rutorrent一键安装包 https://sadsu.com/?p=210 搜索 首页 > VPS小知识 > 正文 centos下rtorrent与rut ...

  6. crt证书linux使用,linux下使用openssl生成https的crt和key证书

    x509证书一般会用到三类文,key,csr,crt Key 是私用密钥openssl格,通常是rsa算法. Csr 是证书请求文件,用于申请证书.在制作csr文件的时,必须使用自己的私钥来签署申,还 ...

  7. linux 运行ca.crt,linux下使用openssl生成 csr crt CA证书,opensslcsr

    linux下使用openssl生成 csr crt CA证书,opensslcsr 本文主要借鉴和引用了下面2个地址的内容,然后在自己的机器上进行了测试和执行,并做了如下记录. ref: http:/ ...

  8. openssl生成证书linux,Linux下使用openssl生成证书

    利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: ...

  9. Linux下使用OpenSSL生成证书

    Linux下使用OpenSSL生成证书 安装OpenSSL 直接用apt或者yum安装即可 生成服务器端的私钥(key文件) $ openssl genrsa -des3 -out server.ke ...

最新文章

  1. 浅议DAS、NAS、SAN三种存储架构
  2. 安卓高手之路 图形系统(2)----------------基于Binder的架构思路)
  3. iOS:ShareSDk的分享
  4. eclipse占用内存过大_MySQL 服务占用cpu 100%,如何排查问题? (MySQL面试第七弹)...
  5. 转:python的内置对象
  6. mysql数据库永久链接_PHP使用数据库永久连接方式(mysql_pconnect)操作MySQL的是与非...
  7. Spring JdbcTemplate 调用 Oracle 存储过程 与 Oracle 驱动下载
  8. 深度学习CNN系列笔记
  9. 官网下载Tomcat
  10. netcore读取json文件_NetCore 对Json文件的读写操作
  11. java过滤空号了停机号_手机号码空号检测
  12. ERROR:STATUS_BROM_CMD_SEND_DA_FALL(0xC0060003)
  13. 支持团队开发的UML建模和CASE工具MagicDraw
  14. 无线联网常见问题[1]-搜不到无线网络(请先耐心看完)
  15. python中什么是继承_Python中的继承是什么意思?
  16. python核心编程 第3版_Python核心编程(第3版)PDF高清晰完整中文版
  17. latex算法框三线加粗
  18. ERP是什么?ERP管理系统怎么用?
  19. Android Studio 3.1 正式版发布
  20. linux下hp ssp在线更新固件,HPE SSP固件升级文档.doc

热门文章

  1. MRU(Most recently used)算法
  2. 新浪云存储 php,新浪云存储SCS | API文档
  3. Python 装饰器解析
  4. C++ primer (中文版-第五版 )练习题答案
  5. xp系统计算机描述无法输入,XP系统下电脑打不出字怎么办?
  6. 起凡游戏由于目标计算机积极,10061 由于目标计算机积极拒绝,无法连接
  7. spark之RDD的转换算子与行为算子的具体使用
  8. 1.浏览器使用技巧,教你如何高效的使用搜索引擎(包含google和bd)
  9. 双重检查锁(Double-Checked Locking)的缺陷
  10. 发布gridgame游戏包