分类 Unix 下的文章
linux, unix相关的内容, 主要是freebsd, centos, ubuntu之类的
-
在子进程里执行shell命令
shell 可以通过添加一个小括号的方式,让命令在 子进程 执行,和 bash xxx.sh 执行效果一样,运行过程中设置的环境变量、cd、执行exit等都不影响当前shell,如: func1() { ( cd /tmp touch testfile exit 0 ) } 这里末尾执行 exit 并不会导致当前的shell退出,这对于行数很多需要提前退出的情况非常有用的。
-
Linux下开启CPU睿频,降低功耗
Linux下默认CPU会使用高性能模式,AMD不清楚,但是Intel默认会启用固定频率也就是最高频率,对于家用NAS或者ALL-IN-BOOM来说其实有点浪费电,因为大多数情况下CPU并不是满载的,开启睿频可以省电。 1. 验证当前模式 cat /sys/devices/system/cpu/intel_pstate/no_turbo 1 cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_…
-
nginx自动屏蔽不友好的ip
查看 nginx 日志的时候发现大量的 404 和 302 尝试访问不存在的资源,大概率是使用工具扫描。 {"connection": "2572288","pid": "176228","request_id": "7d5dcaac3e4be47a536a4a0d1b5c7abb","request_length": "157","remote_addr": "52.170.115.255","time_local": "08/Apr…
-
Proxmox VE关于Alpine虚机、MAC地址还有Hostname的小坑
Proxmox VE简称PVE,有 kvm 和 lxc 两种模式,说人话就是虚拟机和容器,比较轻量的应用我会优先使用lxc,磁盘和内存占用都非常低。 如果对glibc没有强制要求的,我会优先使用 Alpine Linux 这个发行版,除开应用本身的资源,只有2m左右的系统文件,几乎没有内存和磁盘浪费。 我的PVE和虚机优先跑在SSD上,会比跑在HDD上有更好的io,所有SSD空间需要省着用。 问题1:Alpine DHCP可能不发送主机…
-
正则表达式阶段性记录
昨天在写一个diff脚本的时候,需要过滤#开头的注释,以及过滤掉过滤#后出现的空行,Google后我的脚本变成了 grep -v '^#' | grep -v '^$' 这样,可用但是并太不明白 ^$ 的意思,猜测可能是开始即结束? 因为我尝试加上几个空格匹配会失败,且改成 grep -v '^#'|grep -Ev '^\s+$' 是可以的,今天又搜了下想确认猜测,然而并没有找到相关的说明,但是也有其他收获。 首先是梳理了下正则的各种…
-
如何解压 .zst 和 tar.zst 压缩文件
.zst 和 tar.zst 是使用 Facebook 开源的 Zstandard 算法压缩出来的文件。 tar 命令有个参数 -I(--use-compress-program) 可以指定压缩和解压缩使用的子命令,所以解压的完整命令如下: tar --use-compress-program=unzstd -xvf archive.tar.zst 如果报错:zstd: Cannot exec: …
-
恢复git push -f丢失的提交
如果有人本地仓库比较新,让他暂时不要更新,并 git push -f,然后你拉取并合并即可,同时吸取教训,将重要分支设置为保护,如果是在线修改或没人拉取最新代码,能否恢复取决于远端仓库是否执行gc,否则神仙也救不回来了。 以没有gc过为例,登录到远程git服务器,并找到仓库所在目录,以我使用的gitea为例,gitlab类似: git clone /home/git/gitea-repositor…
-
[记录]便捷部署bitwarden_rs/vaultwarden:从docker提取二进制
Bitwarden Server的开源Rust实现(新版本已经改名vaultwarden),编译后的二进制没有外部依赖,社区不提供编译好的二进制,但是提供了docker,本文是建立在提取docker内的二进制的基础上。 我使用的环境是Proxmox VE(PVE),你可以根据自己的情况变通;点击右上角,创建CT,使用Alpine模板,硬盘默认2G就足够,内存512MB即可。 准备工作 使用命令 lxc-attach vmid 进入容器,…
-
[记录]不使用root或sudo运行systemd服务
需求点 systemd 是一套系统组件合集,现在要说的是其中的 systemctl 命令,它是用来控制和查看系统服务的。 通常情况下需要使用 root 或者有 sudo 权限的用户进行操作,这在某些场景下不能满足需要或者有不安全隐患。 现在我们来尝试使用常规权限用户启动服务。 创建服务 属于用户的服务要放在 ~/.config/systemd/user 目录下,这是个固定的目录,后面的user不可替换 mkdir ~/.config/s…
-
[分享] SSH和Git共享22端口,适用于docker或者frp转发等
先说下我的使用场景: 我有一台跑在腾讯云上的 VPS ,就是此博客系统所在的机器,这台机器是有公网IP的 在我家里的内网,有一台4核16G的小型服务器,没有公网IP,运行 Proxmox VE 虚拟了各种服务,其中包括 Gitea 我通过 frp 转发暴露内网的 Gitea 到公网 在这之前我一直使用 HTTP 协议上传或者下载代码,现在觉得太麻烦想用 SSH 协议 如果你跟我的场景类型,此文很适合你,如果你是同一台机器上 docker…