谜底来了:
如果我做:
touch file{1,2,3}
Run Code Online (Sandbox Code Playgroud)
它创建文件 1、文件 2、文件 3
如果我这样做
rm file[1-3]
Run Code Online (Sandbox Code Playgroud)
它会删除它们。
但如果我这样做
touch file[1-3]
Run Code Online (Sandbox Code Playgroud)
它创建:
file[1-3]
Run Code Online (Sandbox Code Playgroud)
为什么?
我一直试图为此找到一个直接的答案,但我无法在任何地方找到它。安全补丁无人值守升级是否会自动重启服务?如果是这样,有什么方法可以阻止它对某些可能非常具有破坏性的软件包(例如 postgresql)这样做?并且,在日志中是否有任何地方可以看到服务上次重新启动的时间?
我知道我可能会执行以下操作:
并防止 postgresql 完全升级。但是,如果我想手动升级它,我将不得不取消保留以下软件包,然后再次保留它们:
postgresql-9.3 install
postgresql-client-9.3 install
postgresql-client-common install
postgresql-common install
如果您管理多台服务器,这会有点麻烦。这意味着我必须为此目的编写脚本等等。
理想的解决方案如下:
无人值守升级将更新包但不重新启动 postgresql,或者,无人值守安全升级不升级包但执行手动 apt-get dist-upgrade 无需保持和取消保持。
有什么方法可以比原始建议更巧妙地做到这一点吗?
原因是当我升级我们的服务器时,任何服务都可以中断一秒钟,但是当您中断数据库时,可能会发生不好的事情。
是否有提供 ubuntu 版本的环境变量和另一个提供内核版本的环境变量?
我猜答案是否定的,因为printenv | grep 14.04
什么也没给出,但我想我还是会问,因为它可以使我不必通过在脚本中运行额外的命令来声明它。