Linux 漫游指南
之前一直在本地同步的一篇速记 (笔记), 但是有时候想在 tty 里面的时候通过手机查看…就…
旋转屏幕
# tty 模式
echo x > /sys/class/graphics/fbcon/rotate_all
# x11 模式
xrandr -o left
磁盘备份以及恢复
# 备份
dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c > /mnt/sda1/hda.img.gz
# 恢复
gunzip -c /mnt/sda1/hda.img.gz | dd of=/dev/hda
磁盘 smart 监控
# 安装 smartmontools
pacman -S smartmontools
# 查看磁盘 smart 信息
smartctl -a /dev/X
# 配置监控
nano /etc/smartd.conf
# 修改以下内容
DEVICESCAN -a -n standby,15,q -m <nomailer> -M exec /usr/local/bin/smartdnotify
# 添加通知脚本
nano /usr/local/bin/smartdnotify
# 添加以下内容
#!/bin/bash
MESSAGE="time: $(date -R -u) disk: ${SMARTD_DEVICESTRING}, smart warning: ${SMARTD_MESSAGE}"
echo $MESSAGE >> /var/log/smart_warning.log
wall $MESSAGE
# 添加执行权限
chmod +x /usr/local/bin/smartdnotify
# 在 profile 中添加以下内容, 用于在登录时显示 smart 警告信息
[[ -f /var/log/smart_warning.log ]] && cat /var/log/smart_warning.log
# 启动 smartd
systemctl enable --now smartd.service
ACPI 事件
# 配置文件在这些地方
/etc/systemd/logind.conf
/etc/systemd/logind.conf.d/*.conf
/run/systemd/logind.conf.d/*.conf
/usr/lib/systemd/logind.conf.d/*.conf
# 改完后执行这个立即生效
systemctl kill -s HUP systemd-logind
事件处理程序 | 描述 | 默认动作 |
---|---|---|
HandlePowerKey | 按下电源键后的动作 | poweroff |
HandleSuspendKey | 按下挂起键后的动作 | suspend |
HandleHibernateKey | 按下休眠键后触发的动作 | hibernate |
HandleLidSwitch | 笔记本翻盖后触发的动作,除了下面的情况 | suspend |
HandleLidSwitchDocked | 如果笔记本放到了扩展坞或连接了多个显示器时,笔记本翻盖合上时触发的动作 | ignore |
HandleLidSwitchExternalPower | 如果系统连接到外部电源,笔记本翻盖合上时触发。 | HandleLidSwitch 的操作集 |
挂起与休眠
由于现在不少制造商都向傻逼一样去迎合 Windows 搞什么几把 “现代待机” 导致即使休眠了风扇不停键盘不灭, 鼠标 (USB) 也不断电, 这里直接禁用挂起和睡眠
# 编辑 /etc/systemd/sleep.conf 文件
nano /etc/systemd/sleep.conf
# 修改以下内容
[Sleep]
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no
So, Fuck You Microsoft! 以及去你妈的能源之星!
防火墙 UFW
iptables 太复杂了, 我只想 ban 端口而已
# 包名就是 ufw
pacman -S ufw
# 如果是 ssh 连接的先不要启用, 不然你会后悔的
# 先放行 SSH 流量
ufw allow 22
# 然后再启用
systemctl enable --now ufw
ufw enable
# status 命令可以查看状态和规则
ufw status numbered
# 其他的 help 写得很详细了
双系统 RTC 时区问题
之前一个朋友问过这个, 也顺便记录了吧…
# 设置 RTC 时区为本地时区, 因为有个傻逼系统他存取的是系统语言时区 (Microsoft Windows)
timedatectl set-local-rtc 1
当然 Archwiki 还有另外一种办法…不过这要改 Windows 注册表 Archwiki
OpenWRT 使用系统网络管理器配置 Wireguard
今天接到公司委托给一个驻场设备添加 Wireguard 支持, 但是我又不想使用 initrc 配置…
# 新系统估计还没包索引, 先更新一下
opkg update
# 需要安装的软件包有这些
# 在安装 luci-i18n-wireguard-zh-cn 应该会自动安装其依赖 luci-i18n-wireguard 就不用手动安装了
opkg install kmod-wireguard wireguard-tools luci-i18n-wireguard-zh-cn
装完重启设备…
- 前往接口页面添加新接口, 协议下拉选择
Wireguard VPN
, 名称建议像 Linux 默认的命名一样wgX
(例如:wg0
) - 然后添加 Wireguard 配置, 配置完记得去防火墙按自己习惯配置规则放行 Wireguard 的数据包
- 然后摸鱼…
看看其他吧