Upgrade to Pro — share decks privately, control downloads, hide ads and more …

完全に同じ開発環境を素早く用意できる(もしくはできない)技術 / macOS Restore history

7c5e1b0779d9bea40b7f01505649cb60?s=47 Hiroyuki Aoki
September 06, 2019

完全に同じ開発環境を素早く用意できる(もしくはできない)技術 / macOS Restore history

開発環境の構築って面倒ですよね。
Xcodeのインストールは時間がかかるし、その他いろんなツールに関して手順書を用意しておいても、ちょっと違うバージョンがうっかり入っちゃうとかよくあります。

このLTでは、毎月数十台のMacをセットアップし続けてきた経験から、Appleの提供する標準機能だけで全く同じ構成のmacOS環境を準備するために行ってきたいくつかの方法と、それぞれの特徴についてお話しします。
また、Sierra -> High Sierra -> Mojaveと毎年バージョンアップされるに伴って利用できる技術が変わっており、現在進行形で困っていることについても話します。

7c5e1b0779d9bea40b7f01505649cb60?s=128

Hiroyuki Aoki

September 06, 2019
Tweet

Transcript

  1. ׬શʹಉ͡։ൃ؀ڥΛૉૣ͘༻ҙͰ͖Δ ʢ΋͘͠͸Ͱ͖ͳ͍ʣٕज़ )JSPZVLJ"PLJ J04%$ϧʔΩʔζ-5

  2. •)JSPZVLJ"PLJʢ੨໦޺೭ʣ •ٕज़ݚमτϨʔφʔ • NBD04γεςϜ؅ཧ • "QQMFೝఆ"$41ࢿ֨ͷडݧରԠίʔε • .%.ιϦϡʔγϣϯ • ϞόΠϧΞϓϦ։ൃʢJ04"OESPJEʣ

    •ΧϨʔΛ৯΂·͢   ࣗݾ঺հ
  3. •τϨʔχϯάͰར༻͢Δͨ͘͞Μ ͷ.BDΛɺຖिͷΑ͏ʹηοτ Ξοϓͯ͠·͢  

  4. •Ϣʔβ࡞੒ࡁΈ •ಛఆόʔδϣϯͷʢඞͣ͠΋࠷৽൛Ͱ͸ͳ͍ʣ9DPEF •8J'Jͷઃఆ •%PDLͷαΠζมߋ •5FSNJOBMͷϑΥϯτมߋ •ݚमڭࡐΛσεΫτοϓʹ഑ஔ •ͦͷଞɺΞϓϦ΍πʔϧ • ,FZOPUF •

    (PPHMF$ISPNF • )PNFCSFXͱɺͦΕʹΑΓΠϯετʔϧͨ͠ϓϩάϥϜ܈   ྫ͑͹͜Μͳ؀ڥʹηοτΞοϓ
  5. Թ͔Έͷ͋Δ ख࡞ۀ   º

  6.   /FU3FTUPSF

  7. •NBD044FSWFSͷػೳͷͻͱͭ   /FU3FTUPSF

  8. •γεςϜΛؙ͝ͱ෮ݩ •؀ڥߏஙࡁΈͷ04ΠϝʔδΛ ϕʔε   /FU3FTUPSF

  9. •׬શʹίϐʔͨ͠؀ڥ͕Ͱ͖Δ •ෳ਺୆ͷ.BDΛฒߦͯ͠෮ݩ •ૣ͍ʢd෼Ͱ׬ྃʣ   /FU3FTUPSF

  10. •Πϝʔδͷ࡞੒ • 5BSHFU%JTL.PEFͰϚ΢ϯτ • 4ZTUFN*NBHF6UJMJUZͰΠϝʔδ ࡞੒ ࡞੒ͨ͠Πϝʔδ   /FU3FTUPSF

    ؀ڥߏஙࡁΈ.BD ʢΠϝʔδͷϕʔεʣ NBD044FSWFS 5IVOEFSCPMU
  11. •ΠϝʔδΛ΋ͱʹ෮ݩ • ෮ݩର৅ͷىಈ࣌ʹɺΠϝʔδΛબ୒ ͢Δ͚ͩͰ0,   /FU3FTUPSF ෮ݩର৅ NBD044FSWFS ࡞੒ͨ͠Πϝʔδ

    &UIFSOFU /Λԡ͠ͳ͕Βىಈ ʢωοτϫʔΫϒʔτʣ
  12. ૣ͍ʂ ͔ΜͨΜʂ  

  13. ͔͠͠  

  14. ೥  

  15. "1'4  

  16.   "1'4 "SFL%SFZFSBOE"EBN,BSOFCPHF NBD044VQQPSU&TTFOUJBMT"QQMF1SP5SBJOJOH4FSJFT 4VQQPSUJOHBOE5SPVCMFTIPPUJOHNBD04.PKBWF 1

  17. •NBD04)JHI4JFSSB • Πϯετʔϧ͓࣌ΑͼΞοϓάϨʔυ ࣌ʹɺ"1'4΁ࣗಈม׵   ೥ Πϝʔδͷϕʔε͕"1'4ͩͱ /FU3FTUPSFࣦഊ ʢ1SFCPPUϘϦϡʔϜͳͲ͕ਖ਼͘͠ѻ͑ͳ͍ͨΊʁʣ

  18. •NBD04)JHI4JFSSB • Πϯετʔϧ͓࣌ΑͼΞοϓάϨʔυ ࣌ʹɺ"1'4΁ࣗಈม׵   ೥ Πϝʔδͷϕʔε͕)'4 ͳΒ /FU3FTUPSF੒ޭ

    • startosinstall ίϚϯυͷ --converttoapfs NO Φϓγϣϯ ʢճආՄೳʣ
  19. •NBD04.PKBWF • "1'4΁ͷࣗಈม׵Λڧ੍ • startosinstall ίϚϯυͷ --converttoapfs NO Φϓγϣϯ 

     ೥ ഇࢭ ʢճආෆՄʣ
  20. •ΠϝʔδΛར༻ͨ͠NBD04ͷΠ ϯετʔϧ͸ݱࡏɺެࣜʹඇਪ঑   z"QQMFͰ͸ɺΠϯετʔϧํ๏ͱͯ͠ɺϞϊϦγοΫγεςϜΠϝʔδ ͷ࡞੒Λਪ঑͓Αͼαϙʔτ͍ͯ͠·ͤΜɻγεςϜΠϝʔδʹ͸ɺ ϑΝʔϜ΢ΣΞΞοϓσʔτͳͲɺϞσϧݻ༗ͷ৘ใؚ͕·Ε͍ͯͳ͍ Մೳੑ͕͋Γ·͢ɻz ࣗࣾʗࣗߍͰNBD04ΛΠϯετʔϧ͢Δํ๏"QQMFαϙʔτ IUUQTTVQQPSUBQQMFDPNKBKQ)5

  21. •54FDVSJUZ$IJQ౥ࡌͷ.BD • ωοτϫʔΫϒʔτෆՄ   /FU#PPUɺ/FU*OTUBMMɺ/FU3FTUPSFϘϦϡʔϜΛ࡞੒͢Δ"QQMFαϙʔτ IUUQTTVQQPSUBQQMFDPNKBKQ)5

  22. /FU3FTUPSF   அ೦

  23. ଞͷબ୒ࢶΛ ߟ͑Δ  

  24. •Թ͔Έͷ͋Δख࡞ۀ   બ୒ࢶ

  25. •ΫϦʔϯΠϯετʔϧɺઃఆ͸શ ෦ख࡞ۀ • ਓͷखʹΑΔԹ͔Έ • ஗͍ • ໘౗ • ϛεͷଟൃ͕໨ʹݟ͍͑ͯΔ

     
  26. •Թ͔Έͷ͋Δख࡞ۀ •5JNF.BDIJOF   બ୒ࢶ

  27. •ಉҰͷ5JNF.BDIJOFόοΫ Ξοϓ͔ΒγεςϜશମͷ෮ݩ • શ͘ಉ͡؀ڥ͸࣮ݱՄೳ • ஗͍ • ฒߦෆՄ ʢҰ౓ʹ୆͔ͣͭ͠෮ݩͰ͖ͳ͍ʣ 

    
  28. •Թ͔Έͷ͋Δख࡞ۀ •5JNF.BDIJOF •.%.   બ୒ࢶ

  29. •.%. • $POGJHVSBUJPO1SPGJMFΛϓογϡ • ͋Δఔ౓ͷઃఆ͸ࣗಈԽ • "QQMF#VTJOFTT.BOBHFS "#. ͱ ࿈ܞ

    • "QQ4UPSF͔Βz࠷৽ͷzΞϓϦΛ഑෍Մೳ • ཉ͍͠ͷ͸ɺ࠷৽ͷ΋ͷͱ͸ݶΒͳ͍ʜ  
  30. •Թ͔Έͷ͋Δख࡞ۀ •5JNF.BDIJOF •.%. •"43   બ୒ࢶ

  31. •"43 "QQMF4PGUXBSF3FTUPSF  • ઃఆࡁΈͷNBD04؀ڥ͔Β%.(Π ϝʔδΛ࡞੒ • asr restoreίϚϯυͰ෮ݩ •

    NBD04.PKBWF·Ͱ͸੒ޭ • ͔Β͸෮ݩࣦഊ  
  32. •Թ͔Έͷ͋Δख࡞ۀ •5JNF.BDIJOF •.%. •"43 •"VUP%.(   બ୒ࢶ ݱঢ়ɺ͜ΕͰ࢑ఆରԠத

  33. •"VUP%.(ͷར༻ • NBD04ͷΠϯετʔϥΛΧελϚΠζ • "QQMJDBUJPOTʹஔ͘ΞϓϦΛؚΊΔ • γεςϜΞοϓσʔτ΋ద༻ • ઃఆͳͲద༻Ͱ͖ͳ͍ •

    ผ్ɺγΣϧεΫϦϓτ΍ $POGJHVSBUJPO1SPGJMFͰରॲ  
  34. •defaults ίϚϯυ • ϢʔβͷઃఆΛ؅ཧ • ྫʣ%PDLͷαΠζมߋ • defaults write com.apple.dock

    tilesize -int 32 •scutilίϚϯυ • γεςϜͷઃఆΛ؅ཧ • ྫʣίϯϐϡʔλ໊ͷมߋ • sudo scutil --set ComputerName "Student"   NBD04ͷઃఆΛߦ͏
  35. ࠓޙͷల๬  

  36. •.%.ιϦϡʔγϣϯ "QQMF#VTJOFTT.BOBHFS • "QQMFਪ঑ͷํ๏ •"OTJCMFͳͲͷߏ੒؅ཧπʔϧ • γεςϜߏ੒ΛઃఆϑΝΠϧͰهड़ •"1'4ͱ஥ྑ͘ͳΔ  

  37. •NBD04$BUBMJOB • "1'4ʹେ͖ͳมߋ͕ೖΔ • 3FBE0OMZ4ZTUFN7PMVNFͱ͔   ·ͩ·ͩۤ೉ͷಓ͸ ଓ͖ͦ͏Ͱ͢

  38. ࠷ޙʹ  

  39. •ͥͻ͓࿩͠͠·͠ΐ͏ • NBD04΍.%.ʹڵຯͷ͋Δํ • ݚमͷτϨʔφʔ΍ڭࡐ։ൃʹڵຯͷ ͋Δํ •ษڧձʹɺձ৔͓ି͠͠·͢ʂ • .BDͱ͔J1BEͱ͔΋ 

    
  40. •5SBJOJOH$FSUJGJDBUJPO"QQMF • IUUQTUSBJOJOHBQQMFDPNVTFODPVSTFT •"QQMFೝఆτϨʔχϯάҰཡcגࣜձࣾΧαϨΞϧɹϥʔχϯάαʔϏε • IUUQTXXXDBTBSFBMDPKQMTTFSWJDFPQFOTFNJOBSBQQMF •γεςϜΠϝʔδϢʔςΟϦςΟϢʔβΨΠυ"QQMFαϙʔτ • IUUQTTVQQPSUBQQMFDPNKBKQHVJEFTZTUFNJNBHFVUJMJUZ •NBD044FSWFSʹ͓͚Δมߋ఺"QQMFαϙʔτ

    • IUUQTTVQQPSUBQQMFDPNKBKQ)5 •ࣗࣾʗࣗߍͰNBD04ΛΠϯετʔϧ͢Δํ๏"QQMFαϙʔτ • IUUQTTVQQPSUBQQMFDPNKBKQ)5   ࢀߟ৘ใ
  41. •ϓϩϑΝΠϧϚωʔδϟϢʔβΨΠυ"QQMFαϙʔτ • IUUQTTVQQPSUBQQMFDPNKBKQHVJEFQSPGJMFNBOBHFSXFMDPNFNBD •NBD04%FQMPZNFOU3FGFSFODF"QQMF • IUUQTIFMQBQQMFDPNEFQMPZNFOUNBDPT •ϞόΠϧσόΠε؅ཧઃఆ"QQMFαϙʔτ • IUUQTTVQQPSUBQQMFDPNKBKQHVJEFNENXFMDPNFXFC •*NBHJOHJT%FBEʜ-POH-JWFUIF*OTUBMMFS4DSJQUJOH049

    • IUUQTTDSJQUJOHPTYDPNJNBHJOHJTEFBE •*NBHJOHJTTUJMM%FBE4DSJQUJOH049 • IUUQTTDSJQUJOHPTYDPNJNBHJOHJTTUJMMEFBE   ࢀߟ৘ใ
  42. •.BHFS7BMQ"VUP%.( • IUUQTHJUIVCDPN.BHFS7BMQ"VUP%.( •"OTJCMFJT4JNQMF*5"VUPNBUJPO • IUUQTXXXBOTJCMFDPN •8IBUT/FXJO"QQMF'JMF4ZTUFNT"QQMF%FWFMPQFS • IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED •ىಈηΩϡϦςΟϢʔςΟϦςΟʹ͍ͭͯ"QQMFαϙʔτ

    • IUUQTTVQQPSUBQQMFDPNKBKQ)5 •/FU#PPUɺ/FU*OTUBMMɺ/FU3FTUPSFϘϦϡʔϜΛ࡞੒͢Δ"QQMF αϙʔτ • IUUQTTVQQPSUBQQMFDPNKBKQ)5   ࢀߟ৘ใ