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
    • 最新
    • 标签
主页 / user-4323

Guss's questions

Martin Hope
Guss
Asked: 2024-10-29 18:19:01 +0800 CST

强制 dpkg-buildpackage 为某些包指定精确的依赖关系?

  • 6

我正在构建一个依赖于 Qt6 的应用程序,默认情况下会为未明确指定的 shlibs 依赖项dpkg-buildpackage生成依赖项。因此指定:>=

Depends: ${shlibs:Depends}

原因:

$ dpkg-query --show -f '${Depends}' mypackage
... qt6-base (>= 6.7.2), ...

问题是 Qt 需要应用程序所针对的确切特定版本才能运行。如果系统已安装qt6-base该版本6.8.0,我的应用程序将安装但无法运行 - 我该如何防止这种情况发生?

我不想apt更新我的应用程序,直到我有一个明确支持系统上可用的 Qt 的确切版本的版本(和/或阻止更新 Qt,直到我发布适当的版本)。

我知道我可以为我依赖的每个 Qt 包添加手动显式依赖项 - 然后每次使用新 Qt 版本构建时手动更新版本 - 但这会很麻烦。我希望有一个选项,例如“对于名称中包含文本‘qt’的包,使用=依赖项而不是>=”。

ubuntu
  • 1 个回答
  • 9 Views
Martin Hope
Guss
Asked: 2023-07-26 18:56:09 +0800 CST

从旧计算机移动驱动器后,计算机启动至 GRUB 提示符

  • 7

获得新系统后,我将 NVME 驱动器从旧系统移至新系统,两台机器均设置为使用 UEFI 启动。由于 EFI 设置是特定于机器的,我预计会遇到麻烦,并做好了准备 - 我从实时 USB 启动,进行了安装和 chroot 操作,并根据说明重新安装了 GRUB(在网络上随处可见,下面重复),之后重新启动后,我会进入 GRUB 命令提示符,但我不知道如何解决此问题 - 无论我做什么,如果我选择 Linux UEFI 启动项(如下所示),我都会收到 grub 提示符。如果我选择 Windows UEFI 启动项(这是双启动系统),它可以正常加载。

我总是可以通过键入启动 GRUB 菜单来从 GRUB 提示符启动 Linux 安装configfile (hd0,gpt6)/@/boot/grub/grub.cfg,这样我就可以毫无问题地启动任何条目(我使用 BTRFS 作为根分区,并且/位于子卷中@- 这是非常标准的对于 Ubuntu 安装)。

这是当前的设置:

# efibootmgr --verbose
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0005,0000,0002
Boot0000* UEFI Samsung SSD 970 EVO Plus 1TB S6P7NF0T423021F 1   HD(1,GPT,37b6d616-6865-44b1-a382-9987345e2cfa,0x800,0x32000)/File(\EFI\Boot\BootX64.efi)N.....YM....R,Y.
Boot0001* Neon  HD(1,GPT,37b6d616-6865-44b1-a382-9987345e2cfa,0x800,0x32000)/File(\EFI\Neon\shimx64.efi)
Boot0002* UEFI HTTPs Boot       PciRoot(0x0)/Pci(0x1f,0x6)/MAC(000000000000,0)/IPv4(0.0.0.00.0.0.0,0,0)/Uri()N.....YM....R,Y.
Boot0005* Windows Boot Manager  HD(1,GPT,37b6d616-6865-44b1-a382-9987345e2cfa,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
# ll /boot/efi/EFI/
total 6
drwx------ 6 root root 1024 Jul 26 12:38 ./
drwx------ 4 root root 1024 Jan  1  1970 ../
drwx------ 2 root root 1024 Aug 28  2022 Boot/
drwx------ 5 root root 1024 Jul 26 12:38 Dell/
drwx------ 4 root root 1024 Aug 28  2022 Microsoft/
drwx------ 2 root root 1024 Jul 24 20:01 Neon/
# cat /boot/efi/EFI/Neon/grub.cfg 
search.fs_uuid 2886a665-f535-496e-a543-13c62983b0da root 
set prefix=($root)'/@/boot/grub'
configfile $prefix/grub.cfg
# ll /dev/disk/by-uuid/
total 0
drwxr-xr-x 2 root root 120 Jul 26 13:20 ./
drwxr-xr-x 9 root root 180 Jul 26 13:20 ../
lrwxrwxrwx 1 root root  15 Jul 26 13:20 2886a665-f535-496e-a543-13c62983b0da -> ../../nvme0n1p6
lrwxrwxrwx 1 root root  15 Jul 26 13:20 80D9-5688 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root  15 Jul 26 13:20 82926928-1ed1-4a76-b0e8-d62a0171c1ee -> ../../nvme0n1p5
lrwxrwxrwx 1 root root  15 Jul 26 13:20 D8D6FA10D6F9EF1E -> ../../nvme0n1p4
# lsblk -e 7 -o name,fstype,size,fsused,label,partlabel,mountpoint,uuid,partuuid
NAME        FSTYPE      SIZE FSUSED LABEL PARTLABEL                    MOUNTPOINT            UUID                                 PARTUUID
nvme0n1               931.5G                                                                                                      
├─nvme0n1p1 vfat        100M  58.8M       EFI system partition         /boot/efi             80D9-5688                            37b6d616-6865-44b1-a382-9987345e2cfa
├─nvme0n1p2              16M              Microsoft reserved partition                                                            fdc1478a-852d-4f33-8e22-24a2ea209726
├─nvme0n1p3 BitLocker  50.2G              Basic data partition                                                                    e8584ca9-db86-4bb1-abf7-424afe77bc94
├─nvme0n1p4 ntfs        517M                                                                 D8D6FA10D6F9EF1E                     5373ade9-ed41-4164-85e2-c28b7026c25f
├─nvme0n1p5 swap       30.5G                                           [SWAP]                82926928-1ed1-4a76-b0e8-d62a0171c1ee d5d866a5-97d4-49bb-a182-6eec3abcba18
└─nvme0n1p6 btrfs     850.2G 440.5G linux                              /var/lib/docker/btrfs 2886a665-f535-496e-a543-13c62983b0da cb45a183-14d3-4a95-b89f-6b5e315609cd

我可以尝试通过以下方式重新安装:

  1. 删除有问题的 EFI 启动项:efibootmgr -b 1 -B
  2. 重新安装引导加载到磁盘和EFI:grub-install /dev/nvme0n1 --target x86_64-efi --efi-directory /boot/efi/ --bootloader-id Neon
  3. 更新 GRUB 配置(我不确定是否需要,但这就是文档所说的):update-grub2

之后的配置看起来就像我上面显示的那样,并且在重新启动时 GRUB 将不会自动启动菜单。我不确定 EFI NVRAM 转储中的 UUID,但该值未在我能找到的任何地方配置,并且如果我删除条目并重新创建它们,它会重现。

知道我缺少什么吗?

boot
  • 1 个回答
  • 30 Views
Martin Hope
Guss
Asked: 2023-07-18 16:22:16 +0800 CST

通过SSH运行GNU screen,shell不是登录shell?

  • 19

我在通过 SSH 访问的远程系统上使用 screen(有问题的命名终端会话管理器)来运行长时间运行的进程等。我最终开始使用命令直接附加到 screen 会话,而不是首先通过 SSH 登录,然后启动 screen:

ssh -t hostname screen -xRR

的用途-xRR是附加到现有的屏幕会话(如果可用),否则只需创建一个新会话。问题是,当创建新会话时,它不会被创建为登录 shell:

$ shopt -q login_shell; echo $?
1

因此,.profile与首先使用 SSH 登录然后运行相比,登录会话设置(运行和朋友)未完成,然后部分设置丢失screen- 在这种情况下,SSH 启动的 shell 是一个登录 shell,它设置正确,屏幕我猜继承了环境。

我尝试使用-l屏幕上的标志,该标志被记录为“登录模式”,但它没有帮助 - 我认为它只会更新诸如who.

知道如何让屏幕运行登录 shell 吗?

shell
  • 1 个回答
  • 747 Views
Martin Hope
Guss
Asked: 2018-05-02 04:44:55 +0800 CST

当所需单元第一次失败时,SystemD `Requires` 失败

  • 1

我创建了一个 SystemD 单元来启动服务,而该服务需要另一个单元来预先启动。

我已经用 设置了依赖服务Requires=dependant.service,这样当depending.service在引导过程中自动启动时,它首先尝试启动dependant.service。

问题是如果dependant.service开始得太早,它就无法开始(我不太确定这里的“太早”是什么意思)。为了解决这个问题,我设置dependant.service为Restart=always.

这工作正常 -depending.service已启用并自动启动,它启动dependant.service,崩溃然后重新启动,并且总是在第二次尝试时成功启动。

但是depending.service已经看到dependant.service's 第一次失败及其失败的Requires=dependant.service原因。日志显示:

systemd[1]: Dependency failed for depending.
systemd[1]: Job depending.service/start failed with result 'dependency'.

即使dependant最终成功了,并且两者都有Restart=always,depending在初始失败后永远不会重新启动dependant.

我尝试了 , , 的各种配置,但Requires=没有找到导致重启后重启的组合。Wants=BindsTo=Afterdependingdependant

systemd services
  • 2 个回答
  • 1881 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