AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[deb](unix)

Martin Hope
Hasan
Asked: 2023-04-10 14:50:30 +0800 CST

将脚本从 deb 包复制到 postinst 中的 /usr/local/bin 时无法统计文件

  • 6

nginx-sb-setup.sh我在目录中的 deb 包中有一个脚本 ( ) usr/local/bin。

在 postinst 期间,我想将usr/local/bin/nginx-sb-setup.shdeb 包中的这个复制到/usr/local/bin.

我了解到 dpkg -i 不在与 deb 文件相同的文件夹中运行。当我输入pwdpostinst 时,我发现它运行在/.

而且我无法以这种方式正确链接文件以成功将其复制到我的目标位置。

在安装过程中,我收到错误提示,

cp: cannot stat 'usr/local/bin/nginx-sb-setup.sh': 没有那个文件或目录

请帮忙。

deb
  • 1 个回答
  • 56 Views
Martin Hope
400 the Cat
Asked: 2021-09-08 20:02:33 +0800 CST

即使对代码进行了微小的更改,构建 Debian 软件包也会失败

  • 2

我可以make使用以下过程构建 Debian 软件包:

apt-get source make
cd make-*
dpkg-buildpackage --build=binary --no-sign

但是,一旦我对代码进行任何更改,甚至更改字符串中的一个字符,那么在测试期间构建就会失败:

1 Test in 1 Category Failed (See .diff* files in work dir for details) :-(

make[4]: *** [Makefile:1373: check-regression] Error 1
make[4]: Leaving directory '/mnt/src/deb/MAKE/make-dfsg-4.2.1/debian/build-make-guile'
make[3]: *** [Makefile:1114: check-am] Error 2
make[3]: Leaving directory '/mnt/src/deb/MAKE/make-dfsg-4.2.1/debian/build-make-guile'
make[2]: *** [Makefile:820: check-recursive] Error 1
make[2]: Leaving directory '/mnt/src/deb/MAKE/make-dfsg-4.2.1/debian/build-make-guile'
dh_auto_test: error: cd debian/build-make-guile && make -j8 check VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:50: override_dh_auto_test] Error 255
make[1]: Leaving directory '/mnt/src/deb/MAKE/make-dfsg-4.2.1'
make: *** [debian/rules:24: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

我在这里粘贴了完整的输出

如何使用自定义更改构建包?

packaging deb
  • 1 个回答
  • 543 Views
Martin Hope
celcin
Asked: 2019-12-13 01:57:59 +0800 CST

如何用二进制自动化 deb 包?

  • 2

我有以下问题:

我只能访问二进制文件。我试图从一个二进制文件制作一个完全自动化的.deb包。我将它打包并工作,除了服务文件。

我在 debian 文件夹下创建了服务文件

hello
-- hello
-- debian/hello.service

我的规则文件如下所示

$ cat debian/rules

    #!/usr/bin/make -f

    %:  
             dh $@
    override_dh:install:
            dh_install hello usr/bin

包正在创建,但它没有启动服务,也没有在/etc/systemd/system/.

postinst 文件如下 #!/bin/bash set -e

if [ $1 = configure] || [$1 = abort-upgrade]; then
    if [ -x /etc/init.d/hello ]; then
        update-rc.d hello defaults >/dev/null
debian deb
  • 1 个回答
  • 292 Views
Martin Hope
sdbbs
Asked: 2019-06-15 00:12:07 +0800 CST

使用来自 devscripts 的 debi?

  • 2

我对到底是debi做什么有点困惑。

我正在构建 OLA,我发现了这篇文章:使用最新的 OLA 0.9.7 为 BBB 构建 .debs 时出错... –我见过的 Google 群组:

cd ola-0.9.7  
debuild  
# (... wait ...)  
sudo debi

所以,我确实用 .debs 构建debuild,结果得到了这些 .debs:

$ ls -1 ../*.deb
../libola1_0.10.7-1_armhf.deb
../libola1-dbgsym_0.10.7-1_armhf.deb
../libola-dev_0.10.7-1_armhf.deb
../ola_0.10.7-1_armhf.deb
../ola-dbgsym_0.10.7-1_armhf.deb
../ola-python_0.10.7-1_all.deb
../ola-rdm-tests_0.10.7-1_all.deb

问题是,当我第一次通过二进制包 (Raspbian) 安装 OLA 时,在此构建之前,我最终安装了包ola libola1 ola-rdm-tests ola-python(我在构建之前已将其卸载)。

所以,我不确定,如果我只是运行debi,我会只安装那些包,还是会安装所有生成的 .debs(包括-dbgsym和-dev包,在这种特殊情况下,我不需要)?

换句话说,如果我只想安装其中一些 .deb 包,我最好只做sudo dpkg -i [package1] [package2] ...,而不是使用sudo debi?

debian deb
  • 1 个回答
  • 63 Views
Martin Hope
George
Asked: 2019-05-24 08:14:42 +0800 CST

使一个简单的 Deb 包 NixOS 兼容(Mathematica 的 wolframscript)[重复]

  • 4
这个问题在这里已经有了答案:
在 Nixos 上运行非 nixos 可执行文件的不同方法 1 个答案
3年前关闭。

考虑这个简单的 debian 软件包:wolframscript.deb(要检查,您必须单击 Linux 的下载链接)。解压后文件结构如下:

├── opt
│   └── Wolfram
│       └── WolframScript
│           └── bin
│               └── wolframscript
└── usr
    ├── local
    │   └── share
    │       └── man
    │           └── man1
    │               └── wolframscript.1
    └── share
        ├── icons
        │   └── hicolor
        │       ├── 128x128
        │       │   └── mimetypes
        │       │       └── application-vnd.wolfram.wls.png
        │       ├── 32x32
        │       │   └── mimetypes
        │       │       └── application-vnd.wolfram.wls.png
        │       └── 64x64
        │           └── mimetypes
        │               └── application-vnd.wolfram.wls.png
        └── mime
            └── packages
                └── application-vnd.wolfram.wls.xml

唯一相关的文件是opt/Wolfram/WolframScript/bin/wolframscript二进制文件(我认为)。我尝试简单地执行此操作,但出现bash: ./wolframscript: No such file or directory错误。如何使这个二进制/包在 NixOS 中可用?

编辑:回答@muru 的问题:

$ file opt/Wolfram/WolframScript/bin/wolframscript
opt/Wolfram/WolframScript/bin/wolframscript: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib
$ ldd opt/Wolfram/WolframScript/bin/wolframscript
        linux-vdso.so.1 (0x00007fff767c9000)
        libpthread.so.0 => /nix/store/7gx4kiv5m0i7d7qkixq2cwzbr10lvxwc-glibc-2.27/lib/libpthread.so.0 (0x00007f55b8525000)
        librt.so.1 => /nix/store/7gx4kiv5m0i7d7qkixq2cwzbr10lvxwc-glibc-2.27/lib/librt.so.1 (0x00007f55b831d000)
        libdl.so.2 => /nix/store/7gx4kiv5m0i7d7qkixq2cwzbr10lvxwc-glibc-2.27/lib/libdl.so.2 (0x00007f55b8119000)
        libstdc++.so.6 => not found
        libm.so.6 => /nix/store/7gx4kiv5m0i7d7qkixq2cwzbr10lvxwc-glibc-2.27/lib/libm.so.6 (0x00007f55b7d84000)
        libgcc_s.so.1 => /nix/store/7gx4kiv5m0i7d7qkixq2cwzbr10lvxwc-glibc-2.27/lib/libgcc_s.so.1 (0x00007f55b7b6e000)
        libc.so.6 => /nix/store/7gx4kiv5m0i7d7qkixq2cwzbr10lvxwc-glibc-2.27/lib/libc.so.6 (0x00007f55b77ba000)
        /lib64/ld-linux-x86-64.so.2 => /nix/store/7gx4kiv5m0i7d7qkixq2cwzbr10lvxwc-glibc-2.27/lib64/ld-linux-x86-64.so.2 (0x00007f55b874400
nixos deb
  • 2 个回答
  • 2357 Views
Martin Hope
Stewart
Asked: 2019-05-21 07:05:24 +0800 CST

为 Debian 打包 CMake 组件

  • 1

我有一个使用 cmake 的上游源包,我想将它打包为两个二进制 debian 包。

$ tree proj
proj/
├── app1.c
├── app2.c
└── CMakeLists.txt

Upstream 的CMakeLists.txt写作已经考虑到了这一点。他们使用 COMPONENTS 参数install

$ cat proj/CMakeLists.txt
include(GnuInstallDirs)

add_executable(app1 app1.c)
install(
  TARGETS app1 
  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  COMPONENT app1)

add_executable(app2 app2.c)
install(
  TARGETS app2
  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  COMPONENT app2)

要在本地编译/安装,非常简单:

$ mkdir build && cd build
$ cmake ../proj -DCMAKE_INSTALL_PREFIX=/usr/local  # Configure
$ cmake --build .                                  # Build
$ cmake -DCOMPONENT=app1 -P cmake_install.cmake    # Install app1 component
$ cmake -DCOMPONENT=app2 -P cmake_install.cmake    # Install app2 component

但是您将如何为此构建debian/rules文件?

packaging deb
  • 1 个回答
  • 1632 Views
Martin Hope
Besha
Asked: 2019-05-14 10:30:38 +0800 CST

dpkg-buildpackage 和 debuild 有什么区别?

  • 10

dpkg-buildpackage 和 debuild 有什么区别?用什么来构建 deb 包更好?

debian deb
  • 1 个回答
  • 5209 Views
Martin Hope
iaguilera
Asked: 2019-04-29 23:30:24 +0800 CST

是否可以配置 .deb 包,使其仅安装在 32 位操作系统上,而不安装在 64 位操作系统上?

  • 0

我开发了一个 Java 8 应用程序。

我已经为Linux系统打包了它,自带Java运行时,所以用户不用处理Java安装。

我用 32 位 Java 运行时制作了一个包,第二个用 64 位 Java 运行时制作了一个包。

在64位的包中,我Architecture: amd64在控制文件中设置,所以不能安装在32位的操作系统上。这很好用。

并且在我设置的 32 位包中Architecture: i386,但这仍然允许将应用程序安装在amd64操作系统上。

如何使用 32 位 JRE 配置 .deb 包,使其无法安装在 64 位操作系统上?我想限制它,使其只能安装在 32 位操作系统上。

我想限制它,因为使用 32 位自包含 Java 8 JRE 安装应用程序在 64 位系统上无法正常工作(我的意思是无需额外工作)。缺少库:libxi6, libxrender1, libxtst6, libudev1. 即使我为i386拱门安装它们,应用程序也不会崩溃,但应用程序的某些方面不能完美运行,例如 MIDI 设备检测。

如果 32 位软件包不能安装在 64 位操作系统上,那就太好了。如何做到这一点?

java deb
  • 1 个回答
  • 99 Views
Martin Hope
user907323
Asked: 2019-04-12 01:19:09 +0800 CST

apt update 总是覆盖旧的配置文件

  • 3

我正在将我的代码作为 deb 包(使用 cmake 构建,使用 CpackDeb 打包)构建并分发到基于 Ubuntucore 的 16.04 LTS。该软件包安装了一个配置文件。在更新期间,我无法让 apt/apt-get 保留旧的配置文件。它在所有测试用例中默默地覆盖旧配置,无论它是否已被编辑。我尝试过的事情:

$ apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install <package>

$ export DEBIAN_FRONTEND=noninteractive ; apt-get install -y -o Dpkg::Options::="--force-confold" <package>

和一些变化。结果总是一样的——旧配置文件的静默覆盖。apt 版本是 1.2.31,我在 arm64 处理器上。

也许我没有正确包装 deb?我的配置文件只是一个可安装的。我不知道对配置文件有什么特殊要求,有吗?

apt deb
  • 1 个回答
  • 1816 Views
Martin Hope
MrBit
Asked: 2019-01-13 12:45:06 +0800 CST

创建一个 .deb 包并自动运行它

  • 5

我正在使用运行最新的 Raspbian Stretch Lite 2018-11-13 的 Raspberry Pi 2 Model B。

我构建了一个程序,它使用 SPI 与 LoRa 芯片 (SX1276) 通信,从温度传感器获取一些数据并在屏幕上打印温度。

我的程序只包含一个可执行文件(除了wiringpi 库)。

我正在寻找使我的程序成为 *.deb 包的教程。使用本教程,我设法构建了一个lora.deb包。

当我安装我的lora.deb包sudo dpkg -i lora.deb时,可执行文件刚刚部署在一个目录中。

如何使该软件包自动运行可执行文件并在每次系统启动时运行它?

packaging deb
  • 1 个回答
  • 1196 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve