1.打deb包.创建 apt源仓库
2.deb是包编译b包什么格式
3.debian系如何把已经安装的某个程序还原为deb?
4.Arch安装deb包:为 deb 包编写 PKGBUILD 文件
打deb包.创建 apt源仓库
如何制作Deb包和相应的软件仓库,其实这个很简单。源码源码这里推荐使用dpkg来进行deb包的包编译b包创建、编辑和制作。源码源码
首先了解一下deb包的包编译b包文件结构:
deb 软件包里面的结构,它具有DEBIAN和软件具体安装目录(如etc,源码源码源码精灵最新兑换 usr, opt, tmp等)。在DEBIAN目录中起码具有control文件,包编译b包其次还可能具有postinst (postinstallation)、源码源码postrm (postremove)、包编译b包preinst(preinstallation)、源码源码prerm (preremove)、包编译b包copyright (版权)、源码源码changlog (修订记录)和conffiles等。包编译b包
control: 这个文件主要描述软件包的源码源码名称(Package),版本(Version)以及描述(Description)等,包编译b包是deb包必须具备的描述性文件,以便 于软件的安装管理和索引。同时为了能将软件包进行充分的管理,可能还具有以下字段:
Section: 这个字段申明软件的类别,常见的有`utils’, `net’, `mail’, `text’, `x′ 等;
Priority: 这个字段申明软件对于系统的重要程度,如`required’, `standard’, `optional’, `extra’ 等;
Essential: 这个字段申明是否是系统最基本的软件包(选项为),如果是的话,这就表明该软件是维持系统稳定和正常运行的软件包,不允许任何形式的卸载(除非进行强制性 的卸载)
Architecture:申明软件包结构,如基于`i′,博客动漫源码 `mk’, `sparc’, `alpha’, `powerpc’ 等构建,选项 为;
Source: 软件包的源代码名称;
Depends: 软件所依赖的其他软件包和库文件。如果是依赖多个软件包和库文件,彼此之间采用逗号隔开;
Pre-Depends: 软件安装前必须安装、配置依赖性的软件包和库文件,它常常用于必须的预运行脚本需求;
Recommends: 这个字段表明推荐的安装的其他软件包和库文件;
Suggests: 建议安装的其他软件包和库文件。
对于control,这里有一个完整的例子:
Package: bioinfoserv-arb
Version: __
Section: BioInfoServ
Priority: optional
Depends: bioinfoserv-base-directories (= 1.0-1), xviewg (= 3.2p1.4), xfig (= 1:3), libstdc++2.-glibc2.2
Suggests: fig2ps
Architecture: i
Installed-Size:
Maintainer: Mingwei Liu
Provides: bioinfoserv-arb
Description: The ARB software is a graphically oriented package comprising various tools for sequence database handling and data analysis.
If you want to print your graphs you probably need to install the suggested fig2ps package.
preinst: 这个文件是软件安装前所要进行的工作,工作执行会依据其中脚本进行;
postinst这个文件包含了软件在进行正常目录文件拷贝到系统后,所需要执行的配置工作。
prerm :软件卸载前需要执行的脚本
postrm: 软件卸载后需要执行的脚本
现在来看看如何修订一个已有的deb包软件
假 如您已经从本BioInfoServ Deb仓库中获取了bioinfoserv-base-directories_1.1-_i.deb,采用dpkg -x bioinfoserv-base-directories_1.1-_i.deb bioinfoserv-base-directories
这样,您就可以将已经打包好的bioinfoserv-base- directories_1.1-_i.deb解开在bioinfoserv-base-directories的目录中,此时解开的软件包在 bioinfoserv-base-directories目录中就是一些文件目录和相应的文件。
采用dpkg -e bioinfoserv-base-directories_1.1-_i.deb bioinfoserv-base-directories/DEBIAN
此时,就可以将bioinfoserv-base-directories_1.1-_i.deb软件包的规则文件解开,可以看见 control、postrm等包含脚本的文件,如果要修改软件的信息和安装行为,那么就打开这些文件,进行修改。
修改完成,可以采用dpkg -b bioinfoserv-base-directories bioinfoserv-base-directories_1.1-_i.deb重新包装这个软件包。
如何从源码打包deb?
这个可以参考deb ?n的包装
如何制作deb仓库?
一个简单的deb仓库可以采用apt-get install *的方式来进行快速软件安装。制作软件包仓库其实很简单:
首先,筹资公式源码 将制作好的deb包放在一个目录下,当然您也可以依据软件名称建立子目录,再存放deb包,如您建立一个Version1.1-Xubuntu6.的 目录存放已经建立的软件包
随后,采用sudo dpkg-scanpackages Version1.1-Xubuntu6. /dev/null | gzip -9c Packages.gz建立仓库索引文件
然后,解开Packages.gz以便编辑:gzip -d Packages.gz, 此时得到Packages文件
编辑,nano Packages,采用替换功能去掉Packages里面的Version1.1-Xubuntu6./字段,然后保存
重新打包gzip Packages Packages.gz放到目录Version1.1-Xubuntu6.中。
现在设定/etc/apt/sources.list中的仓库源,如果Version1.1-Xubuntu6.目录在你系统中的/var /www/Version1.1-Xubuntu6.下的话,可在/etc/apt/sources.list加入:
deb file:////var/www/Version1.1-Xubuntu6./ /
保存后,采用apt-get update更新,此时就可以采用apt-get install bioinfoserv-base-directories_1.1-_i.deb安装你创建好的deb软件了。
当 然如果您需要将这个软件仓库发布到互联网上,假定您的网络地址为,其互联网访问的路径为/BioinfoServDeb/Version1.1-Xubuntu6.,那么在/etc/apt /spurce.list中添加:
deb /BioinfoServD … buntu6./ /
此时,其他人就可以采用互联网使用您的deb软件仓库了。
deb是什么格式
DEB格式是程序或软件的二进制格式。详细解释如下:
DEB格式的定义
DEB是Debian系统的软件包格式,主要用于Debian及其衍生系统如Ubuntu等Linux操作系统。它是程序的二进制格式,包含了程序运行所需的运行源码分析代码和必要的依赖关系信息。这种格式确保了软件在特定操作系统上的兼容性和稳定性。
DEB格式的特点
1. 平台特定性:DEB格式是针对Linux系统设计的,不同Linux发行版可能需要对DEB包进行不同的处理。
2. 包含依赖关系:DEB包内包含了软件运行所需的所有依赖库和文件,这使得安装过程更为简便。
3. 二进制形式:与源代码形式不同,DEB以编译后的二进制形式存在,用户无需自行编译,可直接安装使用。
DEB格式的使用
在基于Debian的Linux系统中,可以使用特定的工具如dpkg来安装和管理DEB软件包。用户通过命令行或图形界面,可以方便地安装、更新、卸载DEB软件包。这种格式使得软件在Linux系统上的分发和安装变得相对简单。
总之,DEB格式是Linux操作系统尤其是基于Debian的系统上的一种常见软件包格式,以其平台特定性、包含依赖关系和二进制形式等特点,为软件的分发、安装和管理提供了便利。
debian系如何把已经安装的某个程序还原为deb?
探讨如何在Debian系统中,将已安装的无源码 exe程序还原为.deb格式包进行操作,这涉及到下载源码、修改源代码、重新生成安装包、安装等环节,旨在实现个性化定制。
环境:使用的是Debian 稳定版,搭配KDE Plasma界面和wayland。操作时间:年3月日。
一、安装原版stterm
首先,通过官方仓库安装stterm的二进制包。
二、下载源代码
前往合适的文件存储位置,从官方网站下载源代码。若下载失败,可在deb-src源中添加代码源,确保在Debian目录下获得.dsc(基本信息文件)、源代码打包文件.tar.xz以及stterm-0.9目录。
三、配置文件修改
定位至需要修改的配置文件,包括字体、颜色、快捷方式等。
四、内容修改
针对需要调整的部分,替换相应的文本内容。涉及字体大小、主题颜色、快捷方式等。
五、提交修改
确保在源代码目录中,进行修改提交操作,输入补丁名并使用文本编辑器如vim进行内容修改和保存。
六、生成.deb包
在源代码目录中执行相关命令生成.deb包,注意识别生成的安装包文件,一般命名为stterm_0.9-1_amd.deb。
七、安装新.deb包
确保在源代码目录中,通过命令进行.deb包安装。
八、效果验证
安装后,程序界面实现个性化设置,如使用快捷键进行内容贴入贴出。遗憾的是,鼠标中键滚轮滚动界面的设置未能调整,欢迎知悉者提供帮助。
Arch安装deb包:为 deb 包编写 PKGBUILD 文件
在使用 Arch 或 Manjaro 系统时,若官方仓库中缺乏所需软件,而网上可下载到编译好的二进制文件,如 deb 包或 rpm 包,这些文件虽可直接使用,却不受包管理器 pacman 监控,也难以从应用程序启动器中便捷运行。
为了解决这一问题,Arch Wiki 提供了一个名为 debtap 的脚本,用于将 deb 包转换为 pacman 可以直接安装的 .pkg.tar.zst 格式。此方法虽简便,但由于考虑广泛兼容性,有时转换后的 .pkg.tar.zst 包会遇到安装问题。
解决这个问题的一种有效方法是使用 makepkg 打包软件。虽然初学者可能会感到困惑,但了解其工作原理后,便会觉得操作简单。通过编写 PKGBUILD 文件,可以将源代码编译并打包成 .pkg.tar.zst 格式,从而在 Arch 系统中直接安装。
要使用 makepkg 打包软件,首先需要创建一个 PKGBUILD 文件。系统中提供了一些示例文件,如 /usr/share/pacman/PKGBUILD.proto,供参考。
编写 PKGBUILD 文件时,需要定义软件名、版本、运行架构,并在文件中定义一个名为 package() 的函数,该函数会被 makepkg 自动执行。确保定义 pkgname、pkgver、pkgrel、arch 四个变量,这些是基本的必要参数。
下面是一个简单的 PKGBUILD 文件示例,其中包含软件名、版本、运行架构,并定义了一个包装函数,仅输出 packaging...,表示打包过程已开始。
构建流程涉及多个步骤。首先,makepkg 通过定义的变量获取软件包的信息,如软件名、版本号等。source 变量用于指示打包过程中所需文件,可以是本地文件或文件网址。makepkg 将获取的文件验证 MD5 值并存放在 src 目录中,这是进行编译等处理的工作目录。
随后,makepkg 依次执行四个函数:prepare()、build()、check()、package()。prepare() 函数通常用于编译前的准备,如解压文件。build() 函数执行编译。check() 函数检查编译结果。最后,package() 函数进行打包。在我们的例子中,prepare()、build()、check() 函数仅输出提示信息。
在 package() 函数中,我们创建了一个目录 ${ pkgdir}/home,其中 ${ pkgdir} 是软件包目录 pkg/${ pkgname},在安装包时会被复制到相应的目录中。例如,在本例中,文件 m.vsix 被复制到 /home/m.vsix。
运行 makepkg 命令后,目录结构会发生变化。接下来,使用 pacman -U 安装软件包,可以看到 /home 目录下多了文件 m.vsix。通过卸载软件包,/home 目录下的 m.vsix 文件将被删除。
为深入理解 PKGBUILD 文件编写,可以参考 AUR 仓库中提供的其他示例,如 quickapp-ide,通过克隆仓库学习实践。
关于 deb 包的示例,可以提前准备好 wps-office 的 deb 安装包,并与 PKGBUILD 文件放在一起。在 PKGBUILD 文件中,需要将 deb 包解压后得到的 data 目录打包,因为 data 目录包含了需要安装的所有文件。