Files
2024-11-04 18:48:51 +00:00

1636 lines
130 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="zh-CN" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="zh-CN" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>(function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,"script","https://www.google-analytics.com/analytics.js","ga");ga("create", "UA-61272224-1", {"cookieDomain":"auto","allowLinker":true});ga("require", "linker");ga("linker:autoLink", [/(community\.|www\.|^)clearlinux\.org/gi], true);ga("set", "anonymizeIp", true);ga("send", "pageview");</script>
<title>遥测 &mdash; Documentation for Clear Linux* project</title>
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<link rel="canonical" href="docs.01.org/clearlinux/guides/clear/telemetrics.html"/>
<script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
<script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script>
<script type="text/javascript" src="../../_static/translations.js"></script>
<script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/javascript" src="../../_static/js/theme.js"></script>
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
<link rel="author" title="关于这些文档" href="../../about.html" />
<link rel="index" title="索引" href="../../genindex.html" />
<link rel="search" title="搜索" href="../../search.html" />
<link rel="next" title="设计 Clear Linux* OS 生命周期" href="../maintenance/architect-lifecycle.html" />
<link rel="prev" title="swupd" href="swupd.html" />
<link rel="stylesheet" href="../../_static/tcs_theme.css" type="text/css" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" style="background: #007ab2" >
<a href="../../index.html" class="icon icon-home"> Clear Linux* Project Docs
<img src="../../_static/clearlinux.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" id="clear-docs-search" placeholder="Search documentation" results="0"/>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Clear Linux</span>
v: latest
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<dl>
<dt>Language Versions</dt>
<dd><a href="/clearlinux/latest/guides/clear/telemetrics.html">English</a></dd>
<dd><a href="/clearlinux/latest/zh_CN/guides/clear/telemetrics.html">简体中文 (Simplified Chinese)</a></dd>
</dl>
<dl>
<dt>Document Versions</dt>
<dd><a href="/clearlinux/latest/guides/clear/telemetrics.html">latest</a></dd>
<dd><a href="/clearlinux/latest/guides/clear/telemetrics.html">Future versions</a></dd>
</dl>
<dl>
<dt>clearlinux.org links</dt>
<dd>
<a href="https://www.clearlinux.org/">Project Home</a>
</dd>
<dd>
<a href="https://github.com/clearlinux/clear-linux-documentation">GitHub</a>
</dd>
</dl>
</div>
</div>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../get-started/index.html">开始使用</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/index.html#pre-install">安装前</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/compatibility-check.html">检查处理器和 EFI 固件的兼容性</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/compatibility-check.html#check-compatibility">检查兼容性</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/bootable-usb.html">创建可引导 U 盘</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bootable-usb.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bootable-usb.html#create-a-bootable-usb-drive-on-linux">在 Linux* 上创建可引导 U 盘</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bootable-usb.html#create-a-bootable-usb-drive-on-macos">在 macOS* 上创建可引导 U 盘</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bootable-usb.html#create-a-bootable-usb-drive-on-windows">在 Windows* 上创建可引导 U 盘</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/index.html#install">安装</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/bare-metal-install-desktop.html">从实时桌面安装 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-desktop.html#system-requirements">系统要求</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-desktop.html#preliminary-steps">初始步骤</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-desktop.html#install-from-live-image">从实时映像安装</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-desktop.html#minimum-installation-requirements">最低安装要求</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-desktop.html#cl-desktop-installer">Clear Linux OS 桌面安装程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-desktop.html#navigation">导航</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-desktop.html#required-options">必填选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-desktop.html#advanced-options">高级选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-desktop.html#finish-installation">完成安装</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/bare-metal-install-server.html">使用实时服务器将 Clear Linux* OS 安装在裸机上</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#system-requirements">系统要求</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#download-the-latest-cl-live-server-image">下载最新的 Clear Linux OS 实时服务器映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#install-cl-on-your-target-system">在目标系统上安装 Clear Linux OS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#launch-the-cl-installer">启动 Clear Linux OS 安装程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#minimum-installation-requirements">最低安装要求</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#main-menu">主菜单</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#navigation">导航</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#required-options">必填选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#recommended-options">推荐选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#advanced-options">高级选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#finish-installation">完成安装</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/bare-metal-install-server.html#troubleshooting">故障检修</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/install-configfile.html">利用 clr-installer 和配置文件安装</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/install-configfile.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/install-configfile.html#process">流程</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/install-configfile.html#references">参考</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/index.html#install-in-a-virtual-machine">在虚拟机上安装</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/virtual-machine-install/hyper-v.html">Microsoft Hyper-V* 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/hyper-v.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/hyper-v.html#enable-hyper-v">启用 Hyper-V</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/hyper-v.html#create-a-virtual-network">创建虚拟网络</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/hyper-v.html#create-a-virtual-machine">创建虚拟机</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/virtual-machine-install/kvm.html">KVM 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/kvm.html#install-qemu-kvm">安装 QEMU-KVM</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/kvm.html#download-and-launch-the-virtual-machine">下载并开启虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/kvm.html#ssh-access-into-the-virtual-machine">通过 SSH 访问虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/kvm.html#optional-add-the-gnome-display-manager-gdm">可选:添加 GNOME Display Manager (GDM)</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/virtual-machine-install/virtualbox-cl-installer.html">VirtualBox* 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/virtualbox-cl-installer.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/virtualbox-cl-installer.html#download-and-extract-the-cl-installer-iso">下载并解压缩 Clear Linux OS 安装程序 ISO</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/virtualbox-cl-installer.html#create-a-new-vb-virtual-machine">创建新的 VirtualBox 虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/virtualbox-cl-installer.html#install-cl-on-the-vb-vm">在 VirtualBox 虚拟机上安装 Clear Linux OS。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/virtualbox-cl-installer.html#troubleshooting">故障检修</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player.html">VMware* Workstation Player 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player.html#install-the-vmware-workstation-player-hypervisor">安装 VMware Workstation Player 虚拟机管理程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player.html#download-the-latest-cl-installer">下载最新的 Clear Linux OS 安装程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player.html#enable-uefi-boot-support">启用 UEFI 引导支持</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player.html#install-cl-into-the-new-vm">将 Clear Linux OS 安装至新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player.html#detach-the-cl-installer-iso-from-the-vm">从虚拟机断开 Clear Linux OS 安装程序 ISO</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player.html#install-open-vm-tools">安装 open-vm-tools</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player-preconf.html">VMware* Workstation Player (预配置映像)上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player-preconf.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player-preconf.html#install-the-vmware-workstation-player-hypervisor">安装 VMware Workstation Player 虚拟机管理程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player-preconf.html#download-the-latest-cl-vmware-image">下载最新的 Clear Linux OS VMware 映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player-preconf.html#decompress-and-verify-the-image">解压缩并验证映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player-preconf.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player-preconf.html#attach-the-pre-configured-cl-vmware-image">挂载预配置的 Clear Linux OS Vmware 映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player-preconf.html#enable-uefi-boot-support">启用 UEFI 引导支持</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player-preconf.html#power-on-the-vm">开启虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmw-player-preconf.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-install-cl.html">VMware* ESXi 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-install-cl.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-install-cl.html#download-the-latest-cl-installer-iso">下载最新的 Clear Linux OS 安装程序 ISO</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-install-cl.html#upload-the-cl-installer-iso-to-the-vmware-server">将 Clear Linux OS 安装程序 ISO 上传至 VMware 服务器</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-install-cl.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-install-cl.html#install-cl-into-the-new-vm">将 Clear Linux OS 安装至新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-install-cl.html#reconfigure-the-vm-s-settings-to-boot-the-newly-installed-cl">重新配置虚拟机设置,以引导新安装的 Clear Linux OS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-install-cl.html#power-on-the-vm-and-boot-cl">开启虚拟机,引导 Clear Linux OS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-install-cl.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html">VMware* ESXi(预配置映像)上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#download-the-latest-cl-vmware-image">下载最新的 Clear Linux OS VMware 映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#upload-the-cl-image-to-the-vmware-server">将 Clear Linux OS 映像上传至 VMware 服务器</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#convert-the-cl-image-to-an-esxi-supported-format">将 Clear Linux OS 映像转换为 ESXi 支持的格式。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#power-on-the-vm-and-boot-cl">开启虚拟机,引导 Clear Linux OS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/increase-virtual-disk-size.html">增加映像的虚拟磁盘大小</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/increase-virtual-disk-size.html#determine-the-partition-order-and-sizes-of-the-prebuilt-image">确定预构建映像的分区顺序和大小。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/increase-virtual-disk-size.html#id2">增加虚拟盘大小</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/index.html#deploy-to-the-cloud">部署到云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/cloud-install/aws-web.html">Amazon Web Services* 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/aws-web.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/aws-web.html#locate-select-and-launch-the-cl-basic-ami">找到、选择并启动 Clear Linux OS 基本 AMI</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/aws-web.html#connect-to-your-clear-linux-os-basic-instance">连接到 Clear Linux 操作系统基本实例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/aws-web.html#update-the-cl-instance">更新 Clear Linux OS 实例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/aws-web.html#stop-the-cl-instance">停止 Clear Linux OS 实例</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/cloud-install/azure.html">Microsoft* Azure* 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/azure.html#install-ms-azure-cli-2-0-on-cl">在 Clear Linux OS 中安装 Microsoft Azure CLI 2.0</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/azure.html#log-into-your-microsoft-azure-account">登录到您的 Microsoft Azure 帐户</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/azure.html#create-a-ms-azure-resource-group">创建 Microsoft Azure 资源组</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/azure.html#create-and-log-into-the-cl-virtual-machine">创建 Clear Linux OS 虚拟机并登录到该虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/azure.html#stop-and-deallocate-the-cl-vm-and-resources">停止并取消分配 Clear Linux OS 虚拟机和资源</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/azure.html#next-steps">后续步骤</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/cloud-install/gce.html">Google Cloud Platform* 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/gce.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/gce.html#setup-cl-vm-on-gcp">在 GCP 上安装 Clear Linux OS 虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/gce.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/cloud-install/qingcloud.html">Clear Linux* OS on QingCloud* (如何在青云 QingCloud 上创建 Clear Linux OS 虚拟主机)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/qingcloud.html#id2">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/qingcloud.html#qingcloud-cl">在 QingCloud 控制台中选择并启动 Clear Linux OS 虚拟主机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/qingcloud.html#ip">申请公网IP并添加到虚拟主机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/qingcloud.html#cl">连接到 Clear Linux OS 虚拟主机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/qingcloud.html#id3">删除 Clear Linux OS 虚拟主机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cloud-install/qingcloud.html#id4">删除申请的公网IP</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../about.html">关于</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../about.html#release-cadence">发行节奏</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../about.html#updates">更新</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../about.html#ease-of-use">易用性</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../about.html#custom-derivatives">自定义衍生工具</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../about.html#create">创建</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../about.html#deploy">部署</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../about.html#administrate">管理</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">指南</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="../index.html#clear-linux">Clear Linux</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="autoproxy.html">Autoproxy</a><ul>
<li class="toctree-l4"><a class="reference internal" href="autoproxy.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoproxy.html#how-it-works">工作原理</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="autospec.html">autospec</a><ul>
<li class="toctree-l4"><a class="reference internal" href="autospec.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="autospec.html#how-it-works">工作原理</a></li>
<li class="toctree-l4"><a class="reference internal" href="autospec.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="autospec.html#test-packaged-software">测试封装后的软件</a></li>
<li class="toctree-l4"><a class="reference internal" href="autospec.html#references">参考</a></li>
<li class="toctree-l4"><a class="reference internal" href="autospec.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="bundles.html">bundle 文件</a><ul>
<li class="toctree-l4"><a class="reference internal" href="bundles.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="compatible-kernels.html">内核</a><ul>
<li class="toctree-l4"><a class="reference internal" href="compatible-kernels.html#bare-metal-only">仅限裸机</a></li>
<li class="toctree-l4"><a class="reference internal" href="compatible-kernels.html#also-compatible-with-vms">也与虚拟机兼容</a></li>
<li class="toctree-l4"><a class="reference internal" href="compatible-kernels.html#vm-only">仅限虚拟机</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="debug.html">调试系统</a><ul>
<li class="toctree-l4"><a class="reference internal" href="debug.html#background">后台</a></li>
<li class="toctree-l4"><a class="reference internal" href="debug.html#usage">用途</a></li>
<li class="toctree-l4"><a class="reference internal" href="debug.html#implementation">实施</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="ister.html">ister.py image builder</a><ul>
<li class="toctree-l4"><a class="reference internal" href="ister.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="ister.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="ister.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="mixer.html">mixer</a><ul>
<li class="toctree-l4"><a class="reference internal" href="mixer.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="mixer.html#how-it-works">工作原理</a></li>
<li class="toctree-l4"><a class="reference internal" href="mixer.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="mixer.html#references">参考</a></li>
<li class="toctree-l4"><a class="reference internal" href="mixer.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="security.html">操作系统安全性</a><ul>
<li class="toctree-l4"><a class="reference internal" href="security.html#security-in-updates">更新方面的安全举措</a></li>
<li class="toctree-l4"><a class="reference internal" href="security.html#security-in-software">软件方面的安全举措</a></li>
<li class="toctree-l4"><a class="reference internal" href="security.html#security-in-system-design">系统设计方面的安全举措</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="stateless.html">无状态</a><ul>
<li class="toctree-l4"><a class="reference internal" href="stateless.html#file-level-separation">文件级隔离</a></li>
<li class="toctree-l4"><a class="reference internal" href="stateless.html#software-configuration">软件配置</a></li>
<li class="toctree-l4"><a class="reference internal" href="stateless.html#system-reset">系统重置</a></li>
<li class="toctree-l4"><a class="reference internal" href="stateless.html#additional-information">附加说明</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="swupd.html">swupd</a><ul>
<li class="toctree-l4"><a class="reference internal" href="swupd.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="swupd.html#how-it-works">工作原理</a></li>
<li class="toctree-l4"><a class="reference internal" href="swupd.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="swupd.html#quick-reference">快速参考</a></li>
<li class="toctree-l4"><a class="reference internal" href="swupd.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">遥测</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="#how-to-use">使用方法</a></li>
<li class="toctree-l4"><a class="reference internal" href="#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="#reference">参考</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#maintenance">维护</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/architect-lifecycle.html">设计 Clear Linux* OS 生命周期</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/architect-lifecycle.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/architect-lifecycle.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/architect-lifecycle.html#content-workflow">内容工作流程</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/architect-lifecycle.html#release-workflow">版本工作流程</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/architect-lifecycle.html#implementation">实施</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/assign-static-ip.html">分配静态 IP 地址</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/assign-static-ip.html#identify-which-program-is-managing-the-interface">确定哪个程序正在管理接口</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/assign-static-ip.html#using-networkmanager">使用 NetworkManager</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/assign-static-ip.html#using-systemd-networkd">使用 systemd-networkd</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/bulk-provision.html">批量供应</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/bulk-provision.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/bulk-provision.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/bulk-provision.html#configuration">配置</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/cpu-performance.html">CPU 功率和性能</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/cpu-performance.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/cpu-performance.html#cpu-power-saving-mechanisms">CPU 节能机制</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/cpu-performance.html#linux-cpu-clock-frequency-scaling">Linux CPU 时钟频率缩放</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/cpu-performance.html#thermal-management">散热管理</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/deploy-at-scale.html">大规模部署</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/deploy-at-scale.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/deploy-at-scale.html#pick-a-usage-and-update-strategy">选择使用和更新策略</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/deploy-at-scale.html#pick-an-image-distribution-strategy">选择映像分发策略</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/deploy-at-scale.html#considerations-with-stateless-systems">有关无状态系统的注意事项</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/developer-workstation.html">开发人员工作站</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/developer-workstation.html#workstation-setup">工作站设置</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/developer-workstation.html#swupd-search">swupd 搜索</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/developer-workstation.html#core-concepts">核心概念</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/download-verify-decompress.html">下载、验证并解压缩 Clear Linux* OS 映像,</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/download-verify-decompress.html#linux-os-steps">Linux 操作系统步骤</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/download-verify-decompress.html#macos-steps">macOS* 步骤</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/download-verify-decompress.html#windows-os-steps">Windows* 操作系统步骤</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/download-verify-decompress.html#image-types">映像类型</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/enable-user-space.html">创建并启用新的用户空间</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/enable-user-space.html#create-a-new-user">创建新用户</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/enable-user-space.html#add-the-new-user-to-the-wheel-group">将新用户添加到 wheel 组</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/enable-user-space.html#install-and-update-the-os-software-to-its-current-version">安装操作系统软件并将其更新到最新版本</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/enable-user-space.html#add-a-bundle">添加捆绑包</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/enable-user-space.html#next-steps">后续步骤</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/fix-broken-install.html">修复损坏的安装</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/fix-broken-install.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/fix-broken-install.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/fix-broken-install.html#boot-a-live-desktop-image-to-fix-target-system">引导实时桌面映像来修复目标系统</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/fix-broken-install.html#install-from-live-image">从实时映像安装</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/fix-broken-install.html#mount-root-partition-verify-and-fix">挂载根分区,然后验证并修复</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/hostname.html">修改主机名</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/hostname.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/hostname.html#set-your-hostname">设置主机名</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/hostname.html#view-your-hostname">查看主机名</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/increase-virtual-disk-size.html">增加映像的虚拟磁盘大小</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/increase-virtual-disk-size.html#determine-the-partition-order-and-sizes-of-the-prebuilt-image">确定预构建映像的分区顺序和大小。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/increase-virtual-disk-size.html#id2">增加虚拟盘大小</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/query-upstream.html">从上游存储库查询软件包信息</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/query-upstream.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/query-upstream.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/query-upstream.html#configure-dnf">配置 DNF</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/query-upstream.html#dnf-command-usage-examples">DNF 命令用法示例</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/resource-limits.html">资源限制</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/resource-limits.html#system-wide-limits">系统范围限制</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/resource-limits.html#per-user-limits">每用户限制</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/resource-limits.html#service-limits">服务限制</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/restart.html">操作系统更新后重启系统服务</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/restart.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/restart.html#how-it-works">工作原理</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/restart.html#basic-options">基本选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/restart.html#monitor-options">监控选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/restart.html#example">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/restart.html#telemetry">遥测技术</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/restart.html#conclusion">总结</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/time.html">设置时间</a></li>
<li class="toctree-l3"><a class="reference internal" href="../maintenance/validate-signatures.html">验证签名</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/validate-signatures.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/validate-signatures.html#image-content-validation">映像内容验证</a></li>
<li class="toctree-l4"><a class="reference internal" href="../maintenance/validate-signatures.html#update-content-validation">更新内容验证</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#network">网络</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../network/custom-clear-container.html">根据 Docker 容器映像构建一个自定义 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../network/custom-clear-container.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/custom-clear-container.html#build-the-base-container-image">构建基础容器映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/custom-clear-container.html#manage-bundles-in-a-container">管理容器中的捆绑包</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../network/dpdk.html">使用 DPDK 在平台之间发送数据包</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../network/dpdk.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/dpdk.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/dpdk.html#install-dpdk-and-build-l3fwd-example-platform-b">安装 dpdk 并构建 l3fwd 示例(平台 B)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/dpdk.html#build-pktgen-platform-a">构建 pktgen(平台 A</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/dpdk.html#bind-nics-to-dpdk-kernel-drivers-platforms-a-and-b">将网卡绑定到 DPDK 内核驱动程序(平台 A 和平台 B)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/dpdk.html#set-hugepages-platforms-a-and-b">设置大页(平台 A 和 B</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/dpdk.html#set-up-the-physical-environment-platforms-a-and-b">设置物理环境(平台 A 和 B</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/dpdk.html#run-l3fwd-application-platform-b">运行 l3fwd 应用程序(平台 B</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/dpdk.html#run-pktgen-application-platform-a">运行 pktgen 应用程序(平台 A)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/dpdk.html#appendix-a-use-pass-through-for-virtual-machines">附录 A:为虚拟机使用直通</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../network/ipxe-install.html">使用 iPXE 通过网络安装</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../network/ipxe-install.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/ipxe-install.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/ipxe-install.html#configuration">配置</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../network/network-bonding.html">使用网络捆绑聚合多个接口</a></li>
<li class="toctree-l3"><a class="reference internal" href="../network/openssh-server.html">启用并配置 SSH 服务</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../network/openssh-server.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/openssh-server.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/openssh-server.html#change-default-port">更改默认端口</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/openssh-server.html#enable-sftp">启用 SFTP</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/openssh-server.html#enable-root-login">启用 root 登录</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/openssh-server.html#enable-x11-forwarding">启用 X11 转发</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../network/vnc.html">使用 VNC 通过远程桌面连接到主机</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../network/vnc.html#install-the-vnc-server-and-misc-components-on-your-host">在主机上安装 VNC 服务器和其他组件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/vnc.html#configure-a-vnc-server-start-method-on-your-host">在主机上配置 VNC-server-start 方法</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/vnc.html#install-a-vnc-viewer-app-and-an-ssh-client-on-your-client-system">在客户端系统上安装一个 VNC 查看器应用程序和一个 SSH 客户端</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/vnc.html#establish-a-vnc-connection-to-your-host">与主机建立 VNC 连接</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/vnc.html#terminate-a-vnc-connection-to-your-host">终止与主机的 VNC 连接</a></li>
<li class="toctree-l4"><a class="reference internal" href="../network/vnc.html#encrypt-vnc-traffic-through-an-ssh-tunnel">通过 SSH 隧道加密 VNC 流量</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#kernel">内核</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../kernel/kernel-development.html">内核开发</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-development.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-development.html#request-changes-be-included-with-the-cl-kernel">Clear Linux OS 内核中包含了请求变更</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-development.html#set-up-kernel-development-environment">设置内核开发环境</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-development.html#customize-the-linux-kernel-source">自定义 Linux 内核源代码</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-development.html#build-and-install-the-kernel">构建并安装内核</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-development.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../kernel/kernel-modules.html">手动添加内核模块</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules.html#kernel-module-availability">内核模块可用性</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules.html#build-install-and-load-an-out-of-tree-module">构建、安装和加载树外模块</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules.html#related-topic">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../kernel/kernel-modules-dkms.html">使用 DKMS 添加内核模块</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules-dkms.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules-dkms.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules-dkms.html#kernel-module-availability">内核模块可用性</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules-dkms.html#install-dkms">安装 DKMS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules-dkms.html#build-install-and-load-an-out-of-tree-module">构建、安装和加载树外模块</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules-dkms.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../kernel/kernel-modules-dkms.html#related-topics">相关主题</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#stacks">堆栈</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../stacks/dars.html">数据分析参考堆栈</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../stacks/dars.html#the-data-analytics-reference-stack-release">数据分析参考堆栈版本</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/dars.html#using-the-docker-images">使用 Docker 映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/dars.html#building-dars-images">构建 DARS 映像</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../stacks/greengrass.html">启用 AWS Greengrass* 和 OpenVINO™ 工具包</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../stacks/greengrass.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/greengrass.html#supported-platforms">支持的平台</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/greengrass.html#install-the-os-on-the-edge-device">在边缘设备上安装操作系统</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/greengrass.html#configure-aws-greengrass-group">配置 AWS Greengrass 组</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/greengrass.html#create-and-package-lambda-function">创建并打包 Lambda 函数</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/greengrass.html#configure-lambda-function">配置 Lambda 函数</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/greengrass.html#deploy-lambda-function">部署 Lambda 函数</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/greengrass.html#references">参考</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../stacks/dlrs/dlrs.html">深度学习参考堆栈</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../stacks/dlrs/dlrs.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/dlrs/dlrs.html#tensorflow-single-and-multi-node-benchmarks">TensorFlow 单节点和多节点基准测试</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/dlrs/dlrs.html#pytorch-single-and-multi-node-benchmarks">PyTorch 单节点和多节点基准测试</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/dlrs/dlrs.html#kubeflow-multi-node-benchmarks">Kubeflow 多节点基准测试</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/dlrs/dlrs.html#use-jupyter-notebook">使用 Jupyter Notebook</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/dlrs/dlrs.html#uninstallation">卸载</a></li>
<li class="toctree-l4"><a class="reference internal" href="../stacks/dlrs/dlrs.html#related-topics">相关主题</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../tutorials/index.html">Tutorials</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/apache-hadoop.html">Apache* Hadoop*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/apache-hadoop.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/apache-hadoop.html#install-apache-hadoop">Install Apache Hadoop</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/apache-hadoop.html#configure-apache-hadoop">Configure Apache Hadoop</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/apache-hadoop.html#configure-your-ssh-key">Configure your SSH key</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/apache-hadoop.html#run-the-hadoop-daemons">Run the Hadoop daemons</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/apache-hadoop.html#run-the-mapreduce-wordcount-example">Run the MapReduce wordcount example</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/apache-spark.html">Apache* Spark*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/apache-spark.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/apache-spark.html#install-apache-spark">Install Apache Spark</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/apache-spark.html#configure-apache-spark">Configure Apache Spark</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/apache-spark.html#start-the-master-server-and-a-worker-daemon">Start the master server and a worker daemon</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/apache-spark.html#run-the-spark-wordcount-example">Run the Spark wordcount example</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/dlrs.html">Deep Learning Reference Stack</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#overview">Overview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#stack-features">Stack features</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#version-compatibility">Version compatibility</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#tensorflow-single-and-multi-node-benchmarks">TensorFlow single and multi-node benchmarks</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#pytorch-single-and-multi-node-benchmarks">PyTorch single and multi-node benchmarks</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#kubeflow-multi-node-benchmarks">Kubeflow multi-node benchmarks</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#kubernetes-setup">Kubernetes setup</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#kubernetes-networking">Kubernetes networking</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#kubectl">Kubectl</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#images">Images</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#ksonnet">ksonnet*</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#kubeflow">Kubeflow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#run-a-tfjob">Run a TFJob</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#results-of-running-this-section">Results of running this section</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#tensorflow-training-tfjob-with-kubeflow-and-dlrs">TensorFlow Training (TFJob) with Kubeflow and DLRS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#submitting-tfjobs">Submitting TFJobs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#customizing-a-tfjob">Customizing a TFJob</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#pytorch-training-pytorch-job-with-kubeflow-and-dlrs">PyTorch Training (PyTorch Job) with Kubeflow and DLRS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#submitting-pytorch-jobs">Submitting PyTorch Jobs</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#using-kubeflow-seldon-and-openvino-with-the-deep-learning-reference-stack">Using Kubeflow Seldon and OpenVINO* with the Deep Learning Reference Stack</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/dlrs.html#pre-requisites">Pre-requisites</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#using-the-intel-openvino-model-optimizer">Using the Intel® OpenVINO Model Optimizer</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#using-the-openvino-inference-engine">Using the OpenVino Inference Engine</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#use-jupyter-notebook">Use Jupyter Notebook</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#uninstallation">Uninstallation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#compiling-aixprt-with-openmp-on-dlrs">Compiling AIXPRT with OpenMP on DLRS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/dlrs.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/docker.html">Docker*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/docker.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/docker.html#install-the-containers-basic-bundle">Install the containers-basic bundle</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/docker.html#integration-with-kata-containers-optional">Integration with Kata Containers* (optional)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/docker.html#additional-docker-configuration">Additional Docker configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/docker.html#pulling-and-running-an-image-from-docker-hub">Pulling and running an image from Docker Hub</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/docker.html#creating-a-docker-swarm-cluster">Creating a Docker swarm cluster</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/docker.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/flatpak.html">Flatpak*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/flatpak.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/flatpak.html#install-a-flatpak-app-with-gnome-software">Install a Flatpak app with Gnome Software</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/flatpak.html#install-a-flatpak-with-the-command-line">Install a Flatpak with the command line</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/fmv.html">Function multi-versioning</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/fmv.html#install-and-configure-a-cl-host-on-bare-metal">Install and configure a Clear Linux OS host on bare metal</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/fmv.html#detect-loop-vectorization-candidates">Detect loop vectorization candidates</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/fmv.html#generate-the-fmv-patch">Generate the FMV patch</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/fmv.html#fft-project-example-using-fftw">FFT project example using FFTW</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/kata.html">Kata Containers*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kata.html#description">Description</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kata.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kata.html#install-kata-containers">Install Kata Containers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kata.html#run-kata-containers">Run Kata Containers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kata.html#more-information-about-docker">More information about Docker</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/kata.html#troubleshooting">Troubleshooting</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/kubernetes.html">Kubernetes*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#description">Description</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#install-kubernetes-and-cri-runtimes">Install Kubernetes and CRI runtimes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#configure-kubernetes">Configure Kubernetes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#configure-and-run-kubernetes">Configure and run Kubernetes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/kubernetes.html#configure-and-run-cri-o-kata-runtime">Configure and run CRI-O + kata-runtime</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#install-pod-network-add-on">Install pod network add-on</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#use-your-cluster">Use your cluster</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#related-topics">Related topics</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#cloud-native-setup-automation">Cloud native setup automation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#package-configuration-customization-optional">Package configuration customization (optional)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#proxy-configuration-optional">Proxy configuration (optional)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes.html#troubleshooting">Troubleshooting</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/kubernetes-bp.html">Kubernetes* Best Practices</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes-bp.html#use-swupd-to-update-clusters">Use swupd to update clusters</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes-bp.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes-bp.html#update-the-control-plane">Update the control plane</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/kubernetes-bp.html#update-worker-nodes">Update worker nodes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/nvidia.html">NVIDIA* Drivers</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia.html#install-dkms">Install DKMS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia.html#download-and-install-the-nvidia-drivers">Download and install the NVIDIA drivers</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/nvidia.html#download-the-nvidia-drivers-for-linux">Download the NVIDIA drivers for Linux</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/nvidia.html#disable-the-nouveau-driver">Disable the nouveau driver</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/nvidia.html#configure-alternative-software-paths">Configure alternative software paths</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/nvidia.html#install-the-nvidia-drivers">Install the NVIDIA drivers</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia.html#updating-the-nvidia-drivers">Updating the NVIDIA drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia.html#uninstalling-the-nvidia-drivers">Uninstalling the NVIDIA drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia.html#debugging-installation-of-nvidia-drivers">Debugging installation of NVIDIA drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia.html#additional-resources">Additional resources</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/nvidia-cuda.html">NVIDIA* CUDA Toolkit</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia-cuda.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia-cuda.html#compatibility">Compatibility</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/nvidia-cuda.html#check-compatibility-of-nvidia-components">Check compatibility of NVIDIA components</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/nvidia-cuda.html#check-gcc-compatibility">Check GCC compatibility</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia-cuda.html#downloading-and-installation">Downloading and Installation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/nvidia-cuda.html#download-the-nvidia-cuda-toolkit">Download the NVIDIA CUDA Toolkit</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/nvidia-cuda.html#install-the-nvidia-cuda-toolkit">Install the NVIDIA CUDA Toolkit</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia-cuda.html#using-the-nvidia-cuda-toolkit">Using the NVIDIA CUDA Toolkit</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia-cuda.html#uninstalling">Uninstalling</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia-cuda.html#debugging">Debugging</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/nvidia-cuda.html#additional-resources">Additional resources</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/parallels.html">Parallels* Desktop for Mac*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/parallels.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/parallels.html#download-iso-image">Download ISO image</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/parallels.html#initialize-new-vm">Initialize new VM</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/parallels.html#install-cl-on-vm">Install Clear Linux OS on VM</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/proxy.html">Proxy configuration</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/proxy.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/proxy.html#shells-and-programs-in-a-desktop-session">Shells and programs in a desktop session</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/proxy.html#terminal">Terminal</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/proxy.html#wget">wget</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/proxy.html#system-service-docker">System service (Docker)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/proxy.html#git-over-ssh">git over ssh</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/redis.html">Redis*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/redis.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/redis.html#install-the-redis-bundle">Install the redis bundle</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/redis.html#start-the-redis-server">Start the redis-server</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/redis.html#example-1-use-the-redis-cli-and-try-commands">Example 1: Use the redis-cli and try commands</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/redis.html#example-2-run-the-cl-redis-docker-image">Example 2: Run the Clear Linux OS redis docker image</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/redis.html#next-steps">Next Steps</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/smb.html">Samba* as a host</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/smb.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/smb.html#set-up-file-sharing">Set up file sharing</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/smb.html#map-cl-drive-in-windows">Map Clear Linux OS drive in Windows</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/smb-desktop.html">Samba* as a client</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/smb-desktop.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/smb-desktop.html#connect-to-windows-shared-location-with-nautilus">Connect to Windows shared location with Nautilus</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/tensorflow-machine-learning.html">TensorFlow* machine learning</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/tensorflow-machine-learning.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/tensorflow-machine-learning.html#set-up-a-jupyter-notebook">Set up a Jupyter Notebook</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/tensorflow-machine-learning.html#run-the-jupyter-machine-learning-example-code">Run the Jupyter machine learning example code</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/tensorflow-machine-learning.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/wordpress.html">WordPress*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/wordpress/web-server-install.html">Set up a LAMP web server on Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/wordpress/web-server-install.html#install-apache">Install Apache</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/wordpress/web-server-install.html#change-the-default-configuration-and-data-directory">Change the default configuration and data directory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/wordpress/web-server-install.html#install-php">Install PHP</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/wordpress/web-server-install.html#install-mariadb">Install MariaDB</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/wordpress/web-server-install.html#install-phpmyadmin">Install phpMyAdmin</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/wordpress/web-server-install.html#use-phpmyadmin-to-manage-a-database">Use phpMyAdmin to manage a database</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/wordpress/web-server-install.html#next-steps">Next steps</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/wordpress/wp-install.html">Set up WordPress* on a LAMP web server</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/wordpress/wp-install.html#before-you-begin">Before you begin</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/wordpress/wp-install.html#create-a-wordpress-server">Create a WordPress server</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/yubikey-u2f.html">YubiKey* Support</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/yubikey-u2f.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/yubikey-u2f.html#enable-linux-udev-rules-for-yubikey">Enable Linux udev rules for YubiKey</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/yubikey-u2f.html#enable-u2f-in-mozilla-firefox">Enable U2F in Mozilla Firefox</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/yubikey-u2f.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../tutorials/index.html#archive">Archive</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../tutorials/archive/kata_migration.html">Migrate Clear Containers to Kata Containers*</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/archive/kata_migration.html#stop-clear-containers-instances">Stop Clear Containers instances</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/archive/kata_migration.html#manually-migrate-customized-configuration-files">Manually migrate customized configuration files</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/archive/kata_migration.html#enable-kata-containers-as-default">Enable Kata Containers as default</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../tutorials/archive/kata_migration.html#run-kata-containers">Run Kata Containers</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../reference/compatible-hardware.html">Compatible Hardware</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/bundles/bundles.html">可用的捆绑包</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/bundles/bundles.html#bundle-list">捆绑包列表</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/collaboration/collaboration.html">Documentation guidelines</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/collaboration/collaboration.html#contribution-guidelines">Contribution guidelines</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/collaboration/writing-guide.html">Writing guide: Describes the style we use to keep our documents clear and concise.</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/collaboration/structure-formatting.html">Structure and formatting guide: Explains how we organize and format content, using reStructuredText and Sphinx.</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/collaboration/collaboration.html#how-to-contribute">How to contribute</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/collaboration/collaboration.html#contribute-via-github">Contribute via GitHub</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/collaboration/collaboration.html#references">References</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/system-requirements.html">建议的最低系统要求</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/system-requirements.html#installer-requirements">安装程序要求</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/system-requirements.html#id1">系统要求</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/system-requirements.html#recommended-configurations">建议配置</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/image-types.html">Clear Linux* OS image types</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../FAQ/index.html">FAQ</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../FAQ/index.html#general">General</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#why-did-you-make-another-distro">Why did you make another distro?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#can-other-distros-copy-cl-improvements">Can other distros copy Clear Linux OS improvements?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#how-often-do-you-update">How often do you update?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#is-telemetry-required">Is telemetry required?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#what-is-the-default-firewall">What is the default firewall?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#where-are-the-files-that-i-usually-see-under-etc-like-fstab">Where are the files that I usually see under /etc like fstab?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../FAQ/index.html#software-packages">Software packages</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#how-is-software-installed-and-updated">How is software installed and updated?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#does-cl-use-rpms-like-other-distros">Does Clear Linux OS use RPMs like other distros?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#can-i-install-a-software-package-from-another-os-on-cl">Can I install a software package from another OS on Clear Linux OS?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../FAQ/index.html#software-availability">Software availability</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#what-software-is-available-on-cl">What software is available on Clear Linux OS?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#is-google-chrome-available">Is Google* Chrome* available?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#is-microsoft-visual-studio-code-available">Is Microsoft* Visual Studio Code* available?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#is-ffmpeg-available">Is FFmpeg available?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#is-zfs-available">Is ZFS* available?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../FAQ/index.html#can-you-add-a-driver-that-i-need">Can you add a driver that I need?</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../index.html">Clear Linux* Project Docs</a>
</nav>
<div class="wy-nav-content">
<header id="header">
<div class="padding-md--left-right">
<div class="header__site_info">
<div class="header__site_info_name">
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item yellow ">
<a tabindex='1' href="https://clearlinux.org">Home</a>
</li>
<li class="header__menu_list_item green ">
<a tabindex='1' href="https://clearlinux.org/about">About</a>
</li>
<li class="header__menu_list_item purple ">
<a tabindex='1' href="https://clearlinux.org/developer">Developer</a>
</li>
<li class="header__menu_list_item blue ">
<a tabindex='1' href="https://clearlinux.org/software">Software</a>
</li>
</ul>
</nav>
</div>
</header>
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html">Docs</a> &raquo;</li>
<li><a href="../index.html">指南</a> &raquo;</li>
<li>遥测</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/clearlinux/clear-linux-documentation/blob/master/source/guides/clear/telemetrics.rst" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="telemetrics">
<span id="telem-guide"></span><h1>遥测<a class="headerlink" href="#telemetrics" title="永久链接至标题"></a></h1>
<p>本指南描述了 Clear Linux* OS 遥测解决方案。</p>
<div class="admonition important">
<p class="first admonition-title">重要</p>
<p class="last">Clear Linux OS 中的遥测为 <strong>opt-in</strong>。遥测客户端未处于活动状态,且在您将其显式启用之前不发送任何数据。</p>
</div>
<div class="admonition note">
<p class="first admonition-title">注解</p>
<p>遥测功能遵从涉及收集和使用 <abbr title="Personally Identifiable Information">PII</abbr><a class="reference external" href="https://www.intel.cn/content/www/cn/zh/privacy/intel-privacy-notice.html">英特尔隐私条款</a>,同时也是开源功能。</p>
<p class="last">系统不会蓄意收集涉及用户或系统所有者的可识别身份的信息。</p>
</div>
<div class="contents local topic" id="id1">
<ul class="simple">
<li><a class="reference internal" href="#overview" id="id6">概述</a></li>
<li><a class="reference internal" href="#how-to-use" id="id7">使用方法</a></li>
<li><a class="reference internal" href="#examples" id="id8">示例</a></li>
<li><a class="reference internal" href="#reference" id="id9">参考</a></li>
</ul>
</div>
<div class="section" id="overview">
<h2><a class="toc-backref" href="#id6">概述</a><a class="headerlink" href="#overview" title="永久链接至标题"></a></h2>
<p>Clear Linux OS 中的遥测是用于收集来自正在运行的 Clear Linux OS 系统的数据的客户端/服务器解决方案,有助于快速确定和修复操作系统中的错误。客户端和服务器均可定制,而客户端则可使用 API 检测代码,进行调试和分析。</p>
<p>借助遥测这一 Clear Linux OS 的主要功能,开发人员可在最终用户受到影响之前观察并主动解决操作系统中存在的问题。</p>
<p>遥测 (Telemetrics) 是由以下项组成的组合词:</p>
<ul class="simple">
<li>遥测 (Telemetry),即感知和报告数据。</li>
<li>分析 (Analytics),即使用可视化和统计推理探究报告数据的意义。</li>
</ul>
<p>Clear Linux OS 遥测使用专用探针来报告系统级调试/崩溃信息。探针可监控系统任务,例如 swupd、内核 oops、机器错误检查以及未处理硬件故障的 BIOS 错误报告表。遥测可以实时报告问题,以便系统开发人员快速关注问题并监控更正措施。</p>
<p>Clear Linux OS 遥测支持完全定制,可在软件开发期间用于调试。可以在代码中使用 libtelemetry 库来创建定制遥测记录。还可以在脚本文件中使用 telem-record-gen 实用程序创建轻触记录,其中检测代码文件并无作用。</p>
<p>Clear Linux OS 遥测解决方案是客户端上的一个选择启用选项。默认情况下,禁用遥测客户端,直到用户选择将其启用。本指南介绍如何启用客户端。</p>
<div class="section" id="architecture">
<h3>体系架构<a class="headerlink" href="#architecture" title="永久链接至标题"></a></h3>
<p>Clear Linux OS 遥测有两大基本组件,如图 1 所示:</p>
<ul class="simple">
<li>客户端:通过网络生成记录并将其传送到后端服务器。</li>
<li>后端:接收客户端发来的记录,通过专门的 Web 界面显示累积的内容。</li>
</ul>
<div class="figure" id="id4">
<img alt="Figure 1, Telemetry Architecture" src="../../_images/telemetry-e2e.png" />
<p class="caption"><span class="caption-text">图 1 <span class="guilabel">|CL| Telemetry Architecture</span></span></p>
</div>
<p>遥测客户端提供遥测解决方案的前端,同时还包括以下组件:</p>
<ul class="simple">
<li>telemprobd 是一个守护程序,用于接收并准备探针的遥测记录,并将其假脱机至磁盘。</li>
<li>telempostd 是一个守护程序,根据可配置设置管理假脱机的遥测记录并提供这些记录。</li>
<li>probes,从操作系统收集特定类型的数据。</li>
<li>libtelemetry,遥测探针用于创建记录的 API。</li>
</ul>
<p>遥测后端提供遥测解决方案的服务器端组件且包括:</p>
<ul class="simple">
<li>Nginx Web 服务器。</li>
<li>两个 Flask 应用:<ul>
<li>Collector,针对从客户端探针所接收记录的接入式网络应用。</li>
<li>TelemetryUI,通过不同视图实现遥测数据可视化的网络应用。</li>
</ul>
</li>
<li>PostgreSQL 作为底层数据库服务器。</li>
</ul>
<div class="admonition note">
<p class="first admonition-title">注解</p>
<p class="last">默认遥测后端服务器由英特尔 Clear Linux OS 开发团队托管,且无法在英特尔防火墙之外查看。要收集个人记录,必须设置自己的遥测后端服务器。</p>
</div>
</div>
</div>
<div class="section" id="how-to-use">
<h2><a class="toc-backref" href="#id7">使用方法</a><a class="headerlink" href="#how-to-use" title="永久链接至标题"></a></h2>
<p>从工作流角度来看,Clear Linux OS 遥测系统非常简单。在客户端,安装和启用遥测技术之后的主要决策涉及如何处理探针生成的记录数据。可以将数据发送到默认或定制后端服务器,也可将此数据保留在系统本地,或同时执行二者。后端服务器的设置更为复杂,但一旦运行,它就极易使用和配置。</p>
<p>本节介绍配置 Clear Linux OS 遥测系统的部分潜在场景,并根据需求提供有意义的建议。</p>
<div class="section" id="scenarios">
<h3>场景<a class="headerlink" href="#scenarios" title="永久链接至标题"></a></h3>
<ol class="arabic">
<li><p class="first">启用遥测技术:</p>
<p>必须启用遥测客户端守护程序,探针才能生成记录。创建定制 <code class="file docutils literal notranslate"><span class="pre">telemetrics.conf</span></code> 文件,将其存储在 <code class="file docutils literal notranslate"><span class="pre">/etc/telemetrics</span></code> 目录中,可以在启用前配置客户端。如果选择使用默认设置,则会将记录发送到英特尔 Clear Linux OS 开发团队所管理的遥测后端服务器。</p>
</li>
<li><p class="first">本地保存记录数据:</p>
<p>可以配置遥测客户端,在本地保存记录。在开发周期中需要即时反馈或是认为存在特定于计算机的问题以便跟踪系统问题时,此功能非常方便。可以将客户端设为完全不发送记录,或是将记录保存在本地并发送到后端服务器。</p>
</li>
<li><p class="first">设置服务器以收集数据:</p>
<p>无论是管理 Clear Linux OS 系统网络,还是不想将记录发送到默认遥测服务器,均可设置后端服务器来收集个人记录。后端服务器可安装在任意 Linux 系统上,并为您提供与默认服务器相同的控制台。</p>
</li>
<li><p class="first">通过 libtelemetry API 检测代码:</p>
<p><strong class="command">telemetrics</strong> bundle 文件包括 libtelemetry C 库,可以提供 telemprobd 和 telempostd 守护程序所用的 API。同时,也可以在应用程序中使用这些守护程序。相关 API 文档位于 <a class="reference external" href="https://github.com/clearlinux/telemetrics-client/">Telemetrics client</a> 存储库的 <code class="file docutils literal notranslate"><span class="pre">telemetry.h</span></code> 文件中。</p>
</li>
</ol>
</div>
</div>
<div class="section" id="examples">
<h2><a class="toc-backref" href="#id8">示例</a><a class="headerlink" href="#examples" title="永久链接至标题"></a></h2>
<div class="contents local topic" id="id2">
<ul class="simple">
<li><a class="reference internal" href="#enable-or-disable-telemetry" id="id10">启用或禁用遥测</a></li>
<li><a class="reference internal" href="#saving-data-locally" id="id11">本地保存数据</a></li>
<li><a class="reference internal" href="#set-up-a-back-end-server-to-collect-telemetry-records" id="id12">设置后端服务器以收集遥测记录</a></li>
<li><a class="reference internal" href="#create-records-with-telem-record-gen" id="id13">使用 telem-record-gen 创建记录</a></li>
<li><a class="reference internal" href="#set-a-static-machine-id" id="id14">设置静态计算机 ID</a></li>
<li><a class="reference internal" href="#instrument-your-code-with-the-libtelemetry-api" id="id15">通过 libtelemetry API 检测代码</a></li>
</ul>
</div>
<div class="section" id="enable-or-disable-telemetry">
<h3><a class="toc-backref" href="#id10">启用或禁用遥测</a><a class="headerlink" href="#enable-or-disable-telemetry" title="永久链接至标题"></a></h3>
<ol class="arabic">
<li><p class="first">在安装期间启用:</p>
<p>在初始安装 Clear Linux OS 期间,系统会要求加入稳定性增强计划,允许 Clear Linux OS 收集匿名报告,提高系统稳定性。如果选择不加入此计划,则不会将遥测软件 bundle 文件添加到系统中。选择加入此计划,则会在安装完成后自动在系统上启用遥测技术。</p>
</li>
<li><p class="first">安装后启用:</p>
<p>要在系统上启动遥测,请运行以下命令:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo telemctl start
</pre></div>
</div>
<p>此命令将启用并启动 <strong class="command">telemprobd</strong><strong class="command">telempostd</strong> 守护程序。系统随即开始将遥测数据发送到文件 <code class="file docutils literal notranslate"><span class="pre">/etc/telemetrics/telemetrics.conf</span></code> 中所定义的服务器。如果此文件不存在,<strong class="command">telemprobd</strong><strong class="command">telempostd</strong> 守护程序则会使用文件 <code class="file docutils literal notranslate"><span class="pre">/usr/share/defaults/telemetrics/telemetrics.conf</span></code></p>
</li>
<li><p class="first">安装后禁用:</p>
<p>要禁用这两个遥测守护程序,请运行以下命令:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo telemctl stop
</pre></div>
</div>
</li>
<li><p class="first">选择启用遥测技术:</p>
<p>要选择启用遥测服务,只需输入选择启用命令,也会启动服务:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo telemctl opt-in
</pre></div>
</div>
<p>此操作将删除 <code class="file docutils literal notranslate"><span class="pre">/etc/telemetrics/opt-out</span></code> 文件(如果存在)并启动遥测服务。</p>
<div class="admonition note">
<p class="first admonition-title">注解</p>
<p class="last">要选择启用而非立即启动遥测服务,则需在输入 <strong class="command">opt-in</strong> 命令后运行命令 <strong class="command">sudo telemctl stop</strong>。准备好启动服务后,输入命令 <strong class="command">sudo telemctl start</strong></p>
</div>
</li>
<li><p class="first">选择禁用遥测技术:</p>
<p>要停止发送来自系统的遥测数据,请选择禁用遥测服务:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo telemctl opt-out
</pre></div>
</div>
<p>此操作将创建文件 <code class="file docutils literal notranslate"><span class="pre">/etc/telemetrics/opt-out</span></code> 并停止遥测服务。</p>
</li>
</ol>
</div>
<div class="section" id="saving-data-locally">
<h3><a class="toc-backref" href="#id11">本地保存数据</a><a class="headerlink" href="#saving-data-locally" title="永久链接至标题"></a></h3>
<p>本例要求安装 Clear Linux OS 并在系统上启用遥测技术。</p>
<p>要更改记录的管理方式,请将默认的 <code class="file docutils literal notranslate"><span class="pre">/usr/share/defaults/telemetrics/telemetrics.conf</span></code> 文件复制到 <code class="file docutils literal notranslate"><span class="pre">/etc/telemetrics/telemetrics.conf</span></code> 并对其进行编辑。<code class="file docutils literal notranslate"><span class="pre">/etc/telemetrics/telemetrics.conf</span></code> 文件中的更改会覆盖 <code class="file docutils literal notranslate"><span class="pre">/usr/share/defaults/telemetrics/telemetrics.conf</span></code> 文件中的默认值。您可能需要 root 权限才能在 <code class="file docutils literal notranslate"><span class="pre">/etc</span></code> 中创建和编辑文件。在每个示例中,每次对配置文件进行更改时,均需重新启动客户端守护程序才能接受更改:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo telemctl restart
</pre></div>
</div>
<p>使用 <strong class="command">telemctl journal</strong> 命令可以访问遥测日志的各项功能和选项,有助于进行系统分析和调试。<strong class="command">telemctl journal</strong> 提供众多选项来协助过滤记录。使用 <strong class="command">-h</strong><strong class="command">--help</strong> 查看使用情况选项。</p>
<ol class="arabic">
<li><p class="first">保留本地副本并将记录发送到后端服务器:</p>
<p>要保留遥测记录的本地副本并将其发送到后端服务器,需将 <span class="guilabel">record_retention_enabled</span> 配置键值更改为 <span class="guilabel">true</span></p>
</li>
<li><p class="first">保留所有记录 - 不发送到后端服务器:</p>
<p>要保留系统上的记录而不将其发送到后端服务器,请将 <span class="guilabel">record_server_delivery_enabled</span> 键值设为 <span class="guilabel">false</span>。请注意,您可能还需确保 <span class="guilabel">record_retention_enabled</span> 配置键值已设为 <span class="guilabel">true</span>,否则系统不会保留本地副本。</p>
</li>
<li><p class="first">保留记录并将其发送到定制服务器:</p>
<p>此操作假设您已根据下例设置了定制服务器。</p>
<p>此服务器通过 <span class="guilabel">server</span> 设置确定,且默认将记录发送到 Clear Linux OS 服务器 <span class="guilabel">server=https://clr.telemetry.intel.com/v2/collector</span>。要更改此设置,可使用 IP 地址或完全限定域名。</p>
</li>
</ol>
</div>
<div class="section" id="set-up-a-back-end-server-to-collect-telemetry-records">
<h3><a class="toc-backref" href="#id12">设置后端服务器以收集遥测记录</a><a class="headerlink" href="#set-up-a-back-end-server-to-collect-telemetry-records" title="永久链接至标题"></a></h3>
<p>在本例中,请先使用 <a class="reference internal" href="../../get-started/bare-metal-install-server.html#bare-metal-install-server"><span class="std std-ref">使用实时服务器将 Clear Linux* OS 安装在裸机上</span></a> 入门指南和以下内容在新系统上完整安装 Clear Linux OS</p>
<ol class="arabic">
<li><p class="first">加入 <span class="guilabel">Stability Enhancement Program</span>,安装和启用遥测组件。</p>
</li>
<li><p class="first">选择采用以下设置的手动安装方法:</p>
<ul class="simple">
<li>将主机名设为 <span class="guilabel">clr-telem-server</span></li>
<li>创建名为 <span class="guilabel">clear</span> 的管理用户并将其添加到 sudo 用户组</li>
</ul>
</li>
<li><p class="first">以管理用户身份登录,在 <code class="file docutils literal notranslate"><span class="pre">$HOME</span></code> 目录中运行 <strong class="command">git</strong>,将 <span class="guilabel">telemetrics-backend</span> 存储库克隆到 <code class="file docutils literal notranslate"><span class="pre">$HOME/telemetrics-backend</span></code> 目录:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">git clone https://github.com/clearlinux/telemetrics-backend</span>
</pre></div>
</div>
<div class="admonition note">
<p class="first admonition-title">注解</p>
<p class="last">如果访问 github.com 时出现问题,则最好设置 <span class="target" id="index-2"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">https_proxy</span></code> 环境变量。</p>
</div>
</li>
<li><p class="first">将当前工作目录更改为 <code class="file docutils literal notranslate"><span class="pre">telemetrics-backend/scripts</span></code></p>
</li>
<li><p class="first">在下一步利用 <code class="file docutils literal notranslate"><span class="pre">deploy.sh</span></code> 脚本文件安装遥测后端之前,请查看此处关于指定选项的说明:</p>
<ul class="simple">
<li><strong class="command">-a install</strong> 用于安装</li>
<li><strong class="command">-d clr</strong> 用于安装到 Clear Linux OS 发行版</li>
<li><strong class="command">-H localhost</strong> 用于将域设为 localhost</li>
</ul>
<div class="admonition caution">
<p class="first admonition-title">警告</p>
<p class="last"><code class="file docutils literal notranslate"><span class="pre">deploy.sh</span></code> shell 脚本附带小规模错误检查机制,并可对系统进行某些更改。在继续操作之前,请确保您在命令行上定义的选项正确无误。</p>
</div>
</li>
<li><p class="first"><code class="file docutils literal notranslate"><span class="pre">$HOME/telemetrics-backend/scripts</span></code> 目录中运行此 shell 脚本:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">./deploy.sh -H localhost -a install -d clr</span>
</pre></div>
</div>
<p>此脚本将启动并列出所有已定义的选项并提示输入 <span class="guilabel">PostgreSQL</span> 数据库密码。</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">Options:</span>
<span class="go"> host: localhost</span>
<span class="go"> distro: clr</span>
<span class="go"> action: install</span>
<span class="go"> repo: https://github.com/clearlinux/telemetrics-backend</span>
<span class="go"> source: master</span>
<span class="go"> type: git</span>
<span class="go"> DB password: (default: postgres):</span>
</pre></div>
</div>
</li>
<li><p class="first">对于 <span class="guilabel">DB password:</span>,请按 <kbd class="kbd docutils literal notranslate">Enter</kbd> 键接受默认密码 <cite>postgres</cite></p>
<div class="admonition note">
<p class="first admonition-title">注解</p>
<p class="last"><code class="file docutils literal notranslate"><span class="pre">deploy.sh</span></code> 脚本使用 <strong class="command">sudo</strong> 运行命令,而系统在执行脚本时则随时可能会提示您输入用户密码。如果出现此情况,请输入用户密码,执行 <strong class="command">sudo</strong> 命令。</p>
</div>
</li>
<li><p class="first">所有服务器组件均已安装后,系统将提示输入 <span class="guilabel">PostgreSQL</span> 数据库密码,如下所示对其进行更改:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">Enter password for &#39;postgres&#39; user:</span>
<span class="go">New password:</span>
<span class="go">Retype new password:</span>
<span class="go">passwd: password updated successfully</span>
</pre></div>
</div>
<p>输入此密码的当前值 <cite>postgres</cite>,然后输入新密码。接着,再次输入此密码进行验证, <span class="guilabel">PostgreSQL</span> 数据库密码随即更新。</p>
</li>
<li><p class="first">安装完成后,可以打开系统浏览器,在地址栏中输入 localhost,使用 Web 浏览器查看新服务器。您应看到下面图 2 所示的网页。</p>
<div class="figure" id="id5">
<img alt="Telemetry UI" src="../../_images/telemetry-backend-1.png" />
<p class="caption"><span class="caption-text">图 2 <span class="guilabel">Telemetry UI</span></span></p>
</div>
</li>
</ol>
</div>
<div class="section" id="create-records-with-telem-record-gen">
<h3><a class="toc-backref" href="#id13">使用 telem-record-gen 创建记录</a><a class="headerlink" href="#create-records-with-telem-record-gen" title="永久链接至标题"></a></h3>
<p>遥测 bundle 文件提供名为 <cite>telem-record-gen</cite> 的记录生成器工具。无法以 C 语言编写探针时,便可使用此工具从 shell 脚本或命令行创建记录。记录将发送到后端服务器,同时还可返回 stdout。</p>
<p>有三种方法可将有效负载提供给记录。</p>
<ol class="arabic">
<li><p class="first">在命令行中,使用 <strong class="command">-p &lt;string&gt;</strong> 选项:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>telem-record-gen -c a/b/c -n -o -p <span class="s1">&#39;payload goes here&#39;</span>
</pre></div>
</div>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">record_format_version: 4</span>
<span class="go">classification: a/b/c</span>
<span class="go">severity: 1</span>
<span class="go">machine_id: FFFFFFFF</span>
<span class="go">creation_timestamp: 1539023189</span>
<span class="go">arch: x86_64</span>
<span class="go">host_type: innotek GmbH|VirtualBox|1.2</span>
<span class="go">build: 25180</span>
<span class="go">kernel_version: 4.14.71-404.lts</span>
<span class="go">payload_format_version: 1</span>
<span class="go">system_name: clear-linux-os</span>
<span class="go">board_name: VirtualBox|Oracle Corporation</span>
<span class="go">cpu_model: Intel(R) Core(TM) i7-4650U CPU @ 1.70GHz</span>
<span class="go">bios_version: VirtualBox</span>
<span class="go">event_id: 2236710e4fc11e4a646ce956c7802788</span>
<span class="go">payload goes here</span>
</pre></div>
</div>
</li>
<li><p class="first">通过 <strong class="command">-P path/to/file</strong> 选项指定包含此有效负载的文件。</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>telem-record-gen -c a/b/c -n -o -P ./payload_file.txt
</pre></div>
</div>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">record_format_version: 4</span>
<span class="go">classification: a/b/c</span>
<span class="go">severity: 1</span>
<span class="go">machine_id: FFFFFFFF</span>
<span class="go">creation_timestamp: 1539023621</span>
<span class="go">arch: x86_64</span>
<span class="go">host_type: innotek GmbH|VirtualBox|1.2</span>
<span class="go">build: 25180</span>
<span class="go">kernel_version: 4.14.71-404.lts</span>
<span class="go">payload_format_version: 1</span>
<span class="go">system_name: clear-linux-os</span>
<span class="go">board_name: VirtualBox|Oracle Corporation</span>
<span class="go">cpu_model: Intel(R) Core(TM) i7-4650U CPU @ 1.70GHz</span>
<span class="go">bios_version: VirtualBox</span>
<span class="go">event_id: d73d6040afd7693cccdfece479df9795</span>
<span class="go">payload read from file</span>
</pre></div>
</div>
</li>
<li><p class="first">如果不使用 <strong class="command">-p</strong><strong class="command">-P</strong> 选项,此工具则会从 stdin 读取,以便您在脚本的 <code class="file docutils literal notranslate"><span class="pre">heredoc</span></code> 中使用。</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1">#telem-record-gen -c a/b/c -n -o &lt;&lt; HEOF</span>
payload <span class="nb">read</span> from stdin
HEOF
</pre></div>
</div>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">record_format_version: 4</span>
<span class="go">classification: a/b/c</span>
<span class="go">severity: 1</span>
<span class="go">machine_id: FFFFFFFF</span>
<span class="go">creation_timestamp: 1539023621</span>
<span class="go">arch: x86_64</span>
<span class="go">host_type: innotek GmbH|VirtualBox|1.2</span>
<span class="go">build: 25180</span>
<span class="go">kernel_version: 4.14.71-404.lts</span>
<span class="go">payload_format_version: 1</span>
<span class="go">system_name: clear-linux-os</span>
<span class="go">board_name: VirtualBox|Oracle Corporation</span>
<span class="go">cpu_model: Intel(R) Core(TM) i7-4650U CPU @ 1.70GHz</span>
<span class="go">bios_version: VirtualBox</span>
<span class="go">event_id: 2f070e8e71679f2b1f28794e3a6c42ee</span>
<span class="go">payload read from stdin</span>
</pre></div>
</div>
</li>
</ol>
</div>
<div class="section" id="set-a-static-machine-id">
<h3><a class="toc-backref" href="#id14">设置静态计算机 ID</a><a class="headerlink" href="#set-a-static-machine-id" title="永久链接至标题"></a></h3>
<p>出于隐私,遥测客户端报告的计算机 ID 每三天轮换一次。如果希望获得测试用的静态计算机 ID,则可在 <code class="file docutils literal notranslate"><span class="pre">/etc/telemetrics/</span></code> 目录中创建名为 <cite>opt-in-static-machine-id</cite> 的文件来选择启用。</p>
<ol class="arabic">
<li><p class="first">创建 <cite>telemetrics</cite> 目录。</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo mkdir -p /etc/telemetrics
</pre></div>
</div>
</li>
<li><p class="first">创建文件并将 “unique machine ID” 替换为所需的静态计算机 ID。</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">echo</span> <span class="s2">&quot;unique machine ID&quot;</span> <span class="p">|</span> sudo tee /etc/telemetrics/opt-in-static-machine-id
</pre></div>
</div>
</li>
</ol>
<div class="admonition note">
<p class="first admonition-title">注解</p>
<p class="last">该计算机 ID 不同于系统主机名。</p>
</div>
</div>
<div class="section" id="instrument-your-code-with-the-libtelemetry-api">
<h3><a class="toc-backref" href="#id15">通过 libtelemetry API 检测代码</a><a class="headerlink" href="#instrument-your-code-with-the-libtelemetry-api" title="永久链接至标题"></a></h3>
<div class="section" id="prerequisites">
<h4>必备条件<a class="headerlink" href="#prerequisites" title="永久链接至标题"></a></h4>
<p>确认遥测头文件位于系统上的 <code class="file docutils literal notranslate"><span class="pre">usr/include/telemetry.h</span></code>。此文件的 <a class="reference external" href="https://github.com/clearlinux/telemetrics-client/tree/master/src">latest version</a> 也可在 Github 上找到,以供参考,但安装 <strong class="command">telemetry</strong> bundle 文件会安装匹配 Clear Linux OS 版本的头文件。</p>
<ol class="arabic">
<li><p class="first">include 与变量:</p>
<p>必须在代码中包含以下标头才能使用 API:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span>define _GNU_SOURCE
<span class="gp">#</span>include &lt;stdlib.h&gt;
<span class="gp">#</span>include &lt;stdio.h&gt;
<span class="gp">#</span>include &lt;string.h&gt;
<span class="gp">#</span>include &lt;telemetry.h&gt;
</pre></div>
</div>
<p>使用下述代码创建所需变量,以容纳用于创建记录的数据:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">uint32_t severity = 1;</span>
<span class="go">uint32_t payload_version = 1;</span>
<span class="go">char classification[30] = &quot;org.clearlinux/hello/world&quot;;</span>
<span class="go">struct telem_ref *tm_handle = NULL;</span>
<span class="go">char *payload;</span>
<span class="go">int ret = 0;</span>
</pre></div>
</div>
<dl class="docutils">
<dt>严重性:</dt>
<dd><p class="first last">类型:uint32_t 值:“严重性”字段值。可接受值介于 1-4 之间,其中 1 表示严重性最低,4 则表示严重性最高。超出此范围的值将被限定为 1 或 4。[low, med, high, crit]</p>
</dd>
<dt>Payload_version</dt>
<dd><p class="first last">类型:uint32_t 值:有效负载格式版本。目前唯一支持的值为 1,表示有效负载为自由格式化(非结构化)的字符串。大于 1 的值将保留以供未来使用。</p>
</dd>
<dt>分类:</dt>
<dd><p class="first last">类型:字符数组值:它应采用 DOMAIN/PROBENAME/REST 形式:DOMAIN 是用作探针命名空间的反向域(例如 org.clearlinux),PROBENAME 是探针的名称,REST 则是探针用于对记录进行分类的任意值。分类字符串的最大长度为 122 个字节。每个子类别的长度不超过 40 个字节。需使用两个斜线 (/) 分隔符。</p>
</dd>
<dt>Tm_handle</dt>
<dd><p class="first last">类型:Telem_ref 结构指针值:调用者声明的结构指针。如果函数返回成功,则初始化此结构。</p>
</dd>
<dt>有效负载:</dt>
<dd><p class="first last">类型:结构指针值:要设置的有效负载</p>
</dd>
</dl>
</li>
<li><p class="first">在本例中,我们使用 <strong class="command">asprintf()</strong> 将有效负载设为“hello”:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">if (asprintf(&amp;payload, &quot;hello\n&quot;) &lt; 0) {</span>
<span class="go"> exit(EXIT_FAILURE);</span>
<span class="go"> }</span>
</pre></div>
</div>
<p>函数 <strong class="command">asprintf()</strong><strong class="command">vasprintf()</strong><strong class="command">sprintf(3)</strong><strong class="command">vsprintf(3)</strong> 类似,除了它们分配一个足够大的字符串来容纳包括终止空字节 (‘0’) 在内的输出,并通过第一个自变量向其返回一个指针。该指针应传递给 <strong class="command">free(3)</strong>,以便在不再需要时释放已分配的存储空间。</p>
</li>
<li><p class="first">创建新的遥测记录:</p>
<p>函数 <strong class="command">tm_create_record()</strong> 可初始化遥测记录并设置此记录的严重性和分类,以及有效负载版本号。存储遥测记录所需的内存已分配,且应在不再需要时通过 <strong class="command">tm_free_record()</strong> 来释放。</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">if ((ret = tm_create_record(&amp;tm_handle, severity, classification, payload_version)) &lt; 0) {</span>
<span class="go">printf(&quot;Failed to create record: %s\n&quot;, strerror(-ret));</span>
<span class="go">ret = 1;</span>
<span class="go">goto fail;</span>
<span class="go">}</span>
</pre></div>
</div>
</li>
<li><p class="first">设置遥测记录的有效负载字段:</p>
<p>函数 <strong class="command">tm_set_payload()</strong> 可将所提供的遥测记录数据附加到遥测记录中。当前最大有效负载大小为 8192b。</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">if ((ret = tm_set_payload(tm_handle, payload)) &lt; 0) {</span>
<span class="go"> printf(&quot;Failed to set record payload: %s\n&quot;, strerror(-ret));</span>
<span class="go"> ret = 1;</span>
<span class="go"> goto fail;</span>
<span class="go">}</span>
<span class="go">free(payload);</span>
</pre></div>
</div>
<p>函数 <strong class="command">free()</strong> 可释放 <cite>ptr</cite> 指向的内存空间,而 ptr 必须通过先前对 <strong class="command">malloc()</strong><strong class="command">calloc()</strong><strong class="command">realloc()</strong> 的调用返还。否则(或者如果此前曾调用 <strong class="command">free(ptr)</strong>),则会出现未定义的行为。如果 ‘ptr’ 为空,则不会执行任何操作。</p>
</li>
<li><p class="first">将记录发送到遥测守护程序:</p>
<p>函数 <strong class="command">tm_send_record()</strong> 向本地 <strong class="command">telemprobd(1)</strong> 服务提供记录。由于遥测记录是程序分配的,因此不再需要时,应通过 <strong class="command">tm_free_record()</strong> 释放。</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">if ((ret = tm_send_record(tm_handle)) &lt; 0) {</span>
<span class="go"> printf(&quot;Failed to send record to daemon: %s\n&quot;, strerror(-ret));</span>
<span class="go"> ret = 1;</span>
<span class="go"> goto fail;</span>
<span class="go">} else {</span>
<span class="go"> printf(&quot;Successfully sent record to daemon.\n&quot;);</span>
<span class="go"> ret = 0;</span>
<span class="go">}</span>
<span class="go">fail:</span>
<span class="go">tm_free_record(tm_handle);</span>
<span class="go">tm_handle = NULL;</span>
<span class="go">return ret;</span>
</pre></div>
</div>
</li>
<li><p class="first">带编译标志的完整示例应用程序:</p>
<p>创建新文件 <code class="file docutils literal notranslate"><span class="pre">test.c</span></code> 并添加如下代码:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span>define _GNU_SOURCE
<span class="gp">#</span>include &lt;stdlib.h&gt;
<span class="gp">#</span>include &lt;stdio.h&gt;
<span class="gp">#</span>include &lt;string.h&gt;
<span class="gp">#</span>include &lt;telemetry.h&gt;
<span class="go">int main(int argc, char **argv)</span>
<span class="go">{</span>
<span class="go"> uint32_t severity = 1;</span>
<span class="go"> uint32_t payload_version = 1;</span>
<span class="go"> char classification[30] = &quot;org.clearlinux/hello/world&quot;;</span>
<span class="go"> struct telem_ref *tm_handle = NULL;</span>
<span class="go"> char *payload;</span>
<span class="go"> int ret = 0;</span>
<span class="go"> if (asprintf(&amp;payload, &quot;hello\n&quot;) &lt; 0) {</span>
<span class="go"> exit(EXIT_FAILURE);</span>
<span class="go"> }</span>
<span class="go"> if ((ret = tm_create_record(&amp;tm_handle, severity, classification, payload_version)) &lt; 0) {</span>
<span class="go"> printf(&quot;Failed to create record: %s\n&quot;, strerror(-ret));</span>
<span class="go"> ret = 1;</span>
<span class="go"> goto fail;</span>
<span class="go"> }</span>
<span class="go"> if ((ret = tm_set_payload(tm_handle, payload)) &lt; 0) {</span>
<span class="go"> printf(&quot;Failed to set record payload: %s\n&quot;, strerror(-ret));</span>
<span class="go"> ret = 1;</span>
<span class="go"> goto fail;</span>
<span class="go"> }</span>
<span class="go"> free(payload);</span>
<span class="go"> if ((ret = tm_send_record(tm_handle)) &lt; 0) {</span>
<span class="go"> printf(&quot;Failed to send record to daemon: %s\n&quot;, strerror(-ret));</span>
<span class="go"> ret = 1;</span>
<span class="go"> goto fail;</span>
<span class="go"> } else {</span>
<span class="go"> printf(&quot;Successfully sent record to daemon.\n&quot;);</span>
<span class="go"> ret = 0;</span>
<span class="go"> }</span>
<span class="go">fail:</span>
<span class="go"> tm_free_record(tm_handle);</span>
<span class="go"> tm_handle = NULL;</span>
<span class="go"> return ret;</span>
<span class="go"> }</span>
</pre></div>
</div>
<p>使用以下命令通过 gcc 编译器进行编译:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gcc test.c -ltelemetry -o test_telem
</pre></div>
</div>
<p>测试以确保程序正在运行:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./test_telem
Successfully sent record to daemon.
</pre></div>
</div>
<div class="admonition note">
<p class="first admonition-title">注解</p>
<p class="last">源代码中记录了以 C 语言编写的 <a class="reference external" href="https://github.com/clearlinux/telemetrics-client/tree/master/src/probes/hello.c">heartbeat probe</a> 的完整示例。</p>
</div>
</li>
</ol>
</div>
</div>
</div>
<div class="section" id="reference">
<h2><a class="toc-backref" href="#id9">参考</a><a class="headerlink" href="#reference" title="永久链接至标题"></a></h2>
<div class="contents local topic" id="id3">
<ul class="simple">
<li><a class="reference internal" href="#the-telemetry-api" id="id16">遥测 API</a></li>
<li><a class="reference internal" href="#client-configuration" id="id17">客户端配置</a></li>
<li><a class="reference internal" href="#client-run-time-options" id="id18">客户端运行时选项</a></li>
</ul>
</div>
<div class="section" id="the-telemetry-api">
<h3><a class="toc-backref" href="#id16">遥测 API</a><a class="headerlink" href="#the-telemetry-api" title="永久链接至标题"></a></h3>
<p>安装 <strong class="command">telemetrics</strong> bundle 文件包括 libtelemetry C 库,可以提供 telemprobd 和 telempostd 守护程序所用的 API。同时,也可以在应用程序中使用这些守护程序。相关 API 文档位于 <a class="reference external" href="https://github.com/clearlinux/telemetrics-client/">Telemetrics client</a> 存储库的 <code class="file docutils literal notranslate"><span class="pre">telemetry.h</span></code> 文件中。</p>
</div>
<div class="section" id="client-configuration">
<h3><a class="toc-backref" href="#id17">客户端配置</a><a class="headerlink" href="#client-configuration" title="永久链接至标题"></a></h3>
<p>遥测客户端会查找位于 <code class="file docutils literal notranslate"><span class="pre">/etc/telemetrics/telemetrics.conf</span></code> 中的配置文件。如果存在,则会使用。如果此文件不存在,客户端则会使用位于 <code class="file docutils literal notranslate"><span class="pre">/usr/share/defaults</span> <span class="pre">telemetrics/telemetrics.conf</span></code> 的默认配置。要修改或定制配置,请将此文件从 <code class="file docutils literal notranslate"><span class="pre">/usr/share/defaults/telemetrics</span></code> 复制到 <code class="file docutils literal notranslate"><span class="pre">/etc/telemetrics</span></code> 并对其进行编辑。</p>
<div class="section" id="configuration-options">
<h4>配置选项<a class="headerlink" href="#configuration-options" title="永久链接至标题"></a></h4>
<p>客户端使用配置文件中的以下配置选项:</p>
<dl class="docutils">
<dt>服务器</dt>
<dd>此选项指定接收 telempostd 发送的遥测记录的网络服务器。</dd>
<dt>socket_path</dt>
<dd>此选项指定 telemprobd 在其上侦听探针连接的 unix 域套接字路径。</dd>
<dt>spool_dir</dt>
<dd>此配置选项与假脱机相关。如果守护程序因网络可用性等原因无法将遥测记录发送到后端服务器,则会将记录存储在假脱机目录中。此选项指定了假脱机目录的路径。此目录的所有者应与守护程序的所有者为同一用户。</dd>
<dt>record_expiry</dt>
<dd>此选项为时间选项(以分钟为单位)。超过此时间后,守护程序会删除假脱机目录中的记录。</dd>
<dt>spool_process_time</dt>
<dd>此选项指定了在检查假脱机目录是否存在记录之前,守护程序等待的时间间隔(以秒为单位)。守护程序将按修改日期顺序选取记录,并尝试将记录发送到服务器。它一次最多可发送 10 条记录。如果无法成功发送记录,则会从假脱机目录中删除此记录。如果守护程序找到早于 “record_expiry” 时间的记录,则会删除此记录。守护程序在单个假脱机运行循环中最多会查找 20 条记录。</dd>
<dt>rate_limit_enabled</dt>
<dd>此选项将确定是启用还是禁用速率限制。启用后,在某一时间窗口内发送的两个记录均有一个阈值,同时记录在一个窗口内一次发送的字节数。</dd>
<dt>record_burst_limit</dt>
<dd>此选项是指守护程序在 record_window_length 时间内允许传递的最大记录数。如果将其设为 -1,则会禁用针对记录突发的速率限制。</dd>
<dt>record_window_length</dt>
<dd>此选项为时间选项(以分钟为单位 (0-59)),用于设定 record_burst_limit 的窗口长度。例如:如果 record_burst_window = 1000 且 record_window_length = 15,则在任意给定的 15 分钟窗口内可传递的记录数不会超过 1,000 条。</dd>
<dt>byte_burst_limit</dt>
<dd>此选项是指守护程序在 byte_window_length 时间内可传递的最大字节数。如果将其设为 -1,则会禁用针对字节突发的速率限制。</dd>
<dt>byte_window_length</dt>
<dd>此选项为时间选项(以分钟为单位 (0-59)),用于设定 byte_burst_limit 的窗口长度。</dd>
<dt>rate_limit_strategy</dt>
<dd>此选项是指在达到速率限制阈值后所选择的策略。目前,选项为“drop”或“spool”,其中 spool 为默认值。如果选择 spool,则会对记录进行假脱机并在以后发送。</dd>
<dt>record_retention_enabled</dt>
<dd>启用此键 (true) 后,守护程序会在磁盘上保存所有有效记录中有效负载的副本。为避免过多使用磁盘空间,系统仅保留最近的 100 条记录。此配置键的默认值为 false。</dd>
<dt>record_server_delivery_enabled</dt>
<dd><blockquote class="first">
<div>此键控制向服务器传送记录;启用(默认值)后,会将记录发送到配置文件中所列的地址。如果禁用此配置键 (false),则不会对记录进行假脱机或将记录发布到后端。此配置键可与 record_retention_enabled 搭配使用,仅在本地保留遥测记录的副本。</div></blockquote>
<div class="last admonition note">
<p class="first admonition-title">注解</p>
<p class="last">随着遥测客户端的发展,配置选项可能会发生变化。请使用文件自身所附带的注释,作为最准确的配置参考。</p>
</div>
</dd>
</dl>
</div>
</div>
<div class="section" id="client-run-time-options">
<h3><a class="toc-backref" href="#id18">客户端运行时选项</a><a class="headerlink" href="#client-run-time-options" title="永久链接至标题"></a></h3>
<p>Clear Linux OS 遥测客户端提供名为 <span class="guilabel">telemctl</span> 的管理工具,可用于管理遥测服务和探针。此工具位于 <code class="file docutils literal notranslate"><span class="pre">/usr/bin</span></code>。如果不带参数运行此工具,则会导致如下情况:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo telemctl
</pre></div>
</div>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">/usr/bin/telemctl - Control actions for telemetry services</span>
<span class="go"> stop Stops all running telemetry services</span>
<span class="go"> start Starts all telemetry services</span>
<span class="go"> restart Restarts all telemetry services</span>
<span class="go"> is-active Checks if telemprobd and telempostd are active</span>
<span class="go"> opt-in Opts in to telemetry, and starts telemetry services</span>
<span class="go"> opt-out Opts out of telemetry, and stops telemetry services</span>
<span class="go"> journal Prints telemetry journal contents. Use -h argument for more</span>
<span class="go"> options</span>
</pre></div>
</div>
<div class="section" id="start-stop-restart">
<h4>start/stop/restart<a class="headerlink" href="#start-stop-restart" title="永久链接至标题"></a></h4>
<p>用于启动、停止和重新启动遥测服务的命令可以管理系统上所有必要的服务和探针。无需单独启动/停止/重新启动两个客户端守护程序 telemprobd 和 telempostd。<strong class="command">restart</strong> 命令选项将调用 <strong class="command">telemctl stop</strong>,然后调用 <strong class="command">telemctl start</strong></p>
</div>
<div class="section" id="is-active">
<h4>is-active<a class="headerlink" href="#is-active" title="永久链接至标题"></a></h4>
<p><strong class="command">is-active</strong> 选项报告这两个客户端守护程序是否处于活动状态。这有助于验证 <strong class="command">opt-in</strong><strong class="command">opt-out</strong> 选项是否生效,或确保遥测正在系统上运行。请注意,系统会对两个守护程序都进行验证。</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo telemctl is-active
</pre></div>
</div>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">telemprobd : active</span>
<span class="go">telempostd : active</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../maintenance/architect-lifecycle.html" class="btn btn-neutral float-right" title="设计 Clear Linux* OS 生命周期" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="swupd.html" class="btn btn-neutral float-left" title="swupd" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2019.
<span class="lastupdated">
最后更新于 1月 17, 2020.
</span>
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
<div id="trademarks">
<p>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
<script type="text/javascript" src="../../_static/tcs_theme.js"></script>
</body>
</html>