<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>All Posts - ICHARM</title>
        <link>http://example.org/posts/</link>
        <description>All Posts | ICHARM</description>
        <generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 17 Jun 2024 02:52:25 &#43;0000</lastBuildDate><atom:link href="http://example.org/posts/" rel="self" type="application/rss+xml" /><item>
    <title>Proxmox核显开启SR-IOV直通给Win11虚拟机</title>
    <link>http://example.org/pve-sr-iov/index.zh-cn.html</link>
    <pubDate>Mon, 17 Jun 2024 02:52:25 &#43;0000</pubDate>
    <author>LakeMei</author>
    <guid>http://example.org/pve-sr-iov/index.zh-cn.html</guid>
    <description><![CDATA[环境信息 CPU: i5-12500T （核显UHD770） PVE：8.2.2 Kernel: 6.8.4 BIOS设置 开启VT-d 开启VT-x 开启IOMMU 开启SR-IOV 调整内核 因为需要编译i915-sriov-dkms 这个内核相关的项目
在不同的内核编译会出现兼容性问题
比如我试过6.2.16、6.8.4、6.5.13-5、6.5.13-3
最后在6.5.13-3内核上成功编译安装了i915-sriov-dkms项目
查看当前安装的内核
root@pve:~# proxmox-boot-tool kernel list Manually selected kernels: None. Automatically selected kernels: 6.5.13-3-pve 6.8.4-3-pve Pinned kernel: 6.5.13-3-pve 6.8.4是升级pve到8.2.2版本后自动安装，参考i915-sriov-dkms项目的readme文件是明确不支持6.8的内核的，所以需要安装低版本的内核并启动，相同硬件环境的可以直接安装6.5.13-3内核，避免重蹈覆辙。
安装6.5.13-3版本内核
root@pve:~# apt install proxmox-kernel-6.5.13-3-pve 移除不需要的内核版本
root@pve:~# apt purge proxmox-kernel-6.x.x-x-pve 锁定内核版本
root@pve:~# proxmox-boot-tool kernel pin 6.5.13-3-pve 设置grub，开机的时候自动选择6.5.13-3内核
需要先重启看下，在Grub选择界面，选择Advanced Options for xxx
记录下 6.5.13-3 内核在 列表的第几项，如何说我的环境是: 因此需要的启动项处于列表的第2项（从0开始）
6.8.4 6.8.4 recovery 6.5.13 6.5.13 recovery 修改/etc/default/grub配置
root@pve:~# vim /etc/default/grub 将GRUB_DEFAULT=0注释掉，并添加GRUB_DEFAULT=&quot;1&gt;2&quot;, 1代表选择Advanced Options， 2代表选择 6.]]></description>
</item>
<item>
    <title>将whl依赖打包成RPM</title>
    <link>http://example.org/rpmbuild-whls/index.zh-cn.html</link>
    <pubDate>Sat, 11 May 2024 03:38:54 &#43;0000</pubDate>
    <author>LakeMei</author>
    <guid>http://example.org/rpmbuild-whls/index.zh-cn.html</guid>
    <description><![CDATA[项目上在适配信创环境（统信系统UOS），遇到了python3相关的依赖问题，UOS官方源中提供的cherrypy版本过低，通过pip3才能安装最新的cherrypy版本，但是项目是通过yum来管理依赖，所以需要将cherrypy打包成rpm包，然后通过yum来安装。
本文提供了一种暴力的方式，直接通过pip3 download将相关联的whl都下载下来，然后编写spec文件，然后将这些whl包都打包成一个rpm包
当通过yum install这个rpm包的时候，执行python3 -m pip install *.whl的方式将这个whl安装好
项目结构 新建一个项目，类似如下，将所有的whl放在BUILD/dist目录下
➜ tree python3-CherryPy-uel20/ python3-CherryPy-uel20/ ├── BUILD │ └── dist │ ├── CherryPy-18.9.0-py3-none-any.whl │ ├── Routes-2.5.1-py2.py3-none-any.whl │ ├── autocommand-2.2.2-py3-none-any.whl │ ├── cheroot-10.0.1-py3-none-any.whl │ ├── importlib_metadata-6.7.0-py3-none-any.whl │ ├── importlib_resources-5.12.0-py3-none-any.whl │ ├── inflect-6.0.5-py3-none-any.whl │ ├── jaraco.collections-4.2.0-py3-none-any.whl │ ├── jaraco.context-4.3.0-py3-none-any.whl │ ├── jaraco.functools-3.7.0-py3-none-any.whl │ ├── jaraco.text-3.11.1-py3-none-any.whl │ ├── more_itertools-9.1.0-py3-none-any.whl │ ├── portend-3.1.0-py3-none-any.whl │ ├── pydantic-1.10.15-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl │ ├── pytz-2024.1-py2.py3-none-any.whl │ ├── repoze.lru-0.7-py3-none-any.whl │ ├── setuptools-68.]]></description>
</item>
<item>
    <title>Linux配置xrdp远程桌面</title>
    <link>http://example.org/linux-xrdp/index.zh-cn.html</link>
    <pubDate>Thu, 25 Apr 2024 18:36:07 &#43;0000</pubDate>
    <author>Lake</author>
    <guid>http://example.org/linux-xrdp/index.zh-cn.html</guid>
    <description><![CDATA[在PVE中创建了一台Debian12的虚拟机，桌面选的xfce4，非常轻量化，准备将该vm配置成远程工作环境
安装xrdp 安装
sudo apt install xrdp 启动xrdp服务
systemctl start xrdp 设置开机自动启动
systemctl enable xrdp 配置xrdp xrdp服务使用的是xrdp用户，所以需要添加xrdp用户到ssl-cert组，授权证书的访问权限，否则会报错[ERROR] Cannot read private key file /etc/xrdp/key.pem:Permission denied
sudo adduser xrdp ssl-cert 最后检查一下防火墙，网络是否联通
客户端 客户端一般使用微软官方的mircosoft remote desktop, 在MacOS下也能使用
创建用户
3 用户即vm登录的账号密码
创建PC
3 PC name 直接填ip地址即可
User account 选上一步创建的用户
问题 操作下来，发现使用root账号连接，无法显示桌面，看xrdp的日志没有发现异常，连接是正常的，也没有断开（已解决，应该是xfce4不支持同时登录两个root账号，因为我在pve的console登录root账号导致的）
使用其他账号连接使用正常，流畅度比noVNC好不少]]></description>
</item>
<item>
    <title>LXC非特权容器绑定宿主机目录nobody</title>
    <link>http://example.org/unprivileged-lxc/index.zh-cn.html</link>
    <pubDate>Wed, 01 Nov 2023 04:36:07 &#43;0000</pubDate>
    <author>Lake</author>
    <guid>http://example.org/unprivileged-lxc/index.zh-cn.html</guid>
    <description><![CDATA[简介 非特权容器使用了新内核特性user namespaces。所有的容器内部 UID（用户 ID）和 GID（组 ID）都被映射到了与宿主机上不同的ID，通常 root（UID 0）变成了 100000，1 变成了 100001，以此类推。这意味着那些容器中的大多数安全问题（容器逃逸，资源滥用等）将会影响到一个宿主机上随机的非特权用户，即使容器本身以 root 用户身份执行，一定程度上不会对宿主机造成危害，如何有问题也会成为一个通用的内核安全漏洞，LXC 团队认为，通过设计，非特权容器是安全的。
从理论上讲，非特权容器应该无需任何更改即可正常运行，与特权容器没有任何区别。他们的高 UID 映射 ID 将在主机机器的工具（ps，top 等）中显示。
问题 非特权容器挂载宿主机上的目录时，如果目录的权限设置不合理，可能会导致容器内部用户无法访问宿主机上的文件。
例如将宿主机的/mnt/sda挂载到容器的/mnt/sda
容器内查看每一个文件和目录都被映射成nobody (uid 65534)，创建文件和文件夹提示无权限
root@BaseServices:/mnt/sda# ls -l total 0 drwxr-xr-x 2 nobody nogroup 6 Oct 17 06:09 ebooks drwxr-xr-x 2 nobody nogroup 6 Mar 30 2023 images drwxr-xr-x 6 nobody nogroup 57 Feb 24 2023 jellyfin drwxr-xr-x 2 nobody nogroup 45 Feb 19 2023 phone drwxr-xr-x 3 nobody nogroup 40 Oct 17 05:57 projects root@BaseServices:/mnt/sda# touch test.]]></description>
</item>
<item>
    <title>Proxmox扩容local-lvm</title>
    <link>http://example.org/pve-lvmresize/index.zh-cn.html</link>
    <pubDate>Tue, 29 Aug 2023 20:46:29 &#43;0800</pubDate>
    <author>Lake</author>
    <guid>http://example.org/pve-lvmresize/index.zh-cn.html</guid>
    <description><![CDATA[背景 最近m.2固态硬盘价格性价比较高，于是入手一块7800m/s的硬盘，淘汰下来一块2000m/s的m.2的七彩虹2T硬盘，于是想换到家里的pve机器上（原pve机器上是一个512G的m.2）
硬盘克隆 pve机器上只有一个m.2的插口，网上买了一个pcie转m.2转接卡，把七彩虹的硬盘插到pve机器上，通过装在u盘的PE系统里的硬盘工具，直接进行硬盘扇区对扇区的完整克隆。
512G的硬盘克隆花了4个小时，结束后，将原来的512G硬盘拆下来。
local-lvm 扩容 PVE版本： Linux 5.15.74-1-pve #1 SMP PVE 5.15.74-1
重启启动后，可以看到nvme0n1已经是1.8T了，但是nvme0n1p3仍然只有476.4GB，需要先对nvme0n1p3进行扩容
root@pve:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk /mnt/sda sdb 8:16 0 1.8T 0 disk /mnt/sdb sdc 8:32 0 1.8T 0 disk /mnt/sdc nvme0n1 259:0 0 1.8T 0 disk |-nvme0n1p1 259:1 0 1007K 0 part |-nvme0n1p2 259:2 0 512M 0 part /boot/efi `-nvme0n1p3 259:3 0 476.4G 0 part |-pve-swap 253:0 0 8G 0 lvm [SWAP] |-pve-root 253:1 0 96G 0 lvm / |-pve-data_tmeta 253:2 0 3.]]></description>
</item>
<item>
    <title>XXX小区议事规则</title>
    <link>http://example.org/yzwyh-ysgz/index.zh-cn.html</link>
    <pubDate>Fri, 21 Jul 2023 20:46:29 &#43;0800</pubDate>
    <author>Lake</author>
    <guid>http://example.org/yzwyh-ysgz/index.zh-cn.html</guid>
    <description><![CDATA[XXX小区业主大会议事规则(草案) 原文档：
链接: https://pan.baidu.com/s/1lbLyTnMUQ1BH3RFVDBPzbA?pwd=rkyy 提取码: rkyy
第一章 总则 为维护本物业小区全体业主的共同利益和合法权益，规范业主大会的议事活动，根据《中华人民共和国民法典》、《物业管理条例》等相关法律、法规和政策文件，制定本业主大会议事规则。
本小区实行业主大会制，由物业管理区域内全体业主组成。业主大会设立业主委员会，为业主大会的执行机构。
业主大会、业主委员会应当自觉接受物业所在地的房地产行政主管部门和街道办事处、所属社区的指导和监督，积极配合相关行政管理部门，依法履职，规范运作。
第二章 业主大会 业主大会名称 本业主大会名称为XXX花园业主大会（位于江宁区XX街道）
业主大会议事内容 本业主大会的议事内容包括下列事项：
（一）制定、修改管理规约、业主大会议事规则；
（二）选举业主委员会或者更换业主委员会成员；
（三）决议业主委员会的工作职责和经费；
（四）审查业主委员会和物业服务企业或其他管理人的年度工作报告；
（五）决议或者变更物业管理方式、服务事项、服务标准和收费方案；
（六）选聘和解聘物业服务企业或者其他管理人；
（七）使用建筑物及其附属设施的维修资金；
（八）筹集建筑物及其附属设施的维修资金；
（九）决议申请改建、重建建筑物及附属设施；
（十）改变共有部分的用途或者利用共有部分从事经营活动；
（十一）决议申请分立或者合并物业管理区域；
（十二）制定本物业管理区域内共用部位和共用设施设备的使用、公共秩序和环境卫生的维护等方面的制度；
（十三）制定物业合同无法履行等情形的应急预案；
（十四）决议本物业管理区域内全体业主共用部分的经营、收益分配等方案；
（十五）声明劝阻业主违反法律、法规、规章和管理规约、业主大会议事规则的行为，直至向人民法院提起诉讼；
（十六）决议本物业管理区域内全体业主诉讼事宜；
（十七）决议物业管理区域内的其他重大物业管理事项；
（十八）监事会成员、业主小组代表选举决议。
业主共同决定的事项，应当由专有部分面积占比三分之二以上的业主且占人数占比三分之二以上的业主参与表决。决定前款第八至第十项的，应当经参与表决专有部分面积四分之三以上的业主且参与表决人数四分之三以上的业主同意（属于维修资金应急使用项目的除外），应急使用项目根据《江苏省物业管理条例》第七十六条规定执行；
决定前款第十一项的，应当经原物业管理区域内以及拟调整后物业管理区域内的参与表决专有部分面积二分之一以上的业主且参与表决人数二分之一以上的业主同意；
重大事项一般标准，涉及的业主共有资金超过 10000元属于重大事项；
业主共同决定的本条款中其他事项，应当经参与表决专有部分面积过半数的业主且参与表决人数过半数的业主同意；法律、法规和规章另有规定的，从其规定。
业主大会定期会议 业主大会定期会议按照下列要求召开：
（一）业主大会每年召开1次定期会议，召开时间为11月。业主大会定期会议由业主委员会负责召集。业主大会定期会议召开前，业主委员会应当向业主公告以下内容：
1、物业管理情况报告；
2、业主委员会工作情况报告及下年度工作计划；
3、业主大会收支情况报告；
4、物业管理区域内公共收益分配明细；
5、业委会成员互评与自我评价表；
6、共有资产清单；
7、其它重要事宜。
（二）业主大会定期会议应当讨论并决议以下内容：
1、审查业主委员会和物业服务企业或者其他管理人的工作计划；
2、选举需要补选或者定期改选的业主委员会委员；
3、决议物业管理有关事项；
4、审查业主共有资金收支情况；
5、审查下一年度工作改进方案及计划进度；
6、其他重要事宜。
业主委员会在业主大会定期会议召开60日前，应当就需要业主大会会议表决的有关事项征询业主意见，并对业主提出的意见、建议等，由业主委员会会议审议，形成议案提交业主大会会议决定。
业主委员会应当在会议召开15日前，将会议的时间、地点、内容等主要事项以书面形式向物业管理区域内全体业主公告。
业主大会临时会议 有下列情形之一的，业主委员会应当自情形发生之日起30日内组织召开业主大会临时会议：
（一）双20%以上业主就物业管理共同事项提议；
（二）经业主委员会半数（含）以上委员提议召开的；
（三）物业服务合同届满前三个月，最多不得提前六个月;
（四）发生重大事故或突发事件，需要及时处理的；
（五）符合法规、法规要求召开临时业主大会会议情形的；
（六）监事会全体成员或者过半业主小组代表提议；
双20%以上业主认为需要改（换）选现任全部或半数以上业主委员会成员的，由街道办事处（镇人民政府）、社区居（村）民委员会指导提议业主召开临时业主大会。
临时会议提议 提议召开业主大会临时会议的，提议人应将议题、提议人签名和提议人票权构成清单书面送达业主委员会，业主委员会、会议召集人应当自收到业主提议召开业主大会临时会议之日起三十日内核查，并作出是否召集业主大会临时会议的书面决定，在物业管理区域内显著位置公告，小区线上公告渠道（业主小组管理微信群、社区网格微信群等），书面决定应同时告知辖区社区居（村）民委员会。]]></description>
</item>
<item>
    <title>XXX小区管理规约</title>
    <link>http://example.org/yzwyh-glgy/index.zh-cn.html</link>
    <pubDate>Thu, 20 Jul 2023 22:56:04 &#43;0800</pubDate>
    <author>Lake</author>
    <guid>http://example.org/yzwyh-glgy/index.zh-cn.html</guid>
    <description><![CDATA[XX小区管理规约 原文档：
链接: https://pan.baidu.com/s/1lbLyTnMUQ1BH3RFVDBPzbA?pwd=rkyy 提取码: rkyy
第一章 总则 为了保障物业的合理使用，建立物业区域内良好的公共秩序，营造安全、文明、和谐的居住生活和工作环境，维护全体业主的合法权益和共同利益，根据国务院《物业管理条例》、《江苏省物业管理条例》、《南京市住宅物业管理条例》及相关法律、法规的规定，制定本规约。 本规约自首次业主大会会议批准之日起生效，对本住宅区业主、物业使用人均具有约束力。
第二章 物业基本情况 第一条物业基本情况 本物业管理区域的基本情况:
（一）物业名称：_____小区。
（二）详细地址：________。
（三）物业类型：住宅小区。
（四）业主总户数： 。
（五）总建筑面积（平方米）： 。
（六）物业管理区域四界
东至：________；
南至：________；
西至：________；
北至：________。
第二条共有设施、部位 共用部位、共用设施设备：
1、单幢建筑物的全体业主共有的共用部位，包括该幢建筑物的承重结构（包括基础、内外承重墙体、柱、梁、楼板、屋顶等）、主体结构、抗震结构、共用门厅、共用通道、共用楼梯间、户外墙面、屋面、______ 、______、______等。
2、单幢建筑物的全体业主共有的共用设施设备，包括该幢建筑物内的给排水管道、落水管、水箱、水泵、电梯、共用天线、共用线路、冷暖设施、照明设施、燃气管道、消防设施、避雷设施、______ 、______ 、______ 等。
3、本物业区域内全体业主共有的共用部位和共用设施设备，包括公共绿地、道路、路灯、沟渠、池井、共用车位车库、信报箱、公益性文体设施、围墙、给排水管道、水箱、水泵、共用天线、共用线路、冷暖设施、照明设施、燃气管道、消防设施、智能化设备、共用设施设备使用的房屋、物业管理用房、______ 、______ 、______ 等。 4、物业服务用房位于：______。
第三章 业主的权利与义务 第三条业主权利 业主享有下列权利：
（一）享有所拥有物业的各项法定权利；
（二）按照《物业服务合同》的约定，接受物业服务企业提供的服务；监督物业服务企业履行物业服务合同；
（三）根据法律、法规和本住宅区《业主大会议事规则》的规定参加业主大会会议，行使投票权；
（四）选举业主委员会委员，监事会成员、业主小组代表，并享有被选举权；
（五）对本物业管理区域内物业管理的公共事项向业主大会、业主委员会、物业服务企业提出意见和建议；
（六）对本物业管理区域内共用部位、共用设施设备使用情况享有知情权和监督权；
（七）监督住宅专项维修资金、住宅物业保修金、业主大会首次筹备经费的使用；
（八）监督本住宅区业主共有资金的收支情况；
（九）协助业主大会、业主委员会、物业服务企业依法劝阻、制止本物业管理区域内影响和侵害业主共同利益的行为，直至提起诉讼；
（十）法律、法规规定的其他权利。
第四条业主义务 业主履行下列义务：
（一）自觉遵守本规约，遵守物业管理区域内物业共用部位和共用设施设备的使用、公共秩序和环境卫生的维护等方面的法律、法规规定和约定，积极配合物业服务企业和相关单位做好物业管理工作。
（二）按照《物业服务合同》的约定按时足额交纳物业公共服务费、汽车停放费、公共能耗费。
（三）按规定缴存、使用、续筹物业专项维修资金。
（四）合理、安全使用房屋，按照相关规定履行房屋检查、修缮义务。
（五）积极配合物业服务企业做好共用部位、共用设施设备的维修、养护和巡检工作。
（六）按规定办理装饰装修登记，接受物业服务企业和相关部门对装饰装修行为的巡检、检查，配合相关部门对违法拆改行为的查处。
（七）法律、法规规定的其他义务。
第四章 物业管理方式 第五条共同管理权 本住宅区依据法律法规、本规约和业主大会议事规则对本住宅区共有部分行使共同管理权，委托物业服务企业提供物业服务。
第六条物业服务合同签订 业主大会授权业主委员会与物业服务企业签定物业服务合同（明确服务标准），合同期限不超过三年。
选聘物业服务企业前，业主委员会应草拟住宅区物业服务合同样本初稿，按照议事规则规定的程序，确定本住宅区聘用物业服务机构的合同基础文本，并按照议事规则规定的程序确定应聘方并进行表决。
业主大会会议通过合同文本，业主委员会与物业服务企业签订正式物业服务合同后，应在七日内将合同文本提供给每户业主。提供方式包括：书面、电子数据、_______。]]></description>
</item>
<item>
    <title>Win7文件迁移至Win10 - Windows轻松传送</title>
    <link>http://example.org/win7-easy-transfer/index.zh-cn.html</link>
    <pubDate>Wed, 05 Jul 2023 15:23:31 &#43;0000</pubDate>
    <author>Lake Mei</author>
    <guid>http://example.org/win7-easy-transfer/index.zh-cn.html</guid>
    <description><![CDATA[Windows轻松传送是Windows XP、Vista、7中内置的数据迁移工具，单击几下鼠标，即可将文件、程序、设置从旧计算机复制到新计算机。但令人遗憾的是，它在Windows 10中已经被移除，因此您无法使用Windows轻松传送直接将数据从Windows7迁移到Windows10、11。
幸运的是，可以将位于Windows 7中“C:Windows\System32\”的“migwiz文件夹”复制到Windows11、10的任意位置，然后双击该文件夹中的“migwiz.exe”，您可以在Windows11、10中自由地使用Windows轻松传送将数据从Windows7迁移到Windows10、11啦。
Tip 已经压缩好的windows轻松传送，可以直接下载使用：
链接: https://pan.baidu.com/s/1gHusZLs3CCYsksQao-65rA?pwd=w4k3 提取码: w4k3
以下是如何使用Windows轻松传送将Windows7数据迁移到Windows10、11的流程：
步骤1. 单击“开始”在搜索框中输入“Windows轻松传送”并将其打开。
1 步骤2. 选择您想要如何将项目传送到新电脑，有三个选项：轻松传送电缆、网络、外部硬盘或U盘。
选择网络 需要两台机子同时打开windows轻松传送工具，并且网络要连通
选择外部硬盘和U盘，会将备份文件写入到U盘中，在新电脑中插上后使用windows轻松传送工具将文件恢复出来
2 步骤3. 选择“这是我的旧电脑”。
3 步骤4. Windows轻松传送将自动检测可以传输的数据。
4 注意：您可以点击“自定义”&gt;“高级”，然后选择哪些数据需要传输。
步骤5. 为这些数据设置密码或将其保留为空，然后单击“保存”以选择外部硬盘驱动器以保存名为“Windows Easy Transfer - Items from old computers.MIG”的文件。]]></description>
</item>
<item>
    <title>Hugo主题LoveIt使用遇到的问题</title>
    <link>http://example.org/hugo-loveit-using/index.zh_cn.html</link>
    <pubDate>Sat, 01 Jul 2023 15:23:31 &#43;0000</pubDate>
    <author>Elias</author>
    <guid>http://example.org/hugo-loveit-using/index.zh_cn.html</guid>
    <description><![CDATA[几年没写博客了，腾讯的云主机到期后，把博客从wordpress迁移到Hugo上面，主题使用的loveit，刚迁移过来，遇到不少问题，记录一下。
迁移 本来以为迁移很麻烦，没想到有这个工具 wordpress-to-hugo-exporter 安装好后直接把所有的文章都导出到Hugo格式还有静态文件，图片什么的一块整理好，省去了很多的工作。
然后就是针对每篇文章一个一个的优化，还是花了不少的精力。
代码高亮 使用loveit的默认配置，发现代码块渲染出来的样式与demosite上面不同，没有折叠和拷贝按钮。
处理这个问题需要在主题配置config.toml中添加下列配置:
# Markup related configuration in Hugo # Hugo 解析文档的配置 [markup] # Syntax Highlighting (https://gohugo.io/content-management/syntax-highlighting) # 语法高亮设置 (https://gohugo.io/content-management/syntax-highlighting) [markup.highlight] # false is a necessary configuration (https://github.com/dillonzq/LoveIt/issues/158) # false 是必要的设置 (https://github.com/dillonzq/LoveIt/issues/158) noClasses = false Refer: https://github.com/dillonzq/LoveIt/issues/361
封面图 创建一个posts，在md文档的同目录下放入封面图featured-image.jpg，通过下面方式引入：
--- title: 技嘉GIGABYTE B350M Gaming 3 关闭 secure boot images: [] resources: - name: &#34;featured-image&#34; src: &#34;featured-image.jpg&#34; --- 经过测试，没有正常显示封面图片。解决该问题有两种方式:
方式一
hugo中文档名称必须是index.xxx.md的格式，并且确保文档是在content/posts/下面，把文档换成index开后之后，通过上面方式引入封面图可以正常显示。
Refer: https://github.com/dillonzq/LoveIt/issues/582
方式二
封面图放在static目录下，然后在md文档的头部通过featuredImage的方式引入，如下]]></description>
</item>
<item>
    <title>一种基于时间戳的随机字符串生成方式</title>
    <link>http://example.org/random-string-base-timestamp/index.zh-cn.html</link>
    <pubDate>Thu, 31 Dec 2020 05:38:30 &#43;0000</pubDate>
    <author>Lake Mei</author>
    <guid>http://example.org/random-string-base-timestamp/index.zh-cn.html</guid>
    <description><![CDATA[想实现一个由时间戳+随机字符串组合方式生成重复概率很低的随机字符串，但是纯数字的时间戳是在太显眼，不想让人猜到里面包含了时间戳信息，怎么办，那就对0-9的数字进行编码吧。
最初想到的是使用base64来编码，但是有个问题，时间戳的前三位基本不变动，导致base64编码后的的时间戳还是具有一定的规律性，这不是我想要的。
思虑再三，决定自己来实现一个数字编码算法，将0-9进行随机编码，每个数字都对应着6种可能的字符来替代，比如0 ，可以由 y\p\z\3\O\G 来表示，至于选择这六个字符种的哪一种，则随机决定
首先定义编码字典，用数组来保存：
private val EncodeDict = Seq( &#39;y&#39;, &#39;i&#39;, &#39;o&#39;, &#39;q&#39;, &#39;w&#39;, &#39;e&#39;, &#39;r&#39;, &#39;t&#39;, &#39;y&#39;, &#39;u&#39;, &#39;p&#39;, &#39;a&#39;, &#39;s&#39;, &#39;d&#39;, &#39;f&#39;, &#39;g&#39;, &#39;C&#39;, &#39;T&#39;, &#39;F&#39;, &#39;X&#39;, &#39;z&#39;, &#39;x&#39;, &#39;c&#39;, &#39;v&#39;, &#39;b&#39;, &#39;n&#39;, &#39;m&#39;, &#39;0&#39;, &#39;1&#39;, &#39;2&#39;, &#39;3&#39;, &#39;U&#39;, &#34;H&#34;, &#39;V&#39;, &#39;Y&#39;, &#39;8&#39;, &#39;9&#39;, &#39;P&#39;, &#39;L&#39;, &#39;M&#39;, &#39;O&#39;, &#39;K&#39;, &#39;N&#39;, &#39;I&#39;, &#39;J&#39;, &#39;B&#39;, &#39;4&#39;, &#39;5&#39;, &#39;6&#39;, &#39;7&#39;, &#39;G&#39;, &#39;h&#39;, &#39;j&#39;, &#39;k&#39;, &#39;l&#39;, &#39;R&#39;, &#39;D&#39;, &#39;Z&#39;, &#39;E&#39;, &#39;S&#39;) 共有60个字符，分成6行10列， 每一列表示一个数字，0 由 y\p\z\3\O\G 来表示，1由 i\a\x\U\K\h 来表示， 以此类推。]]></description>
</item>
</channel>
</rss>
