分类 电脑 下的文章

甲骨文云 - ARM机 - 安装 Debian 12 bookworm ARM64

需求;甲骨文云中的ARM机,有提供免费的 Canonical-Ubuntu-22.04-Minimal-aarch64 系统镜像。如果想使用 Debian 12,能不能安装呢?

实践;能。用 Debian 提供的网络安装文件,能完成。如在已有的 Ubuntu 中,使用 kexec 来启动到带远程 ssh 的 Debian 安装界面。举例:
kexec --command-line="priority=critical mirror/http/hostname=ftp.us.debian.org interface=auto language=en country=US locale=en_US.UTF-8 keymap=us modules=network-console network-console/password=hellodebian network-console/password-again=hellodebian DEBIAN_FRONTEND=text" --initrd=initrd.gz linux

如果是静态IP的,或许是:

kexec --command-line="priority=critical mirror/http/hostname=ftp.cn.debian.org interface=auto netcfg/disable_autoconfig=true netcfg/get_ipaddress=192.168.1.61 netcfg/get_netmask=255.255.255.0 netcfg/get_gateway=192.168.1.1 netcfg/get_nameservers=8.8.8.8 language=en country=US locale=en_US.UTF-8 keymap=us modules=network-console network-console/password=hellodebian network-console/password-again=hellodebian8 DEBIAN_FRONTEND=text" --initrd=initrd.gz linux

另有 ISPSystem中Debian 11 和 Debian 11 netinstall 包中 metainfo.xml 的内核参数实例,可对比:

<kernelcommand>url=($OSINSTALLINFO_HTTPv4) language=en debian-installer/country=RU locale=en_US keyboard-configuration/xkb-keymap=us console-keymaps-at/keymap=us interface=auto netcfg/disable_dhcp=true netcfg/disable_autoconfig=true netcfg/use_autoconfig=false ipv6.autoconf=0 netcfg/get_ipaddress=($IPv4) netcfg/get_netmask=($NETMASKv4) netcfg/get_gateway=($GATEWAYv4) netcfg/get_nameservers=($NAMESERVERv4) hostname=($HOSTNAME) domain=($HOSTNAME) netcfg/hostname=($HOSTNAME) net.ifnames=0 netcfg/link_wait_timeout=30</kernelcommand>

<kernelcommand>url=($OSINSTALLINFO_HTTPv4) language=en debian-installer/country=RU locale=en_US keyboard-configuration/xkb-keymap=us console-keymaps-at/keymap=us interface=auto netcfg/disable_dhcp=true netcfg/get_ipaddress=($IPv4) netcfg/get_netmask=($NETMASKv4) netcfg/get_gateway=($GATEWAYv4) netcfg/get_nameservers=($NAMESERVERv4) hostname=($HOSTNAME) domain=($HOSTNAME) netcfg/hostname=($HOSTNAME) netcfg/link_wait_timeout=30</kernelcommand>

参考:

DCImanager 5 - Debian 12 - bookworm

需求:ISPSystem 当前没有为 DCImanager 5 提供 Debian 12 的系统镜像。但 Debian 的网络安装方式没有改变,使用新版本的 initrd.gz 和 linux 文件来安装 Debian 12,或许也是可以的。

首先,从 ISPSystem 下载现有的 Debian 11 系统安装包。然后,修改 metainfo.mxl 中关于系统名称的描述。再从 Debian 官方下载 Debian 12 的网络安装镜像文件 initrd.gz 和 linux,替换即可。

参考:

DCImanager 5 - Ubuntu 22.04 - user-data

问题:DCImanager 的官方系统镜像源中有 Ubuntu 22.04 ,但仅限于 DCImanager 6。如果想在 DCImanager 5 中使用,需要修改。

修改一:metainfo.xml 文件中,除了 <support> 项要修改, <kernelcommand> 也要改一下,因为可能有些参数不适合 DCImgr5。如将原有的:
<kernelcommand>ip=dhcp cloud-config-url=/dev/null url=($SHAREDIR_FILE)ubuntu.iso autoinstall ds=nocloud-net;s=($OSINSTALLINFO_HTTP)&amp;file=user-data&amp;qwe=files/cloud/</kernelcommand>
修改为:
<kernelcommand>ip=dhcp cloud-config-url=($OSINSTALLINFO_HTTP)&amp;file=user-data url=($SHAREDIR_FILE)ubuntu.iso autoinstall</kernelcommand>

关键是要让 Ubuntu cloud-init 自动安装时,能找到配置文件 user-data。记得还要在文件中加载自定义的 user-data 文件,<file>user-data</file>

修改二:前一步中是用自己修改后的 user-data 文件,因为官方中的内容中可能包含 DCImgr5 中没有的参数 $DISK_LAYOUT_FILE。即将原有的:
bash /tmp/part.sh "($HDD_RAID)" "($DISK_LAYOUT_FILE)"
修改为:
bash /tmp/part.sh "($HDD_RAID)"

参考:

iRedMail - 对指定用户设置限制 - 仅允许收信 不能发信 - iredapd

需求:因为主机商对滥发邮件管得严格,所以想对指定用户设置限制,设置为可以收到邮件,但不能发出邮件。

环境:iRedMail 1.6.2,ubuntu 20.02

尝试:

作用:将 liujia@example.com 用户加到不允许发信但可收信的列表
python3 /opt/iredapd/tools/wblist_admin.py --outbound --account liujia@example.com --add --blacklist @.

作用:列出当前的黑名单
python3 /opt/iredapd/tools/wblist_admin.py --outbound --account liujia@example.com --list --blacklist

作用:将 liujia@example.com 用户从不允许发信但可收信的列表移除
python3 /opt/iredapd/tools/wblist_admin.py --outbound --account liujia@example.com --delete --blacklist @.

参考:

iredmail - 手动删除用户的默认目录 - 批量删除邮件

需求:邮件塞满了磁盘的inodes。无需备份,直接强制删除所有用户的邮件。

尝试:

#!/bin/bash

# 先停止postfix
/usr/bin/systemctl stop postfix

# 导出用户名单到文件
doveadm user *@* > /run/mailtmp.txt
# 从文件每行读取用户名,再根据用户名得到用户默认存储目录,如 /var/vmail/vmail1/example.com/z/z/9/zz9976-2023.04.19.20.47.38/ ,最后删除相应的目录
cat /run/mailtmp.txt | while read LINE; do
    su -s /bin/bash vmail -c "rm -rf `doveadm user -f home $LINE`"
done

/usr/bin/systemctl start postfix

参考: