2017/4/17

MBR ro GPT

MBR 有一堆問題和缺點
  • primary partition table 固定在 disk 的第一個 sector,所以這格sector 壞掉的話,disk 就掛了
  • extended disk 的 logical disk table 用 linking list 串連,所以要是其中一個斷了,後面全部都找不到了
  • logical block addressing 使用 32bit,所以要是一個 sector size 固定是512 byte 的話, MBR 能處理的最踏size 就是 2TB
  • 使用一個 byte 做 parition id, 導致 parition 的種類只有 256 種,太少
所以會出現 GPT (Guid Partition Table)

2017/4/14

repo init, sync --depth

git project 越來越大,每次 sync (clone) 都會抓很大的東西。
所以可以只抓最新的幾個 commit..
用 --depth=10

repo 的話,在 repo init 時就在最後加上: --depth=20
這樣 repo sync 的時候,所有 repo 的project 都只會抓 20 個 commit

2017/4/7

把不完全 open 的 source 納入git

就是那種沒有全部 source 的 project,所以有些 lib, o, 和一些 metadata 沒有 source,
當然這種 project 一定沒有 version control。
所以拿到後要整理一下..

先 run make clean, 把他自己認得的不要的東西先刪掉。
然後 git init && git add *
把剩下的加進來,
然後用 Make
把結果 build 出來。再用 git status 看一下,大概就是:
  • modified 的要刪除,然後加入 .gitignore
  • un-tracked 要加入 .gitignore
但是把 git status 的 list 整個加入也不太 OK, 所以要先整一下

因為一堆 build 出來的 file 也都被收入 git ,所以一旦 build,一堆 file modified...
先用 make clean
看看clean 掉的 file..
git status > tmpf
用 vi 整理一下頭尾,留下file list..
然後用 awk 取出 file 的部份:
cat tmpf | awk '{print $2}' > tmpf2
餵給 xargs ... 叫 git rm
cat tmpf2 | xargs -I {} git rm {}
* 叫 git rm 之前要 git reset 一下,不然 modified file 不能 rm,不然就-f

一直 git rm 到 git status 看不到 modified files。
最後剩下 untracked files,把他全部貼到 .gitignore ...

git status 就看不到東西了...

2017/4/5

unzip 亂碼 -- unar

一堆說加上 -O 就可以,可是jessie 的 unzip 不認識 -O。
所以有說要加上 patch...
最後,這一篇: https://www.zhihu.com/question/20523036 說,用 unar 就可以。
所以 apt-get install unar
然後用 unar AA.zip 就 OK了。