在docker的centos里启用systemd

[MD]

1. 拉取镜像[1]

docker pull centos

2. 创建一个DockerFile文件

vi mydockerfile
# 以下是mydockerfile文件的内容
FROM centos:7
MAINTAINER "Yourname" <[email protected]>
ENV container docker
RUN yum -y update; yum clean all
RUN yum -y install systemd; yum clean all; \
(cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
# mydockerfile内容结束

3. 将centos镜像打包为新的centos7-systemd镜像

docker build -t centos7-systemd - < mydockerfile

4. 创建并运行docker容器centos7[2]

docker run --name centos7 --net=host --privileged=true -d -e container=docker  -v /sys/fs/cgroup:/sys/fs/cgroup  centos7-systemd

  1. 参考资料:https://serverfault.com/questions/824975/failed-to-get-d-bus-connection-operation-not-permitted ↩︎

  2. 原文为docker run --rm --privileged -ti -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup centos7-systemd /usr/sbin/init ↩︎

摆脱kms激活Windows和Office

使用Microsoft Activation Scripts 下载 [1] 用数字权利激活Windows [2] 用ohook激活Office 官方教程:https://massgrave.dev/index.html#Download__How_to_use_it

KMS最低要求:Windows8,Office2010
数字权利激活要求:Windows10/11
ohook激活最低要求:Office2013

《Office各个版本对Windows的最低安装要求》

零基础微软AI文本转语音

[MD] © Sunplace,2024

引言

  • 无需搭建服务器
  • 无需代码
  • 无需成本

1. 安装Microsoft Egde浏览器

https://azure.microsoft.com/zh-cn/free

Microsoft Azure规定,这是使用语音创作的先决条件之一。

先用Microsoft Edge的大声朗读功能读一遍文章,确定多音字、英文缩写等的发音是否正确。多音字可以用同音字替换,英文也可以用中文谐音替换。得到清洗后的发音文稿。

2. 创建Microsoft账户

3. 创建Microsoft Azure免费订阅

2.1 使用微软账户登陆https://azure.microsoft.com/zh-cn/free

2.2 验证信用卡,获取免费订阅,无需信用卡的版本

https://azure.microsoft.com/zh-cn/free/students/

前提你拥有学生资格。

学生额度:$100

普通用户额度:$200

3. 登陆Microsoft Azure

https://azure.microsoft.com/zh-cn/free

大陆地区登陆需要很久…

4. 创建应用

4.1 访问:https://portal.azure.com/#home

4.2 创建语音服务

资源组初始时没有,需要新建一个,随便取一个名称

定价层参考:https://azure.microsoft.com/zh-cn/pricing/details/cognitive-services/speech-services/

5. 使用文字转语音

5.1 转到Speech Studio

文本转语音项目组中,找到有声内容创作

5.2 点击我的文件

上传txt文本文件或者创建,每个文件不能超过 20000 个字符,超过了系统自动拆分为多个文件。导出时可以选择按段落或者按拆分后的文件个数导出,不能自动合并。

5.3 打开已经上传的文件

在右侧调音(可按喜好选择):

  • 语言:中文(普通话,简体)
  • 角色:晓伊
  • 说话风格:温柔
  • 发音-朗读规则:数字(.)

直接播放也会消耗额度。

5.4 调整完成后点击保存

5.5 点击导出

选择导出到本地磁盘

音频格式可选wav或mp3

本次用例备注

  • 全文字数: 24674
  • 消费额度: ¥ 20.77
  • 导出总时长: 约 1:25:00
  • 导出文件数: 2

导出的音频也不是完全正常的,用例有多处卡顿。所以大量文字需要试听以识别。

acme.sh部署、续期、吊销

© Sunplace,2024 本文使用的是ZeroSSL的ECC证书
# 安装acme.sh
curl https://get.acme.sh | sh
# 设置自动更新
acme.sh --upgrade --auto-upgrade
# 设置ZeroSSL
acme.sh --set-default-ca --server zerossl
# 设置Cloudflare参数
export CF_Key="Cloudflare的Global API Key"
export CF_Email="CF账户"
# 注册用户
acme.sh --register-account -m ZeroSSL账户邮箱 --server zerossl
# 申请证书(Cloudflare DNS)
acme.sh --dns dns_cf --issue -d 域名或泛域名 --nginx
# 更新证书(强制)
acme.sh --renew -d 域名或泛域名 --force --ecc
# 域名或泛域名 is not a issued domain, skip.
# 解决方法:acme.sh --dns dns_cf --issue -d 域名或泛域名
# 吊销证书
acme.sh --revoke -d 域名或泛域名 --ecc
# Cert for 域名或泛域名 /root/.acme.sh/域名或泛域名_ecc/域名或泛域名.cer is not found, skip.
# 解决方法:acme.sh --install-cert -d 域名或泛域名 --ecc
# 删除证书
acme.sh --remove -d 域名或泛域名 --ecc
关于吊销的补充说明: 1. acme.sh无法吊销没有安装在本地的ZeroSSL证书。 3. 如遇到证书泄露,必须进行吊销的情况,可以直接申请新的证书。

非root密钥登陆ssh

ssh-keygen -t rsa -C "xxx@domain" 
# 将生成的密钥放到相应的位置
mkdir /home/username/.ssh 
touch /home/username/.ssh/authorized_keys
# Enter file in which to save the key (/root/.ssh/id_rsa):/home/username/.ssh/id_rsa
cd /home/username/.ssh
cat id_rsa.pub > authorized_keys
# 修改权限
cd ..
chown -R username:username .ssh 
chmod -R 700 .ssh
chmod 600 .ssh/authorized_keys
登陆的用户名为:username 登陆的密钥为/home/username/.ssh/id_rsa的内容