标签: module

libssh2 在 RHEL 8 上通过模块化过滤被过滤掉

1.9libssh2无法从 RHEL 8.1 及更高版本上的 EPEL 存储库安装(在 RHEL 8.3 上测试):

# dnf --enablerepo=epel install libssh2-1.9.0
...
All matches were filtered out by modular filtering for argument: libssh2-1.9.0
Error: Unable to find a match: libssh2-1.9.0
Run Code Online (Sandbox Code Playgroud)

其他 EPEL RPM 可以毫无障碍地安装。

如何在libssh2不下载并本地安装的情况下安装它?

rhel dnf module

9
推荐指数
1
解决办法
2万
查看次数

工作目录中带有括号/方括号的文件会导致 eval 错误

我今天遇到了一个奇怪的错误,在包含带有括号的目录的目录中运行脚本时,例如a().

最小工作示例

我设法将错误减少到以下最小工作示例:

在创建一个空目录/tmp,并cd把它:

mkdir /tmp/foo
cd /tmp/foo
Run Code Online (Sandbox Code Playgroud)

在其中创建一个名为foo.sh的脚本,其中包含:

foo() {
  somevar=1;
  case somevar in
      aha) echo "something" ;;
      *) echo "other" ;;
  esac;
};
Run Code Online (Sandbox Code Playgroud)

运行以下命令:

eval $(/bin/cat foo.sh)
Run Code Online (Sandbox Code Playgroud)

不应该有任何错误。

创建一个带括号的文件:

touch "a()"
Run Code Online (Sandbox Code Playgroud)

再次运行命令:

eval $(/bin/cat foo.sh)
Run Code Online (Sandbox Code Playgroud)

我现在得到错误:

bash: syntax error near unexpected token `(' 
Run Code Online (Sandbox Code Playgroud)

为什么 bash 甚至关心目录中的文件?为什么括号会导致错误?

系统信息:

$ bash --version
GNU bash, version 4.4.19(1)-release (x86_64-pc-linux-gnu)
Copyright © 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later …
Run Code Online (Sandbox Code Playgroud)

bash eval module

5
推荐指数
1
解决办法
2412
查看次数

WSL 上的“modprobe 保险丝”?

尝试在 WSL 中使用 veracrypt(控制台)。

我制作了一个卷,似乎工作正常......但是当我尝试安装它时:

Done: 100.000%  Speed: 5.0 MiB/s  Left: 0 s

The VeraCrypt volume has been successfully created.
m17awl@M17A:/media/mike$ veracrypt /mnt/e/test.vc /media/mike/rsync_vc_drive_e/
Enter password for /mnt/e/test.vc:
Enter PIM for /mnt/e/test.vc:
Enter keyfile [none]:
Protect hidden volume (if any)? (y=Yes/n=No) [No]:
Error: fuse: device not found, try 'modprobe fuse' first
Run Code Online (Sandbox Code Playgroud)

注意已经看到这个问题,但是当我尝试这些命令时我得到这个:

m17awl@M17A:/media/mike$ modprobe fuse
modprobe: FATAL: Module fuse not found in directory /lib/modules/4.4.0-19041-Microsoft
m17awl@M17A:/media/mike$ modprobe loop
modprobe: FATAL: Module loop not found in directory /lib/modules/4.4.0-19041-Microsoft
m17awl@M17A:/media/mike$ lsmod …
Run Code Online (Sandbox Code Playgroud)

fuse windows-subsystem-for-linux veracrypt module

5
推荐指数
1
解决办法
2万
查看次数

尝试签署内核模块时出现隐秘错误

我有一个 Debian 10 系统。它启用了安全启动。我正在尝试为 virtualbox 签名并加载新的内核模块。我使用 生成了证书和私钥openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -days 36500 -subj "/CN=My Name/" -nodes。然后我用 导入了这个密钥mokutil --import MOK.der。然后我输入一些密码,重新启动并注册密钥。然后,在阅读了数十个不准确的教程(包括 Debian.org 自己的教程)后,他们都建议使用一个名为sign-file. 然而,sign-file它完全丢失了,并且对系统每个目录的递归搜索没有返回任何内容。在浏览了一些不起眼的论坛后,我发现了一个名为 的工具sbsign,它似乎是签名任何内容的唯一可用选项。任何时候我尝试使用命令来签署模块sbsign --cert ~/MOK.pem --key ~/MOK.priv /lib/modules/4.19.0-9-amd64/misc/vboxdrv.ko。然而,该命令返回Invalid DOS Header Magic. 互联网上几乎没有任何地方提到此错误,也没有以任何有意义的方式与我的具体问题相关。

这个错误是什么意思?我可以做什么来签署这些模块?

kernel module

0
推荐指数
1
解决办法
761
查看次数

标签 统计

module ×4

bash ×1

dnf ×1

eval ×1

fuse ×1

kernel ×1

rhel ×1

veracrypt ×1

windows-subsystem-for-linux ×1