树莓派安装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的设置请看官方文档

posted @ 2021-03-06 15:18  魔芋红茶  阅读(365)  评论(0编辑  收藏  举报