ã³ã¡ã³ãä»ãã®Time Machineã«ãã¦ã¿ã
Time Machineã¯ã絶大ãªå®å¿æãä¸ãã¦ããããéå»1å¹´åã®éã«ã幾度ãã®å¾©å ä½æ¥ãçµé¨ãã¦ã確å®ã«éå»ã復å ã§ãããã¨ãå®æãããã¡ãªã¿ã«ãTime Machineãå©ç¨ãã復å ã«ã¯3ã¤ã®æ¹æ³ããã£ã¦ãç®çã«å¿ãã¦ä½¿ãåããå¿ è¦ãããã
- ãã¡ã¤ã«ã®å¾©å
- ã¡ãã¥ã¼ãã¼ã®Time Machineã¢ã¤ã³ã³ããTime Machineã«å ¥ã£ã¦ä½æ¥ããã
- Finderãéãã¦Time Machineã«å ¥ãã復å ããããã¡ã¤ã«ããã©ã«ããæå®ããã
- ITunesãiPhotoãéãã¦Time Machineã«å ¥ãã°ãé³æ¥½ãåçã確èªããªããã復å ããã¢ã¤ãã ãæå®ãããã¨ãã§ããã
- OSç°å¢å
¨ä½ã®å¾©å
- ã¤ã³ã¹ãã¼ã«DVD >> ã¦ã¼ãã£ãªã㣠>> ã·ã¹ãã ã®å¾©å ããå®è¡ããã
- æ¥æã¨OSXã®ãã¼ã¸ã§ã³çªå·ããªã¹ããããéå»ã®ä»»æã®æç¹ã«ãOSç°å¢ãã¾ããã¨å¾©å ããã
- OS以å¤ã®ç°å¢ã®ç§»è¡
- /Applications/Utilities/移è¡ã¢ã·ã¹ã¿ã³ã.app ãèµ·åãã¦ãç¾å¨ã®ã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ãå種è¨å® çãã³ãã¼ããã
ã¨ããã§ããã¡ã¤ã«ã®å¾©å ãããã®ã§Time Machineã«å ¥ãã¨ããã®ç¥ç§çãªå®å®ç©ºéã«ã延ã ã¨éå»ã«é£ãªãã¦ã£ã³ãã¦ã®ç¾ åã表示ããããã©ãã§ã好ããªéå»ã«æ»ã£ã¦ããã¨è¨ããã°ããã«ï¼ããã¼ããä¸ä½ãèªåã¯ãã¤ã®éå»ã«æ»ãããã®ãï¼
æ¥ä»ã¨æéã¯è¡¨ç¤ºããããã¯ã¤ãã¯ã«ãã¯ã§ãã¡ã¤ã«ã®å 容ã確èªã§ãããã§ããä½ããã®è¨å®ãã¡ã¤ã«ã ã£ããããã¨ãããã«å 容ã確èªã§ãããæ¥ä»ã¨æéã«é ¼ããããªãããã®ã»ãã¥ãªãã£ã¢ãããã¼ãã¯ãã¤ã ã£ããããã®ã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¸ã§ã³ã¢ããããã®ã¯ãã¤ã ã£ããã調ã¹ãå¿ è¦ããããããããªãããã®ããã«Time Machineãåºãããå ¥ã£ãããå¥ã®ãã¡ã¤ã«ãé¸æãã¦ãéå»ã¨æªæ¥ã«è¡ã£ããæ¥ããããªãããæ»ãããæ¥æãç¹å®ããã
ï¼ã¾ãããã¾ãä¸è¨ã®ãããªç¶æ³ã«é¥ããã¨ã¯ãªãã®ã ãã©ï¼ãããããã¯ã¢ããããæã®OSãã¢ããªã±ã¼ã·ã§ã³ã®ç¶æ³ããèªåã®ã³ã¡ã³ããç°¡åã«ç¢ºèªã§ããã°ãããå®å¿ã»ç¢ºå®ã«Time Machineã使ãããªããã¨ãã§ããã¯ãã ããã£ã¨ããããã®æ å ±ãããã¹ããã¡ã¤ã«ã«æ¸ãã¦ãã¯ã¤ãã¯ã«ãã¯ã§ããããã«ãã¦ããã°ãTime Machineã®ä¸ã§ç確ã«æ»ãããéå»ãå¤æã§ããã ããã
ä½ã表示ããã¹ããï¼
ã¤ã³ã¹ãã¼ã«ãããã½ããã¦ã§ã¢ã®ä¸è¦§
ã½ããã¦ã§ã¢ã»ã¢ãããã¼ãã§ã¯ãã¤ã³ã¹ãã¼ã«ãããã½ããã¦ã§ã¢ã®ä¸è¦§ã表示ã§ããã
ãããè¨é²ããã¦ãããã¡ã¤ã«ã¯ã/Library/Receipts/InstallHistory.plist ã ãå 容ã確èªãã¦åãã¦ç¥ã£ãããããã«ã¯ã¤ã³ã¹ãã¼ã©ã¼.appï¼/System/Library/CoreServices/Installer.appï¼ãã¤ã³ã¹ãã¼ã«ããå±¥æ´ãä¿åããã¦ããããã ãã¤ã¾ããã¤ã³ã¹ãã¼ã«ããã±ã¼ã¸ãããã«ã¯ãªãã¯ãã¦ã¤ã³ã¹ãã¼ã«ããã½ããã¦ã§ã¢ã¯ãéæãã®ãã¡ã¤ã«ã«ã¤ã³ã¹ãã¼ã«å±¥æ´ãè¨é²ããã¦ããã®ã ã
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>date</key> <date>2009-09-29T23:49:17Z</date> <key>displayName</key> <string>Sun VirtualBox</string> <key>displayVersion</key> <string></string> <key>packageIdentifiers</key> <array> <string>org.virtualbox.pkg.vboxkexts</string> <string>org.virtualbox.pkg.vboxstartupitems</string> <string>org.virtualbox.pkg.virtualbox</string> <string>org.virtualbox.pkg.virtualboxcli</string> </array> <key>processName</key> <string>Installer</string> </dict> <dict> <key>date</key> <date>2009-10-02T03:57:18Z</date> <key>displayName</key> <string>ãã¤ãã³ã»ããªã³ã¿ãã©ã¤ãã»ã¢ãããã¼ã</string> <key>displayVersion</key> <string>2.1</string> <key>packageIdentifiers</key> <array> <string>com.apple.pkg.Canon_Frameworks</string> <string>com.apple.pkg.Canon_PDEs</string> <string>com.apple.pkg.MakeQueuesScript</string> </array> <key>processName</key> <string>Software Update</string> </dict> </array> </plist>
AppFresh.appãã¤ã³ã¹ãã¼ã«ããå±¥æ´
AppFreshã¨ãããã½ããã¦ã§ã¢ã®ã¢ãããã¼ãã管çããã¢ããªã±ã¼ã·ã§ã³ãå©ç¨ãã¦ãããä»çµã¿ã¯ãCDã®æ²ã®ã¿ã¤ãã«ã表示ããCDDBã¨ä¼¼ãæãã ã
- i use thisã¨ãããµã¤ããããã
- ããã«ã¦ã¼ã¶ã¼ã¯ãèªåãã©ããªã½ããã¦ã§ã¢ãå©ç¨ãã¦ãããæ稿ããã
- æ稿ããæ å ±ã«ã¯ãææ°ãã¼ã¸ã§ã³ãããã¦ã³ãã¼ãã®URLæ å ±ãå«ã¾ãã¦ããã
- AppFreshã¯ãi use thisã«èç©ããããããã®æ å ±ãå©ç¨ãã¦ãææ°ã®ã¢ãããã¼ãæ å ±ãéç¥ãã¦ãã¤ã³ã¹ãã¼ã«ããã¦ãããã
- ããã¦ãAppFreshçµç±ã§ã¤ã³ã¹ãã¼ã«ããå±¥æ´ã¯ã/Library/Logs/Software Update.log ã«è¨é²ãããã®ã ã
2009-09-20 21:32:21 +0900: Installed "RightZoom" (1.6) 2009-09-20 21:35:39 +0900: Installed "The Unarchiver" (2.0.2) 2009-09-20 21:37:14 +0900: Installed "AllBookmarks" (3.1.4) 2009-09-20 21:37:26 +0900: Installed "CotEditor" (1.0.1) 2009-09-20 21:39:40 +0900: Installed "VLC" (1.0.1) 2009-09-20 21:42:24 +0900: Installed "Xmarks for Safari" (1.2.1) 2009-09-20 21:43:03 +0900: Installed "Xmarks" (1.0)
èªåã®ã³ã¡ã³ã
ã½ããã¦ã§ã¢ã®ä¸ã«ã¯ããã¦ã³ãã¼ãããzipã解åãã¦ãã¢ããªã±ã¼ã·ã§ã³ãã©ã«ãã«ãã©ãã° ã³ãã¼ããã ãã§ã¤ã³ã¹ãã¼ã«ãå®äºãã¦ãã¾ããã®ããããä¾ãã°ãFirefoxçããã®é¡ããã¤ã³ã¹ãã¼ã«ããã±ã¼ã¸ã§ããªããAppFreshãçµç±ããªãå ´åãä½ãè¨é²ãæ®ããªããªã£ã¦ãã¾ããã¾ããMacBookã®ç°å¢ãå¤æãããã³ãã«ãªããã¨ãã¡ã¢ãã¦ãããããããããªããããã§ãèªåã®ã¡ã¢ãã¤ã³ã¹ãã¼ã«å±¥æ´ã«å«ãã¦èªç±ã«æ¸ãè¾¼ããããã«ãããã
AppleScriptã¨ã·ã§ã«ã³ãã³ã
以ä¸ã®æ
å ±ãä¸ã¤ã®ãã¡ã¤ã«ã«ã¾ã¨ãã¦ããã¨ä¾¿å©ã ãããã¹ãæ
å ±ã¨ãã¦è¡¨ç¤ºããã«ã¯ãAppFreshãçæãã Software Update.log ã®ãããªæ¸å¼ãè¦æãã¨æãããã®æ¸å¼ã«çµ±ä¸ãããã®ã ããæ©ã¿ã©ãã㯠InstallHistory.plist ãåãæ¸å¼ã«å¤æããæ¹æ³ãPropertyListã¨ããxmlãªã®ã ããådictã®keyã§ããdateã»displayNameã»displayVersionã«å¯¾ããå¤ãæ¥ä»æ
å ±ã¨ä¸¦ã¹ã¦1è¡ã§è¡¨ç¤ºãããã
調ã¹ã¦ã¿ãã¨ãAppleScriptãxmlã®ãã¼ã¹ï¼æ§æ解æï¼ã«ã軽ã対å¿ãã¦ãããããªã®ã§ãå©ç¨ãããã¨ã«ãã¦ã¿ããAppleScriptã§Software Update.logæ¸å¼ã«å¤æãã¦ããã®å¾ãdo shell scriptããã·ã§ã«ã®sortã³ãã³ãã§ã3ã¤ã®ãã¡ã¤ã«ãã¾ã¨ãã¦ãæ¥æããã¼ã«ä¸¦ã¹æ¿ããã以ä¸ã®ããã«ãã¦ã¿ãã
- ä¸è¨ã³ã¼ããAppleScriptã¨ãã£ã¿ã§éã...
-
- ã³ãã¼ï¼ãã¼ã¹ã§AppleScriptã¨ãã£ã¿ã«è²¼ä»ããå ´åã¯ãã³ã¼ãä¸ã®åè§ï¿¥ããåè§ï¼¼ã«ç½®ãæããå¿ è¦ããã
-
----comment_on_TimeMachine----
add_comment() merge_comment_and_install_history()
on add_comment() set datetime to do shell script "date"
set localtime to do_ruby_script({"require 'time'", "Time.parse('" & datetime & "').strftime('%Y-%m-%d %H:%M:%S +0900:')"}) set msg to "ã³ã¡ã³ããå ¥åãã¦ãã ããã"
set res_text to text returned of (display dialog msg default answer "" with icon note) if res_text â "" then
set comment to localtime & space & res_text
do shell script "echo " & quoted form of (comment) & " >> ~/_time_machine_comment.txt"
my message("", quoted form of comment) end if
end add_comment
on merge_comment_and_install_history() try
set merge_file_list to {¬ "/tmp/install_history.txt", ¬ "/Library/Logs/Software\\ Update.log", ¬ "~/_time_machine_comment.txt"} do shell script "echo " & quoted form of my plist_to_text("/Library/Receipts/InstallHistory.plist") & " > /tmp/install_history.txt"
do shell script "sort -r -k1,2 " & join(merge_file_list, space) & " > /tmp/_time_machine_comment_and_install_history.txt"
--UTF-8ã®ã¾ã¾ã§ã¯ã¯ã¤ãã¯ã«ãã¯ã§è¡¨ç¤ºã§ããªãã£ãã®ã§ãä»æ¹ãªãUTF-16ã«å¤æãã
do shell script "iconv -f UTF-8 -t UTF-16 < /tmp/_time_machine_comment_and_install_history.txt > ~/_time_machine_comment_and_install_history.txt"
on error
do shell script "touch " & join(merge_file_list, space) my message("", "ã¨ã©ã¼ãçºçãã¾ãããããä¸åº¦ãå®è¡ãã¦ã¿ã¦ãã ããã") error -128 --å¦çãä¸æ¢ããããã®ã¨ã©ã¼
end try
quick_look((path to home folder as text) & "_time_machine_comment_and_install_history.txt") end merge_comment_and_install_history
on plist_to_text(plist_path) tell application "System Events"
tell contents of XML file plist_path
set dictArray to (XML element "plist"'s XML element "array"'s XML elements) end tell
set install_history to {} repeat with dict in dictArray
set dictValue to (dict's XML elements whose name is not "key")'s value
set datetime to dictValue's item 1
set localtime to my do_ruby_script({"require 'time'", "(Time.parse('" & datetime & "') + 9*3600).strftime('%Y-%m-%d %H:%M:%S +0900:')"}) set dictValue's item 1 to localtime
set dictValue to my join(dictValue, space) set dictValue to my replace(dictValue, "missing value", "-") set install_history's end to dictValue
end repeat
--æ¹è¡ã³ã¼ãã«ããsortã³ãã³ãã®åä½ç¶æ³: \n...sort_OK, return...sort_NG, \r...sort_NG
my join(install_history, "\n") end tell
end plist_to_text
on quick_look(file_path) tell application "Finder" to activate
tell application "Finder" to select file file_path
tell application "System Events" to keystroke space
end quick_look
--rubyã³ã¼ããå®è¡ãã¦çµæãè¿ã
--do_ruby_script({"require 'uri'", "URI.escape(%q|" & "tell application \"System Events\" --ã·ã§ã¼ãã«ããæä½ãããéã" & "|)"})
--ããã¯ã¹ã©ãã·ã¥ã®ã¿,ã¨ã¹ã±ã¼ã\\ãå¿ è¦ããã以å¤ã¯Rubyã³ã¼ãã®æ¸ãæ¹ã¨åã
on do_ruby_script(ruby_code) set ruby_code to ruby_code as list
set last_code to ruby_code's last item
set puts_last_code to "puts(" & last_code & ")"
if (count of ruby_code) ≥ 2 then
set pre_code to join(ruby_code's items 1 thru -2, ";") & ";"
else
set pre_code to ""
end if
set shell_code to "ruby -e " & quoted form of (pre_code & puts_last_code) log shell_code
do shell script shell_code
end do_ruby_script
--rubyã³ã¼ãã require 'jcode'; $KCODE='u'; ãªæ¥æ¬èªç°å¢ã§å®è¡ãã¦çµæãè¿ã
on do_ruby_jcode_u(ruby_code) do_ruby_script({"require 'jcode'", "$KCODE='u'"} & ruby_code) end do_ruby_jcode_u
--sourceTextãdelimiterã§ãªã¹ãã«å¤æãã
--split("1,2,3,4", ",")
-- çµæï¼{"1", "2", "3", "4"}
--AppleScript2.0ã§ã¯ã«constant conszkhk»ãªã©ã®æ¡å¼µå±æ§ã¯ãµãã¼ãããªãã
--http://www.seuzo.jp/st/Other/AS2.0.html
on split(sourceText, delimiter) --considering «constant conszkhk»
if sourceText = "" then return {} set oldDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to {delimiter} set theList to text items of sourceText
set AppleScript's text item delimiters to oldDelimiters
return theList
--end considering
end split
--sourceListãdelimiterã§åºåã£ãããã¹ãã«å¤æãã
--join({"1", "2", "3", "4"}, ",")
-- çµæï¼"1,2,3,4"
--join({{1, 2}, {3, 4}}, ",")
-- çµæï¼"1,2,3,4"
--AppleScript2.0ã§ã¯ã«constant conszkhk»ãªã©ã®æ¡å¼µå±æ§ã¯ãµãã¼ãããªãã
--http://www.seuzo.jp/st/Other/AS2.0.html
on join(sourceList, delimiter) --considering «constant conszkhk»
set oldDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to {delimiter} set theText to sourceList as text
set AppleScript's text item delimiters to oldDelimiters
return theText
--end considering
end join
--sourceTextä¸ã®å ¨ã¦ã®text1ãtext2ã«ç½®ãæãã
--replace("abcdefg", "bc", "_bc_")
-- çµæï¼"a_bc_defg"
on replace(sourceText, text1, text2) join(split(sourceText, text1), text2) end replace
--growlã¾ãã¯display dialogã§ã¡ãã»ã¼ã¸ã表示ããã
on message(title, msg) try
do shell script "/usr/local/bin/growlnotify " & title & " -m " & quoted form of msg
on error
activate
display alert msg giving up after 1
end try
end message
éç¨
- ä¸è¨ã¹ã¯ãªãããã¦ã¼ã¶ã¼ã¹ã¯ãªãããã©ã«ãã«å ¥ãã¦ãã¹ã¯ãªããã¡ãã¥ã¼ããèµ·åããã¨ãã¾ãã³ã¡ã³ãã®å ¥åãæ±ããããã
- ã³ã¡ã³ãã¯å ¥åããªãã¦ãOKãå ¥åããã°ã~/_time_machine_comment.txt ã«è¿½è¨ãããã
- å¦çãå®äºããã°ã_time_machine_comment_and_install_history.txt ã®å 容ãã¯ã¤ãã¯ã«ãã¯ã§è¡¨ç¤ºãããã
以ä¸ã§ããã¼ã ãã©ã«ãç´ä¸ã«ã¯ãäºã¤ã®ãã¡ã¤ã«ãçæããã¦ããã
- _time_machine_comment_and_install_history.txt
- 以ä¸3ã¤ã®ãã¡ã¤ã«ãã¾ã¨ããã¤ã³ã¹ãã¼ã«å±¥æ´ãTime Machineã§ã¯ã¤ãã¯ã«ãã¯ãã¦æ´»ç¨ããã
- /Library/Receipts/InstallHistory.plist
- /Library/Logs/Software Update.log
- ~/_time_machine_comment.txt
- _time_machine_comment.txt
- èªåã®ã³ã¡ã³ããããã¹ãã¨ãã£ã¿ã§éãã¦ç·¨éãããã¨ãå¯è½ã
ããã§ãTime Machineã®ã³ã¡ã³ããã©ããã¡ã¤ã«ãä¸å¿å®æï¼ã½ããã¦ã§ã¢ãã¤ã³ã¹ãã¼ã«ããæããããã¯Time Machineã®ããã¯ã¢ããã®åã«ãã³ã¡ã³ãå
¥åãå¿æãããããããã°ãã½ããã¦ã§ã¢ã®ã¤ã³ã¹ãã¼ã«ç¶æ
ãææ¡ããã³ã¡ã³ãå±¥æ´ã¨ãªãã®ã ã