如何在Ubuntu中检查系统配置?

2025年03月17日 | 阅读 9 分钟

系统配置简介

在系统工程中,系统配置定义了构成系统及其边缘的设备、进程和计算机。系统配置更普遍地定义了构成或规定系统包含内容的特定组件。

术语“系统配置”也可以替代地用于指代通用抽象系统的模型。配置信息的使用不局限于特定用途;它作为任何数据集独立存在。正确配置的系统会忽略资源冲突问题,并使使用更新设备升级系统变得更容易。

  • 此外,此术语还指硬件-软件或设置安排以及所有软件和设备或进程如何根据系统自动创建或用户描述的系统设置文件相互协作。
  • 主要地,系统配置指给定计算机系统的规范,从其硬件元素到在该系统中执行的许多进程和软件。
  • 它定义了安装了哪些型号和类型的设备,以及正在使用哪些特定软件来执行计算机系统的许多部分。
  • 此外,它指的是操作系统的特定设置,这些设置默认由用户或程序手动或自动设置。

计算机系统,特别是操作系统,在系统首次上线时会指令一组默认配置和设置。这些设置指令了使系统稳定执行的共同特性和功能。操作系统具有自己的配置实用程序,允许用户或管理员修改系统配置。对于Microsoft Windows,它被称为“msconfig”或“Microsoft 系统配置实用程序”。

示例配置

下面是一个常见的SC XML系统配置

它提供了关于一个“站点”的信息,并定义了一个具有mysql-db和user-setup元素的单一主机。该主机应具有一个名为mysql的用户的正确参数的任何帐户。配置模式不需要Unix或Windows特定的XML标签。它只是将数据作为独立信息进行说明。这是系统配置积极模型的指示。

这个模型可以继续扩展。例如,用户可以有更多属性,例如“密码”和“偏好设置”。元素可以依赖于其他元素。可以描述传递给子组件的属性。扩展可以是无限的,并且必须加以处理以防止“破坏”系统配置的概念。

系统配置的用法

实际上,模型的用法分为许多类别,包括操作、部署和文档。

How to Check System Configuration in Ubuntu

操作

在系统中,在系统运行期间,配置数据可能被特定类型的服务使用。例如,Secnager可能会使用配置来继承允许远程登录主机的许多用户帐户的MD5密码。一项服务,即系统监视器,可能会利用数据来确定“如何监视”和“监视什么”系统组件。PresentationManager可能会利用数据根据用户访问权限访问视图和菜单项。

部署

它涉及描述一组配置数据并对数据进行操作以实现相应的系统配置。简单地说,它可能是对现有内容的验证,以确保配置到位。

有一些示例,包括从命令行打开的Perl库,用于读取配置并启动在远程或本地主机上启动进程以安装元素。还可能存在一项服务,即SystemConfiguration,它为其他系统软件提供接口,以在系统执行时使用配置数据并执行类似部署的任务。

文档

配置的一种用途是简单地记录系统是什么。反过来,这个文档可能会变得相当昂贵,从而使数据模型变得复杂。区分描述性数据和配置数据很重要。注释可以在任何级别使用;但是,数据膨胀会降低其有用性。

例如,系统配置不是记录历史变更或设计描述和各个组件意图的地方。配置数据应该是“我们想要它成为什么样”或“它是什么样”。

配置管理

配置管理是一个系统工程过程,用于在其生命周期内建立和维护产品的物理、功能和性能属性与其操作信息、设计和要求的一致性。配置管理是ITIL描述的一种ITSM(IT服务管理)形式,它确保系统配置服务器、计算机系统、资源和其他资产是受信任、已知且良好的。它有时被称为“IT自动化”。

几乎所有的配置管理都涉及更高程度的自动化来实现这些目标。这就是团队使用各种工具(例如Terraform、Ansible、Puppet和其他配置管理工具)的原因。使用自动化更容易构建冗余和内部检查,减少由于准确性和人为错误而导致的遗漏的可能性,以使资产保持在所需状态。

如果没有自动化,工程师可能会忘记更新软件组件,这可能会导致系统使用较旧的软件版本,该版本存在CVE上提到的已知漏洞。此漏洞可以通过安装勒索软件、传播系统蠕虫或其他类型的恶意软件来实现。

配置管理在几个系统中都有使用,但我们将关注以下几点

  • 软件
  • 应用
  • 网络
  • 操作系统
  • 数据库和其他存储系统
  • 服务器

配置管理的重要性是什么?

当我们在软件中打开设置菜单时,我们与配置管理达成了妥协。

我们需要小心处理并跟踪配置修改,以确保可追溯性,否则我们的业务和最终用户可能会遭受数据泄露、数据泄露和系统中断。

为了改善操作并降低网络安全风险,许多企业使用CMDB(配置管理数据库)、配置管理和配置管理计划来确保良好的配置管理。它有助于审计流程、资产管理和项目管理,以及调试和软件开发。

配置管理的其他优点如下所述

  • 通过对系统进行可见性和变更跟踪,降低安全漏洞和中断的风险。
  • 通过全面了解配置的每个元素,避免技术资产的浪费性重复,从而实现成本贬值。
  • 通过快速纠正和检测可能对性能产生负面影响的错误配置,提高内部员工和客户的体验。
  • 通过强制执行和定义管理审计、状态监控和资产识别的正式程序和策略,严格控制我们的流程。
  • 更快的解决问题和更大的敏捷性使我们能够提供更高质量的服务并降低软件工程成本。
  • 高效的修改管理通过了解我们的基线配置并提供可见性来构建避免问题的修改。
  • 更快的服务恢复。由于我们的配置在中断时是自动化的并有文档记录,我们将能够快速恢复。
  • 清晰的状态核算和良好的发布管理。

如果我们不应用配置管理会发生什么?

我们可以通过完全不使用配置管理来忽略与之相关的成本。但是,我们将在以下方面付出代价:

  • 在需求变更时,决定哪些系统元素应该修改的体力劳动。
  • 由于项目需求变更,我们没有与各方协商修改而导致的实施失败。
  • 由于用新版本替换系统元素而无法快速恢复到工作状态而导致的生产力缺失。
  • 由于我们无法准确确定哪些元素受到修改的影响而错误修改系统元素而导致的不必要中断。

有哪些著名的配置管理工具?

有几个著名的配置管理工具,这使得找到一套工具或单个工具来满足我们组织的系统配置要求变得复杂。

我们需要考虑必要的权衡和功能,例如网络安全、企业支持、易用性、与旧系统的兼容性、数据中心的扩展能力以及性能。Microsoft System Center Configuration Manager、PuppetAnsible等工具在市场份额方面拥有庞大的社区。但是,在配置管理领域,替代品仍然很少。

以下是一些我们可以考虑的最著名的工具

How to Check System Configuration in Ubuntu
  • Ansible
    它是一个无代理的配置和编排系统,应用YAML中指定的Playbook来管理我们的服务器。
  • HashiCorp Terraform
    HashiCorp Terraform专注于服务器配置而非服务器配置。它采用不可变配置方法,使每个服务器与所需状态完美同步,避免配置漂移。
  • Microsoft System Center Configuration Manager
    Microsoft System Center Configuration Manager是微软的监控和配置工具,它从一个中央管理设备管理基于Windows的资产配置。
  • CFEngine
    它是一种配置管理工具,在被管理的资源上执行轻量级代理,并将配置收敛到所需状态。
  • Chef
    它允许我们将配置管理例程存储在“食谱”和“配方”中,这些可以轻松地在团队之间共享。它支持多种操作系统,包括Linux和Windows。
  • Puppet
    它采用主从架构来保持资源处于所需状态。它是依赖于Ruby DSL(领域特定语言)进行配置管理(与Chef一起)的配置管理系统之一。
  • AWS OpsWorks
    它是AWS提供的多种解决方案之一,旨在简化在亚马逊云平台上托管软件的组织的配置管理。它使用Puppet和Chef自动化服务器的配置、更新和修补。
  • Saltstack
    它允许我们使用Python编程语言创建配置模板,这些模板可以通过中央主服务器推送到许多客户端,或以去中心化模型执行。Saltstack有几个重叠和共同的方面,提供了各种优势,包括基础设施即代码技术,使得推出更新和修改基础设施变得方便。

在Ubuntu上检查系统配置

所有计算机都有许多硬件元素。它们来自不同的供应商,并且有各种与它们相关的基本信息。如果我们在这些硬件元素中的任何一个遇到问题,这些信息对于解决问题是必要的。例如,如果我们想在在线博客或论坛上发布我们遇到的问题,如果人们知道我们拥有的硬件元素,他们可以给我们更好的解释。

检查CPU信息

我们可以使用命令“dmidecode”在Ubuntu上找到关于我们计算机CPU的几个详细信息。命令如下


How to Check System Configuration in Ubuntu

注意:如果您使用的是任何虚拟机,您将无法获得几个详细信息。

检查RAM信息

我们可以使用命令“dmidecode”找到关于我们计算机RAM或内存的详细信息。命令如下


How to Check System Configuration in Ubuntu

应显示有关我们RAM的所有详细信息。

检查主板信息

我们可以使用命令“dmidecode”查找主板的详细信息。命令如下


How to Check System Configuration in Ubuntu

您应该看到以下详细信息。您的主板的供应商或制造商、序列号和产品名称应该在这里提到,正如我们在以下截图中看到的那样

检查板载设备详细信息

我们可以使用命令“dmidecode”检查主板上内置设备的详细信息,如声卡或显卡。命令如下


How to Check System Configuration in Ubuntu

正如我们所见,我们的虚拟机上有两个板载设备:一个声卡和一个视频卡

我们可以使用以下命令查看dmidecode命令的手册页以获取更多详细信息

使用lshw命令检查硬件信息

命令“lshw”非常强大。我们可以使用它来搜索我们计算机所有可用硬件的硬件详细信息。

我们可以执行以下命令来列出所有硬件


How to Check System Configuration in Ubuntu

正如我们所看到的,输出中提到了所有硬件的详细信息。这是一个非常长的列表,所以我们把命令的结果通过管道传输到less。您可以在这里看到硬件的制造商或供应商、它们的部件号、名称、序列号以及更多信息。

使用inix命令检查硬件信息

此外,我们还可以使用命令“inix”检查硬件详细信息。默认情况下,inix命令在Ubuntu中不可用。但我们可以轻松地从官方Ubuntu存储库中获取它。

  • 首先,我们需要使用以下命令更新我们的系统
  • 现在,我们需要使用以下命令安装inix

How to Check System Configuration in Ubuntu
  • 我们将按“y”按钮继续安装过程。
  • 我们将执行inix命令来检查常见的硬件详细信息。命令如下

How to Check System Configuration in Ubuntu

正如我们所看到的,所有命令的硬件详细信息都在上面的输出中打印出来了。


下一主题安装httpd Ubuntu