shfmt安装的几种方式

bash IDE 需要使用shfmt, 下面是shfmt安装的几种方式:

1 使用go安装,这是官方推荐的方式

go install mvdan.cc/sh/v3/cmd/shfmt@latest

2 下载pre-built 的binary

从shfmt的github 的release 页面中(https://github.com/mvdan/sh/releases) 下载最新的pre-built的binary

shtmf_v3.x.x_linux_amd64

将其变成可执行文件然后移动到PATH中

chmod +x shtmf_v3.x.x_linux_amd64

mv shtmf_v3.x.x_linux_amd64 /usr/local/bin/shfmt

3 使用snap(如果有的话)

snap install shfmt

4 从Debian 的repo中

apt install shfmt

5 Build from source

git clone https://github.com/mvdan/sh.git
cd sh
go build ./cmd/shfmt
mv shfmt /usr/local/bin/

 

最后查看版本

shfmt --version

Proxmox VM 硬件选择

  1. CPU

对于Proxmox VE 8.0以上的版本来说,VM的默认CPU 是X86-64-v2-AES

x86-64-v2-aes 有着最好的兼容性,如果你的cluster使用live migration 或者cluster里面有不同的cpu,比如说intel 和 amd 的CPU混在一起

如果你不使用migration,想要发挥宿主CPU的最大性能,那么可以使用host

2 BIOS

legacy BIOS 使用的是SeaBios, 建议使用最新的UEFI BIOS,也就是OVMF

3 SCSI controller

无论是linux还是windows,无脑使用virtIO

4 Hard disk

建议使用ZFS(ZFS不支持使用hardware raid的disk),如果ZFS支持thin provisioning

5 network device

无论是linux还是windows,无脑使用virtIO

windows原生不支持virtIO,因此使用virtIO的话,需要在VM上自己安装virtIO驱动

Linux Journal 的日志太大

位于/var/log/journal文件夹下面的journal 日志太大,一般系统限制为4GB, 对于一些硬盘比较小的VM就不太友好了

这个是由systemd-journal引起的,我们需要clean it 和limit its growth

Clean Existing Logs

Check current disk usage:

journalctl --disk-usage

Delete logs older than a certain time (e.g., 7 days):

journalctl --vacuum-time=7d

Or limit total size (e.g., 500MB):

journalctl --vacuum-size=500M

Or keep only N logs (e.g., last 10 boots):

journalctl --vacuum-files=10

 

Prevent Logs from Growing Too Large

Edit the persistent journal configuration:

sudo nano /etc/systemd/journald.conf

Look for or add these lines:

SystemMaxUse=500M
SystemKeepFree=100M
SystemMaxFileSize=100M
SystemMaxFiles=10

Then restart systemd-journald:

sudo systemctl restart systemd-journald

 

(Optional) Disable Persistent Journaling

If you don’t need persistent logs across reboots:

sudo rm -rf /var/log/journal
sudo mkdir /run/log/journal
sudo systemctl restart systemd-journald

This means logs will be lost after reboot.

对于我个人来说,我喜欢做如下设置:

journalctl --vacuum-size=200M

然后在/etc/systemd/journald.conf 中设置

SystemMaxUse=200M

SystemMaxFileSize=100M

最后重启journald服务

systemcl restart systemd-journald