Python 搜索模块的逻辑和 Pyenv 的工作逻辑
pyenv 是一款 Python 版本管理器,但是它不管理虚拟环境,所以不能像 conda 一样开箱即用地管理环境,但是 pyenv 搭配 pyenv-virtualenv 插件以后就具备了管理虚拟环境的能力。本篇文章对 pyenv-virtualenv 下 Python 的虚拟环境的工作方式进行简单介绍。
Bash 语法的展开
Bash 有一种语法叫做“展开”,你可能已经在日常中经常使用了,比如常言的 rm -rf /*
等,其中的星号就用到了一种展开,本文将参照 Bash 的手册,对各种展开进行介绍(翻译),并添加示例。
迁移到 Wayland 事记(二)
本着“X11 是旧的, Wayland 是好的”的想法,再一次尝试到迁移到 Wayland,但是目前看还是要回头土脸的滚回 Xorg 了。
将 certbot 的证书放到合适位置的简单脚本工具
⚠️文章中所有的命令都一定在 Bash 下运行,即便是 Zsh 也不能使用文章中描述的某些语法⚠️
众所周知,certbot 会将获取到的证书放到 /etc/letsencrypt/live/<DOMAIN>/
之下,并且申请之后常用的文件为 privkey.pem
和 fullchain.pem
。而我们常使用的如 Apache httpd 等以 root 身份启动的服务具有最高的权限,自然可以从 certbot 的证书目录下读取证书内容,但是对于其他一些通过 systemd 来限制运行时用户的服务,则没有从该目录下读取证书内容的权限,为此我们需要使用脚本,在每次 certbot 获取证书以后,将这些证书放到对应的位置并修改属主权限,必要时要重新启动服务。
使用 git hook 实现自动构建 Hugo 静态网站
Hugo 是一个优秀的静态网站生成器,并且结构对 Git 十分友好,所以一般会将 Hugo 搭配 Git 使用来提供较高的可操作性,很多人还会搭配 GitHub Pages 来实现免服务器建立个人博客。但是在不使用 GitHub Pages 的情况下,使用静态博客就会不可避免地要重复构建网站,每次都要手动构建再上传构建结果未免过于繁琐,这篇文章将介绍已有自建服务器的情况下,通过 Git Hook 实现在推送时自动重新构建网站内容的方式。