zoukankan      html  css  js  c++  java
  • 树莓派安装Cockpit

    树莓派安装Cockpit

    介绍

    cockpit是一款通过web访问的图形化Linux服务器管理应用,可以通过web很轻松的查看Linux主机的各种状态,此外还内置bash,可以执行shell命令,提供各种强大功能。

    还有最需要夸的一点是安装简单,虽然我是遇到了一个大坑,折腾了半天,但这也不能怪cockpit,只能说咱学艺不精。

    更多cockpit的功能介绍可以前往Cockpit官网查看。

    安装

    Cockpit官网这个页面可以找到Cockpit支持的Linux列表以及官方提供的安装步骤:

    因为我要安装的设备是树莓派,所以选择debian

    按官方的步骤来,第一步是要给apt加一个代码仓库,好像是为了提供额外的依赖安装支持。

    笔者在执行这里的时候发现提示没有权限,就su提权,结果又发现自己的root账号都没设置过密码,遂使用sudo passwd root设置了密码后 再提权。

    在root下执行:

    echo 'deb http://deb.debian.org/debian buster-backports main' > 
     /etc/apt/sources.list.d/backports.list
    apt update
    

    结果提示:

    在网上查找一番,找到了Linux导入公钥的方法,还是很简单的:

    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC
    

    找到的方法里都是ubuntu,导入的公钥服务器也是ubuntu,但我试了下,debian也是可以用的。

    然后我们来重新更新软件包:

    apt update
    

    OK了,但速度比较慢,大家耐心点。

    更新了软件包目录后我们就可以安装本体了:

    sudo apt install -t buster-backports cockpit
    

    有80M,安装速度还是不错的。

    运行

    安装好后通过https://host_ip:9090访问,第一次访问失败,显示:

    我一度以为是防火墙的锅,查了半天iptables相关设置,结果还是一无所获,后来我想通了,在树莓派的浏览器访问都被拒绝,这明显和iptables没关系,这就是cockpit服务有问题。

    想了解iptables更多内容,请阅读这篇《Linux iptables常用命令》,是我找到的资料里最详尽的一篇了。

    后来经过一番折腾,终于发现是cockpit服务的锅,cockpit用于监听外部访问的服务是cockpit.socket,通过shell命令可以查询其状态:

    sudo systemctl status cockpit.socket
    

    经过查询发现是监听9090端口时候出错,出错原因就不知道了,我尝试了用systemctl reload命令重新加载,结果提示这个模块不支持reload,一时陷入迷茫,后来我想到了重启大法,重启树莓派,一切OK:

    想了解更多systemctl命令的可以阅读这篇《systemctl 命令完全指南》,同样内容详尽。

    再用浏览器访问:

    使用树莓派的用户名和密码登陆:

    喜大普奔!

    修改端口

    经过一段时间后,我发现树莓派的遥控器不能用了,试了一下发现树莓派的遥控器TCP端口也是9090,之前的大坑原来在这里。。。好吧,我们去修改一下cockpit的端口:

    进入cockpit的配置目录:

    /etc/systemd/system
    

    默认是没有cockpit的用户定义配置文件和目录的,需要自行创建:

    sudo mkdir cockpit.socket.d
    sudo nano listen.conf
    

    写入端口配置:

    [Socket]
    ListenStream=
    ListenStream=9091
    

    这里第一个空的是必须的,第二个是自己定义的新端口,我这里使用的是9091。编辑好后使用ctrl+O写入,然后ctrl+X退出。

    配置文件建好后我们用cat命令确认一下:

    最后需要重启一下cockpit的服务:

    sudo systemctl daemon-reload
    sudo systemctl restart cockpit.socket
    

    接着访问https://192.168.1.111:9091/:

    OK了。

    最后重启一下树莓派,kodi遥控器可以正常使用TCP连接了。

    更多cockpit的设置请看官方文档

    本篇文章首发自魔芋红茶的博客https://www.cnblogs.com/Moon-Face/ 请尊重其他人的劳动成功,转载请注明。
  • 相关阅读:
    Grid自动添加行
    C#中Trim()、TrimStart()、TrimEnd()的用法
    input事件
    JS判断元素文本值是否为空
    JS转换Date日期格式
    Bootstrap 内联标签和徽章
    each()详解
    highcharts图表属性
    Highcharts去掉一些小图标
    div怎么在底部设计一个倒三角形
  • 原文地址:https://www.cnblogs.com/Moon-Face/p/14490824.html
Copyright © 2011-2022 走看看