为树莓派添加 USB 网卡的记录
Categories:
tech
我给树莓派添加了一张 USB 网卡,但是它只工作一半,在尝试修理的过程中了解到了 usb_modeswitch 的机制并对 Linux 选择驱动的方式和 udev 有了一定的了解。
C++ 中的 std::forward
Categories:
tech
std::forward 的目的是将一个左值保持引用状态不变传递给其他函数,本博客将介绍它所解决的问题和实现详情。
Python 搜索模块的逻辑和 Pyenv 的工作逻辑
Categories:
tech
pyenv 是一款 Python 版本管理器,但是它不管理虚拟环境,所以不能像 conda 一样开箱即用地管理环境,但是 pyenv 搭配 pyenv-virtualenv 插件以后就具备了管理虚拟环境的能力。本篇文章对 pyenv-virtualenv 下 Python 的虚拟环境的工作方式进行简单介绍。
Bash 语法的展开
Categories:
tech
Bash 有一种语法叫做“展开”,你可能已经在日常中经常使用了,比如常言的 rm -rf /*
等,其中的星号就用到了一种展开,本文将参照 Bash 的手册,对各种展开进行介绍(翻译),并添加示例。
迁移到 Wayland 事记(二)
本着“X11 是旧的, Wayland 是好的”的想法,再一次尝试到迁移到 Wayland,但是目前看还是要回头土脸的滚回 Xorg 了。
将 certbot 的证书放到合适位置的简单脚本工具
Categories:
tech
⚠️文章中所有的命令都一定在 Bash 下运行,即便是 Zsh 也不能使用文章中描述的某些语法⚠️
众所周知,certbot 会将获取到的证书放到 /etc/letsencrypt/live/<DOMAIN>/
之下,并且申请之后常用的文件为 privkey.pem
和 fullchain.pem
。而我们常使用的如 Apache httpd 等以 root 身份启动的服务具有最高的权限,自然可以从 certbot 的证书目录下读取证书内容,但是对于其他一些通过 systemd 来限制运行时用户的服务,则没有从该目录下读取证书内容的权限,为此我们需要使用脚本,在每次 certbot 获取证书以后,将这些证书放到对应的位置并修改属主权限,必要时要重新启动服务。