Time Machine

Netatalk 3

[華語, cmn-Hant-TW] 之前這篇有提到 AFP Server 的相關設定,其中 Netatalk 從 2.x 到 3.x 有相當大的改變,首先是 afpd 跟 cnid_metad 都不用了,/etc/rc.conf 只要留 netatalk 就好 /etc/rc.conf netatalk_enable="YES" #afpd_enable="YES" #cnid_metad_enable="YES"netatalk_enable="YES" #afpd_enable="YES" #cnid_metad_enable="YES" 然後 netatalk.conf 跟 AppleVolumes.default 也用不到了,改成很有 samba 風格的 afpd.conf /usr/local/etc/netatalk.conf [Global] ; Global server settings hostname…

Apple Mail 復原

[華語, cmn-Hant-TW] 在一次系統當掉之後,Mail.app 就叫我重新設定新的帳號,看來信件資料庫爛掉了,就以往的經驗這得從 Time Machine 手動復原。 首先把 ~/Library/Mail (要用 Finder 秘技 cmd + shift + G 才能進入這個隱藏關卡目錄) 倒回來,結果發現疑怎麼  ~/Library/Preferences/com.apple.mail.plist 不見了,網路上找了一下看到在這篇裡面有人提到 Mail.app 的設定檔在 10.8 Mountain Lion 因為 sandbox 的機制換了位置,現在要改成把 ~/Library/Containers/com.apple.mail 整個倒回來。 所以之後要救信就要複原這兩個目錄,記一下 ~/Library/Mail ~/Library/Containers/com.apple.mail~/Library/Mail ~/Library/Containers/com.apple.mail

手動刪 Time Machine 的備份

[華語, cmn-Hant-TW] Time Machine 的備份滿出來的時候會自己刪掉最舊的備份,如果想要自己選擇刪哪個備份的話比較麻煩,進入 Time Machine 的畫面之後切到想要刪掉的日期,在畫面上按右鍵會有刪掉備份的選項,確認後就會跳回桌面,然後等他慢慢刪… 用這個方法沒辦法知道要刪的備份佔多少空間,要更到位的操作就要用 tmutil 這個內建的命令列小工具 (需要 root 權限,請用 sudo 執行) 印出備份磁碟目錄 $ sudo tmutil machinedirectory$ sudo tmutil machinedirectory 列出所有的備份 $ sudo tmutil listbackups$ sudo tmutil listbackups 列出最新的備份 $ sudo tmutil latestbackup$ sudo tmutil latestbackup…

zfs snapshot 管理

[華語, cmn-Hant-TW] 目前 zfs 對我來說主要就是備份用,使用的方式大致上就是逐日備份,然後定期清掉舊的備份,試過一些工具不過都覺得不是很理想,所以就自己動手弄了,備份的方式不限定,只要把檔案塞進目錄即可,目前的話大致上是 windows 用 windows 的機制,mac 用 time machine,其他 linux 或 freebsd 用 rsync,對備份主機來說只要各別開適當的分享出去即可。備份跟清理備份的時間也可以錯開,我是習慣晚上11點左右打 snapshot 跟清舊備份,其他機器有一整天的時間可以丟資料到備份主機上去,對 snapshot 的管理,主要的需求是: 用日期當 snapshot 的名字,例如 backup@2012-07-30 可以分別針對年,月,日設定保存個數,例如30天內的每日備份,6個月內的每月保留一備份,3年內每年保留一備份。 年、月原則上優先保留該年或該月之第一天,如果當天剛好沒備份,就往次日找,直到找到有備份為止。 用 perl 寫了一個 snapshot.pl 來配合這樣的需求,使用方法也很簡單,比如說要處理 backup/pighead,那就 # ./snapshot.pl backup/pighead# ./snapshot.pl backup/pighead 即可,預設是保留32天內的逐日備份,12個月內每月保留一份,一年內保留一份,如果不想照預設的話,後面可以加參數 D-M-Y (日-月-年),這個數字包含當日/月/年,例如要保留三天內、一月內、二年內:…

複製 Time Machine 映像檔

[華語, cmn-Hant-TW] 因為某些原因,要把遠端的 Time Machine 備份映像檔的內容複製到另一個映像檔。原本的映像檔是用這篇提到的方法生出來的,複製的目標則是系統自己產生的映像檔,兩個主要的差別是原來的大小寫沒差,而系統產生的大小寫有別。也因為這樣的差異,不能用系統內建的磁碟工具程式來複製,因為磁碟工具程式對拷時兩邊的大小寫設定要一樣。啊如果是把兩個映像檔分別掛載用 cp 或是 rsync 複製呢?是可以複製啦,但是目標磁碟一下就被灌爆了,因為 Time Machine 裡面有一堆神秘的 hard link,cp 跟 rsync (至少 10.6 內建的不行,不然就是我參數下不對) 都不能正確處理,複製過去後通通被當作不同的檔案,被灌到滿出來也只是剛好。 之前都用 CarbonCopyCloner 在複製硬碟,所以想說這情況 CCC 能不能處理,結果 CCC 完全無視 Time Machine 的備份目錄,所以也是沒辦法。後來試了一下 SuperDuper! 這個備份軟體,整顆複製是沒問題,但這模式會把目標磁碟清掉連大小寫設定都複製來源磁碟,所以要換大小寫的話,就只能掛載後用 Copy different files 的選項來複製,而這個選項是付費版的功能,要用的話也只就能乖乖付錢了,不過他是真的可以正確處理 Time Machine 硬碟,這錢付下去還算是值得。 附帶一提,複製過去的 Time…

Time Machine 備份掛點

[華語, cmn-Hant-TW] Time Machine 跑一跑突然跳出來說無法備份,查了一下 /var/log/system.log 發現長這樣 (重點部位打馬賽克) May 24 14:04:52 Panther com.apple.backupd[25334]: Starting standard backup May 24 14:04:52 Panther com.apple.backupd[25334]: Attempting to mount network destination using URL: smb://whsyu@10.9.1.120/backup_panther May 24 14:04:56 Panther com.apple.backupd[25334]: Mounted network destination using URL: smb://whsyu@10.9.1.120/backup_panther…

升級到 iPhone OS 3.1.3

[華語, cmn-Hant-TW] 上次升到 3.1.2 的時候是用 blackra1n 破解的,破解過程很簡單不過每次從待機狀態叫醒時總是會卡卡的,當然了也不能確定是不是真的就是 blackra1n 造成的,只是說之前用 dev-team 的破解方式都沒有這種感覺就是,所以就有計畫在新版出來的時候給他回去用 dev-team 的解決方案試看看。 這次 3.1.3 出來目前除了沒鎖的老機器外大家都不建議急著升,新的 iPhone 3GS 跟 iPod Touch 3G 亂升會有再也無法破解的風險 (雖然我相信新破解的出現只是時間的問題)。啊我的剛好就是老機器也沒鎖,備份完之後就拿 dev-team 的新版 PwnageTool (3.1.5) 來玩看看,反正真的不能用的話大不了再降回去 3.1.2 即可。 這次回去用 PwnageTool 的第一件事就是要再跑一次 DFU 模式把鳳梨開機畫面叫回來 (因為前一版用 blackra1n 破的方式不是走這條路,所以開機的時候還是原來那顆閃亮亮的蘋果)。接著做特製軔體、然後用 iTunes 寫入後再從備份復原,最後用…

手動 fsck Time Machine 映像檔

[華語, cmn-Hant-TW] 今天早上用 MacBook Pro 的時候覺得系統頓頓的,開 Activity Monitor 一看原來是有一個 fsck_hfs 的程序正在狂吃記憶體跟 CPU,接著查 log 發現他是在 fsck /dev/disk1s2 …… 啊咧我明明只有一顆硬碟那個 disk1 是從哪冒出來的啊? 再測試了一些東西之後我猜應該是和 Time Machine 有關,因為只要強制砍掉 backupd 這個程序之後 /dev/disk1 就會消失,所以很明顯的這個 /dev/disk1 是對應到 Time Machine 的磁碟映像檔, 在 Time Machine 開始備份之前會經過某道神祕的程序把磁碟映象檔「加」到 /dev 裡面,然後才開始備份,而這個 fsck_hfs…

Time Machine over Samba share

[華語, cmn-Hant-TW] 嘗試用遠端 samba 分享的目錄跑 Time Machine 的時候吃到沒辦法建立備份映像檔的錯誤,用 Console.app 看了一下錯誤訊息長這樣: /System/Library/CoreServices/backupd[40100]: Error 45 creating backup disk image/System/Library/CoreServices/backupd[40100]: Error 45 creating backup disk image 直接連到那個目錄下發現了映像檔做到一半的痕跡,所以似乎是跑一半不知道什麼原因失敗,而不是完全連不到,那問題就比較好解決 – 用 hdiutil 手動來建立即可。檔案名稱的格式是”電腦名稱_macaddress.sparsebundle“。其實就直接參考 Time Machine 做爛掉的那個檔案名稱就好了,這樣比較省事。接著就開 Terminal 切換到那個目錄下執行這個指令: hdiutil create -size 100G -fs HFS+J -type…