Passerby

Linux内核升级失败原因找到

之前在这个贴子(Linux内核升级失败后回退)提到我升级内核遇到了问题,导致系统无法启动。后边又尝试了几次依旧同样的报错。最近又有了新的内核版本,现在跨版本升级,还是失败。研究好久才搞明白根本原因。原来是升级过几次后服务器/boot分区满了,所以当再次升级适合就遇到奇怪的报错。 Filesystem Size Used Avail Use% Mounted on udev 445M 0 445M 0% /dev tmpfs 98M 1.1M 97M 2% /run /dev/sda3 20G 5.8G 13G 32% / tmpfs 490M 0 490M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 490M 0 490M 0% /sys/fs/cgroup /dev/sda2 371M 309M 35M 91% /boot /dev/loop1 56M 56M 0 100% […]

Linux内核升级失败原因找到 Read More »

保险配置笔记:重疾、医疗、意外、人寿

在2022年从德国回到中国工作后,尤其是定下来在北京生活,来自社会的压力和对家庭的责任,让我开始考虑对于之后的风险管理。我们国家目前社会保障只能覆盖有限的基本面,马上我们还会涉及买房贷款,作为一个家庭,一旦有啥意外发生,对于自己对于亲人都是灭顶的打击。所以提高抗风险能力也就提上了日程,一方面是主观上我们要降低风险发生的概率,比如说生活上注意各方面的安全,客观上过马路,坐车乘车小心一些,不去危险的地方。主观上加强运动提升体质,健康饮食按时体检等,这个可以在另外的帖子中详细记录下。另一方面是通过保险来做风险转移,少量的钱很高的杠杆,来提高在医疗意外等方面的抗意外能力。 经过一段时间的研究,看各种知乎,公众号帖子,小红书,对这个领域暂时有了一点初步的了解,同时也着手给家庭配置了一些基础保障。挺长一段时间学习这么多也是挺不容易,写成帖子记录下来,之后万一需要申请赔偿的时候不需要再手忙脚乱找资料,另外也是给其他可能需要用到的人,可以作为一个参考。 按照我目前的理解,保险大致有两个作用域:分摊风险,财务保值。有时候一些保险可以同时有两个作用,既可以分摊风险又可以做到财务保值。但是多数时候鱼和熊掌不可兼得,两者只能选其一,然后根据具体人员的需求来选择更看重的那一项。简单来说比较主流的保险可以分为四大类: 重疾险 (百万)医疗险 意外险 人寿险 重疾险顾名思义,就是万一检查出重症时候,保险公司会一次性赔付一笔金额。这个钱不限制用途,也不需要消费凭证等材料,只要是保险期间检查出患了约定的重症,就会在很短的期限内赔付约定的金额。通常是用于生病失去收入后的生活开支补贴,以及对于疾病本身的治疗。 百万医疗险是五险一金中医疗险的补充,就如前边所说我国基础保障还不够完善,报销比例低限制多,很多先进的治疗方法以及进口药,也通常不在社保涵盖的范围中。这个额外的商业保险,包含和很多医保之外的用药限制,还支持一些先进治疗方法的报销,可以理解成是对社保短板的补充。 意外险是比较简单的一类险,对于生活中出现的意外提供的保险赔偿,通常用于意外医疗,以及意外伤害的恢复等。 人寿险可再细分为定期寿险和终身寿险,这两个差异还是很大的。定期寿险一般保至60岁至70岁不等,每年费用相对比较低,主要是用于年轻时候意外死亡的风险对冲。现在家庭有着很重的抚养子女照顾老人,以及甚至偿还车贷房贷的压力,当家庭失去其中一位尤其是家庭顶梁柱时候,剩下的人很难抗住这么大的压力,很多时候可以理解成家庭就会破产崩溃。定期寿险就是为了减少这样的风险,当年轻家庭一方意外死亡,另外一方会得到一大笔赔付,可以将生活继续下去不至于垮掉。另外一种终身寿险多数可理解成是理财用途,这类产品有复利收入并且年利率还很高,多数还是写到合同里的定额利率。这种适合相对有一些闲余资金的家庭,为自己老年以及为下一代积累一些财富。 在年轻时候就购买保险有很多的优点,首先是费用,同样比如25年期定期寿险或者重疾险,若计算25年总费用,在27岁购买与32岁购买,总费用差别还是很大的,即使是相同的合同年限和缴费年限,总的来说就是越早买总成本越低。另外一个优点是年轻时候患过重病的可能性较低,随着年龄的增长,身体出现各种小毛病可能性越来越高,而买保险前出现了一些病患,那么保险有可能会拒绝承保,或者是除外承保,这样花着同样的钱,但是对于一些病患却失去了保障,很亏的。年轻时候就买很多保险也有不少缺点,首先是费用上,刚步入社会开始工作没有啥钱,买很多保险会带来很重的经济负担。另外工作不稳定对收入水平判断不足,假设一个极端情况工作一年然后失业一段时间,没钱然后造成了保险断缴,前期投入都打水漂了,很亏。总的来说我个人感觉,工作3年左右开始考虑个人保险比较好,首先是3年工作基本稳定,其次可能也有了一点点积蓄有一些抗风险能力,这个时候理论上还应该是一个二十打头的年纪,身体足够健康,在我看来是一个比较合适的时间。另外购买四大险顺序也有讲究的,因为投保时保险公司在问健康状况同时,也会同时询问有过被其他保险公司拒保或者除外承保的记录,若有的话,保险公司大概率会人工复核,会更谨慎地对这个顾客承保。各个类型保险拒保的比例是不一样的,一般来说保险公司对于重疾险和医疗险投保条件非常苛刻,非常可能就拒保或者除外承保了,尤其对于互联网产品,由于相对于传统保险费用低,他们杠杆很大,稍微有点风险他们可能这个生意就选择不做了,他们在整个互联网线上市场找对他们来说特别低风险的客户。线下保险相对线上来说,可能拒保风险稍微好点,一般线下保险都有经理人,通过人工承保和经理人讨价还价,很多时候也是可以投保的,但是价格也是贵高多啊,类似的服务,线下产品可能是线上产品价格的数倍。由于拒保风险不同,所以购买的是就有了一定的技巧,先买不太容易被拒保的,最后选择那个把握最低的。综上个人推荐首先去买意外险,这个几乎不会询问健康状况,只要不是在危险行业工作,基本上都是可以买的。第二是买人寿险,这个相对来说也是风险告知比较宽松,拒保风险低。最后买重疾险和医疗险,这两个健康告知都很严格,拒保或者除外保概率都很高,放在最后,万一被拒保了也不影响前边的保单。 对于我的家庭,目标很明确,趁着年轻身体条件都挺好,买一些保险来平衡之后一辈子可能出现的风险。查资料看到家庭对于保险的消费,控制在10%一下,建议5%比较合理,结合我自己家庭收入,我们商量是目前每年控制到1W以内。在选择方案的时候,这个是很重要的一个考虑点。首先先列出最终我们选择购买的保险:   重疾险:君龙人寿超级玛丽8号重疾险(暖男版) 医疗险:篮医保·长期医疗(20年专享版) 意外险:中国人保大护甲5号成人意外险 人寿险:华贵大麦甜蜜家2022定期寿险   我当时购买顺序是:意外险–>人寿险–>医疗险–>重疾险。完全是按照上文提到的健康告知严格度以及拒保风险而排序的,我身体状况非常好,健康告知基本上都没问题,所以我购买保险相对还是比较轻松的。 意外险多数是一年期的,由于健康告知很宽松,即使是第一次买残了,大不了一年到期再换一个,不是太大问题。所以从这个开始入手配置是最好的选择。我当时在大护甲5号和小蜜蜂3号纠结,都是人气很高的互联网意外险产品,对于我选择的100W保额,绝大多数项目都是相同或者差不多的,但是有一些点大护甲的条款让我很中意,比如都包含了对猝死的赔付,这对互联网人很重要,但是大护甲是72小时,小蜜蜂3号是24小时。这之外大护甲5号包含“驾驶自行车意外身故/伤残额外赔(不含电动自行车)”这一项,而小蜜蜂3号不包含,我是自行车运动长期爱好者,这项太重要了。当然小蜜蜂3号也有明显优于大护甲5号的地方,比如有意外救护车费用报销,公共场所第三方责任等。 人寿险结合我的主要需求风险对冲,以及我很穷没有钱,所以选择的是30年定期寿险。在研究人寿险过程中发现很有意思的一点,相同的年龄买相同年限的保险,那种单人份的保单男性要比女性贵很多很多,有时候甚至相同条件下男性是女性价格的两倍。我的情况是要为男女双方购买,精挑细选这个甜蜜家2022相对很合适。首先这个保单就是面向家庭设计的,一份保单保两人,整体来说比单独两份分开购买的保单价格稍微实惠一丢丢。其次当夫妻一人出现意外,保险出险后,另外一方是免除后续保费的,但是这一方保险继续有效。这个很契合我的需求,想象一下,一方年轻时候意外去世,这个保险就是留给另一方接下来继续生活的钱,免掉保费也是一定程度上降低生者的生活支出,有很大意义的。同时这份保单还有一个条款当夫妻双人由于同一意外出险后,保险会给受益人双倍的赔付。假设我们买的是一人150W保额,当我们俩同一场景遇难,那么会给后代留下600W保险金,算是最后一次对子女的呵护吧。另外之所以我选择150W每人保费,交费期间是30年以及保险期间是30年,可能保险结束还没退休,也是严格根据我的条件和需求计算的。年轻时候有生活以及房贷压力,以及之后照顾子女赡养老人的需要,资金上很脆弱抗风险能力特别差,容不得半点闪失,而三十年后可能稍微好点,至少子女已经成人了。还有就是这是结合我目前收入能负担得起的最大的额度了 ,再多买一些确实好,但是也确实没有钱。 医疗险我选择了太平洋保险的长期医疗保险(蓝医保)。主要的写入合同的20年保证续保期。当时在好医保和蓝医保两者纠结,蓝医保在危急重症以及外购药稍有优势,所以我选择了蓝医保。好医保健康告知相对宽松,比如对于乳腺结节的要求就没有蓝医保那么苛刻,对于女性友好很多,也是很大的优点。续保条件有不同,20年后如果产品停售了,蓝医保不可续,但好医保20年可免健康告知、免等待期续保人保健康的其它产品,其他方面两款产品各有千秋,存在即合理这也是两款保险经常被人对比而又都卖的很好的原因。我对比下来的感觉是,对于年轻人,如果蓝医保健康告知能过就买蓝医保,如果有些许小问题的话,就可以考虑一下好医保。 重疾险我是纠结了很长时间才确定下来方案的。首先各家健康告知都是复杂且严格,搞清楚自己满足不满足条件就用了很久。多数重疾险赔付一次合同就结束了,而人生漫漫,对于生病治疗之后再次患其他病的风险,就失去了保障。我选择的这个保险提供二次重大疾病保险金选项,也就是年满60周岁前,首次发生重疾赔付后,间隔3年后,再次确诊非首次重疾的其他重疾,或者再次确诊首次重疾(含复发、转移),额外赔付100%基本保额。暖男版包含了特定疾病豁免保险费,即被保险人发生了特定疾病,豁免后期保费,保险责任继续有效,也是挺实用的。还有重疾赔过后,30天后,确诊轻中症还能继续赔付。超级玛丽8号分两个,一个是普通一个是暖男版,后者针对男性做了一些优化,对于一些男性高发病增加了一些保障,挺不错的。当时对比了很久,最终选择这个,最最重要的还是价格还行,综合性价比高。 当各种查阅知乎,小红书以及各种软件后,选定了要购买的保险品种,可以到各大中介服务页面购买,比如说支付宝的蚂蚁保,小红书的小雨伞,微信平台的腾讯微保,以及公众号小程序比如深蓝保等。这些平台的好处是他们会优化信息检索和对比方式,更加直观和清晰看到各大保险优略,同时依托大公司,相对来说,理论上比其他中介靠谱一点。同时也可以在选定保险后,直接去到官方购买。互联网保险一般来讲不会线下销售,但是多数情况下官方在网络平台还是提供直销接口的。比如我买的医疗险是太平洋保险家的,可以在他们公众号太平洋保险直接购买;人寿险是华贵的,在公众号小程序华贵保险在线是可以买到的。通过官方购买价格大概率和从中介购买一致,但优势是少一层个人信息在中介的传递,降低个人信息泄露的比例,也少一些广告骚扰信息等可能性。我买的重疾险和意外险我没找到官方购买入口,但是所有途径购买的保险都是在官方可以查到可以验真的,比如重疾险可以在君龙人寿公众号查询到保单信息,意外险可以在中国人保APP查询到信息。介意购买后亲自到官网再确认一遍投保的资料,以防中介信息传递有误,或者说假保单情况,虽然这种概率比较低,可是这是几十年的事情,还是谨慎一些比较好。另外推荐一个APP叫做金事通,是中国银行保险信息技术管理公司的产品,可以理解成保险管理部门官方的软件,可以查询到自己作为投保人和被保险人所有的的保单,其中还包括了比如公司给购买的团保,以及其他途径比如信用卡赠送的保险等,还是挺好用的。 还有一个很重要的概念叫做现金价值,这个多数在储蓄型保险中看到,类似于银行存单一样,看自己攒了多少钱了。我的保险大多数转移风险,现金价值概念就弱很多,但是多多少少还是有一些的。比如说我选的长期医疗险合同对于我一次性缴费,合同保险单现金价值=本合同的保险费*65%*(1-n/m),其中n为本合同已生效天数,m为本合同保险期间的天数。人寿险现金价值如下: 重疾险现金价值: 在我买的意外伤害险中没有找到现金价值的描述。不管是公式还是图表都可看到,对于我买的险种,现金价值是极少的可以说是聊胜于无。对于我风险对冲型的保险,我的建议是可以直接把这个现金价值给忘记掉,累计保费投入几千几万块,而如果退保只能退回一个零头,这得生活窘迫到什么程度才会把注意力转移到这里开始琢磨这点钱,我感觉是既然都开始了解风险意识了,那么在家庭经济角度,就做好预防不要让这些发生。 关于保险总算是把第一部分记录完了,打算再给自己挖几个坑,之后再记录一下五险(六险)一金,公司团体保险,企业年金职业年金,香港保险,惠民保的基本概念以及到底咋回事儿。好不容易这些都稍微搞明白一点点,不记录一下就可惜了,希望我能够在我忘干净之前把这个坑给填上。

保险配置笔记:重疾、医疗、意外、人寿 Read More »

Linux内核升级失败后回退

今天在不定期检查服务器运行状态时候,看到提示说有很多个包可以更新,于是想着今天相对不那么忙,顺便更新一下服务器的软件包吧。这样的操作经常做的,很多时候是为了安全的考虑,在功能使用上没啥特别大的需求,整个过程也没啥特别的地方,于是熟练地输入下列命令更新软件包列表: sudo apt update Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Get:3 http://archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB] Get:4 http://archive.ubuntu.com/ubuntu focal-security InRelease [114 kB] Get:5 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [2,465 kB] Get:6 http://archive.ubuntu.com/ubuntu focal-updates/main Translation-en [420 kB] Fetched 3,221 kB in 1s (2,312 kB/s) Reading package lists… Done Building dependency tree Reading state

Linux内核升级失败后回退 Read More »

Merlin梅林cfddns重启后自动更新失效

我是用koolshare软件中心的cfddns插件来实现动态域名的需求,用来连接家中设备。在配置页面设置了60分钟自动更新一次,在保存后通过日志检查自动更新命令允许正常,能够按照预设的周期看到如下Log: Jan 21 14:10:00 crond[546]: USER admin pid 1438 cmd /koolshare/scripts/cfddns_update.sh 可是当路由器重启后,cfddns定时更新并不能正确执行,看作者Github的issue,也有其他人遇到类似的问题,应该是插件开发中还有缺陷。于是我查了查cfddns是通过crontab将定时脚本记录在了/tmp/var/spool/cron/crontabs/admin中,而根据Merlin的帮助Wiki,这个位置是记录在RAM里的,重启就失效了,建议将脚本保存在jffs分区,并通过init-start脚本实现开机再次写入。所以对于我遇到的这个cfddns可以用这个办法解决,通过vi /jffs/scripts/init-start 创建一个新文本,填入以下内容,其意义是每次重启会自动同步一次,然后每隔1440分钟(一天)再自动同步一次。 #!/bin/sh /koolshare/scripts/cfddns_update.sh echo “*/1440 * * * * /koolshare/scripts/cfddns_update.sh #cfddns_update#” >> /tmp/var/spool/cron/crontabs/admin 之后将文件赋予执行权限: chmod a+rx /jffs/scripts/init-start 注意通过这样子设置的更新周期不会反向同步到cfddns网页设置的那个窗口中,实际定时任务间隔以上边脚本中数字为准。到此cfddns脚本自动更新任务就设置完成了,重启一下,试试吧!   Reference: https://github.com/RMerl/asuswrt-merlin.ng/wiki/Scheduled-tasks-(cron-jobs) https://bugxia.com/946.html https://github.com/geek5nan/koolshare-cfddns/issues/5      

Merlin梅林cfddns重启后自动更新失效 Read More »

Merlin梅林老版本固件软件中心无法显示插件

最近打算将我的R7000拿回家里使用,发现koolshare软件中心检测不出版本,经过查询是由于koolshare更改过域名,老版本内置的域名失效,所以无法连接服务器,需要更新一下配置里边的软件中心域名信息。 ssh或者telnet登录到路由器中,输入以下命令: sed -i ‘s/koolshare.ngrok.wang/ks.ddnsto.com/g’ /koolshare/scripts/ks_app_install.sh sed -i ‘s/koolshare.ngrok.wang/ks.ddnsto.com/g’ /koolshare/webs/Main_Soft_center.asp 在我更改后也没有重启,再次打开软件中心的时候,就显示找到了最新1.4.8版本的软件,点击按钮成功完成插件的更新。 Reference: https://www.koolcenter.com/posts/57

Merlin梅林老版本固件软件中心无法显示插件 Read More »

Jenkins 发送验证邮件失败

最近在玩Jenkins想配置一个邮件提醒,在正确配置了SMTP服务器账号密码信息后,点击发送测试邮件死活发不出去,并报下边的错误。我检查了很多遍我的配置,并且从其他一个服务器拿过来一个在用的确认没错的配置以及账号尝试发送还是不成功。查了很多帖子,原来是这里发送邮件的账户,应该与上边填写的系统管理员账户(System Admin e-mail address)一致,修改后示例邮件发送成功。看来这个Jenkins坑还不少啊。 java.net.SocketException: Connection or outbound has closed at java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1297) at com.sun.mail.util.TraceOutputStream.write(TraceOutputStream.java:116) at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81) at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142) at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:2429) Caused: jakarta.mail.MessagingException: Can’t send command to SMTP host;   nested exception is: java.net.SocketException: Connection or outbound has closed at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:2431) at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:2418) at com.sun.mail.smtp.SMTPTransport.close(SMTPTransport.java:1394) at jakarta.mail.Transport.send0(Transport.java:233) at jakarta.mail.Transport.send(Transport.java:100) at hudson.tasks.Mailer$DescriptorImpl.doSendTestMail(Mailer.java:714) at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710) at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:397) at

Jenkins 发送验证邮件失败 Read More »

Jenkins设置系统语言

最近玩一玩Jenkins,在安装好默认的配置下,语言是中英文混杂,看着太别扭了,有些中文翻译也很别扭,我感觉还有可能有误导嫌疑,于是我想讲系统语言设置成英文,可是在配置页面找了好几遍竟然没找到,查了下原来是需要一个插件才能完成这个基本的功能: Locale: https://plugins.jenkins.io/locale/ 安装好后在系统设置页面找到Locale栏,Default Language输入en_US并且勾选“Ignore browser preference and force this language to all users” 即可将默认语言更改为英文。 这个locale用的是Linux格式,即xx_YY ,比如zh_CN。可以在Linux上运行locale -a查看所有可用的locale。   Reference: https://blog.csdn.net/nklinsirui/article/details/89576475

Jenkins设置系统语言 Read More »

CAN FD总线基础

学习笔记系列之CAN FD总线。 之前一篇笔记记录了CAN总线基础:https://blog.shuspieler.com/3649/ , 在这继续记录CAN FD的知识。 如果用一句话总结CAN FD和CAN的区别的话,就是为了加大数据吞吐率,在Payload使用了不同的传输频率,头部尾部保持不变,从而在相同的时间长度,传输了更多的数据,就像下图所示。 CAN FD协议需要新的控制器,而新的控制器是兼容老的CAN协议的,也就是说CAN FD控制器可以向下兼容与CAN控制器通信。有时候车身CAN控制器可以混杂部署,比如通过将一部分CAN控制器设置成休眠模式,就可以在CAN FD控制器之间进行高速传输,比如刷新ECU的时候。通常通过CAN需要传输几小时,通过CAN FD就可以大大减少这个时间。 下边是CAN FD和CAN 帧的对比图: 首先是CAN FD没有remote frame这个帧了。也不难想到,首先是这个用的确实不多,其次remote frame没有Data Field,而CAN FD 和CAN区别就在这里,所以remote frame就失去了其意义。在数据帧中,RTR也被换成RRS(Remote Request Substitution),并且保持显性电位。在帧头的SOF,IDE,以及帧尾的ACK,DEL,EOF以及ITM(Intermission Field)都与CAN总线一致。 CAN FD和CAN的帧主要区别位于IDE和ACK之间。如下图所示,两者的区分是那个r保留位,当r是显性电平逻辑0时候,代表这是一个传统的CAN帧,当r是隐性电平逻辑1时候,说明这是一个CAN FD帧,同时这个保留位r有了一个名字FDF: Flexible Data Rate Format。 CAN FD控制器可以发送和接收传统CAN帧以及CAN FD帧,传统CAN控制器在接收CAN FD帧由于显性电平r是不符合规则从而会报错,然后将通过错误帧应答,也就是说,传统CAN并不能解析CAN FD数据,按照错误帧处理。 CAN FD中有一个新的帧叫做BRS(Bit Rate Switch),当这一位是显性时,中间部分数据传输速率baud rate 2 和帧头帧尾传输速率baud rate 1 是相同的,这种情况下CAN FD并不能起到加速速率传输的效果。当这一位是隐性时候,中间部分数据传输速率变为 5Mbit/s,这是一个在实验室大量验证证实在绝大多数车身网络这是比较可靠的值。BRS的值决定了中间部分从BRS起到ACK之前的速率。 ESI全称Error State Indicator,这一位是显性代表这个节点是Error Active状态,如果这一位是隐性,代表这个节点是Error

CAN FD总线基础 Read More »