首页
学习
活动
专区
工具
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.3K30

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

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

    3.5K20

    从零构建 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.6K50

    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表示。

    92320

    如何在Debian和Ubuntu中安装VirtualBox 6

    在本文中,我们将解释如何使用VirtualBox自己的存储库和APT包管理器在Debian和Ubuntu发行版上安装VirtualBox 6.0....在Debian和Ubuntu中安装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   安装软件包后,只需执行以下命令从终端启动它或从菜单启动启动器。   ...在本文中,我们展示了如何在Debian和Ubuntu中安装VirtualBox 6.0. 您可以通过下面的反馈表向我们提问或分享您的想法。

    1.1K20

    如何在Debian和Ubuntu下重新打包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.4K30

    如何在 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 ##解除对软件包的锁定 ?

    2.2K30

    Debian与Ubuntu到底有什么不同,应该如何选择?

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

    4.4K40

    如何在 Debian 和 Ubuntu 系统上安装升级 PHP 8.2

    目前,在 Debian 或 Ubuntu 的默认软件仓库中不提供 PHP 8.2 软件包,但 PHP 8.2 软件包可从 Ondřej Surý 维护的仓库中获得。...Ondrej的存储库是主要和最新的存储库,提供PHP包和PECL扩展到基于Debian和Ubuntu的操作系统,并用于所有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.6K41

    如何校验 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
    领券