小编pho*_*ops的帖子

检查系统是否在 BASH 中使用 systemd 或 sysvinit 的便捷方法?

我正在定义要在不同发行版中使用的通用 bash 文件。我需要一种方法来检查系统是使用 systemd 还是 sysvinit (/etc/init.d/)。我需要这个,所以我运行适当的命令来启动服务。检查这个的安全方法是什么?我目前检查 systemctl 命令是否存在,但这真的是一个选项,因为可能存在 systemctl 命令可用的情况,但这并不一定意味着实际使用了 systemd?

这是我当前 bash 脚本的摘录:

#!/bin/sh
if [ command -v systemctl >/dev/null ]
then
    systemctl service start
else
    /etc/init.d/service start
fi
Run Code Online (Sandbox Code Playgroud)

linux scripting systemd sysvinit

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

Docker 容器内的应用程序更新?

通常在服务器上配置与安全相关的补丁的自动更新。因此,如果我运行的是 MySQL 5.5 并且出现了新的安全补丁,Ubuntu Server 将应用升级并重新启动 MySQL 以自动保护我。显然,这可以被禁用,但它对我们这些有点懒惰的人有帮助;)

Docker 容器内部是否存在这样的概念?如果我在 Docker 容器中运行 MySQL,是否需要不断停止容器,在其中打开一个 shell,然后更新和升级 MySQL?

lxc docker

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

LXC 容器使用来自主机的“虚拟”接口(命名空间语义)

因此,根据Ubuntu LXC 文档中的文档,在撰写本文时可以找到以下声明:

一个 NIC 一次只能存在于一个命名空间中,因此传递到容器中的物理 NIC 在主机上是不可用的

现在一个物理网卡 (NIC) 可以在/etc/network/interfaces(Debian/Ubuntu) 中共享多个这样的 IP :

auto eth0 eth0:1
iface eth0 inet static
    address 192.168.0.100/24
    gateway 192.168.0.1
iface eth0:1 inet static
    address 192.168.0.200
    netmask 255.255.255.0
Run Code Online (Sandbox Code Playgroud)

也可以使用其他发行版上的相应配置来完成相同的操作。

现在的问题是:可以eth0并且eth0:1被分配到不同的命名空间,还是会自动将另一个分配给相同的命名空间?

networking linux-kernel lxc namespace

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