Mac 系统挂掉之后

2015 年的 13寸 MacBook Pro 服役至今

macOS Sonoma 是已经吃不上了

所以试着用了 Open Core Legacy Pathcer 偷渡

一时邪念兴起,按了下系统更新

然后卡了 24 小时以上(

想要恢复系统,最好能保留原有数据

Option + Command + R 搓个结印开机进入恢复模式

  1. 恢复至原机出厂系统 (OS X 10.11 El Capitan)
  2. 恢复至仍旧支持的系统 (macOS 12 Monterey)
  3. 恢复至偷渡的最新系统 (macOS 14 Sonoma)
  4. 恢复到先前 Time Machine 备份

1. 恢复到 OS X 10.11

先前换了硬盘,970 Evo Plus

而第三方 pcie ssd 的支持从 10.12 才开始支持

所以在试着安装 10.11 的时候会直接找不到硬盘

2. 恢复到 macOS 12 Monterey

在选择硬盘的时候

com.apple.BuildInfo.preflight.error error 21

试着去磁盘工具里面修复了硬盘

重试并没有解决问题

3. 恢复到 macOS 14 Sonoma

因为先前已经偷渡到了新版本的 Sonoma,

这次又是在系统升级的时候炸的,

所以在选硬盘的时候提示说

The volume cannot be downgraded.

并不允许降级

4. 时光机?

在登录上 nas 选择备份并继续之后

回到了恢复菜单的入口处

放弃恢复系统,试着导出数据

其他文档都好说,至少都有一份备份

我只关心 10 卷胶卷的 raw 以及 go pro 录制的骑行视频

自冲自扫,加上一点简单的后期,花了大约一个月

即便底片在手上,要重新扫一卷至少也要一小时

移动硬盘是 NTFS 的,macOS 原生不支持写入

最大的 u 盘只有 32 GB,大概率塞不下

好在恢复模式下有终端可以用……

那就能 scp 了!

局域网内有一台 linux server

插了块硬盘但是没有挂载

所以先看下这块盘

1
fdisk -l
1
2
3
4
5
6
7
8
9
10
Disk /dev/sdb: 298.09 GiB, 320072933376 bytes, 625142448 sectors
Disk model: ST320LT007-9ZV14
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xfb4efb4e

Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 625141759 625139712 298.1G 83 Linux

找到了这块盘的 device 是在 sdb1 上

直接把它挂载在 /mnt ,然后调整下文件用户组

1
2
3
sudo mount /dev/sdb1 /mnt
sudo mkdir photo
sudo chown -R parallels:parallels ./photo

之后在 mac 上冲进想要备份的目录的上一层,

用 scp 通过用户名密码认证把目录直接送到 server 上

1
2
cd /Volume/970EvoPlus\ -\ Data\Users\parallels\Photo
scp -r a7 parallels@192.168.2.70:/mnt/photo/a7/

痛快地抹盘重装!

test-day-501

Today’s Task

  • ReleaseMe Pin Modal

  • Daily Int Regression Cron Job

  • Fix Deploy STG Bot Modal Parameters

Thought

2019 年圣诞节买的笔记本,电池循环计数580+

额定容量 50Wh, 现在只剩下 27Wh

16GB RAM 也逐渐显得力不从心

有点担心自己也会被计划报废

test-day-444

Today’s Task

  • Fix git issue on china build host
  • ReleaseMe Metrics FE
  • ReleaseMe Metrics BE API

Additional Task

  • Fix Regression Bot Parameters
  • Fix MR Bot fetching mr_id

Thought

1

React 18 默认全是 hooks

useEffect() 里面如果更新了 state,而这个 state 会触发页面重新渲染的话,会死循环

2

IDEA 在处理 import generated sources 的时候容易找不到 generated classes

project right click -> maven -> generate sources and update folders

一般可以解决, 不行的话 mvn idea:module

3

不要在 controller 里去调另外一个 controller 的 method,这不清蒸

controller 里不要写太多逻辑

test-day-382

Today’s Task

  • Hadar Simulator
  • Deploy STG Exception for sloth-tools
  • Refractor fetching image repository logic in Deploy STG
  • common function on sending messages
  • Gitlab CI README update on InfractionLedger

Additional Task

  • Cassandra Liquibase no replica issue

Thought

test-day-381

Today’s Task

  • Fix Hadar get descendant NPE
  • Hadar Simulator
  • Guardiola Gitlab CI setup
  • Vaquita Node 8 nvm equivalant script

Additional Task

Thought

travis-ci 免费额度用完了= =

github actions 可以用吗

test-day-380

Today’s Task

  • Fix Deploy STG

Additional Task

  • Deploy STG for recut

  • Build Nucleus

Thought

更新了 CM-notes

主要目的是平时做 cm 的时候自己对照着看

万一未来哪个倒霉蛋接手了我也做个好人罢

还是很迷茫,没什么具体方向

写代码也好,做静态模型,骑车,摄影

我好像都处在一个入门的状态,想要进阶却又在门槛上反复横跳

先弄个模拟器方便调试 hadar 吧

把每天的工作日常做成 contractor simulator 会不会好玩呢?

CM-Notes

Audit

release version wiki page

nucleus 一定要带上 Risk, 单独列出来

并且 risk & risk-ui 独立于其他 nucleus componet 单独跑 regression

nexus 一定要带上 Accounts.grpc

Citadel 和 Customizedlog 这两个即便没有 code change 也要一起跑 regression

有些 component 新的 commit 直接进了 release 分支,audit 探不到,需要 manual check

Code Merge

上一个 CM 没签完的话下一个 CM 的 code 不能急着合进 release

如果需要 recut 上一个 CM 的话要保证不带进下一个 CM 的 commit

Release

mvn BUILD FAILURE 找 dev 看

no space left 找 ops 清

docker build 看情况, push failure 找 ops

偶尔有 post step 里发 slack 消息发失败,不影响 image本身

Kanas 如果需要 manual release 就用 precise release kanas

Deploy STG

更新 liquibase 以后再铺 STG

Refresh Catalog DB

每次 CM 重刷 Promotion Rules

有些 nucleus test case 会去 call catalog,如果 promotion rules 堆积太多的话 catalog 回复就会慢导致 case 跑败

每月重做一次 DB,原因同上

STG Sanity

Regression

Code Client for Rerun

fr-cn-a, cd /home/shdev/fastrun/signoff_client_tis

./test.sh 会去 pull 一次 source code

所以要在 merge 完之后去跑

1
mvn clean install -DskipTests -T 5 -Dmaven.repo.local=/home/shdev/fastrun/signoff_client_tis/repository/

有可能会跑不过,线程数要相应调整

机器上的 git 是远古版本1.8,没有 restore

Sign off onebox

从 local regression 里找台 onebox, keep 99小时以上, 铺上所有当前 cm component

弄两三台,兼顾 FullCycle 和 HoroScope , 互为备份

签完之后记得释放

Watcher Report

Watcher Report 下班前发一份出去,从已有结果里找一份最好的,如果晚上有更好的再发一次

挑没有 env issue的,passrate 99%+,公共账号发,账号 issue 找 it, env issue 找 dev / FR Admin

CN Watcher Report -> Local

CD Watcher Report -> STG

STG Watcher 在 CM Day 铺完 STG 全起来后,把 job 开出来跑

Parameters for components

一般在 FR 上从上一个 CM 起的 regression 直接 rerun

LB Components 在 test-infra-node-b 上由 owner 单独跑

ops 铺完 int 以后起 int regression

不要漏掉 Component

Sign off

Keymaster liquibase INT 邮件可以不用发, 从 Oracle 迁移到 MySQL 了

走 CICD 上 INT 的 component 在 PRD wiki 上时,要找 owner 单独确认能不能签

可以直接签掉: liquibase images 和 INT Regression 里面签完的 component

Ops Deploying INT

如果有新的 component 要临时加,要在 wiki page 上标注出来,并且在 #ci-deployments 里说一声

ops 直接看 wiki page 是不知道哪些有更新的

INT Regression

Risk & Risk UI 最多 1 台 1box 跑

无法 Rerun 单个 legacy component, 至少要带上 Association 一起跑

如果对结果没有信心,可以 recover result

踩到过的坑

Audit 缺 Component -> Manual check

起 regression 的时候忘记带上 Risk / Preferences Center / Value-Transfer / Customizedlog -> trigger 完 regression 对着 wiki 再确认

recut 更新页面的时候误删 image version -> 划删除线代替退格删除

公共账号邮箱登录失败 -> IT

Sign off client 炸了并且没有备份 -> 每次先起 local,跑完以后 keep 三台

image 没推到 AWS Repo -> nova-utility 上去推一把,推完及时修 build script

FR 上跑 local 的时候 HS 挂了 -> 及时反馈

Reminders

base image 有更新的时候,需要从 IAD2 里移到 harbor 上

因为 ACL 的缘故,k3s-onebox 不通 Image Release Registry,需要在 Nova-Utility 上把 baseimage 推到 AWS-int Registry

再在 Test-Infra-Master 上把 baseimage 移到 Harbor 上

每个月 China Build Host 上重做 image 并 tag 到 latest

Productivity-Section-2

Thought

Prioritising == Urgent && Important

When you do stuff, how much time you allocate on it

task priority => Time Management

Urgent || Important

Urgent: When to do it

Important: How long do I want to spend on it

U is fact, can be measured, same, can be escalated

I is up to you, personal.

  • Box 1 UI: Crisis
  • Box 2 U: Hassle, spend mininal time
  • Box 3 I: Planning
  • Box 4 !UI: Avoid, delegate
Important Not Important
Urgent Crisis, find root cause Hassle, minimal time
Not Urgent Planning ahead Avoid/Delegate

do more things in Box 3 => Important

How to Get More Time

you have to do it, but just wanna get it done

plan them, spend minimum amount of time

If you didn’t have to do it, will you miss it?

To Minimize tasks in Box 4:

  • Reduce quality of completion
  • Multitask
  • Delegate someone to do it

What is U/I to you

If you have more time, what would you do for life & work?

How can you add value to your time and work?

More time thinking and planning, developing myself, improving system, stop repeatings, investigating, how to motivate team better, vision for future, spend more time with family …

TODO list:
Developing myself -> Reading, Workouts, Coding
Spend more time with family
Spend more time with friends -> Hang outs, Online Gaming
Investigating

Reduce the amount of crisis in your life

Problems: Stress and quality

Analyse root cause for Box 1 tasks

why did it becomes urgent and important crisis

keep asking why for the root cause to fix it

what can I do to avoid things becoming crisis

Test for Unimportance

Box 4a: Have to do sooner or later -> plan ahead

Box 4b: don’t need to do

test-day-280

Today’s Task

  • Try Calling Jenkins API
  • Code Merge Trigger

Additional Task

Thought

Error: undable to verify the first certificate

1
2
3
4
5
6
7
8
9
import * as https from "https";
import axios from "axios";

const response = await axios.post(url, {}, {
httpsAgent: new https.Agent({
rejectUnauthorized: false
})
})