一一余五

这个人很懒,这里什么都没有呢

TimescaleDB 是一个开源数据库,旨在使 SQL 可扩展以处理时间序列数据。它从 PostgreSQL 中构建并打包为 PostgreSQL 扩展,保留了对 SQL 的完全支持。

阅读全文 »

简介

国密算法,即国家商用密码算法。是由国家密码管理局认定和公布的密码算法标准及其应用规范,其中部分密码算法已经成为国际标准。

  • SM1:是一种分组加密算法,算法不公开,仅允许通过硬件方式使用。
  • SM2:是一种非对称加密算法,基于椭圆曲线密码的公钥密码算法标准。用于替换 RSA 等国际算法。
  • SM3:是一种密码杂凑算法,用于替代MD5/SHA-1/SHA-2等国际算法。基于 SHA256 改进的。
  • SM4:是一种分组加密算法,算法公开,用于替换 DES/AES 等国际算法。

其他还有 SM7 和 SM9 这里不做介绍。常用有 SM2 和 SM4。

阅读全文 »

NSIS 是流行的 Windows 程序打包程序。使用其脚本配置快速生成。该工具支持在多个平台下工作。
本文在 MacOS 下安装该工具,并打包使用 golang 的 Wails 编写的客户端程序。

安装 NSIS

该软件支持 Windows,Linux 和 MacOS。根据 Wails 官网部分 指引安装即可。
在 MacOS 系统中,本文使用 homebrew 安装。

1
brew install nsis

实际安装的二进制命令为 makensis

阅读全文 »

Gitea 在 1.19.0 版本提供了该功能。从 1.21.0 版本开始该功能为默认开启,在大于等于 1.19.0 到小于 1.21.0 版本之间的版本,需要手动修改配置文件开启这项功能。

1
2
[actions]
ENABLED=true

配置文件开启该功能后,还需要在仓库设置中开启。参考

阅读全文 »

了解 DKMS 与 KABI

在 Linux 中,DKMS 和 KABI 是两个与内核模块和驱动程序管理相关的术语,它们具有不同的含义和作用。

DKMS (Dynamic Kernel Module Support):

  • DKMS 是一个框架,旨在允许用户空间的软件(如第三方内核模块)在 Linux 内核升级时自动重新编译和安装。这是为了维护内核模块和当前运行内核版本之间的兼容性。

  • 当您安装了使用 DKMS 的内核模块(如 zfs-dkms),每当系统内核更新时,DKMS 会自动重新构建该模块以适应新的内核版本,这样用户就不需要手动重新编译模块。

  • DKMS 非常适合于滚动更新的系统或者那些经常需要更新内核的情况,因为它简化了内核模块的维护过程。

KABI (Kernel Application Binary Interface):

  • KABI 是指 Linux 内核的应用程序二进制接口,它定义了内核提供给加载的模块(如驱动程序)的稳定符号和接口。只要 KABI 保持稳定,预编译的内核模块就可以在新的内核版本上运行而无需重新编译。
  • 一些 Linux 发行版(如 Red Hat Enterprise Linux 和其衍生发行版)承诺在一个主要版本的生命周期内保持 KABI 稳定。这意味着为这些内核编译的模块可以在同一主要版本的任何未来更新中使用,而无需担心兼容性问题。
  • KABI 的稳定性对于企业环境非常重要,因为它允许管理员安全地应用内核更新而不会破坏现有的内核模块。

总的来说,DKMS 是一个帮助自动处理内核模块编译的系统,而 KABI 是 Linux 内核提供的一组稳定的接口,保证了内核模块的二进制兼容性。这两者都是为了解决内核更新可能带来的模块兼容性问题,但它们的方法和适用场景不同。

阅读全文 »

docker 的好处不多说,我喜欢 docker 的原因是因为它不破坏本地环境,不需要每次都手动部署应用环境,只需要一条命令就能构建我想要的应用环境,而且可以跨平台运行,yyds。

准备好源码包存放在同一个目录,源码包的下载地址在 Dockerfile 文件里。

1
2
3
➜  nginx-docker ls
Dockerfile build.sh nginx-1.24.0.tar.gz openssl-3.0.7.tar.gz pcre-8.45.tar.gz zlib-1.3.1.tar.gz
➜ nginx-docker
阅读全文 »