fceux源码解析_fceux源码解析_从源代码制作deb包的两种方法以及修改已有deb包(转载)...
1. 原理
1) deb包通常包含两部分:控制信息(DEBIAN目录)、安装内容(模拟"/"目录)
2) 通过解开已有的deb包看其中内容
i. 释放安装内容到dirname目录中
$ dpkg-X xxx.deb dirname
ii. 释放控制信息到当前目录下的DEBIAN子目录中
$ dpkg-e xxx.deb
2. 准备
1) 安装相关工具
$ sudo apt-getinstall dh-make checkinstall
2) 下载示例软件源码包
以游戏模拟器为例(也可使用其它源码包),制作它的deb包,下载地址:
3. 方法一: 使用checkinstall方法创建deb包
checkinstall不仅可以生成deb包,还可以生成rpm包,使用简单。
$ tar xvjf fceu-0.98.12.src.tar.bz2# 解包
$ cd fceu;./configure;make# 编译
$ checkinstall-D-install=no--pkgversion=0.98--pkgname=fceuxy make install# 制作deb包
此时当前目录下生成了deb包。
4. 方法二: 使用dpkg方法创建deb包
dpkg是最基本的制作deb包的方法,推荐使用
$ tar xvjf fceu-0.98.12.src.tar.bz2# 解包
$ mv fceu fceu-0.98# 改目录名为 包名-版本号
$ cd fceu-0.98
$ dh_make-f../fceu-0.98.12.src.tar.bz2# 生成制作deb包所需的默认信息
此时当前目录下生成了debian目录,此时通常修改两个文件:
修改debian/control文件,配置你的信息,具体字段见参考资料部分
修改debian/rules脚本,它决定编译参数(也可以不改)$ dpkg-buildpackage-rfakeroot
此时可以看到,上层目录中已建立了deb包。
修改已有deb包
自己创建deb所需目录结构(控制信息和安装内容),然后打包,一般使用这种方法来修改已有的deb包,而不是新建deb包,命令如下:
$ mkdir-p test
$ dpkg-X xxx.deb test# 解包安装内容
$ cd test
$ dpkg-e../xxx.deb# 解包控制信息
修改DEBIAN目录下的内容,然后重新打包:
$ cd../
$ dpkg-b test xxx_new.deb# 重新打包
关于deb包的常用命令
1. 查看deb包含有哪些文件
$ dpkg-c xxx.deb# 安装前根据deb文件查看
$ dpkg-L debname# 安装后根据包名查看
2. 安装deb包
$ dpkg-i xxx.deb
3. 查看某个文件属于哪个deb包
$ dpkg-S filefullpath
4. 卸载deb包
$ dpkg-r debname
5. 完全卸载deb包(包含配置文件)
$ dpkg-P debname
6. 下载源码包
$ apt-getsource packagename
7. 根据软件包名模糊检索
$ dpkg-l|grep xxx#在已安装的软件包列表中搜索
$ apt-cache search xxx#在源中的所有软件包列表中搜索
参考资料
debian/control文件中信息说明Package 包名
Version 版本
Architecture 目标机架构(i386,arm,amd64等)
Maintainer 维护者
Depends 依赖软件包
Description 描述
fceux源码解析_fceux源码解析_从源代码制作deb包的两种方法以及修改已有deb包(转载)...相关推荐
- fceux源码解析_从源代码制作deb包的两种方法以及修改已有deb包(转载)
1. 原理 1) deb包通常包含两部分:控制信息(DEBIAN目录).安装内容(模拟"/"目录) 2) 通过解开已有的deb包看其中内容 i. 释放安装内容到dirname目录中 ...
- 读取xml文件转成ListT对象的两种方法(附源码)
读取xml文件转成List<T>对象的两种方法(附源码) 读取xml文件,是项目中经常要用到的,所以就总结一下,最近项目中用到的读取xml文件并且转成List<T>对象的方法, ...
- 利用多线程爬虫搭建代理ip池的两种方法(含源码)
搭建爬虫代理ip池的两种方法(含源码) 前言 一.ip池是什么? 二.爬取原理 三.使用步骤 方法一 爬取网站https://www.kuaidaili.com/ 验证 存取到mysql 方法二 爬取 ...
- (论文加源码)基于DEAP的脑电情绪识别(CNN,RNN和两种不同的注意力机制)
论文及源码见个人主页:https://download.csdn.net/download/qq_45874683/85063985 (论文加源码)基于DEAP的脑电情绪识别(CNN,RNN和两种不同 ...
- jquery生成二维码怎么添加图片(两种方法)
github项目地址: https://github.com/fengliting/erweima 注意:这里实现的是第一个方法 自动生成二维码里面添加图片,有两种方法,一种是使用jquery原生的二 ...
- Java生成二维码的两种方法
本文介绍Java生成二维码的两种方法,这两种方法都依赖于google提供的二维码依赖包. 一种是自己写工具类,代码可以网上抄. 另一种是使用hutool第三方工具类的依赖包,不用自己抄代码. 一.自定 ...
- java构造和解析json_Java构造和解析Json数据的两种方法详解一
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...
- java json解析 代码_Java构造和解析Json数据的两种方法详解一
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...
- Java构造和解析Json数据的两种方法详解一
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...
最新文章
- PyTorch 1.8来了!正式支持AMD GPU,炼丹不必NVIDIA
- 如何为 Flask Web 应用配置 Nginx
- Tomcat类加载器机制
- 超哥笔记--linux准备知识(1)
- POJ-2480 Longge's problem 积性函数
- 有个产品经理女朋友是一种什么样的体验?
- 小程序确定取消弹窗_微信小程序定制开发价格确定条件?
- python中的array函数作用_Python中的Array | 数组2(简介和功能)
- 继北大“鸿hao之志”后,清华出现“热列欢迎”…
- java rsa 验_Java使用RSA加密解密签名及校验
- hdu 6070 Dirt Ratio —— 二分+线段树
- c语言程序设计韦良芬答案,论高职院校《C语言程序设计》的教学改革
- 2022济南大学acm新生赛题解
- 福布斯30岁以下30强名单新出炉!区块链从业者占比13%
- ISO26262-6 2018第七章: Software architectural design
- 计算机基础数据表示实验,2018大学计算机基础上机实验报告
- 使用Spark分析拉勾网招聘信息(三): BMR 入门
- 科普系列—低速容错CAN的容错机制介绍
- Unity用Mesh画多边形、圆形
- 关于iOS录音后播放声音小的问题