我想在 Ubuntu 服务器 10.04 上运行的 kVM 上将 Freebsd 作为来宾操作系统运行。所有的howtos都提到VNC是启动和完成安装过程的必要条件。我可以在不使用 VNC 的情况下在 kVM 上安装 freebsd 吗?我更喜欢有一个基于文本的安装程序,它可以在 ssh shell 提示符下工作。我的重点是我不想在我的主机操作系统(ubuntu 服务器)上安装任何图形或 GUI 工具。
如何确保我的 Linux 服务器在非虚拟化的真实机器上运行?
这是我想到的场景:
为了这个问题,假设攻击者
所以我的问题是:是否有可靠的方法来确保操作系统在物理机器上(或在一个精确的物理机器上)运行,而不依赖于虚拟化缺陷(如红丸)?
或者反过来:是否有证据表明这种检测总是可能的?
澄清:这是一个假设性问题,而不是对当前技术的讨论。目前很容易检测我是否处于虚拟化环境中,只需使用imvirt
它及其已知的虚拟化故障/缺陷的集合。我想知道是否已经讨论过诸如“完美虚拟化”之类的事情,并且从理论的角度来看是可能的还是不可能的。
目标是在主机 Linux 系统内的置换(重新定位)发行版(其 / 不得与全局 / 重合)中安装和运行程序。这些程序不适用于使用不同的 / 。
fakechroot 不是一个完整的解决方案,因为它使用库替换而不是在系统调用级别上进行操作(因此不适用于静态链接的二进制文件)。
我在 vmWare 下运行 Ubuntu 12.04 LTS。当我重新启动挂起的映像时,系统时钟未检测到系统时间已过期。在“时间和日期”设置对话框中,我选择了“从 Internet 自动设置时间”,但是单击这两个选项(另一个是“手动设置时间”)并没有使系统实际上“检查 Internet”和使用正确的时间。有没有办法可以强制本地系统(在 vmWare 下运行)将时间更改为“互联网时间”?
我正在编写一些引导脚本,我无法在没有重新启动的情况下让用户模式 LXC 容器在 vanilla Ubuntu 14.04 上工作。
这就是我所做的。
首先,我下载并安装Ubuntu 服务器 14.04.1 amd64,在新的(VirtualBox 下的虚拟来宾)机器上默认所有内容。
然后我登录,并更新和升级它,如果内核升级,则重新启动。
然后我登录,并发出以下命令:
$ sudo apt-get --yes install lxc
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
bridge-utils cgmanager cloud-image-utils debootstrap distro-info
distro-info-data dnsmasq-base euca2ools genisoimage libaio1
libboost-system1.54.0 libboost-thread1.54.0 liblxc1 libmnl0
libnetfilter-conntrack3 librados2 librbd1 libseccomp2 libxslt1.1
lxc-templates python-distro-info python-lxml python-requestbuilder
python-setuptools python3-lxc qemu-utils sharutils uidmap
Suggested packages:
cgmanager-utils shunit2 wodim cdrkit-doc lxctl qemu-user-static
python-lxml-dbg bsd-mailx mailx
The following …
Run Code Online (Sandbox Code Playgroud) 是否也可以通过 WebGUI 访问任何虚拟化?
我的意思是终端上的管理部分就足够了,但是我们需要为“客户”提供虚拟化/webgui 解决方案。
这样他们就可以例如:重新启动他们的来宾机器或在它“冻结”[bsod/kernel panic] 或克隆它时到达它,等等。
有带有 xen-shell 的 Xen,但它并不好,因为它只能通过终端使用。
任何解决方案?
我遇到了一个关于 Linux 上挂载命名空间的奇怪问题。我有两个系统,两个 X86_64 都在 Fedora 16 下运行内核 3.2.3-2。我试图tmpfs
在使用以下unshare
命令创建的子命名空间中挂载文件系统:
unshare -m /bin/bash
Run Code Online (Sandbox Code Playgroud)
从手册页:
mount namespace
mounting and unmounting filesystems will not affect rest of the
system (CLONE_NEWNS flag),
Run Code Online (Sandbox Code Playgroud)
在一个系统上,这按预期工作。也就是说,如果我从这个开始:
# ls /mnt
file1 file2 file3
Run Code Online (Sandbox Code Playgroud)
然后在子命名空间中挂载tmpfs
文件系统/mnt
:
# PS1="child# ' unshare -m /bin/bash
child# mount -t tmpfs tmpfs /mnt
Run Code Online (Sandbox Code Playgroud)
的内容/mnt
在子命名空间中被屏蔽:
child# ls /mnt
child#
Run Code Online (Sandbox Code Playgroud)
但继续在父级中可见:
# ls /mnt
file1 file2 file3
Run Code Online (Sandbox Code Playgroud)
在第二个系统上,完全相同的命令序列将导致在父命名空间和子命名空间中可见的挂载。换句话说,似乎该unshare
命令实际上并没有产生单独的挂载命名空间。
我不知道这两个系统之间有任何实质性差异。一个是运行桌面环境,另一个不是。SELinux 在两个系统上都被禁用。
我正在寻找有关可能导致这种行为差异的原因的任何建议。
FreeBSD 是否支持像Solaris Crossbow这样的网络虚拟化?
我尝试关注 FreeBSD wiki 页面中的 VImage 链接,但这些链接大多已失效。
如果 VImage 不再是 FreeBSD 的一部分,还有其他选择吗?
我有 2 个网卡:主机操作系统上的 eth0 和 eth1,它在其下运行一些虚拟机(LXC)。
题:
在主机 eth1 上删除 IP 的粗略尝试产生了错误。