2019/11/26

file descriptor redirection 與 process substitution


是這樣的這邊有個需求想要把 stdout 與 stderr 分別導向至不同的檔案中

這個很簡單

透過 bash 中 > 即可達成

再來 stdout 的 fd 是 1, 而 stderr 的 fd 是 2

組合起來就是

```
command 1> out.log 2> err.log
```

而預設導向的 fd 是 1

於是乎又可以寫成

```
command > out.log 2> err.log
```

接下來變化來了

需求是:
除了把 stdout 與 stderr 分別導向至不同的檔案中, 也要將 stdout 與 stderr 導入至同一個檔案, 並且印出順序要一致

這就會需要用到 process substitution

```
>(list)
# 或
<(list)
```

指令 list 會以非同步方式執行

加上利用 tee 同時導入至檔案與印在螢幕上

組合技如下:

```
command > >(tee stdout.log >> all.log) 2> >(tee stderr.log >> all.log)
```

2019/10/22

修改 root logic volume 注意事項


一班我們如果要重新命名 lv 只要

```
$ lvrename
```

就可以了

但是如果要重新命名 root 也就是啟動系統那顆的話就要小心了

如果缺了步驟, 很有可能你的系統就開不了機了


除了使用 lvrename 去改名外, 還必須執行三個步驟

1. 將 /boot/grub/grub.cfg 下所有相關路徑都改正確

2. 執行 update-grub2 去重新產生開機設定
```
$ update-grub2
```

3. 修改 fstab 路徑

2019/10/04

備份樹莓派 microSD 卡


最近在樹莓派上面跑 docker 但常常每幾個星期就會出現 kernel 或是 library 毀損的訊息

導致如果重開機後 docker service 就無法正常啟動 實在是很困擾我

所以就想說有沒有辦法備份整個安裝好的SD卡 毀損時直接還原就好

2019/08/01

自製紗窗


我有個大膽的想法! 自製紗窗

其實是因為陽台要裝瓦斯烘衣機, 原先裝上的鋁窗因為安全問題所以把它拆了下來

但這樣就等於沒有紗窗了, 很容易會有蚊子, 所以決定自己手工做一組!!

Honeywell HPA-720WTW 開箱


雖然本身不太會過敏, 但是一直以來都很想嘗試用用看空氣清淨機

剛好家裡剛裝潢好, 木工粉塵飛揚與怕櫃子貼皮用的膠水會釋放出甲醛

趁機就開始準備想要入手的空氣清淨機牌子與型號

想到前同事買了 Honeywell, 所以就注意在 HPA-100APTW, HPA-200APTW, HPA-710WTW, HPA-720WTW 這四台上面做參考

當然去特X屋的時候, 也有被推薦 Dyson 的 TP-04 與 HP-04, 但使用情境與價格的因素, 這次就先不考慮囉

做功課做了許久, 在考慮了適用坪數與外型, 最後是決定買 HPA-720WTW

近期可能是因為有新產品要發表了, 所以我最終入手價比原價 18900 或折扣價 17900 還便宜很多!!

2019/03/22

如何修改 visudo 的預設編輯器



由於 ubuntu 預設 visudo 的編輯器是 nano

對於習慣使用 vim 來編輯的使用者來說根本像是天書一樣, 完全不會用

要怎麼修改預設的編輯器呢

如下:

```
$ sudo update-alternatives --config editor
```

```
There are 4 choices for the alternative editor (providing /usr/bin/editor).

Selection Path Priority Status
------------------------------------------------------------
* 0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
3 /usr/bin/vim.basic 30 manual mode
4 /usr/bin/vim.tiny 15 manual mode

Press to keep the current choice[*], or type selection number:
```

輸入 3 就會是 vim 了