随身携带的FreeBSD U盘系统——Nomadbsd

随身携带的FreeBSD U盘系统——Nomadbsd

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

简单介绍

NomadBSD是一个基于FreeBSD的系统,专为USB存储器准备的可持久化的live系统(配置完成后就可以当成随时Unix系统使用了,当然也可以作为主系统来使用)。它是一个开箱即用的桌面系统,可以自动检查插入设备的硬件并完成设置。

FreeBSD是一个自由开源的类Unix操作系统,源自伯克利软件发行版(BSD),它是一个完整的操作系统,该项目提供内核、设备驱动程序、用户空间实用程序和文档(而Linux不提供用户空间实用程序和文档),FreeBSD系统具备一个安装和日常使用说明文档:https://docs.freebsd.org/en/books/handbook/。除此之外,FreeBSD具有很多有趣的技术实现,例如**Jails、Bhyve**等。

FreeBSD 的大部分代码库已成为其他操作系统不可或缺的一部分,例如Darwin ( macOS、iOS、iPadOS、watchOS和tvOS的基础)、TrueNAS(开源NAS / SAN操作系统)和系统软件PlayStation 3 和PlayStation 4游戏机。

FreeBSD的生态不如Linux完善,很多主流的软件都不支持这类系统,例如VS Code。

硬件需求

  • 存储空间: >= 5GiB的存储空间
  • CPU频率:>= 1.2GHz
  • 内存要求:>= 1GiB(ZFS文件系统版本需要2GiB及以上的内存)
  • 引导方式:BIOS / UEFI

安装方式

下载Nomadbsd系统的方法,以及各个系统的安装方式可以参考:https://nomadbsd.org/download.html

其实直接dd写到需要存放的硬盘或USB存储器就可以,后面安装的时候会自动格式化未使用的空间为UFS或ZFS文件系统。

下载页面的简单说明

64-bit/x86-64表明的是其可运行在什么架构的CPU上
UFS表明其完成安装之后,剩余空间将会自动格式化为UFS文件系统(同时还提供了ZFS文件系统选项)
下面的Location是选择下载Nomadbsd地区(都超慢…)
Pasted image 20231112152324

Linux上安装说明

  1. lzma -d nomadbsd-x.y.z.img.lzma
  2. dd bs=1M if=nomadbsd-x.y.z.img of=/dev/sdX conv=fsync
    Pasted image 20231112152338

Windows上的安装说明

  1. 下载nomadbsd,并解压(通过常用的解压软件,比如bindizip)
    Pasted image 20231112152347
  2. 下载rufus:https://rufus.ie/en/
  3. 通过rufus写入img文件到U盘中
    Pasted image 20231112152403

启动和配置

上一个过程中,在U盘写入系统完成之后,就可以重启电脑,进入UEFI或BIOS引导菜单(通常是ESC或F12键进入,和电脑品牌有关),选择进入到Nomadbsd系统中了。
然后便是配置流程(为了保护大家的眼睛,后面配置就用虚拟机截图了,不给大家看拍的屏幕)。

  1. 首先进入引导界面,选择EFI USB Device,也就是上面写入数据的U盘。
    Pasted image 20231112152418

  2. 到了这个界面,直接回车进入多用户模式即可。
    Pasted image 20231112152435

  3. 选择语言和地区。
    Pasted image 20231112152448

  4. 选择键盘布局(这里有一个坑,选择左边的布局就可以了,右边的不用选,都是不匹配的键盘布局…)。
    Pasted image 20231112152457

  5. 可以添加其他的键盘布局。
    Pasted image 20231112152505

  6. 选择时区(联网后会自动更新时间)
    Pasted image 20231112152514

  7. 设置root密码
    Pasted image 20231112152526

  8. 设置存储分区加密。
    Pasted image 20231112152538

  9. 选择基础配置。
    Pasted image 20231112152551

  10. 为剩余空间创建文件系统(/data是用户使用的存储空间)。
    Pasted image 20231112152559

  11. 然后重启即可(“Finish”)。(还需要通过引导菜单进入U盘系统)

  12. 然后需要输入此前设置的加密密码来解锁硬盘。
    Pasted image 20231112152612

  13. 最后就进入到安装好的系统了。
    Pasted image 20231112152639

日常使用

  1. 通过pkg包管理器,实现类似Ubuntu apt包管理一样的软件安装、升级、卸载等操作(指令基本相同)。
  2. 可以通过ports来下载各类软件的源码,进行编译安装后使用。

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

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 夕元