在小ram和小容量硬盘的vps上的折腾

2022-10-24 13:59:57 浏览数 (1)

这次被拿来折腾的是hax的免费vps,纯ipv6,7天有效期,可无限续期,但是配置也低的可怜,只有450m的运行内存,127m的swap,硬盘总共就只有5g,一开始想装Debian11,就选了Debian11之后让它rebuild vps了

提交rebuild之后它说要等10分钟

但是我等很久,xshell那边都无法使用ssh连接到vps,也无法ping通

之后我就查看vps的vnc信息,准备拿vnc连上去看看是什么情况

目前hax好像没有提供vnc的web客户端,只能自己另找vnc客户端来连接,不过公有云给的vnc跟我们自己在机子上面搭建的vnc server虽然都是vnc,但它们对vps的控制能力完全不是一个级别的,因为厂商给的vnc,它的vnc server是建在宿主机上面的,我们连是能直接连到他们宿主机上面跑我们vps用的虚拟机软件上边(一般是qemu/kvm),所以能对vps进行一些底层的操作,也能看到vps启动的全程,而我们自己搭建在vps上的vnc,跟ssh没啥很大不同,都是要等到机子正常启动之后才能连接并控制,也有可能因为种种原因,进程被干掉之后就连不上了,所以厂商给的vps一般是给我们拿来排障用的。我这选择使用vnc viewer来连接vps,添加一个新的连接,输入人家给你的IP和端口,其它维持默认,填完了之后保存

保存之后连接,它会问你要密码,输入厂商给你的密码,为了方便可以把记住密码勾上,这样回头再连就不用密码了

之后会弹窗一个弹窗,大意是说这是个非加密的连接,问你要不要继续,勾选不再提示之后点继续就行了

连上之后发现系统好像卡住了。。。。。。很是尴尬,也不接受输入,完全动弹不得

没办法,再去换一个系统,这回换了Ubuntu20.04,系统有点老,我打算给它升级一下(省流提醒:更新失败,原因:硬件不行,空间不够,内存不够,不想看更新系统可以跳到这里,不过升级的步骤都是正确的),因为我比较习惯用最新的系统

vnc这边已经可以输入了,去ssh那边试试

也顺利登上来了,改个名字看看占用,总共就5g的硬盘,到手占用2g

查阅资料后先更新一下软件包,因为更新发行版需要先手动把软件包更新到最新

由于机子比较低配,所以更新过程比较漫长。。。。更新完了,看看系统信息(执行lsb__release -a命令),还是20.04,准备进行大版本的更新

上边的图里面说有等待重启的更新,要我重启之后再来更新系统的版本,重启回来之后就开始更新了

开始之后它检测到我的环境是ssh,给出提示大意是说ssh不稳定,容易翻车而且翻车了难救,这里没截图,它问我要不要继续,我选择否(因为我这里可以连上vnc来更新,如果没条件,ssh也能更新),然后来到vnc开始更新

过程与更新软件包差不多,会先更新缓存,然后跟你确认下信息,大意是说要安装18个新的软件包,更新553个软件包,预计需要25分钟,问你要不要继续

继续之后就开始更新了

漫长的等待。。。

更新失败,说是根目录需要有1136m的可用空间,还要我释放42.7m的空间,我按照提示清理了apt的缓存

不甘心,再试一次,结果还是失败

退出更新程序之后我发现它软件源没有还原回去,还是Ubuntu22的软件源,我便直接执行apt update && apt full-upgrade来更新,结果说没空间,然后我就用apt autoremove命令卸载一些不用的软件,然后用apt-get clean命令来清除缓存

一阵折腾,再检查更新,它说让我重启

重启回来,直接更新软件包

更新完了,执行lsb_release -a看发现变成Ubuntu22了

满心欢喜,准备编译python3.11,先卸载掉自带的python3

又是一个漫长的等待

然后开始编译,具体编译方法在这篇文章讲过,方法大同小异,不同之处是文章中是centos8,编译的是最新release版的python,这里是Ubuntu22,编译的是还没有release的版本,需要安装的软件和编译的命令都一样。

这里说要安装127个包,需要占用853m的地方

装完之后下载python的源码并解压,我这里出错是因为没装需要的包就先编译了,要按照上面的那个链接里的文章说的顺序来

漫长的等待后装完了,准备重启一下用新的内核继续搞事情,结果重启之后vps迟迟不上线,进vnc看发现挂了。。。。。。查阅资料说可能是ram不够,内核跑不起来。。。。。。老老实实再去重装。。。这里没有截图,重装完成之后回来继续更新软件包、编译python,若问我为啥执着于编译python,因为后面要用到。。。完事之后就开始按照教程和官网文档来搭建Pagermaid-Pyro,至于为啥不全按照文档或者教程,因为文档没考虑低配机而官方文档还是老分支的版本(Pagermaid-Modify),Pagermaid目前有新旧两个分支,新分支是这次安装的版本,而老分支则是官方文档里面的教程安装的版本。

先安装软件包,需要安装的软件包:imagemagicklibwebp-devneofetchlibzbar-devlibxml2-devlibxslt-devtesseract,教程里面的安装命令,tesseract用的是完整安装(即“最大化安装”),但是这里空间条件不允许,没法完整安装,但官网文档提供了“最小化安装”的方法,但官网是一个个软件包安装的,而且我们这的python是自己编译的所以安装命令需要修改一下,装完之后顺便克隆储存库,克隆储存库之后安装python模块,需要用到的命令如下:

代码语言:javascript复制
apt install -y imagemagick libwebp-dev neofetch libzbar-dev libxml2-dev libxslt-dev tesseract-ocr tesseract-ocr-eng tesseract-ocr-chi-sim
git clone https://github.com/TeamPGM/PagerMaid-Pyro
cd PagerMaid-Pyro
pip3 install -r requirements.txt --no-cache

上面安装完成之后使用python3 -m pagermaid命令第一次运行,然后按照提示完成初始化和登录

之后使用CTRL c停掉它,用下面的命令创建服务

代码语言:javascript复制
echo '[Unit]
Description=PagerMaid-Pyro telegram utility daemon
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
Type=simple
WorkingDirectory=/root/PagerMaid-Pyro
ExecStart=/usr/local/bin/python3.11 -m pagermaid
Restart=always
RestartSec=5
' >/etc/systemd/system/pagermaid_pyro.service
systemctl enable pagermaid_pyro --now

完成之后用systemctl status pagermaid_pyro命令查看状态,显示active(running)就说明理论上是正常的,之后的测试就自己看官方文档吧

然后是安装让人头疼的speedtest_cli的安装,虽然官方给了一键安装脚本,但不知道是官方坑还是hax的Ubuntu坑,一键脚本并不“一键”。。。。。。按照官方文档跑完脚本,直接安装会提示找不到包,更新一下包缓存会报签名错误,查阅资料之后得知需要导入签名,使用以下命令:

代码语言:javascript复制
gpg --keyserver keyserver.ubuntu.com --recv 8E61C2AB9A6D1557
gpg --export --armor 8E61C2AB9A6D1557| apt-key add -

我这边报错要的公钥是8E61C2AB9A6D1557,具体得根据实际报错来改这一段

导入公钥之后发现还不行,继续查资料寻找禁用签名的方法,受这篇资料中最底下那条回复的启发,我打开它的源文件看看,发现了图中选中这一节

把它指定的gpg签名删了之后保存

再次尝试更新,不报签名错误了。。。。。。

参考资料
  1. ubuntu 20.04命令行模式_Ubuntu18.04LTS升级到20.04LTS_weixin_39699912的博客-CSDN博客
  2. 搭建开源的 Telegram 人形自走机器人 PagerMaid (支持新旧双版本共存) – 八重堂
  3. Pagermaid-modify官方文档-Ubuntu20
  4. Pagermaid-modify官方文档-Ubuntu20#最大化安
  5. Pagermaid – modify官方文档-Ubuntu20#最小化安装
  6. Speedtest CLI:适用于命令行的互联网速度测试
  7. 解决GPG error: The following signatures couldn’t be verified because the public key is not available_追求卓越583的博客-CSDN博客
  8. 从未签名的存储库强制更新 | 码农俱乐部 – Golang中国 – Go语言中文社区

0 人点赞