使用 Cockpit 管理你的 Raspberry Pi

使用 Cockpit 建立对你的 Raspberry Pi 的集中控制。
110 位读者喜欢这篇文章。
Kurt Stam's LEGO-encased Raspberry Pi cluster

Photo by Kurt Stam CC BY-SA 4.0

去年,我写了一篇关于使用 Cockpit 管理我的 Linux 服务器 的文章。 它是一个基于 Web 的工具,为你提供了一个简洁、强大的界面来管理多个服务器及其相关的服务和应用程序。 它还可以简化日常管理任务。

在本文中,我将描述如何在 Raspberry Pi 操作系统 (OS) 上安装用于 Linux 服务器的 Cockpit Web 控制台,该操作系统是 Raspberry Pi 基金会提供的标准操作系统。 我还将简要描述它的功能。

在 Raspberry Pi OS 上安装 Cockpit

使用具有 sudo 权限的帐户,使用安全外壳 (SSH) 登录到你的 Raspberry Pi 系统。 如果你尚未设置帐户,请设置一个帐户。

$ ssh pibox
alan@pibox's password:
Linux pibox.someplace.org 5.10.17-v7+ #1403 SMP Mon Feb 22 11:29:51 GMT 2021 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue May  4 09:55:57 2021 from 172.1.4.5
alan@pibox:~ $

在 Raspberry Pi OS 上安装 Cockpit Web 控制台的命令与在 Linux 服务器上一样简单

$ sudo apt install cockpit

Cockpit 仅需要 60.4 kB 的磁盘空间。 加上它的几个软件包依赖项,总用量为 115MB。

安装过程将负责设置和启动服务。 你可以使用 systemctl 命令验证状态

$ systemctl status cockpit.socket
● cockpit.socket - Cockpit Web Service Socket
   Loaded: loaded (/lib/systemd/system/cockpit.socket; enabled; vendor preset: enabled)
   Active: active (listening) since Tue 2021-05-04 10:24:43 EDT; 35s ago
     Docs: man:cockpit-ws(8)
   Listen: 0.0.0.0:9090 (Stream)
  Process: 6563 ExecStartPost=/usr/share/cockpit/motd/update-motd  localhost (code=exited, status=0/SUCCESS)
  Process: 6570 ExecStartPost=/bin/ln -snf active.motd /run/cockpit/motd (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2181)
   CGroup: /system.slice/cockpit.socket

使用 Cockpit

连接

默认监听端口是 9090。 打开你喜欢的 Web 浏览器并输入地址,例如 https://pibox:9090

你现在可以使用你的常规用户帐户登录。 同样,在此帐户上拥有 sudo 权限很有帮助——很可能与你用于 SSH 和运行 Apt 的帐户相同。 务必选中“对特权任务重用我的密码”复选框。

管理你的 Pi

Cockpit 的初始屏幕以 System 开头,并将提供当前 CPU 和内存使用情况的详细信息和图表。

你可以从此屏幕查看硬件详细信息。

通过单击每个项目(例如,日志、存储、服务等)来浏览左侧的列。 这些是标准的 Cockpit 部分,并且很容易理解。 让我快速描述一下每个部分。

日志

此部分显示日志。 它们可以按日期和严重性进行过滤。

存储

存储部分显示已安装的物理驱动器和 RAID 设备。 显示诸如大小和序列号之类的详细信息。 显示读/写活动和实际空间使用情况的图表。 存储特定日志显示在底部。

网络

此部分显示发送和接收活动、IP 地址和网络特定日志。 你还可以使用相应的按钮添加更多网络设备,例如 bonds、bridges 和 VLAN。

帐户

此处显示现有帐户。 单击每个帐户以进行管理,或使用创建新帐户按钮来添加用户。 也可以在此处删除帐户。

服务

此部分允许管理员查看所有系统服务的状态。 单击任何服务会将你带到一个屏幕,其中包含启动、重新启动和禁用等标准任务。

应用程序

通常,此屏幕提供各种应用程序来管理诸如 389 目录服务器或创建 Podman 容器之类的功能。 但是,在我的 Raspberry OS 上,此屏幕仅显示消息“未安装或没有可用的应用程序”。 在撰写本文时,也许尚未实现此功能。 尽管如此,你必须怀疑这些类型的过程对于 Raspberry PI 硬件来说是否过于繁重。

软件更新

保持软件最新是任何系统管理员最重要的任务之一。 Cockpit 的软件更新部分会检查并应用更新。

终端

Cockpit 最棒的功能之一是终端。 你可以使用它来代替打开单独的终端模拟器并使用 SSH。 我使用终端来安装 ScreenFetch

$ sudo apt install screenfetch

我使用了 ScreenFetch 来生成此屏幕截图

使用 Cockpit 进行集中控制

Cockpit 在 Raspberry Pi 上的行为与在任何其他 Linux 系统上的行为相同。 你可以将其添加到仪表板以进行集中控制。 它允许组织将基于 Raspberry Pi 的服务和系统集成到他们的整体 Linux 基础架构中,无论在何处使用 Cockpit 作为管理仪表板解决方案。 考虑到 Pis 通常在通常缺少 KVM 访问权限的高密度机架式数据中心中以无头模式运行,这非常方便。

接下来阅读什么
Alan Formy-Duval Opensource.com Correspondent
Alan 拥有 20 年的 IT 经验,主要在政府和金融部门。 他最初是一名增值经销商,然后转为系统工程师。 Alan 的背景是高可用集群应用程序。 他撰写了 Oracle Press/McGraw Hill 'Oracle Solaris 11 系统管理' 一书中“用户和组”以及“Apache 和 Web 堆栈”章节。

8 条评论

好文章...

如何远程管理家庭设备上的 Cockpit(即,在防火墙后,只有专用 IP)?

你可以查看 zero-tier

回复 ,作者:shippy

我通过 wifi 远程访问 raspberry 安装了 cockpit。 网络管理器的默认随机 MAC 功能已破坏我的会话并绕过了我的 DHCP 预留。 我花了一段时间才找到返回我的 raspberry 的方法并弄清楚发生了什么。

正如 @jordana 提到的,这会随机化你的 MAC。 如果你在路由器上有 DHCP 预留或例如各种 MAC 规则,这将绕过它们。 如果你第一次通过 SSH 安装 Cockpit,你将会遇到麻烦。 我的 SSH 会话在安装过程中中断,所以我无法看到真正发生了什么。 这太糟糕了,安装至少应该警告用户会发生这样的事情。
即使你 apt purge Cockpit*,你的 MAC 仍将在每次系统重新启动时随机化。 我花了一段时间才弄清楚如何解决这个问题。 即便如此,我还是在之后通过 Timeshift 恢复了备份。

我删除了 network-manager,它使 DHCP 回退到出厂 MAC。 但我同意你的观点,在安装过程中更改 MAC 和 IP 地址太具有侵入性了,应该有一个避免这种情况的选项。

回复 ,作者:misokatsu_soda_pan

@jordana,由于 mac 地址随机化,我只是在安装 cockpit 后重新安装了 raspian OS。 你能提供说明吗?

此外,我的“推荐软件”停止工作,并抛出以下错误“更新软件包数据时出错 - 无法在离线时刷新缓存”。 不确定还有什么坏了?

@kkumar_k
我使用了
sudo apt remove network-manager
我在 Wi-Fi 接入点上看到了一些 MAC 随机化的副作用,阻止了我的 raspberry。 自从我删除了 network-manager 并重新启动了我的 raspberry 以来,它再次运行良好。

回复 ,作者:kkumar_k

我发现网络侧无法连接,但我已连接。 最后我选择了 webmin。

Creative Commons 许可协议本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.