Proxmox 配置外部SMTP发送邮件

proxmox 自带的邮件服务虽然也能发, 不过经常进QQ的垃圾箱. 想想还是配置成QQ的SMTP好了, 稳定点, 别警告邮件都收不到. 安装依赖 apt install -y libsasl2-modules 删除以前配置的aliases sed '/root:.*/d' /etc/aliases -i mailname echo "pve.local" > /etc/mailname echo "[email protected] [email protected]" > /etc/postfix/generic 配置SMTP服务器, 账号:密码 echo "smtp.qq.com [email protected]:password" > /etc/postfix/sasl_passwd 创建数据库, 设置权限 postmap /etc/postfix/sasl_passwd postmap /etc/postfix/generic chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db 修改配置文件 $ vim /etc/postfix/main.cf, 在结尾加上配置 relayhost = smtp.qq.com:465……

阅读全文

通过debootstrap在btrfs raid1上安装debian

最近想试试将 debian 安装在 btrfs raid1 上. 用安装盘安装, 直接安装在 btrfs raid1上, 会在安装 grub 的时候出错. 使用单盘 btrfs 安装完后, 再加另一个盘组 raid1 倒是可以. 就是以后如果重装, 又要的拆成单盘再重装, 很麻烦. 试了下 debootstrap 安装debian, 直接就能安装在 btrfs raid1 上, 记录下安装过程. 安装 debootstrap 启动 debian live cd sudo su - apt update apt install debootscrap 硬盘分区 建立 btrfs raid1 #新……

阅读全文

Proxmox VE 6 常用设置

安装 使用rufus dd模式烧到U盘做引导盘 关闭 lvm-thin (用起来还是不习惯) mkdir -p /mnt/data umount -l /mnt/data lvremove -y /dev/pve/data lvcreate -l $(vgdisplay pve | grep Free | awk '{ print $5 }') -n data pve mkfs.xfs -f /dev/pve/data sed '/\/dev\/pve\/data/d' /etc/fstab -i echo "/dev/pve/data /mnt/data xfs defaults 0 0" >> /etc/fstab mount -a 还原 lvm-thin umount -l /mnt/data lvremove /dev/pve/data lvcreate -l 1 -n data pve lvconvert --type thin-pool pve/data lvextend -l +99%FREE pve/data #pve默认分区最后没有使用全部空间, 这里也留了1% 关闭订阅提醒 vim /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js 搜索 if (data.status !== 'Active') 修改为 if (false) 配置源 rm -f /etc/apt/sources.list.d/pve-enterprise.list……

阅读全文

[转]Windows命令行下用netsh实现端口转发(端口映射)

微软Windows的netsh是一个命令行脚本实用工具。使用netsh工具 ,可以查看或更改本地计算机或远程计算机的网络配置。不仅可以在本地计算机上运行这些命令,而且可以在网络上的远程计算机上运行。 可以手动运行Netsh命令,或创建批处理文件或脚本实现过程的自动化。netsh提供了脚本功能,让您在批处……

阅读全文

解决 Docker 持久化数据的权限问题

Docker的数据持久化即数据不随着 container 的结束而结束, 数据存在于 host 机器上: 存在于 host 的某个指定目录中(使用-v 或者--mount), 或者 docker 自己管理的 volume (Dockerfile 里面设置VOLUME, 目录在/var/lib/docker/volumes). 实际使用的时候, 会碰到文件权限的问题: 容器向挂载的目录写入数据后, host 没有权……

阅读全文

Go交叉编译CGO提示undefined

在linux下面交叉编译windows版本的sciter的代码, 提示一堆未定义变量 编译linux版本的就没问题 $go build . $CC=x86_64-w64-mingw32-gcc GOOS=windows go build . # github.com/sciter-sdk/go-sciter ../../github.com/sciter-sdk/go-sciter/types_string.go:27:9: undefined: BehaviorEvent ../../github.com/sciter-sdk/go-sciter/types_string.go:62:9: undefined: MouseEvent ../../github.com/sciter-sdk/go-sciter/types_string.go:78:9: undefined: CursorType ../../github.com/sciter-sdk/go-sciter/types_string.go:89:9: undefined: KeyEvent ../../github.com/sciter-sdk/go-sciter/types_string.go:100:9: undefined: FocusEvent ../../github.com/sciter-sdk/go-sciter/types_string.go:111:9: undefined: ScrollEvent ../../github.com/sciter-sdk/go-sciter/types_string.go:122:9: undefined: GestureCmd ../../github.com/sciter-sdk/go-sciter/types_string.go:139:9: undefined: GestureState ../../github.com/sciter-sdk/go-sciter/types_string.go:171:9: undefined: GestureTypeFlag ../../github.com/sciter-sdk/go-sciter/types_string.go:197:9: undefined: DrawEvent ../../github.com/sciter-sdk/go-sciter/types_string.go:197:9: too many errors 查了半天, 发现是CGO_ENABLED的锅, 交叉编译的时候, 这个选项默认为0了, 手动设了后编译通过. CC=x86_64-w64-mingw32-gcc……

阅读全文

用scoop代替chocolatey做Windows包管理器

原来一直用chocolatey做包管理器, 最近发现了一个scoop, 试了几天, 可以换掉chocolatey了. chocolatey VS scoop chocolatey权限要求高, scoop 使用-g安装才需要管理员权限, 默认普通用户权限. scoop可以建软件包仓库, 如果官方仓库里没有想用的软件, 可以自己建一个仓库, 存放自己的软件. choc……

阅读全文

wsl安装samba共享文件

在wsl里面可以直接访问修改windows的文件 windows下面只能读wsl目录里面的文件, 如果修改, 会导致这个文件在wsl下面权限出错. 通过samba修改文件就没有这个问题了. 另外, samba也可以代替windows自带的文件共享. 关闭win10自带的文件共享 在cmd下面输入 netstat -an | findstr /r "139 445" 可以看……

阅读全文

Debian 9 修改GRUB默认启动内核

debian testing 更新掉进systemd-240的坑里了 重启开机Missing modules (cat /proc/modules; ls /dev), 找不到硬盘. 只能降到systemd-239或者降内核. 想想还是降内核方便, 记录下修改步骤. 1. 查看当前内核的启动顺序 $ cat /boot/grub/grub.cfg ### BEGIN /etc/grub.d/00_header ### if [ -s $prefix/grubenv ]; then set have_grubenv=true load_env fi if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default=0 fi ### BEGIN /etc/grub.d/10_linux ### function gfxmode { set gfxpayload="${1}" } set linux_gfx_mode= export linux_gfx_mode menuentry 'Debian GNU/Linux' --class debian --class gnu-linux……

阅读全文

从git中永久删除文件

有时候历史提交添加过比较大的文件或者敏感文件, 后面也删掉了, 可是git历史记录里面还有, 也会占用空间. 这时候就要用下面的方法来永久删除了. 运行底层命令git verify-pack以识别出大对象, 对输出的第三列信息即文件大小进行排序 $git verify-pack -v .git/objects/pack/pack-6d6...b0b.idx -v | sort -n -k 3 | tail -5 034...2c4 blob 8943 3472 21832 ec2...08b blob 11117 3081 29005 270...9e8 blob 12687 4841 14122 d57...91a blob 17888 5654 41757 829...3e7 blob……

阅读全文