在放缓本博客更新速度的这两年内,笔者不少的时间都花在了阅读和学习上,尤其是对社科、心理学、哲学、历史等学科的学习。起初为了方便获取书籍资源和方便的云同步,笔者选择了在用户体验和出版物数量上首屈一指的微信读书 APP,但随着学习的深入,微信读书内的书籍逐渐无法满足我的阅读需要(尤其是外文图书的缺失),更致命的是,微信读书会在部分书籍的版权到期后选择下架书籍,就算已下载到设备里的书,也会随之消失,包括所有的批注和笔记……本文将为读者分享笔者最近半年来为实现阅读自由而构建的解决方案,希望能帮助书友们构建自己的数字图书馆。
继续阅读 使用Z-Library+Calibre+静读天下+坚果云,构建自由可控的数字图书馆和云同步阅读方案
笔者最近在参与一些开源项目的开发,为了方便,以 1000 多元的成本购入了一台发布于 2011 年的二手高配 ThinkPad W520,并对其进行升级,以作为 Linux 开发机使用。本文将以这台机器为例,简单介绍同时期 ThinkPad 降级与刷入修改版白名单 BIOS 的通用方法。
继续阅读 让 2011 年的ThinkPad W520 焕发第二春:降级与刷入全功能白名单 BIOS
笔者最近使用 DosBox 安装了 Windows 98,以便运行一些只兼容 Win9x 环境的软件,但在尝试拷贝文件到 Windows 98 时,却遇到了一个难题:如何才能挂载虚拟磁盘文件呢?按照 Windows 的使用习惯,自然是需要寻找一款专用的磁盘挂载软件,或者使用 DiskGenius 等磁盘分区软件读取磁盘内容。但好在我们有 Unix 哲学指引下的 Linux,无需任何第三方软件就可以挂载磁盘!
继续阅读 Unix 哲学实战案例小分享:无需工具即可挂载裸磁盘
由于项目需求,笔者最近在一台 Linux 服务器上部署了 ElasticSearch 集群,却发现运行过程中经常出现查询速度突然降低的问题,登录服务器后发现是物理内存不足,导致机器频繁发生页面交换。由于只是临时内存需求,没有提升配置的必要,而 ElasticSearch 中存储的数据主要是文本数据,因此笔者想到了使用 ZRAM 对内存进行压缩,以避免磁盘 IO 导致性能波动,效果明显。介于互联网上关于 Linux 配置 ZRAM 的文章少之又少,本文将为读者介绍在 Linux 中配置与使用 ZRAM 的过程,并借此机会介绍 ZRAM 以及 Linux 内存部分的运作机制。
继续阅读 配置 ZRAM,实现 Linux 下的内存压缩,零成本低开销获得成倍内存扩增
iptables 是 Linux 中非常经典的防火墙工具,但由于结构复杂,官方文档冗长,参数较多,且配置方式别扭(默认不支持持久化,命令添加即生效等),配置存在风险(一不小心就和服务器失联)等问题,导致学习曲线极高,对 Linux 新手或记忆力欠佳的人(笔者的记忆力就很差)极为不友好。本文旨在让 iptables 新手在 15 分钟内掌握 iptables 常用操作,并能根据需要快速查询想要的命令。
继续阅读 [笔记分享] iptables 15 分钟入门 & 常用命令速查表
笔者有一台服役多年的 X79 芯片组台式机,配备了 E5-2680 处理器,由于最近需要升级更大容量的 ECC 内存,便为其刷入了新的 BIOS。在配置 BIOS 的过程中,突然发现 BIOS 设置里多了一项内存模式,即标题中的 LockStep 模式,好奇心驱使下,笔者在搜索引擎中搜素 LockStep,却所获不多。本文将为读者分享我在探索这一模式过程中的发现,以及解释该模式为什么能让 ECC 内存比可靠更可靠。
继续阅读 独家详解Intel主板下的『LockStep』内存模式,以及为何开启它能让 ECC 内存比可靠更可靠
威联通(QNAP)在2021年9月发布了全新的QTS 5.0系统,笔者最近收到了官方更新通知,于是将自己的TS-551升级到最新版,却发现无论是系统流畅度还是稳定性都与他们宣传的差距甚远,不得不降级到QTS 4.5.4。然而由于QTS 5.0将FTP作为可选软件包(QuFTP),降级后系统里既没有QuFTP,也没有QTS 4应该有的proftpd
,本文将为读者分享威联通NAS解包系统镜像,恢复系统组件的过程。
继续阅读 [案例分享] 解包威联通NAS系统镜像,恢复降级后丢失的系统组件
Seafile作为一款开源的文件同步套件,为各种主流平台提供了预编译的客户端,但由于近年其对开源热情的逐渐消退(参见我的这篇文章),Seafile-GUI在Ubuntu官方仓库的最新版本只支持到7.x,而官网提供支持最新版本8.x的仓库地址却只有AMD64的预编译版本,不巧笔者需要在ARM64平台(NanoPi NEO3)上使用Seafile-GUI,安装官方仓库里的预编译版本却无法正常使用,于是只能自己动手,尝试编译安装。本文将以Ubuntu 18.04 LTS为例,为读者介绍在ARM64架构下编译Seafile及其依赖的过程。
继续阅读 在ARM64架构的Ubuntu Linux机器上编译安装Seafile-GUI客户端及其依赖
记得小时候上微机课,老师总是告诉我们不要直接拔掉电脑电源,理由是磁头会与磁盘碰撞导致硬件损坏。随着技术的改进,现代硬盘已经不太可能因为断电导致硬件损坏,但由于现代文件系统的性能优化(异步写入、延迟写入、多级缓存等),断电依旧会导致较大的数据损失风险。本文将以笔者在家庭中搭建多设备共享UPS环境的经历,介绍NUT在Debian下的安装、配置,以及Windows和QNAP设备连接网络UPS的配置。
继续阅读 [案例分享] 使用NUT,让QNAP NAS、电脑等设备在局域网下共享同一台UPS,实现停电关机,上电自动开机