在 Debian 上使用 HTTPS 软件源
Sep 02, 2025
Debian 的 APT 软件源默认使用 HTTP 协议进行传输,安全性是没有问题的。 但是如果使用 HTTPS 会让你更安心的话,只需要做以下调整就可以: $ sudo apt install apt-transport-https ca-certificates 然后再把软件源中的仓库地址改成 HTTPS 协议: …
IP 地址的压缩写法
Aug 29, 2025
IPv4 地址的压缩写法 中间是 0 的可以省略不写: 127.0.0.1 可以压缩为 127.1 172.16.0.1 可以压缩为 172.16.1 可以使用 ping 命令测试以上压缩后的地址,看一下会展开为什么: $ ping 127.1 PING 127.1 (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.133 ms $ ping 172.16.1 PING 172.16.1 (172.16.0.1): 56 data bytes 64 bytes from 172.16.0.1: icmp_seq=0 ttl=64 time=11.614 ms Tips: 如果你在 AI 中问以上内容,我测试过没有一个 AI 能准确回答,它们都说这是错误写法,所以不能尽信 AI 。 …
ObjC 黑魔法:在 App 运行期间创建一个类型(Class)
Aug 26, 2025
ObjC 是动态语言,不需要预先在源码中声明就可以在运行期间创建一个 Class,有极大的灵活性,直接上代码举例: #import <objc/runtime.h> FOUNDATION_EXPORT NS_SWIFT_UI_ACTOR id _Nullable createRuntimeClass(Class _Nullable superclass, NSString *name) { if (Class cls = objc_getClass(name.UTF8String)) { return [[cls alloc] init]; } if (Class cls = objc_allocateClassPair(superclass ?: NSObject.class, name.UTF8String, 0)) { objc_registerClassPair(cls); return [[cls alloc] init]; } return nil; } 使用的时候: …
阿里云 Debian VPS 初始化后 Todo 清单
Aug 19, 2025
新购买的阿里云 VPS ,第一剑先砍掉阿里云的云盾和状态监控服务,可以让服务器的进程列表干净不少。 以下操作来自阿里云官方文档,如果运行过程中有变更需要以最新文档为准。 …
让 Safari 中的滚动条颜色自动适配深色模式
Aug 12, 2025
在 Safari 中,网页内的滚动条是不能自动适配深色模式的,除非网页自己制定了滚动条的颜色: 可以通过 Safari 的 “样式表” 来解决这个问题,我们可以自己指定深色和浅色样式下的滚动条颜色: …
解决服务器登录后:-bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
Aug 11, 2025
把服务器从 Debian 12 升级到 13 后,现在每次 ssh 登录到服务器都会报一堆警告信息: -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory 解决方法,重新生成一下 locales 就行了: …
升级到 Debian 最新的大版本
Aug 10, 2025
Debian 大版本升级是指把系统版本从当前的代号升级到最新的版本代码,比如从 12 (bookworm)升级到 13 (trixie)。 把软件源中的代号替换为最新的代号,比如把 bookworm 批量替换为 trixie: …
编译 swift-format
Aug 09, 2025
在 Xcode 的 Editor 菜单下,有一个使用 swift-format 格式化的选项,但是这个工具默认并没有包含在 Xcode 的工具链中。 swift-format 同样是开源项目:https://github.com/swiftlang/swift-format …
在 FreeBSD 上使用 ss5 搭建 Socks5 代理服务器
Aug 07, 2025
ss5 作为 Socks5 代理服务器的配置非常简单。 安装 ss5 $ sudo pkg install ss5 ss5 默认是以 nobody 身份运行的,它的 pid 文件路径是硬编码在 /var/run/ss5/ss5.pid ,所以在启动服务之前需要先配置一下 pid 目录的权限 …
在 FreeBSD 上加载自定义的 sshd_conf 配置
Aug 03, 2025
在自动化配置服务器的时候,需要统一配置 sshd_conf 文件,但是又不想使用诸如 sed,awk 之类的工具对原文件进行修改。 有一个简单的方案,就是让 sshd 先加载原配置,然后再加载我们的自定义配置,这样自定义配置就可以覆盖原配置的值,就能做到不改动原配置的情况下进行自定义。 …