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-510887

A. Que's questions

Martin Hope
A. Que
Asked: 2023-07-18 19:39:42 +0800 CST

将重试命令与 rsync 一起使用

  • 10

retry与 配对时出现命令问题rsync。 retry是一个Debian 软件包,并声明它可以“重复命令,直到满足条件,通常会成功。”。rsync尝试在有时会失败的连接上使用它。但是它总是给出相同的错误giving up: No such file or directory::

retry '/usr/bin/rsync -av source destination'
retry: Could not execute 'rsync -av source destination', giving up: No such file or directory

source和两者都destination存在。我尝试过使用绝对路径、单引号和双引号、路径周围的引号以及路径作为变量,但都不起作用。我可以使用此解决方案中的方法,但在执行多个目录时相当麻烦。我有什么遗漏的吗?

rsync
  • 2 个回答
  • 364 Views
Martin Hope
A. Que
Asked: 2023-07-12 04:48:40 +0800 CST

FIDO2 (YubiKey) 从命令行解锁 LUKS

  • 5

按照如何从 YubiKey 添加 FIDO2 密钥的示例,但我不知道如何使用 YubiKey 从命令行解锁它。说明中谈到了启动时解锁——但这不是我想要的。

设置

创建一个 128 MiB 文件,使其成为块设备loop0并设置 LUKS。

$ dd if=/dev/urandom of=disk.bin bs=1M count=128 
128+0 records in
128+0 records out
134217728 bytes (134 MB, 128 MiB) copied, 0.534038 s, 251 MB/s
$ losetup /dev/loop0 disk.bin 
$ cryptsetup luksFormat -y /dev/loop0

WARNING!
========
This will overwrite data on /dev/loop0 irrevocably.

Are you sure? (Type 'yes' in capital letters): YES
Enter passphrase for temp.bin: 
Verify passphrase: 

添加 Yubikey。

$ systemd-cryptenroll /dev/loop0 --fido2-device=auto  --fido2-with-client-pin=yes
? Please enter current passphrase for disk /dev/loop0: ****                    
Requested to lock with PIN, but FIDO2 device /dev/hidraw9 does not support it, disabling.
Initializing FIDO2 credential on security token.
? (Hint: This might require confirmation of user presence on security token.)
Generating secret key on FIDO2 security token.
? In order to allow secret key generation, please confirm presence on security token.
New FIDO2 token enrolled as key slot 1.

删除非 FIDO2 密钥。

$ cryptsetup -q -v luksKillSlot /dev/loop0 0
Keyslot 0 is selected for deletion.
Key slot 0 removed.
Command successful.

问题

怎么办?这不起作用:

$ cryptsetup open /dev/loop0 loop0_encrypted
Enter passphrase for disk.bin:

我现在有一个 LUKS 磁盘,但我不知道如何解锁它。/etc/crypttab我发现的所有教程都说要对启动时的安装进行修改并提供安装说明。我想在不重新启动并且(最好)不修改的情况下安装/etc/crypttab。我缺少什么?

luks
  • 1 个回答
  • 10 Views
Martin Hope
A. Que
Asked: 2022-06-21 14:17:37 +0800 CST

包含 jq 值的数组的父对象键

  • 3

假设我有这样的数据:

{
  "18" : [ 2, 3, 3 ],
  "28" : [ 2, 2, 7 ],
  "45" : [ 3, 3, 5 ]
}

我想做一个jq查询,返回包含给定值的数组的对象的键/键。例如,2存在于键“18”和“28”中,而7存在只存在于“28”中。这是我有兴趣查找的父对象的名称。我已经阅读了手册,但似乎找不到这样的例子。

jq
  • 1 个回答
  • 2443 Views
Martin Hope
A. Que
Asked: 2022-02-08 09:39:44 +0800 CST

Bash 命名管道、并行命令和退出状态

  • 2

我正在尝试使用命名管道,以便我可以保留stdout长时间过程的状态输出。我可以stderr用于状态输出,但我想保留它以防出错。这是一个例子:

#!/bin/bash
pipe=$(mktemp -u)
mkfifo $pipe

dd if=/dev/zero of=$pipe bs=1M count=1024 status=progress & cat $pipe > test.bin

# ¿¿¿ Status of dd command ???

rm $pipe

该命令并不完全是我想要做的,但说明了使用命名管道将一个进程的输出馈送到另一个进程的输入的组合。在我的应用程序中,dd替换为一些长时间运行的命令,并cat替换为ssh. 这会做我想要的,但我不知道如何获取dd命令的状态,因为它$?会返回命令的状态cat。如果这是一个管道,我可以使用PIPESTATUS,但这似乎不适用于并行进程。在实际应用中,任何一个(或两个)命令都可能失败。

有没有办法让进程的状态并行运行?有没有比命名管道更好的方法来完成这个任务?

bash exit-status
  • 1 个回答
  • 409 Views
Martin Hope
A. Que
Asked: 2022-01-20 20:30:25 +0800 CST

从管道增量读取

  • 0

试图弄清楚如何让 shell 脚本只从stdin. 我原以为这样的事情会奏效,但它没有:

#!/bin/bash
value=0
while [ "$value" != "-1" ]; do
  read -r -d '' -n 20 value
  if [ "$value" != "-1" ]; then
    dd conv=notrunc status=none of=/path/bigfile.bin bs=1M count=1 seek=$value
  fi
done

简而言之,我试图将特定块从大文件复制到远程位置的同一个文件。从发送脚本发送的数据有一个块位置(20 个字节),后跟要写入该位置的 1 MiB 数据。当位置为-1时完成。

如果运行已编译的 C 程序,我有一个可以正常工作的设置,但我想避免这种情况并使用本机 shell 命令运行。问题是,它似乎没有dd消耗任何数据,所有这些都由read命令处理。

可以stdin被多个命令消费吗?

bash shell-script
  • 2 个回答
  • 113 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