磁盘切换成F2FS文件系统并加密

磁盘切换成F2FS文件系统并加密

原文链接:https://ovea-y.cn/switch_the_disk_to_f2fs_file_system_and_encrypt_it/

背景

对于SSD和SMR技术的机械硬盘,使用F2FS可以更好的利用它们的性能。

💡 下图可以看到采用SMR技术的机械硬盘也支持Trim(/dev/sda) ![fewf3r3t1tg1t1g](https://s2.loli.net/2024/01/20/Hn6wxC5AU1TFpl4.png)

步骤

0. *如果有使用的swap,先停止swap使用,并且取消默认挂载

ewqe2r3t2esfewg
grwef32rfr23wer32g

1. 安装F2FS Tools

sudo apt install f2fs-tools

2. 先将要格式化的磁盘取消挂载

bgwg2tsf

3. 然后上锁

hreg4t2f

4. 使用F2FS格式化磁盘

gr3rfd283
gt32r43tg
herg4t2tef
hg4t3f3r
grwet23rgy34

5. 配置加密磁盘的label,并让其自动挂载和设置挂载点

u65ut3tg
gg2t23rrg3y

F2FS就不用添加luks,discard了,因为F2FS自带trim功能。

目前这块SMR技术的HDD也支持trim,只有Ext4系统添加discard参数后才会被fstrim.service服务自动执行trim

注:下图修改为luks,discard是不必要的行为
j6u6y32tg

修改完名字之后需要将磁盘锁定再解锁重启一次!(当然,也可以重启一次)

jk76i43tg34t
io67h45y4y
gh5yt42rt
vgret3gh2h

6. 执行sudo mount -a或直接重启完成挂载

挂载前
n4tf23r3t

挂载后
gh4t3r23f

分区表的样子
gh3y34tfr3

7. *重新创建交换分区

gi76it3grt

最后别忘了设置自动挂载
tg2r23tgwf

重启后,我的系统挂掉了,以下是修复方法

1.1 点击Enter键进入维护模式

tgy2r23t23

1.2 怀疑是fstab写错了,因此直接重新挂载根目录,并且修改fstab

mount -o remount,rw /

rg32rgds23t

1.3 发现swap分区在挂载它对应的设备根节点时就试图挂载,修改挂载顺序

gr32t2ed21esfq

修改后
xasdr132tg

退出
xde2r32tgg

1.4 退出维护模式,并按Ctrl+ALT+DEL重启

za32rgtwer23

2.1 结果又启动出错,通过journalctl -xb查看log,发现有个磁盘节点等待超时

2.2 检查所有磁盘的UUID,没有发现有超时的那个磁盘

ar2rg4tgs

2.3 检查自动解锁磁盘的配置文件(/etc/crypttab)

qr23rg34t
f2t31dsfew123r

发现是切换到F2FS前旧的配置没有被删除!并且8d583745开头的这个UUID刚好是日志中记录等待失败的ID!

2.4 删除旧的自动解锁配置

修改成下面这样子
t32tqwe21tg

2.5 退出维护模式并重启系统,此时电脑可以启动成功了!

oewr2t32rfw

附录

sudo systemctl start fstrim.service 可以执行trim

sudo systemctl status fstrim.service 可以看到执行的log

kjt32r5tf2

参考资料

Solid state drive - ArchWiki

原文链接:https://ovea-y.cn/switch_the_disk_to_f2fs_file_system_and_encrypt_it/

Read more

香港银行开户指南

香港银行开户指南

注意:本文所有内容,都是需要前往香港的情况下才能使用! 本文主要介绍2家实体银行和3家虚拟银行! 实体银行包含: * 中国银行(香港) * 汇丰银行(香港),该银行也被称为“香港上海汇丰银行” 虚拟银行包含: * 众安银行 * 天星银行 * 蚂蚁银行 1、各银行所需资料和办理方式 银行名称 办理方式 所需材料 & 要求 备注 汇丰银行(香港) 提前预约,线下到营业点办理 (如果没预约,只能很早排队取线下号,不一定能取到) 必备证件: 1. 港澳通行证 2. 入境海关小票 3. 身份证 投资证明: 1. 证券App近三月股票交割单 2. 中国结算近三月交割单 3. 银行近三月流水单 4. 支付宝投资流水 资产证明: 1. 银行资产证明 2.

By 夕元
C++协程(Coroutines)

C++协程(Coroutines)

原文链接:https://ovea-y.cn/cpp_coroutine_20/ C++协程(Coroutines) 1. 简单介绍协程 协程可以简单的理解为,它是一个可以随时“中断”,并再次恢复执行的函数。 C++协程框架的特点: * 无栈协程 * 非对称设计(开发者可以自行设计协程调度器,做成对称设计) 2. 协程和函数的区别 函数:函数调用是线性、同步、一次性的执行模式,调用者必须等待被调用方法执行完成后返回。 协程:协程可以异步执行,调用者不需要等待协程完成,可以在协程挂起时继续做其他事情。在执行过程中通过特定的语法(co__yield_和_co__await)暂停执行,并在之后的某个时刻恢复执行。 2.1 普通函数的执行过程 一个普通函数在执行的时候,主要包含两个操作,分别是调用(call)和返回(return)

By 夕元
GitHub Workflows

GitHub Workflows

原文链接:https://ovea-y.cn/github_workflows/ 本文介绍GitHub工作流的创建和作用。 工作流创建方式 在git项目下,创建.github/workflows文件夹,里面编写的任何yml文件都是工作流的一部分。 secrets的创建方式 secrets.GITHUB_TOKEN是GitHub自动创建的,不需要自己创建。 secrets.SERVER_HOST这个的来源,需要在GitHub对应的项目的设置中设置。 readme的构建标签 配置好Branch、Event类型后,把下面这段内容复制到markdown文档里,就会自动显示自动化流程状态了。其实就是一张图片,由GitHub自动生成提供。 一. 自动构建网站并推送到远程服务器 自动构建hugo,并更新远程服务器的静态网站内容。 自动化流程文件 name: Deploy Hugo Site # 当推送到main分支时触发部署流程 on: push: branches: - main

By 夕元
代码版本管理工具(git/gerrit/repo)

代码版本管理工具(git/gerrit/repo)

原文链接:https://ovea-y.cn/code_version_control_tools__git_gerrit_repo/ 一、版本控制工具的历史 1.1 版本控制雏形 在版本控制软件出现之前,就具备diff与patch工具来对源码进行比较和打补丁了,在CVS出来的一段时间里,Linus一直在使用diff与patch工具管理着Linux的代码。diff与patch也是源码版本控制中最基本的概念。 1.1.1 diff —— 用于比较两个文件或目录之间的差异 -u 表示使用 unified 格式 -r 表示比较目录 -N 表示将不存在的文件当作空文件处理,这样新添加的文件也会出现在patch文件中 diff -urN a.c b.c > c.patch 1.1.2 patch —— 用于应用差异修改 通过patch可以将原始文件变成目标文件,

By 夕元