老早就听闻Hexo + Github Action这操作,源文件备份,自动化构建,省时省力,真是羡煞我也,但是一直对Git操作和Github Action的写法不熟悉,弄不来。现在总算有时间学一遍Git的操作了,学完刚好来实践一番,顺便把过程记录一下。
Git使用教程
Git是一个分布式版本控制系统,可以记录仓库中所有文件的改动,每一个提交的改动成为一个版本(commit),可以据此进行版本的切换(通过移动HEAD指向不同的commit实现)等操作。
Debian-Ubuntu定时重启
注意,要在root用户下,设置crontab,并且指定执行指令的绝对路径/sbin/reboot
,而不是简单的写reboot
,否则无效,因为只写reboot不会以root身份执行,权限不够的。
参考:
https://www.moerats.com/archives/623/
GPG使用教程
GNU Privacy Guard(GnuPG或GPG)是一个密码学软件,用于加密、签名通信内容及管理非对称密码学的密钥。其主要特点是非对称加密,即公钥加密,私钥解密;其主要应用于不安全的环境下加密通讯。
通过chroot拯救损坏的Linux
初次接触Linux的时候,安装的是Manjaro(Deepin Desktop),一款基于Arch的桌面发行版,Arch采取的是滚动更新。后来滚动更新完后,时不时出现问题,有时开不了机。大部分都是依赖关系或者包冲突导致,我当时的做法是,先用一个U盘启动Manjaro LiveCD,然后执行chroot切换有问题的Manjaro系统分区作为/
,最后升级/更新一次系统或利用timeshift进行系统还原。
个人发卡站解决方案
打造一款属于自己的发卡站/小卖铺。
Debian&Ubuntu服务器初始化配置
本文以Debian 10为例,介绍如何对服务器进行初步配置,本文同样完全适用于 Ubuntu20.04系统。
Hexo博客折腾小记
Hexo迁移到Linux
首先,要在Github上设置有本地Linux的SSH公钥。具体设置过程见Github官方教程,大体操作如下,先生成SSH密钥对
1 | $ ssh-keygen -t ed25519 -C "[email protected]" |
并将生成的公钥复制保存到Github的SSH密钥设置里
1 | $ sudo apt-get install xclip |
其次,还要在Linux上安装nodejs, npm和hexo-cli。用apt默认安装的nodejs版本较低,并不能满足Hexo-cli的依赖包,所以要添加额外源进行安装(注意,要安装12.x的,14.x部署到github会报错)
1 | curl -sL https://deb.nodesource.com/setup_12.x | sudo bash - |
安装完nodejs后还要安装npm和hexo-cli
1 | sudo apt install npm -y |
最后,将Hexo文件夹复制(或移动)到Linux操作系统可访问的文件夹下,并在该文件夹下执行如下命令即可
1 | npm install |
主题升级/更换
- 下载最新的主题:
1 | git clone https://github.com/next-theme/hexo-theme-next |
修改主题文件夹下的配置文件:
利用文本比对工具,比对新旧主题文件夹下的_config.yml配置文件,并按需修改。
复制旧主题文件夹的source/images下的图像到新主题对应的文件夹下。
修改新主题文件夹的languages下的翻译文件zh-CN.yml: 添加对应的中文翻译。修改Hexo的_config.yml配置文件,切换主题为新下载的主题
1
theme: next8.0.1
本地调试
1
hexo g && hexo s
DIY主题布局与样式
主题的布局结构文件放在layout文件夹下;而主题的样式文件放在source/css下,其中的_variables里存放着各中css样式的参数设定,主要修改这里即可。
一般要配合开发者调试工具进行样式修改,可先定位css的类名,再在主题文件夹下查找目标类名字符串
1 | grep -rn "class_name" * |
参考:
Debian10上安装LEMP建站教程
记一次建站过程。宝塔建站是不可能的,lnmp一键脚本又得编译,小机器顶不住哇,所以选择了手动安装Nginx、MariaDB以及PHP的二进制文件来建站,记录如下。
screen简易用法总结
screen是一个非常实用的工具,提供从单个 SSH 会话(或本地会话)中使用多个 shell 窗口(会话)的能力。当会话被分离或网络中断时,screen 各会话中启动的进程仍将运行,而且你可以随时重新连接到 某个指定screen 会话查看情况。