小编rGA*_*145的帖子

update-ca-trust 提取不向 ca-bundle 添加证书

CentOS Linux release 7.6.1810 (Core)
Kernel 5.1.11-1.el7.elrepo.x86_64
Run Code Online (Sandbox Code Playgroud)

我把一个证书文件 /etc/pki/ca-trust/source/anchors

文件看起来像这样:

-----BEGIN CERTIFICATE-----
MIIDojCCAoqgAwIBAgIQeqkpty5ghoxP8YfCRe+7qjANBgkqhkiG9w0BAQUFADBP
some strings
FnpKVwAq6UcYOu4AoXweaqOOMsLNSw==
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

update-ca-trust extract我希望在捆绑文件中看到我的证书/etc/pki/tls/certs/ca-bundle.crt但其中没有任何新内容之后。并ls -al告诉我最新的编辑时间,所以它是在 2 个月前更改的,而不是现在。

最初我用.crt文件尝试这个。但是重命名.crt.pem并没有解决我的问题。我也试过update-ca-trust enableupdate-ca-trust force-enable提取物之前,但它并没有帮助。 /var/log/messages对此只字未提。

我的外壳会做什么来修复它?

centos certificates

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

为什么 awk 不忽略“空格”作为分隔符?

我的脚本有问题。

前奏 首先,我有一个列表,100 行文件,如下所示:

100;TEST ONE
101;TEST TWO
...
200;TEST HUNDRED
Run Code Online (Sandbox Code Playgroud)

每行有 2 个参数。例如,第一行的参数是:“645”、“TEST ONE”。所以分号是一个分隔符。

我需要将两个参数放在两个变量中。假设它将是 $id 和 $name。对于每一行,$id 和 $name 值将不同。例如,对于第二行 $id = "646" 和 $name = "TEST TWO"。

之后,我需要获取示例文件并将预定义的关键字更改为 $id 和 $name 值。示例文件如下所示:

xxx is yyy
Run Code Online (Sandbox Code Playgroud)

因此,我想要 100 个不同内容的文件。每个文件必须包含每一行的 $id 和 $name 数据。并且它必须以它的 $name 值命名。

有我的脚本:

100;TEST ONE
101;TEST TWO
...
200;TEST HUNDRED
Run Code Online (Sandbox Code Playgroud)

所以,我只是尝试逐行读取我的列表文件。对于每一行,我得到两个变量,然后使用它们替换示例文件中的关键字(xxx 和 yyy),然后保存结果。

但是出了点问题

结果我只有 1 个输出文件。并且调试看起来很糟糕。

这是我的列表文件中只有 2 行的调试窗口。我只有一个输出文件。文件名只是“TEST”,它包含一个字符串:“101 是 TEST”。

需要两个文件:“测试一”、“测试二”,并且必须包含“100 是测试一”和“101 是测试二”。

调试截图

如您所见,第二个变量中有一个空格(例如“TEST ONE”)。我认为这个问题与空格特殊符号有关,但我不知道为什么。我将 -F awk 参数放在“;”中,因此 awk 必须仅将分号解释为分隔符!

我做错了什么?

bash sed awk

6
推荐指数
1
解决办法
1717
查看次数

FreeBSD - 如何使用 grep 排除某些模式?

FreeBSD 11.0-RELEASE-p1 FreeBSD 11.0-RELEASE-p1 #0 root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64

grep (GNU grep) 2.5.1-FreeBSD

你好。我想检查 Asterisk 进程的可用性,所以我使用这个命令:

ps aux | grep /usr/local/sbin/asterisk
Run Code Online (Sandbox Code Playgroud)

但是输出不相关,因为它包含两个字符串(第一个用于 Asterisk 进程,第二个用于 grep 进程):

asterisk 44044   9.8  2.1  866912 133628  -  Is   14:35     121:27.41 /usr/local/sbin/asterisk -n -F -U asterisk
root     44242   0.0  0.0   14796   2484  4  S+   09:50       0:00.27 grep /usr/local/sbin/asterisk
Run Code Online (Sandbox Code Playgroud)

所以我想排除“grep”字符串。在 Linux 中我可以使用标志 -v,但是在 FreeBSD 中我应该怎么做?

freebsd grep

3
推荐指数
1
解决办法
216
查看次数

标签 统计

awk ×1

bash ×1

centos ×1

certificates ×1

freebsd ×1

grep ×1

sed ×1