当前位置: 首页 > 科技观察

如何找出Linux系统正在运行哪个Hypervisor

时间:2023-03-18 13:18:49 科技观察

虽然我们经常听到系统管理器这个词,但很少有人深入研究它的确切含义。现在我们将向您展示不同之处。我会尽力解释一切。我们大多数人都知道两个系统管理器,SystemV和systemd。SystemV(简称SysV)是一个古老而传统的init系统和系统管理器,供较旧的系统使用。Systemd是一个新的初始化系统和系统管理器,它已被大多数主要的Linux发行版采用。有三个主要的init系统是众所周知的,并且仍在Linux系统上使用。大多数Linux发行版都使用其中之一。什么是init系统管理器?在基于Linux/Unix的操作系统中,init(initialization的缩写)是内核启动系统时启动的第一个进程。它的进程ID(PID)编号为1,并且在后台运行直到关闭。init会在/etc/inittab文件中查找相应的配置信息,以确定系统的运行级别,然后根据运行级别在后台启动所有其他进程和应用程序。作为Linux引导过程的一部分,BIOS、MBR、GRUB和内核进程在此过程之前被激活。下面列出了Linux可用的运行级别(有七个运行级别,从0到6)。0:关机1:单用户模式??2:多用户,无NFS6:重启下面列出了Linux系统中广泛使用的三种初始化系统。SystemV(SysV):传统的、第一个用于类Unix操作系统的初始化系统。Upstart:事件驱动,替代/sbin/init守护进程。Systemd:是一个新的初始化系统和系统管理器,被所有主要的Linux发行版实现/采用,以取代传统的SysV初始化系统。什么是系统V(SysV)?SystemV(SysV)是传统的、第一个用于类Unix操作系统的初始化系统。init是系统启动时内核启动的第一个进程,是所有进程的父进程。最初,大多数Linux发行版使用称为SystemV(SysV)的传统初始化系统。多年来,已经发布了几个替代的init系统,例如launchd、ServiceManagementFacility、systemd和Upstart,以解决标准版本中的设计限制。但只有systemd最终被几个主流Linux发行版采用,作为传统SysV的替代品。什么是暴发户?Upstart是/sbin/init守护进程的事件驱动替代品。用于在启动时控制任务和服务的启动,在关机时停止它们,在系统运行时监视它们。它最初是为Ubuntu发行版开发的,但也可以在所有Linux发行版上部署和运行,作为古老的SystemVinit系统的替代品。它曾用于Ubuntu9.10至14.10版本和基于RHEL6的系统,之后被systemd取代。什么是系统?systemd是一个新的初始化系统和系统管理器,被所有主要的Linux发行版实现/采用,以取代传统的SysV初始化系统。systemd兼容SysV和LSB(LCTT译注:LinuxStandardsBase)初始化脚本。它可以用作SysV初始化系统的直接替代品。它是内核启动的第一个进程,PID为1,是所有进程的父进程。Fedora15是第一个使用systemd而不是upstart的发行版。systemctl是一个命令行工具,它是管理systemd守护进程/服务(如启动、重启、停止、启用、禁用、重新加载和状态)的主要工具。systemd使用.service文件而不是bash脚本(由SysV初始化系统使用)。systemd将所有daemon进程按顺序排列到自己的Cgroups中等等。最初由谷歌工程师提出,后来集成到Linux内核中。Cgroups也是LXC用来实现虚拟化的资源管理方式。可以说没有cgroups就没有LXC),所以可以通过查看/cgroup/systemd文件来查看系统层次结构。如何在Linux上识别系统管理器在系统上运行以下命令以查看正在运行的系统管理器:Processsnapshot。ps显示有关所选活动进程的信息。输出并不能准确说明它是SystemV(SysV)还是upstart,所以我建议使用另一种方法。#ps-p1|grep"init\|upstart\|systemd"1?00:00:00init方法二:使用rpm命令RPM即RedHatPackageManager(红帽包管理),是一个强大的安装包管理命令行工具,用于RHEL、CentOS等基于RedHat的发行版、Fedora、openSUSE和Mageia。该工具可以对系统/服务上的软件进行安装、更新、删除、查询、验证等操作。通常RPM文件有一个.rpm后缀。RPM使用必要的库和依赖项构建软件,而不会与系统上安装的其他包发生冲突。#rpm-qf/sbin/initSysVinit-2.86-17.el5方法3:使用/sbin/init文件/sbin/init程序会将根文件系统从内存加载或切换到磁盘。这是引导过程的主要部分。此进程从运行级别“N”(无)开始。/sbin/init程序按照/etc/inittab配置文件中的描述初始化系统。#/sbin/init--versioninit(upstart0.6.5)版权所有(C)2010CanonicalLtd.Thisisfreesoftware;有关复制条件,请参阅来源。没有保修;甚至不是为了特定目的的适销性或适用性。