2016年3月31日 星期四

依照年齡與性別的死亡率

情境:老闆交予一份很重要的資料,還說了:『小心保存,要是不見了你就死定了。』
      這個時候就要開始考慮,由於這份資料很重要,那應該要花多少的精力將這份資料保存呢?一個簡單的判斷標準就是,只要這份資料不見的機率小於個人的死亡率或是老闆的死亡率就已經足夠,因為不管是保管者或是老闆掛點,資料是否還存在對於保管者也就不再重要。

2016年3月30日 星期三

DRBL手動方式加入帳號

DRBL這套無磁碟開機系統已經提供了一些現成的指令可以加入帳號,但在這邊討論一個奇特的狀態:想從另外一套的DRBL上面把大量的帳號給搬到新的DRBL上(安裝方式參考《設定DRBL企鵝龍》),但是希望不要修改密碼也不修改uid與gid,可以依序這樣做:
  1. 到舊DRBL的/etc/passwd內,複製帳號的所有內容,放到新的DRBL的/etc/passwd。這個步驟請自行注意uid不要有所衝突
  2. 把舊DRBL上/etc/shadow內,複製帳號的資訊與password hash到新的DRBL的/etc/shadow。一樣請注意不要有uid上面的衝突。至於說/etc/shadow的內容與製作password hash,請參考aychedee的這篇文章
  3. 用root輸入指令make -C /var/yp 
# make -C /var/yp
make: Entering directory `/var/yp'

make[1]: Entering directory `/var/yp/你的DRBL名稱'
Updating shadow.byname...
Updating passwd.byname...
Updating passwd.byuid...
Updating netid.byname...
make[1]: Leaving directory `/var/yp/你的DRBL名稱'
make: Leaving directory `/var/yp'

以上是黑手作法加入帳號,不過並不是很建議這樣做... 除了可能出錯外,家目錄下面們每個使用者的位置還要對應到/etc/passwd裡面的資料。真正要做還是參考《大量移除使用者帳號》,這個方式可以做到
  • 新增或刪除單一使用者,用drbl-useradddrbl-userdel -s
  • 新增或刪除多名使用者,用drbl-userdel -r
  • 根據檔案刪除多名使用者 ,用drbl-userdel -fdrbl-userdel -l
  • 根據群組刪除多名使用者,用drbl-userdel -g
_EOF_

2016年3月29日 星期二

Mac將資料碟變成RAID-1(mirror)

想要將一個含有內容的硬碟直接變成RAID1的一部份,又希望裡面的資料不要被更動到,可以使用diskutil這個指令來達成。內容參考Camelot回應的文章,用diskutil list找到硬碟disk3s2這個分割區,把這個分割區變成RAID-1一部份又不動到資料

# diskutil enableRAID mirror disk3s2
Started RAID operation on disk3s2 Bay1
Resizing disk
Unmounting disk
Adding a booter for the disk
Creating a RAID set
Bringing the RAID partition online
Waiting for the new RAID to spin up "這裡會是UUID"
Finished RAID operation on disk3s2 Bay1
做完可以直接用磁碟工具程式(disk utility),用圖形界面加入其他硬碟

# diskutil addToRAID member disk4s2 Bay1
意思是說把disk4s2這個分割區加入到前面做的RAID-1裡面

特別注意,資料一定要先備份再做這種動作!!

_EOF_

2016年3月28日 星期一

合併Mac OS X的硬碟分割區

Macintosh上面分割的磁區可以合併成一個,合併的時候指定第一個區域的資料不會動到剩下的部分則是會被清除。下面的指令在OS X 10.9.5 Mavericks上面測試過沒問題(不過還是建議先備份)。首先開啟終端機(Terminal),然後依序執行下面指令:

$ diskutil list
/dev/disk2
   #:                   TYPE NAME    SIZE       IDENTIFIER
   0:  GUID_partition_scheme        *1.5 TB     disk2
   1:                    EFI EFI     209.7 MB   disk2s1
   2:              Apple_HFS HDD2    1.2 TB     disk2s2
   3:             Apple_Boot         250.1 GB   disk2s3
可以看到這個硬碟(/dev/disk2)被分割成三個磁區(slices),第一個磁區disk2s1放置EFI資料、第二個磁區disk2s2放置資料名稱叫做HDD2容量是1.2TB、第三個磁區disk2s3沒有放東西且容量則是250.1GB。

現在想要把第二個與第三個磁區合併,而且希望保留第二個磁區,合併完後的名稱一樣是叫做HDD2,輸入下面指令
# diskutil mergePartitions JHFS+ HDD2 disk2s2 disk2s3
Merging partitions into a new partition
     Start partition: disk2s2 HDD2
     Finish partition: disk2s3
Started partitioning on disk2
Merging partitions
Waiting for the disks to reappear
Growing disk
Finished partitioning on disk2
/dev/disk2
   #:                 TYPE NAME    SIZE       IDENTIFIER
   0:  GUID_partition_scheme      *1.5 TB     disk2
   1:                 EFI EFI      209.7 MB   disk2s1
   2:           Apple_HFS HDD2     1.5 TB     disk2s2
這樣就可以再不更動硬碟裡面資料的情況下把磁區合併

_EOF_

2016年3月25日 星期五

半淨相關(Semipartial correlation)

Semipartial correlation中文翻譯半淨相關,此分析是用來了解某個因子如何被另外兩個因子所影響。套用前面身高、體重與年齡的例子,淨相關處理的問題是

“當排除掉年齡大小的因素以後,身高與體重的相關性是多少?” 
“當排除掉身高大小的因素以後,年齡與體重的相關性是多少?”

那麼半淨相關(Semipartial correlation)所想要解答的問題會是

當同時考慮身高與年齡時,(排除掉年齡後)身高獨自對體重的影響有多少?”
當同時考慮身高與年齡時(排除掉身高後年齡獨自對體重的影響有多少?”
當同時考慮身高與年齡時身高年齡共同對體重的影響有多少?”