树莓派管理交换文件(Swap file)的正确方式
Nov 06, 2023
在树莓派的 /etc/fstab 文件末尾看到这样的注释: proc /proc proc defaults 0 0 PARTUUID=7c7f9727-01 /boot vfat defaults 0 2 PARTUUID=7c7f9727-02 / ext4 defaults,noatime 0 1 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that 在树莓派上应该使用 dphys-swapfile 来管理交换文件…
使用 pkgbuild 制作 pkg 安装文件
Oct 10, 2023
pkg 是 macOS 上使用的安装包,类似于 Debian 上的 deb 软件包。 使用 pkg 可以很方便的打包一些命令行工具,比如 rar 的 macOS 版本: RAR release 官方提供的是 arm64 和 x64 分开的两个安装包,如…
使用 CSS Flex 实现指定间距的九宫格
Jul 29, 2023
有这样的需求:在指定的宽度中,实现一个 9x9 的九宫格布局,item 之间的间距是固定的,比如 4px。item 的宽度等于容器宽度减去间距后平分,需要…
OpenWRT 22 配置 NAT66
Jul 22, 2023
以下操作仅适用于 OpenWRT 22 以及更高版本,低于 22 版本不支持。 nat66 是用于内网 IPv6 共享公网 IPv6 上网的方案。例如你的运营商只分配给你一个后缀是 126 的 IPv6 地址,或者公…
Swift 的元组(Tuple)
May 06, 2023
元组(tuple) 是 Swift 的一种数据结构,可以理解为匿名的 struct。 元组可以是参数,返回值,也可以是属性类型,合理使用元组可以使代码更简洁:…
修改 TTL 的值
May 05, 2023
TTL 是 64 或者 128 会被认为是 PC 设备或者是通过热点上网,修改路由设备的 TTL 值可以让运营商认为流量来自于移动设备。 Linux sudo sysctl -w net.ipv4.ip_default_ttl=65 sudo sysctl -w net.ipv6.conf.default.hop_limit=65 OpenWRT 修改所有 WAN 流量的 T…
轻量级的时间同步客户端 systemd-timesyncd
May 03, 2023
以前一直使用 ntp, ntpdate 和 ntpsec-ntpdate 来同步系统时间,虽然功能很强大但是我只想同步时间而已,并不需要其他的附加功能。 systemd-timesyncd 就是这样简单的时间同步服务。 安装:…
Linux 中使用 Clang 的 Block 扩展
Apr 29, 2023
Block 是 Objtive-C 语言的一个特性,Clang 把这个特性作为扩展带到了 C/C++ 中: https://clang.llvm.org/docs/BlockLanguageSpec.html 先从 LLVM 的源安装最新版本的 Clang: sudo apt install lsb-release wget software-properties-common gnupg2 安装 LLVM 源: sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" 同…
使用 OpenSSH 连接到 OpenWRT 的 SSH 服务
Apr 25, 2023
OpenWRT 默认使用的是 Dropbear SSH 服务器,macOS 上的 SSH 默认是 OpenSSH,它们使用的密钥格式不同。 Dropbear 可以使用 OpenSSH 格式的公钥(id_rsa.pub),但是…
理解字节顺序的大端和小端
Apr 12, 2023
大端和小端是用来描述字节在内存中存储的顺序: 大端 (big endian):内存中的高位地址。 小端 (little endian):内存中的低位地址。 字节序的最小数据…