Photo by MW / Unsplash

openSUSE MicroOS 安装 Cockpit 及配置虚拟化实践

指南 | Guides 2026年7月10日

1. First | 序

Cockpit 是一个基于 web 的服务器图形化界面

其简单纯粹深得我心、并且我有且仅需要其虚拟化管理功能

此片记录 openSUSE MicroOS Install Cockpit 过程

📦
本篇所使用到的操作系统&软件版本(配置)如下所示

2. Procedure | 步骤

2.1. 查看并安装 Cockpit

# 查看软件包信息
zypper info microos_cockpit

# 安装 Cockpit
transactional-update pkg install -t pattern microos_cockpit

2.2. 允许 root 用户登录

Cockpit 通过显示将 root 用户写入 /etc/cockpit/disallowed-users 文件来限制 root 用户直接登入面板

反之我们可以通过删除文件中 root 用户来开启其登陆权限

echo > /etc/cockpit/disallowed-users

2.3. 修改其监听地址 & 端口

Cockpit 是由 systemd 的 socket(套接字) 激活而不是传统的后台常驻进程

所以不能直接在 Cockpit 的配置文件里改端口

而是需要修改 systemd 的 socket 配置

  1. 创建 Systemd drop-in files

    sudo systemctl edit cockpit.socket
    

    这会打开一个文本编辑器。在文件开头(两行注释之间的空白处)输入以下内容

    [Socket]
    # 必须先清空默认的监听规则
    ListenStream=
    
    # 指定你想要监听的具体 IP 和端口
    # 示例 1:仅允许本机访问(通常用于配置 Nginx/Apache 反向代理时)
    ListenStream=127.0.0.1:40000
    
  2. 重启 Socket 服务

    sudo systemctl daemon-reload
    sudo systemctl restart cockpit.socket
    

    如果此时完全按照此文档操作现尚未启动,请使用以下命令启动并enable此服务

    systemctl enable --now cockpit.socket
    
  3. 检查是否生效

    systemctl status cockpit.socket
    

    回显如下所示

    ● cockpit.socket - Cockpit Web Service Socket
     Loaded: loaded (/usr/lib/systemd/system/cockpit.socket; enabled; preset: enabled)
    Drop-In: /etc/systemd/system/cockpit.socket.d
             └─override.conf
     Active: active (listening) since Fri 2026-07-10 21:58:59 CST; 9s ago
     Invocation: 7e946193381e4f21972cfc75ba514d3d
       Triggers: ● cockpit.service
           Docs: man:cockpit-ws(8)
         Listen: 127.0.0.1:40000 (Stream)
        Process: 86926 ExecStartPre=/usr/libexec/check_cockpit_users (code=exited, status=0/SUCCESS)
        Process: 86933 ExecStartPost=/usr/share/cockpit/issue/update-issue  localhost (code=exited, status=0/SUCCESS)
        Process: 86942 ExecStartPost=/bin/ln -snf active.issue /run/cockpit/issue (code=exited, status=0/SUCCESS)
          Tasks: 0 (limit: 154194)
            CPU: 20ms
         CGroup: /system.slice/cockpit.socket
    
    Jul 10 21:58:59 CCS-BUF systemd[1]: Starting Cockpit Web Service Socket...
    Jul 10 21:58:59 CCS-BUF systemd[1]: Listening on Cockpit Web Service Socket.
    

2.4. 安装并配置虚拟化引擎 (KVM/Libvirt) 及前端插件

  1. 安装核心虚拟化套件与插件

    sudo transactional-update pkg install qemu-kvm libvirt cockpit-machines
    

    • qemu-kvm: 底层的虚拟化引擎(Hypervisor),负责调用硬件加速实现虚拟机运行。
    • libvirt: 虚拟化管理后端,提供标准 API 和后台守护进程,是 Cockpit 与底层 KVM 沟通的桥梁。
    • cockpit-machines: Cockpit 专属的前端 UI 插件
  2. 重启以应用更改

    transactional-update reboot
    
    systectl soft-reboot
    
  3. 激活后台服务

    libvirt 的守护进程默认是未启动,所以我们需要手动启动它

    systemctl enable --now libvirtd
    
⚠️
在 openSUSE MicroOS 中
VM 文件最好存放至 /var/lib/libvirt/images/ 目录下

标签

xzllll

三分钟热度三分钟收获