`
isiqi
  • 浏览: 16465661 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

制作Ubuntu deb包的三种方法

阅读更多

一、使用deb包

1. 查看deb包含有哪些文件(不安装)

$ dpkg -c xxx.deb // 安装前根据deb文件查看

$ dpkg -L debname // 安装后根据包名查看

2. 安装deb包

$ dpkg -i xxx.deb

注意,如果提示错误,可以加参数—force-all强制安装,但不推荐这样做

3. 查看某个文件属于哪个deb包

$ dpkg -S filepath

4. 移除deb包

$ dpkg -r debname

二、制作deb包

1. 原理

1) deb包通常包含两部分:控制信息(DEBIAN目录)、安装内容(模拟root目录)

2) 通过解开已有的deb包看其中内容

i. 释放安装内容到dirname目录中

$ dpkg -X xxx.deb dirname

ii.释放控制信息到当前目录下的DEBIAN子目录中

$ dpkg -e xxx.deb

2. 准备

1) 实验平台

ubuntu 8.04

2) 安装相关工具

$ apt-get install dh-make checkinstall

3) 下载示例软件包

以游戏模拟器为例(也可使用其它源码包),制作它的deb包,下载地址:

http://prdownloads.sourceforge.net/fceultra/fceu-0.98.12.src.tar.bz2

4) 注意:对于自己写的代码制做deb包,建议用autoconf, automake生成编译脚本,例程见

http://xy0811.spaces.live.com/default.aspx?_c01_BlogPart=blogentry&_c=BlogPart&handle=cns!F8AECD2A067A6B17!1002

3. 方法一: 使用checkinstall方法创建deb包

checkinstall不仅可以生成deb包,还可以生成rpm包,使用简单,但是不灵活,功能粗糙,只做介绍,不推荐使用

$ tar xvjf fceu-0.98.12.src.tar.bz2 // 解包

$ cd fceu;./configure;make // 编译

$ checkinstall -D -y -install=no –pkgversion-0.98 –pkgname=fceuxy –pkgcource=./ –showinstall=no -default 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 -s -e xieyan0811@sina.com.cn -f ../fceu-0.98.12.src.tar.bz2 // 生成制作deb包所需的默认信息

此时当前目录下生成了debian目录,此时通常修改两个文件:

修改debian/control文件,配置你的信息,具体字段见参考部分

修改debian/rules脚本,它决定编译参数(也可以不改)

$ dpkg-buildpackage -rfakeroot

此时可以看到,上层目录中已建立了deb包

5. 方法三: 修改已有deb包

自己创建deb所需目录结构(控制信息和安装内容),然后打包,一般使用这种方法来修改已有的deb包,而不是新建deb包,命令如下:

$ dpkg -X xxx.deb test // 解包安装内容

$ cd test

$ dpkg -e ../xxx.deb // 解包控制信息

修改其中内容

$ cd ../

$ dpkg -b dirname xxx_new.deb // 重新打包

三、参考

1. debian/control文件中信息说明

1) Package 包名

2) Version 版本

3) Architecture 目标机架构(i386, arm等)

4) Maintainer 维护者

5) Depends 依赖软件包

6) Description 描述

2. checkinstall详细例程

linux/l-cn-checkinstall/index.html">http://www.ibm.com/developerworks/cn/linux/l-cn-checkinstall/index.html

3. 自己制作deb包例程

http://blog.chinaunix.net/u2/78998/showart.php?id=1404403

4. 官方的debian制作手册(比较长)

http://www.debian.org/doc/manuals/maint-guide/index.zh-cn.html

分享到:
评论

相关推荐

    制作deb包的三种方法

    制作deb包的三种方法_Ralph的空间制作deb包的三种方法_Ralph的空间制作deb包的三种方法_Ralph的空间

    ubuntu deb包制作

    ### Ubuntu DEB包制作详解 #### 一、DEB包简介 Deb包是Debian系统及其衍生系统(如Ubuntu)中的标准软件包格式。它与APT(Advanced Package Tool)一起构成了Debian及其衍生系统中软件管理的核心部分。相较于其他...

    ubuntu操作系统的Deb包制作过程

    在Ubuntu系统中,Deb包是一种常见的软件包格式,它使得用户能够方便地安装、卸载和管理软件。对于开发者来说,学会如何制作Deb包是非常重要的,因为这不仅能够帮助他们更有效地分发自己的应用程序,还能够确保用户...

    deb包制作+软件图标+加到系统菜单实例

    在Linux世界中,DEB包是Debian及其衍生系统(如Ubuntu)中广泛使用的软件打包格式,用于分发和安装应用程序。本实例将带你深入了解如何制作DEB包、添加软件图标以及将其集成到系统菜单中。我们将涉及以下几个关键...

    ubuntu下快速制作.deb安装包脚本(仅限内部使用)1

    ubuntu 下快速制作 .deb 安装包脚本(仅限内部使)#Function: 快速制作不同平台deb安装包(仅限内部HA使),如需定制请联系########

    Deb安装包的制作方法

    【Deb安装包的制作方法】是Linux系统中软件分发的一种常见方式,主要用于Ubuntu、Debian等基于Debian的发行版。以下是制作Deb安装包的详细步骤和相关知识点: 1. **源代码准备** - 首先,确保项目在Eclipse中以...

    Ubuntu16.04 离线安装openssh所需的安装包deb.zip

    通常,这些包可以在Ubuntu的官方仓库或者第三方软件库中找到。在这个例子中,我们已经有了一个名为"Ubuntu16.04 离线安装openssh所需的安装包deb.zip"的压缩文件,它应该包含了所有必要的.deb安装文件。 步骤一:在...

    Ubuntu下的deb包制作详解

    Ubuntu下的deb包制作详解 在 Linux 系统中,deb 包是最常用的软件包格式之一,ubuntu 作为 Linux 发行版之一,deb 包的制作和使用是非常重要的。本文将详细介绍如何使用 QT 程序制作 deb 包,并安装到应用程序菜单...

    checkinstall方法制作deb 包1

    通过`checkinstall`,我们可以将编译后的软件制作成DEB包,方便后续的管理和更新。 1. 首先,我们需要安装`checkinstall`。在终端中输入`sudo apt-get install checkinstall`,这会从Debian的官方仓库中下载并安装`...

    Ubuntu16.04 离线安装openssh所需的安装包deb(修正了安装步骤)

    否则,你需要在有网络的机器上下载这些依赖的DEB包,然后转移到目标机器上。 4. **安装依赖**: 使用`dpkg`命令逐个安装依赖包,直到所有依赖都被解决: ``` sudo dpkg -i package_name.deb ``` 5. **安装...

    用openssh9.8源码包,制作rpm包

    要使用OpenSSH 9.8的源码包制作RPM包,你需要遵循一系列步骤,包括安装必要的工具、准备源码、编写RPM规范文件(spec file),然后构建RPM包。以下是一个基本的指南: 1. 安装必要的工具 首先,确保你的系统上安装...

    ubuntu离线包制作

    在机器不能上网的条件下安装自己制作的软件包。用一台可以上网的机器在线装一次,然后将其制作成安装包拷入其他机器就无需再次下载了,自己装了后写的文档

    Linux deb安装包例子,包含制作一个deb安装包需要的相关文件

    在运维场景中,理解如何制作deb包对于定制化软件部署、修复漏洞或者提供非官方的软件源具有重要意义。在Ubuntu服务器上,使用自定义deb包可以更方便地管理和升级软件,同时保持与官方更新同步。 总结来说,这个...

    如何创建cydia源适用的deb包文档

    - 考虑到不同的操作系统特性,建议在越狱的iPhone OS或Ubuntu/Debian系统中进行DEB包的创建工作。 - 如果需要修改现有的DEB文件,请务必使用`dpkg-deb`命令进行解包和重新打包,以保持文件的原始属性不变。 - 对于...

    deb安装包制作1

    在Linux系统中,DEB安装包是Ubuntu、Debian及其衍生版使用的一种软件包格式,用于分发和管理软件。本文将详细介绍如何制作一个DEB安装包,包括其结构、控制文件的编写、打包过程以及验证步骤。 1. **DEB安装包结构*...

    docker-ce软件包DEB格式

    标题中的“docker-ce软件包DEB...总的来说,Docker CE在Ubuntu上的安装涉及理解DEB包格式、使用dpkg命令、处理依赖关系以及了解Docker的基础概念。在实际操作中,推荐使用apt来自动处理依赖,因为这样更加方便和可靠。

    Ubuntu离线安装软件的方法.txt

    本文将详细介绍一种有效的离线安装方法,帮助用户即使在网络条件不佳的环境下也能顺利完成软件的安装。 #### 二、准备工作 ##### 1. 下载apt源信息文件 为了能够进行离线安装,首先需要在有良好网络连接的地方(如...

    Ubuntu软件包自动备份以及制作本地源的方法

    Ubuntu 软件包自动备份以及制作本地源的方法 本文将介绍 Ubuntu 软件包自动备份以及制作本地源的方法,以解决系统更新速度慢和流量问题。该方法可以节省流量和时间,对网速不高或网络流量有限制的人尤其有益。 一...

    ubuntu dpkg制作安装包

    如果你想要为Ubuntu或其他基于Debian的发行版创建自定义的安装包,你需要理解dpkg和deb包的制作过程。下面我们将详细探讨这个主题。 1. **dpkg基础**: - dpkg是Debian的核心组件之一,它负责安装、配置、升级和...

    打deb包、创建 apt源仓库.docx

    在Linux系统中,`.deb`包是一种常用的软件打包格式,主要用于Debian及其衍生系统,如Ubuntu。创建`.deb`包的过程涉及到多个步骤,主要使用`dpkg`工具来完成。以下是创建`.deb`包的基本流程: 1. **理解deb包结构** ...

Global site tag (gtag.js) - Google Analytics