首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从源代码构建Debian/Ubuntu包?

要从源代码构建Debian/Ubuntu包,请按照以下步骤操作:

  1. 安装必要的工具和依赖项:
代码语言:txt
复制
sudo apt-get install build-essential debhelper devscripts fakeroot
  1. 下载源代码:
代码语言:txt
复制
dget http://ftp.debian.org/debian/pool/main/p/package-name/package-name_version.tar.gz

或者从Git仓库克隆:

代码语言:txt
复制
git clone https://example.com/package-name.git
  1. 进入源代码目录:
代码语言:txt
复制
cd package-name
  1. 创建Debian目录:
代码语言:txt
复制
mkdir -p debian
  1. 创建Debian规则文件:
代码语言:txt
复制
touch debian/rules
  1. 编辑Debian规则文件:
代码语言:txt
复制
nano debian/rules

在文件中添加以下内容:

代码语言:txt
复制
#!/usr/bin/make -f

%:
	dh $@

override_dh_auto_configure:
	./configure

override_dh_auto_build:
	make

override_dh_auto_install:
	make install
  1. 创建Debian控制文件:
代码语言:txt
复制
touch debian/control
  1. 编辑Debian控制文件:
代码语言:txt
复制
nano debian/control

在文件中添加以下内容:

代码语言:txt
复制
Source: package-name
Section: misc
Priority: optional
Maintainer: Your Name <your.email@example.com>
Build-Depends: debhelper (>= 9), autotools-dev, ...
Standards-Version: 3.9.5
Homepage: https://example.com/package-name

Package: package-name
Architecture: any
Depends: ${shlibs:Depends}, ...
Description: A short description of the package
 Long description of the package.
  1. 创建Debian copyright文件:
代码语言:txt
复制
touch debian/copyright
  1. 编辑Debian copyright文件:
代码语言:txt
复制
nano debian/copyright

在文件中添加以下内容:

代码语言:txt
复制
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: package-name
Upstream-Contact: Your Name <your.email@example.com>
Source: https://example.com/package-name

Files: *
Copyright: 2022, Your Name
License: MIT

License: MIT
 This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

 Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.

 2. Altered source versions must be plainly marked as such, and must not be misrepresented as the original software.

 3. This notice may not be removed or altered from any source distribution.
  1. 创建Debian changelog文件:
代码语言:txt
复制
touch debian/changelog
  1. 编辑Debian changelog文件:
代码语言:txt
复制
nano debian/changelog

在文件中添加以下内容:

代码语言:txt
复制
package-name (1.0.0-1) unstable; urgency=low

  * Initial release.

 -- Your Name <your.email@example.com>  Mon, 01 Jan 2023 00:00:00 +0000
  1. 构建Debian包:
代码语言:txt
复制
dpkg-buildpackage -us -uc

完成以上步骤后,您将在当前目录下生成一个Debian包。您可以使用以下命令安装该包:

代码语言:txt
复制
sudo dpkg -i ../package-name_version-1_architecture.deb

或者使用以下命令将其添加到软件包存储库中:

代码语言:txt
复制
sudo apt-get install ../package-name_version-1_architecture.deb

您可以使用以下命令查看已安装的软件包:

代码语言:txt
复制
dpkg -l | grep package-name

您可以使用以下命令卸载软件包:

代码语言:txt
复制
sudo dpkg -r package-name

或者使用以下命令卸载并删除配置文件:

代码语言:txt
复制
sudo dpkg -P package-name

请注意,这些步骤仅适用于Debian/Ubuntu系统。对于其他操作系统,您可能需要遵循不同的构建过程。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 如何Ubuntu 16.04上源代码安装Go

    本教程将向您展示如何搭建Go,涵盖一些实际考虑因素,以及搭建“Hello,World”测试应用程序。...没有服务器的用户可以购买和使用腾讯云服务器或者直接在腾讯云实验室Ubuntu服务器上机安装Go 。 第1步 - 安装依赖项 在开始之前,更新一下本地的软件。...$ sudo apt-get update 默认情况下,Ubuntu没有提供搭建Go所需的所有软件,例如编译器,库和工具。...$ sudo apt-get install build-essential 安装完成后,您将拥有源代码搭建Go所需的所有工具。接下来,您需要Go 1.4二进制文件。...$ mv go go1.4 现在,您拥有源代码搭建Go的必要依赖项。如果要将Go 1.4主目录移到另一个位置,可以继续下一步。不过不想移动,就可以直接到步骤4,获取Go Source。

    1.2K30

    如何 Debian 系统中的 DEB 中提取文件?

    DEB Debian 系统中常见的软件格式,用于安装和管理软件。有时候,您可能需要从 DEB 中提取特定的文件,以便查看其内容、修改或进行其他操作。...本文将详细介绍如何 Debian 系统中的 DEB 中提取文件,并提供相应的示例。图片使用 dpkg 命令提取文件在 Debian 系统中,可以使用 dpkg 命令来管理软件。...该命令提供了 -x 选项,可以用于 DEB 中提取文件。...下面是使用 dpkg 命令提取文件的基本语法:dpkg -x :指定要提取文件的 DEB 的路径。:指定要将提取的文件存放的目录。...结论使用 dpkg 命令可以方便地 Debian 系统中的 DEB 中提取文件。您可以选择提取整个 DEB 的内容或仅提取特定的文件。通过提取文件,您可以查看其内容、进行修改或执行其他操作。

    3.3K20

    构建 Docker 镜像 | 申威下构建 debian 并打包为 docker

    无论你是否使用 Debian , 只要是任何的 Linux/GNU 发行版, 例如 Fedora/Gentoo/Arch/OpenSUSE, 甚至是 Ubuntu , 均可运行 debootstrap...我在此前分别撰文介绍了申威环境下的 Docker 编译安装(《申威(神/声)(SW)1621 + UOS 20 编译安装 Docker | 容器国产化适配》)以及基于 busybox 制作申威下可用 Docker 镜像的方法(《构建...执行后我得到了一个形如这样的目录结构,其中填充了必要的软件: $ tree rootfs-debian/ -d -L 1 rootfs-debian/ ├── bin -> usr/bin ├── boot...因为 go 默认就是静态编译,只需要再加几个参数把依赖的底层组建也编译进来,打包时直接使用 scratch 镜像构建,完全不需要使用操作系统基础镜像,出来的体积就是惊人的小了。...参考文献# 使用 debootstrap 建立完整的 Debian 系統.org Ubuntu使用debootstrap制作Docker镜像 如何自行构建sw_64平台的docker镜像 By 申威生态社区

    1.2K50

    Debian如何 Jessie 升级为 Stretch

    Debian 9(代号为 Stretch)现在状态为测试阶段,代码已进入开发的最后阶段并已冻结,预计 Stretch RC1 的发布时间为四月底,正式版大约在七月底左右发布。...目前作为个人用的VPS主机,可以开始尝鲜 Debian 9了。 当前 VPS 提供商还不提供 Debian 9 的镜像,如何直接 Debian 8 升级到 Debian Stretch?...接下来就一步一步为大家介绍 Debian 的垮镜像升级的一般步骤。操作前请务必妥善备份现有系统,做好异地备份或者离线备份。...Debian 9 的 Stretch 安装源, (adsbygoogle = window.adsbygoogle || []).push({}); 如果使用我下面的命令的话,要看你原来...Debian 8 的安装源,用的是stable表示还是jessie表示。

    90520

    如何DebianUbuntu中安装VirtualBox 6

    在本文中,我们将解释如何使用VirtualBox自己的存储库和APT包管理器在DebianUbuntu发行版上安装VirtualBox 6.0....在DebianUbuntu中安装VirtualBox 6.0   要安装VirtualBox 6.0.首先需要将以下行添加到/etc/apt/sources.list文件中。...# lsb_release -a [在 Debian]   $ cat /etc/lsb-release [在 Ubuntu]   一旦知道发布版本,就可以将以下行添加到/etc/apt/sources.list...  $ sudo apt-get update   $ sudo apt-get install virtualbox-6.0   安装软件后,只需执行以下命令终端启动它或菜单启动启动器。   ...在本文中,我们展示了如何DebianUbuntu中安装VirtualBox 6.0. 您可以通过下面的反馈表向我们提问或分享您的想法。

    1K20

    如何DebianUbuntu下重新打包Deb文件

    本文将会为 Ubuntu、Linux Mint 和 Debian GUN/Linux 用户讲述,如何在它们基于Debian的Linux操作系统上轻松的解压和重新打包.deb文件。...一位Linux开发者为一个软件构建了一个Debian(.deb),我也成功地将它安装在我的装载Ubuntu的电脑上。...之后,当程序试图检索需要的时不再卡顿。 所以长话短说,我要将.deb文件解包,替换上我的补丁文件,然后再重新打包回来。这样我可以其它电脑上安装,或者将修正的文件发给我的朋友。我要怎么做呢?...让我为你解释一下: 第一条命令创建了一个名为“extract”文件夹和一个名为“DEBIAN”的子文件夹; 第二条命令会你的.deb提取一些文件到“extract”文件夹; 第三条命令会解压.deb...的内容到“DEBIAN”子文件夹,在那里你就可以修改/补丁你想要的文件; 第四条命令建立一个名为“build”的文件夹; 而第五条命令会将修改后的文件重新构建到一个新的.deb中,并在 “build

    2.3K30

    如何Debian 中锁定软件版本

    Debian 或基于 Debian/Ubuntu 的 Linux 发行版系统中,有多种方法可以将软件锁定在一个特定的版本。也就是说,可以将某个软件固定维护在指定版本,不让其随系统更新而更新。...为什么要锁定软件,防止软件更新呢? 通常是用户对某个软件版本有特定的需求,或更新期间、更新后可能会导致问题,所以需要维持特定的版本不进行升级。...可以一次指定多个 sudo apt-mark showhold #显示系统中被标记为锁定的软件 sudo apt-mark unhold PACKAGE_NAME #解除对软件的锁定。...可以一次指定多个。 ? 方法二:使用 dpkg 防止软件更新 有一些不遵守规则的图形包管理器,会忽略 apt-mark 锁定的软件,为了保险起见,我们还可以使用 dpkg 防止软件更新。...##显示锁定的软件列表 echo "PACKAGE install" | sudo dpkg --set-selections ##解除对软件的锁定 ?

    2K30

    Debian云工具

    最近,我已经开发了基于Ubuntu标准的云实用程序,并将它们移植到了Debian中。让我们来看看如何Debian工具带到云端!...这三个源代码结合起来,可以让用户在调整磁盘大小至Puppet配置间均可对实例进行操作。 Ubuntu在很久以前就有这三个源代码,但不幸的是,Debian一直未被开发出来。...我一直致力于将这些源代码移植到Debian中,直到现在才有所收获。 现在大家可以找到这3个源代码,然后上传到Debian sid。...可用于云的cloud-utils和cloud-initramfs-tools源代码包在Debian的git服务器上,这两个源代码用户可以自行通过ftp-master上传下载在云平台上构建它们,更下后退出...另一源代码cloud-init可以直接在sid中使用。 这类工具完成后,接下来准备开始开发vmbuilder之类的工具,以便用户能够通过简单的命令行构建云兼容的Debian镜像。

    2.7K90

    DebianUbuntu到底有什么不同,应该如何选择?

    其中比较有知名度的是Ubuntu以及Debian。 我们经常听到的一句话是: Ubuntu is based on Deibian 那它们究竟有什么区别,如果让你来选择,你要如何选择?...Ubuntu是基于Debian构建的 Linux发行版本虽然众多,但是真正属于原始构建的Linux版本可不多,只有少数几个,而大多数大家熟悉的或使用比较多的诸如CentOS,还有Ubuntu这一类属于再构建版本...而另一个Ubuntu则就是基于Debian构建而来的。 所以,某种程度上可以说: DebianUbuntu的老爸 这就决定了UbuntuDebian大多数情况下可能非常一致,但又有一些不同。...所以,我的选择是: 对于服务器系统的选择,那就是Debian了 而对于Linux桌面操作系统的选择,则以Ubuntu及类似Linux Mint基于Ubuntu发行的版本为主了 那么,你会如何选择呢?...附录 以下两篇文章是我过往写的,与这篇有点关联,有兴趣请点击查阅 CentOS 8到CentOS Stream,到底发生什么事了? 就编程而言,Linux是否已经足够?

    3.2K40

    如何校验 Debian 软件的 MD5

    考虑到这是维护系统上未损坏软件的一个重要因素,因而对照存储在软件中的信息,验证文件系统上的文件是个重要步骤,为此需要阅读本文。 如何对照MD5校验和校验已安装的Debian软件?...在Debian/Ubuntu系统上,你可以使用debsums工具来校验已安装软件的MD5和。...({}); $ apt-cache search debsums 下一步,使用apt命令来安装它,如下所示: $ sudo apt install debsums 现在可以了解如何使用debsums工具...acl.md5sums acpid.md5sums acpi-support.md5sums activity-log-manager.md5sums adduser.md5sums adium-theme-ubuntu.md5sums...$ man debsums 在本文中,我们介绍了如何对照MD5校验和校验已安装的Debian/Ubuntu软件,为了避免在你的系统上安装和执行损坏的二进制文件或软件文件,有必要对照软件中存储的信息来校验文件系统上的文件

    1.3K20

    如何DebianUbuntu 系统上安装升级 PHP 8.2

    目前,在 DebianUbuntu 的默认软件仓库中不提供 PHP 8.2 软件,但 PHP 8.2 软件可从 Ondřej Surý 维护的仓库中获得。...Ondrej的存储库是主要和最新的存储库,提供PHP和PECL扩展到基于DebianUbuntu的操作系统,并用于所有PHP。观看有关在这些系统上安装 PHP 的指南。...快速入门 在安装/升级到 PHP 8.2 的命令行命令下方,有关详细步骤,请转到详细安装/升级指南 Ubuntu sudo dpkg -l | grep php | tee packages.txt sudo...upgrading from older PHP version: sudo a2disconf php8.1-fpm ## Remove old packages sudo apt purge php8.1* Debian...Ubuntu LTS Versions Ubuntu LTS 版本 sudo add-apt-repository ppa:ondrej/php # Press enter when prompted.

    1.4K41
    领券