昨天的 CVE-2015-7547 使我想到了一个问题,我是否必须在安装 glibc 更新后重新启动所有链接到 glibc 的应用程序和服务?
或者更一般地说,在安全性方面,是否建议在此库收到安全更新时使用该库重新启动所有应用程序或服务?或者重新启动整个计算机可能更好?
多年来使用各种 linux 机器,我已经习惯了使用预链接来加速应用程序的加载时间。
但是,每次重新安装软件包时,运行 prelink 的好处都会被否定,因为它、它的所有依赖项及其依赖项都需要重新预链接。
这种预链接可能会导致多个问题,其中一个就是二进制 MD5 失效,这对于比较 MD5 与上游修订版或使用 MD5 来确定二进制文件是否已更改并因此不希望在删除包时清除的事情有问题.
最近,计算机变得更快了,预链接产生的好处现在几乎不显着。
使用prelink仍然是一个理性的概念,还是可以随意丢弃并作为过去时代的东西留下?
为什么在 Ubuntu 的 AMD64 64 位安装上有一个/usr/lib
和一个/usr/lib32
目录但只有一个/usr/bin
和没有/usr/bin32
目录?如果或何时 Debian/Ubuntu 开始在其 ELF 中支持多目标架构二进制文件,此目录分支是否会变得不必要?
我正在开发一个项目,该项目将使用许多设备,这些设备需要配置相同的播放,但不同的变量。我有一个 vars 文件,其中包含许多库,每个设备一个。库名称与设备名称匹配,例如:
(设备 1)
- {xxx: "AAA", yyy: "BBB", zzz: "CCC"}
- {xxx: "AAA", yyy: "BBB", zzz: "CCC"}
Run Code Online (Sandbox Code Playgroud)
(设备 2)
- {xxx: "AAA", yyy: "BBB", zzz: "CCC"}
- {xxx: "AAA", yyy: "BBB", zzz: "CCC"}
Run Code Online (Sandbox Code Playgroud)
该剧本身应该找出哪个库与设备匹配,使用该库的变量而不使用其他变量。我目前的尝试是这样完成的:
- name: do this
command: "do some of item.xxx with some item.zzz
- include_vars: device-library.yaml
when: "{{item}} == {{ansible_hostname}}"
Run Code Online (Sandbox Code Playgroud)
但我总是得到:
致命:[xxx.xxx.xxx.xxx]:失败!=> {"failed": true, "msg": "ERROR!'item' 未定义"}
当这个项目只是一台设备时,我们with_items: stuff.yaml
一直在使用,而且效果很好。
我的问题是:我必须用什么来代替{{item}}
,还是有更好的方法?
library ×4
linux ×2
32bit-64bit ×1
ansible ×1
binary ×1
conditional ×1
debian ×1
glibc ×1
performance ×1