使用 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)(Raspberry Pi 基金会提供的标准操作系统)上安装 Linux 服务器的 Cockpit Web 控制台。我还将简要介绍其功能。

在 Raspberry Pi OS 上安装 Cockpit

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

$ 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 的初始屏幕以系统开始,并将提供当前 CPU 和内存使用情况的详细信息和图表。

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

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

日志

此部分显示日志。可以按日期和严重程度进行过滤。

存储

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

网络

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

账户

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

服务

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

应用程序

通常,此屏幕提供各种应用程序来管理诸如 389 Directory Server 或 Podman 容器创建等功能。但在我的 Raspberry OS 上,此屏幕仅显示消息“未安装或没有可用的应用程序”。在撰写本文时,也许尚未实现这一点。虽然,你确实会怀疑这些类型的进程对于 Raspberry PI 硬件来说是否太重。

软件更新

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

终端

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

$ sudo apt install screenfetch

我使用了 ScreenFetch 生成了这个屏幕截图

使用 Cockpit 进行集中控制

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

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

8 条评论

好文章...

如何远程管理家庭设备(即,在防火墙后面,仅限私有 IP)上的 Cockpit?

我通过 wifi 远程访问 raspberry 安装了 cockpit。network-manager 的默认随机 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,在安装 cockpit 后,由于 mac 地址随机化,我刚刚重新映像了 raspian OS。你能否提供说明?

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

@kkumar_k
我使用了
sudo apt remove network-manager
我在我的 Wi-Fi 接入点上看到了 MAC 随机化的一些副作用,阻止了我的 raspberry。自从我移除了 network-manager 并重启了我的 raspberry 后,它又可以正常工作了。

回复 作者 kkumar_k

我发现网络端连接失败,但我已连接。最后我选择了 webmin。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.