在英特尔下,我知道我可以查看结果uname -m
以了解我的操作系统是 32 位还是 64 位,但在 ARM 下,这给出了:
armv7l
Run Code Online (Sandbox Code Playgroud)
我从
file /usr/bin/ls
Run Code Online (Sandbox Code Playgroud)
我在 32 位操作系统上,但我如何以更简单的方式知道这一点?
我正在制作一些我想轻松安装的二进制文件、脚本等(使用我自己的 rpm)。因为我希望每个人都可以访问它们,所以我的直觉是将它们放在 /usr/bin 中;
然而; 我的可执行文件现在消失在所有其他文件的池中;我怎样才能以一种简单的方式找回我放在那里的所有可执行文件。我在想:
什么是“最好的,最符合 linux 的方式”来做到这一点?
编辑:我们在公司对此进行了讨论,并提出了这个次优选项:将二进制文件放在 /usr/bin/company 中,并使用来自 /usr/bin 的符号链接。我对这个解决方案并不感到兴奋(讨论正在进行中)
我想知道是否systemd
存在某个单位。
这应该适用于:
我知道我可以这样做:
systemctl list-unit-files | grep "^my.target"
Run Code Online (Sandbox Code Playgroud)
但感觉必须有更好的方法。
或者,我希望能够通过仅指定my而无需指定“.service”(如其他systemctl
命令)来运行此检查,例如
systemctl exists my
Run Code Online (Sandbox Code Playgroud) 在npm ci
启动我运行的多个 docker 容器时,我开始收到pthread_create: Resource暂时不可用错误(少于 5 个 docker 容器可以正常运行)。我推断某处存在某种线程限制,但我找不到此处阻塞的是哪个线程。
npm ci
因为这似乎创建了很多线程;但我不认为问题与npm
它本身有关。docker-host
我可以看到不同形式下的错误:
git clone
在容器内失败并出现错误:错误克隆远程存储库“原点”...... 原因:java.lang.OutOfMemoryError:无法创建新的本机线程npm ci
在节点 [1296]的容器内失败:pthread_create:资源暂时不可用我正在努力理解 zypper 输出搜索中“+”符号的含义。
我有一些包裹在 S 领域有 I,其他有 I+。
这是什么+?
出于某种原因,我的系统在数据包 X 中没有 +,而另一个数据包 Y 有问题。在另一个有 + 符号的系统中,这个问题不存在。
干杯
如果您熟悉DISA STIGs ,那么RHEL-06-000518的测试是
/bin/rpm -Va 2>/dev/null \
| /bin/grep '^.M'
Run Code Online (Sandbox Code Playgroud)
我想要做的就是从该测试中提取文件名,并使用包名称和有问题的文件进行漂亮的输出。但是,我的 awk 没有这样做。这就是我正在尝试的:
/bin/rpm -Va 2>/dev/null \
| grep '^.M' \
| awk '{print ($2 ~ /./ ? $3 : $2)}'
Run Code Online (Sandbox Code Playgroud)
理论上,如果字段 2 是单字符文件类型之一(%config、%documentation 等,请参阅rpm 手册页) ,则告诉 awk 打印字段 3
但是,我得到的是文件名 if-and-only-if ($2 ~ /./)。否则,即使我用 0 美元代替最后的 2 美元,我也只是得到一个空行。
我缺少什么?