前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在小ram和小容量硬盘的vps上的折腾

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

作者头像
冰漪叶
发布2022-10-24 13:59:57
2.6K0
发布2022-10-24 13:59:57
举报
文章被收录于专栏:冰漪叶的折腾

这次被拿来折腾的是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语言中文社区
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-7-10 3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考资料
相关产品与服务
AI 应用产品
文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档