Raspbian上snapd狂吃CPU问题

2020-07-22 作者:

To get rid of  snapd  on Raspbian/RaspberryPi OS Buster, since it eats lots of cpu power, especially on the old hardware, like a Pi 2B.

一台年迈的Pi 2B,运行着时时更新的Raspbian Buster,兢兢业业给娃做文件服务器,不亦乐乎。

一天apt dist-upgrade之后,就发现system load频繁升高,系统空载就能吃掉大致一个核的性能。top后画风大致是这样的。

于是很想了解这货在干嘛,消耗这么多脑力,思考人生么?

看起来是想回家拉点什么私货回来(api.snapcraft.io),但还是搞不懂,走io就走io,连续几天24小时一直吃那么多cpu是什么鬼?

完整阅读本篇»

“小森林” 码工版

2020-06-28 作者:

明.陈全之《蓬窗日录》卷八:“春耕夏耨(nòu),敢辞涂足之勤;秋获冬藏,实切资身之望。”

日剧《小森林》,前后两部四集,全面的描绘出一个不甘挣扎于城市枯燥生活的妹子,返乡后独居,靠自己一双手打造返璞归真“小确幸”的图景,唯美、静心。本是2014/2015的片子,不知为何,去年突然火爆国内,还盖上“日版李子柒”的标签,颇觉给脑袋里整日萦绕“逃离北上广”的年轻人们一丝抚慰。

“农协开的小超市,冬雪中需步行一个半小时,而去临镇的大型城外超市购物,来回要一整天”,一句话下来,心凉半截;前可着村,但后不着店,换言之,一切靠自己了。

剧集展现给我们的,也确实如此:一日三餐,每餐结束之后,手头活计如果不是在准备下一餐,应该就是在准备下N餐(腌制发酵食品,或晾晒干制食品),日复一日,周而复始。另有国产美食剧集《一人食》好像也是在2014年上线的,并没有很火,我也没有看过,家里那口子倒是个不折不扣的美食爱好者。

洋洋洒洒说了这么多,跟码工又有几毛钱关系呢?码工嘛,又称“互联网从业者”,算是近年实体经济普遍乏力后,苦出身底层娃们为数不多的上升通道了。

所谓互联网大厂,自然有大厂的好处。流水线作业毕竟分工细,需求有人出,测试有人做,UI有人画,运维有人管,自己聚焦自己的一亩三分地;即使起新项目,研发主管还给脚手架工程做参考,说到底,搬砖就搬自己的砖,搬多少块结多少账,公平合理。要在大厂晋升,当然也是有讲究的。真材实料不可或缺,搬砖一路搬到CTO多半不可行;即使做技术主管,也得有点架构意识,当个“流水线线长”,知道不同目标需求下的技术组合和性能指标,关注外界趋势,跟合作项目组打太极,了解手底下那几个货适合搬什么砖,以及他们万一不干了,排队来搬砖的还有谁,等等。

言而总之,大厂工作如果不来点自黑,比拼个端午、中秋礼包设计,那真像极了城市生活两点一线,日子不停复制粘贴的感觉。作为移动互联网时代流水线工人,面对“弹性工作”、“996”等潜台词,再看看蒸蒸日上的业务,合同上不菲的现金和RSU,照旧叹一口气,进会议室继续抢项目撕B。

那你的意思是,码工也能回村自给自足,搞“一人码”?

也是,也不是。

全栈工程师不新鲜,算得上自给自足。至于要不要回村,您请自便,如果是农业创业,老板、市场、销售、PM、DevOps、运营、物流啥的您都一人扛了,咱也佩服;如若仅仅实现一人码,那大可不必,怎么也得考虑对接需求方要顺畅吧。

呃……废话太多,来点干货。

好吧,这篇围绕“一人码”的博文,其实来自于处理我“一人码”的一次线上故障。

完整阅读本篇»

CentOS7免费SSL证书及自动展期

2020-06-14 作者:

This post shows you how to obtain a wildcard SSL certificate for free (which values at least $50) from Let’s Encrypt on CentOS 7.x Linux, and get it setup to renew by itself with an automated script.

至于什么是SSL证书,有什么用,这里不赘述了。大致上,一个泛域名(通配符)DV证书,价值怎么也在CNY 2000/年开外,注意是按年缴费;企业型(OV)证书则更贵,年费肯定不下万。因此别嫌命令行操作不好搞,有免费午餐已然相当给力,还要啥自行车。

按规矩,周知一下,证书发行方是Let’s Encrypt。之所以能送免(bai)费(piao)证书,据说主要是全自动。证书生成、发放、展期等操作,都经shell脚本完全自动化 —— 无人工就成本低,蛮好理解;至于抢了那几家拦路收费的生意,咱也捧个人场,起码希望他们能一直坚持做下去。

证书自动获取

来一台阿里云上的CentOS7,以非root(但具备sudo权限)用户连接,先下载certbot-auto脚本,并授以执行权限。

然后以手工完成“挑战”(challenge)的方式,获取泛域名(通配符)DV证书,其中挑战选择DNS,也即按脚本要求,手工在域名解析中增加TXT记录 —— 以此证明此域名归属于申请者。

那么证书如何将http通信升级为https,不同的后端有不同的代码实现方式。但就目前主流做法,大家倾向于让https通信脱离开发范畴,直接配置在httpd中,比如nginx config(或者apache之类均可):

完整阅读本篇»

两机rsync定时单向只增同步

2020-05-27 作者:

事出有因

  • 老房子装修没布网线,远在北卧192.168.1.128(wifi连接)是娃的网课机,需要播放音视频及office文档;该机wifi连接不算可靠(一堵大量钢筋砖混承重,一堵普通轻体),好的时候24Mbps,偶发连接不稳定的时候会断开;而路由器已经更新为口碑产品Netgear R6700
  • 另有树莓派192.168.1.127(有线LAN,可靠连接)作为7×24文件服务器,用于从ddns接收外来课件,并对1.128提供文件共享服务

问题澄清

  • 课件播放过程中,偶发wifi信号问题导致卡顿

问题思路

  • 由于wifi中断为偶发,大部分情况下连接OK
  • 采取让1.128机器定时(每1小时)去1.127机器同步课件的思路
  • 前者存储大(HDD),后者小(TF),设计为单向同步;后者新增,前者同步,后者删除,前者保留

具体实现

测试以上脚本工作ok后,将其加入crontab,每小时定时执行

后续计划

  • 观察课件同步效果,有问题检查log,总之能用技术解决的问题,就别给人找事干
  • 目前wifi网卡为Intel AC9260 M.2,两根8dBi天线;有空可以考虑升级到带延长线的磁性吸盘12dBi天线,增强wifi稳定性
完整阅读本篇»

Linux信息亭 | Ubuntu Kiosk

2019-08-08 作者:

This article is written for those who need a Linux based kiosk with both touch input (virtual keyboard) and remote desktop (VNC) capability that provides a web application to serve pages and user interactions for customers.

↑ English video tutorial / 英文版视频教程

简而言之,既然任务是做一台单用途信息屏,依然不喜Windows的复杂和玄学(外加版权问题),小目标就是尽量用Linux达到。从用户基数比较大的发行版里挑,UI比较良心的就是Ubuntu了,而Ubuntu里比较可靠的就是一直以来的LTS版本了,然后LTS里最新的就是18.04 LTS —— 得嘞,就是它了。

鉴于Linux权倾朝野,无人不知无人不晓,部署Ubuntu的过程就此略去不提,填入非root用户名叫kiosk。装完后登进去,先整体更新系统。

完整阅读本篇»

树莓派HDMI强制输出

2019-06-19 作者:

因为前几天用Raspbian自带安装VLC播放1080p MP4严重卡顿,调研了一下;发现默认安装VLC是不带硬件解码的,也即没有发挥BCM2XXX ARM的GPU硬解码能力。
那么最简洁的解决方案是什么:命令行下omxplayer加上GUI外壳TBOplayer,试了一下果然很流畅而且占用cpu个位数,解H264编码的MP4和MKV文件都很流畅(且测试用的是pi2而非pi3)。

但这里边还有个小问题,树莓派如果上电时不接HDMI,物理口上是没输出的;这是个普遍问题,相信对于一个嵌入式设备,很多人都有类似需求(比如关屏不关盒),那么何解呢?

sudo vi /boot/config.txt

完整阅读本篇»