记录一个pure-ftpd的Dockerfile

最近升级pure-ftpd的1.0.52版本,在原有基础上,增加了一些需要用到的参数

FROM alpine:3.17
ARG VERSION
ENV PUBLIC_HOST=localhost \
MIN_PASV_PORT=30000 \
MAX_PASV_PORT=30009 \
UID=1000 \
GID=1000
COPY rootfs /
RUN set -ex && \
chmod a+x /usr/bin/entrypoint.sh && \  新增加
apk add --no-cache \
--virtual .build-deps \
build-base \
curl \
openssl-dev \
bash \
tar && \
cd /tmp && \
curl http://download.techlife.com.cn/pure-ftpd-$VERSION.tar.gz | \ 注意名字按这个格式方便代入参数
tar xz --strip 1 && \
patch -p1 src/ftpd.c minimal.patch && \
./configure \
--prefix=/usr \
--sysconfdir=/etc/pureftpd \
--without-humor \
--with-altlog \ 新增加需要记录日志,否则-O参数用不了
--with-minimal \
--with-throttling \
--with-puredb \
--with-peruserlimits \
--with-ratios \
--with-language=simplified-chinese \ 新增加,支持简体中文
--with-tls && \
make install-strip && \
runDeps="$( \
scanelf --needed --nobanner /usr/sbin/pure-* /usr/bin/pure-* \
| awk '{ gsub(/,/, "
\nso:", $2); print "so:" $2 }' \
| xargs -r apk info --installed \
| sort -u \
)"
&& \
apk add --no-cache --virtual .run-deps $runDeps && \
cd / && rm -rf /tmp/* && \
apk del .build-deps

VOLUME /home/ftpuser /etc/pureftpd

EXPOSE 21 $MIN_PASV_PORT-$MAX_PASV_PORT

ENTRYPOINT ["/usr/bin/entrypoint.sh"]

CMD /usr/sbin/pure-ftpd \
-P $PUBLIC_HOST \
-p $MIN_PASV_PORT:$MAX_PASV_PORT \
-l puredb:/etc/pureftpd/pureftpd.pdb \
-L 50000:10 \ 新增加
-E \
-O stats:/var/log/pureftpd.log \ 新增加
-j \
-R

WinRAR 7.11简体中文商业版【授权注册后无广告】

https://www.win-rar.com/fileadmin/winrar-versions/sc/sc20253103/rrlb/winrar-x64-711sc.exe
https://www.win-rar.com/fileadmin/winrar-versions/sc/sc20253103/wrr/winrar-x64-711sc.exe

用户购买的旧版正版授权文件同样适用于7.11简体中文商业版,将旧版授权文件X:\Program Files\WinRAR\rarreg.key复制到新版X:\Program Files\WinRAR\文件夹就能正常注册,请不要跟帖寻求或提供授权文件rarreg.key或注册补丁,以免侵权造成违规

用户可将购买的旧版正版授权文件rarreg.key 和 WinRAR 安装程序置于同一目录时,运行 WinRAR 安装程序则会自动拷贝 rarreg.key 到 WinRAR 安装目录里

Veeam的备份任务建议

如果你换虚拟机名字,建议不要直接改veeam的备份任务,最好重新开一个备份任务。

如果你在原备份任务中修改,会出现两个版本,你恢复的时候就必须选择最近的版本,并且要把不需要的版本删除,如果不这样操作,后续是无法进行下去的。

所以,为了避免时间长想不起来操作方法了,最好的方法就是保留备份任务中只有一个副本。

关于containerd的防火墙设置思路

由于K8S不再直接支持Docker作为默认运行时,而是支持使用CRI(Container Runtime Interface)标准来与容器运行时交互。所以现在运行容器基本都采用containerd+nerdctl方式,但随之而来的一个问题就是宿主机防火墙设置,经过测试containerd会把容器ip放置在宿主机防火墙(宿主机使用firewalld)的可信任区域里,可以理解为透明路由,直接放出,这样如果在防火墙的public区域设置是没有意义的。

目前我们采取的方式是:不在containerd里做端口映射,采用宿主机上反向代理方式把服务端口放出,软件大家自己可以选用的顺手的,然后在防火墙的public区域设置rich规则即可,大家可自行测试。