Linux ext4 mysql数据库误删恢复

背景

在做Ubuntu 18.04原地升级到Debian 10的过程中,我进行了apt的purge操作,删除了旧的mysql-server-5.7。没想到在弹出的交互式是否删除配置文件的提示中,我脑残的点了”是”。我马上反应过来不对,按下了Ctrl+C。但是屏幕上已经刷过了后面purge的几十个数据包了。我进入/var/lib/mysql/一看自己的数据库目录不见了!

这。。。我居然自己搞了一次删库。。。里面可是我8年来的博客数据啊!我头皮一下子麻了起来。。。

该怎么拯救我的被删的数据库呢?

阅读更多

crayon-syntax-highlighter升级到php8

问题

目前博客使用了一个很旧但是很好用的语法高亮器crayon-syntax-highlighter。没想到升级到php8后,却出现了问题,而且这个问题只有在进入文章页面时才出现。升级完php8我一开始没有注意检查,过了6天后才发现一直博客不能访问。接下来着手处理这个问题

阅读更多

Ubuntu 18.04.5 LTS i386阿里云小内存主机原地升级到Debian 10 Buster

背景

最近发现阿里云的1核512M内存的云主机上的Ubuntu是18.04.5,但是/etc/apt/sources.list中的dist名称却是bionic(20.04),就有些奇怪,为啥之前没有完成dist-upgrade的升级呢?

于是我试着做了一下do-release-upgrade,然后提示直接告诉我说Ubuntu 20.04不打算支持i386架构了,所以不能升级。

我没有更换ecs.t1.xsmall这个云主机的计划,且这个袖珍款从15年到现在的6年时间从运行Ubuntu 14.04 i386开始都很好的服务于我的博客系统,鉴于升级到x64会显著增加应用的内存占用,所以我想原地更换当前发行版到一个还持续维护的i386的发行版。看了一圈还是Debian最合适,毕竟是同源的东西。

但是如何原地升级呢? 今天打算具体实操下。

阅读更多

iPhone备份耗时耗电之迷

背景

一直以来我都使用iMazing来对iPhone进行备份,最早是iPhone 6,然后迁移到iPhone 8, 现在是iPhone 12。我一直很好奇,不管是用有线还是无线,iPhone 12备份总是要执行三四十分钟(虽然比之前iPhone 8的一个半小时左右要好),而且这个过程耗电还不少。这些时间和电力都花在哪里了呢?

最近发现无线备份又好几天没有自动进行了,于是插上USB数据线进行了一次备份,并观察了日志,没想到有了一些有意思的发现

阅读更多

为Allwinner A10s MK802+无显示器Server升级5.10内核与Debian 11

背景

之前我把一个A10s方案的MK802+的电视棒编译3.4内核与8189es无线网卡的驱动,也制作了Debian 8 rootfs系统。运作了七年半之后,这个设备因为内核比较老,不能更新到新的Debian系统。
其实几年前有段时间我曾经试着更新到4.14内核,但是当时一直没能跑成功。最近一段时间手又开始犯贱了,查了下现在的mainline kernel支持A10s是没有问题的,设备树也有我用的这款型号,所以就是想把之前运行3.4内核升级到5.10,然后rootfs也更新到使用同样内核版本的Debian 11
事不宜迟,搞起来~

阅读更多

由mac系统IOKit处理头文件中结构体字节对齐问题引起的思考

背景

在iBook G4机器的Mac OS X 10.5.8系统上使用macports安装libusb时发生了错误,显示是通过gcc7编译到#pragma options align=reset这行时,编译器不认识了,于是报了错。这个问题本身处理并不复杂,但却引起了我的思考,作为一个API的提供者,在头文件中使用是否应当使用结构体,如果使用的话如何使用才正确呢?

阅读更多

包管理器——选择brew还是macports

背景

最近有几个古老的Mac OS X 10.10和10.11设备在使用brew更新包的时候陆续遇到了一些困难,显示有一些包不支持了,必须要卸载掉不然不能正常使用。我突然想起其实还有另外一套包管理系统macports,按照说明它维护的包数量其实也很多,并且对于老版本的OS X支持也不错,是否可以尝试下呢?

阅读更多