`
doujiu
  • 浏览: 90244 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

制作Ubuntu deb包的三种方法 | Sean's Blog

阅读更多
[转]制作Ubuntu deb包的三种方法
Posted by Sean Liu on 10 October, 2009
No comments yet
This item was filled under [ Ubuntu ]

一、使用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详细例程
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

本文转自:http://xy0811.spaces.live.com/blog/cns!F8AECD2A067A6B17!1305.entry


分享到:
评论

相关推荐

    制作deb包的三种方法

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

    ubuntu deb包的解开与合起

    ubuntu deb包的解开与合起 Deb包是Ubuntu操作系统中常用的软件包格式。 Deb包的解开和合起是指将deb包解压缩成其组成部分,然后对其进行修改,最后将其重新打包成新的deb包。下面详细介绍deb包的解开和合起过程。 ...

    ubuntu deb包制作

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

    ubuntu wine.deb 包

    ubuntu wine.deb 包

    ubuntu 微信的deb包

    ubuntu 微信的deb包,ubuntu20.04 已经安装测试成功 sudo dpkg -i weixin_2.1.1_amd64.deb

    ubuntu deb包及依赖库下载地址打包2011年

    ### Ubuntu DEB包及其依赖库概述 Ubuntu 是一个基于 Debian 的流行 Linux 发行版,以其易用性和社区支持而闻名。对于系统管理员和用户来说,理解如何安装、管理和解决依赖问题至关重要。DEB 包是 Ubuntu 和其他 ...

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

    ### Ubuntu操作系统的Deb包制作过程 #### 一、引言 在Ubuntu系统中,Deb包是一种常见的软件包格式,它使得用户能够方便地安装、卸载和管理软件。对于开发者来说,学会如何制作Deb包是非常重要的,因为这不仅能够...

    ubuntu14.4网易云安装包deb包

    标题中的“ubuntu14.4网易云安装包deb包”指的是在...总之,这个DEB包提供了一种在Ubuntu 14.04系统上安装网易云音乐的途径,让Linux用户也能体验到与Windows用户相同的功能和界面。安装过程简单,只需几步即可完成。

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

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

    ubuntu20.04离线无网dpkg安装nginx按完整的deb包

    首先,`dpkg`是Debian和基于Debian的系统(包括Ubuntu)中的包管理器,它允许用户安装、配置和卸载`.deb`格式的软件包。`.deb`包是包含软件及其元数据的归档文件,类似于其他Linux发行版中的`.rpm`包。 在离线安装...

    可在ubuntu上安装erlang的deb包

    5,安装成功,你谢谢deb包的开发者,然后代开ubuntu的terminal,输入erl命令即可运行。 6,安装失败,你骂我好了,并把你的ubunt版本、是否是在虚拟机和其下的虚拟机软件名称和版本与再其下的os名称和版本、硬件...

    FIO针对ubuntu的deb包

    该文件是FIO针对于Ubuntu版本的deb包,安装方式简单,且安装优于编译包安装 1, 使用sudo dpkg -i fio_3.1-1_amd64.deb进行安装。 2. 使用sudo dpkg -r fio_3.1-1_amd64进行卸载或者使用sudo dpkg --purge fio_3.1-1...

    realplayer 11 gold for ubuntu deb包

    realplayer 11 gold for ubuntu deb包 安装时会提示下载43个依赖包,下载即可。ubuntu12.04 lubuntu 12.04测试通过。

    Deb安装包的制作方法

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

    ubuntu deb安装步驟

    ubuntu deb安装步驟 ubuntu deb安装步驟

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

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

    ubuntu20.04 gcc-9.3.0 deb包和依赖包

    tar -xvf tar -xvf gcc-9.3.0_deb.tar 解压 解压后执行./install.sh libc6_2.31 manpages-dev_5.05 binutils-common_2.34 linux-libc-dev_5.4.0 libctf-nobfd0_2.34 gcc-10-base_10 libgomp1_10 libquadmath0 libmpc...

    用dpkg命令制作deb包1

    "用dpkg命令制作deb包1" Deb包简介: Deb包是Debian Linux发行版中使用的一种软件包格式, Deb包由两部分组成:数据archives和控制信息archives。数据archives存储了软件的实际文件,而控制信息archives则存储了...

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

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

    笔记本ubuntu18.04上可用的nomachine deb包

    笔记本ubuntu18.04上可用的nomachine deb包 安装命令sudo dpkg -i ****.deb

Global site tag (gtag.js) - Google Analytics