第 16 章 EOS 扩展系统 EOS 扩展系统
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
EOS 是可扩展的操作系统,让我们来扩展它吧!
好吧,我的乐趣就是给 Network+ 交换机安装扩展设备。我能说什么呢?我活在梦里。
扩展名只不过是一个或多个 RPM 压缩文件与一个清单文件。这些扩展的文件名扩展名为.swix,表示 SoftWare Image eXtension。对于不熟悉 Linux 的人来说,RPM 是RPM 包管理器的缩写。如果你因为五年级的老师不让你使用定义中的单词而感到紧张,那你并不孤单。RPM 原本是Red Hat Package Manager(红帽软件包管理器)的缩写,更不可能触犯五年级老师的敏感神经。之所以做出这样的改变,是因为如今有更多的操作系统都在使用 RPM,尽管这个递归的名字会让我起荨麻疹。
RPM 是通常包含编译代码的软件包。使用 RPM 就像从网上下载一个需要解压缩和安装的程序一样。在 Windows 机器上,你可能会下载一个安装程序,而在 Mac 上,你可能会下载一个包含 PKG 软件包文件的 DMG 镜像。想法是一样的。RPM 只是 Linux 处理软件包的方式。因为 EOS 是在 Linux 上运行的,所以使用 RPM 来添加扩展也就顺理成章了。如果你熟悉 Linux,你可能知道软件仓库,它允许你轻松完成添加软件包和所有所需的依赖关系等操作。Arista 禁用了对这些软件源的访问,原因很简单,升级 Linux 可能会破坏 EOS。为了解决这个问题,扩展系统应运而生,它允许你在一个文件中安装软件包及其所有依赖项。您还可以使用扩展系统安装单个 RPM,这就是 Arista 部署安全补丁的方式。
那么,您可以添加什么样的扩展功能呢?如果你是一个熟练的程序员,我想你可以添加任何你想要的东西!事实上,我们将安装一个我编写的软件包。查找现有扩展的快捷方式是访问 Arista 的 EOS Extensions 网页,您可以在EOS Central 网站上找到该网页。你也可以在 GitHub 上搜索 Arista 扩展,或者直接访问arista.com 上的软件下载页面。我编写的任何扩展都在我的GADify GitHub 页面上。
在本例中,我使用了自己编写的扩展CPU-Hist 。该扩展使用gnuplot(我们需要添加的另一个扩展)添加了类似于思科show proc cpu hist 命令的功能。
首先,我需要下载软件包。我有一个实验室服务器,所以就用它来获取文件。
设置好主机名和服务器上的文件后,我就可以直接从网络服务器拷贝到交换机上。为此,我像大多数人一样,在命令提示符下使用? 字符查看选项:
Arista#copy ? boot-extensions Copy boot extensions configuration certificate: Source file path clean-config Copy from clean, default, configuration drive: Source file path extension: Source file path file: Source file path flash: Source file path ftp: Source file path http: Source file path https: Source file path installed-extensions ...