Spuštěno

spuštěno
Typ Systém inicializace systému
Autor Společnost Apple Inc.
Vývojář Jablko
Zapsáno v C
Operační systém Operační Systém Mac
První vydání 29. dubna 2005
Stát Podporováno
Licence Licence Apache 2.0
webová stránka opensource.apple.com/tar...

launchd je open source  init systém macOS vytvořený jako náhrada za SysVinit a SystemStarter . Spuštěný proces má PID 1 a je zodpovědný za spouštění dalších procesů a jejich restart, pokud selže, tj. provádí init funkce (v novějších verzích Linux systemd ). Nahrazuje také cron . Procesy, které běží po spuštění systému před přihlášením, se zapisují do adresáře /Library/LaunchDaemons. Procesy, které se spouštějí po přihlášení, jsou umístěny v adresáři /Library/LaunchAgents. V těchto adresářích se vytvářejí soubory s obsahem xml, které řídí spouštění procesů. Byly pokusy o port spuštěn na FreeBSD a odvozené systémy.

Komponenty

V launchd jsou dva hlavní programy: launchd a launchctl.

launchd spravuje démony na systémové i uživatelské úrovni. Stejně jako xinetd může launchd spouštět démony na vyžádání. Stejně jako watchdogd může launchd monitorovat démony, aby se ujistil, že stále běží.

launchctl je aplikace příkazového řádku, která přistupuje k launchd pomocí IPC a ví, jak analyzovat soubory používané k popisu úloh ke spuštění a serializovat je pomocí specializovaného slovníkového protokolu, kterému launchd rozumí. launchctl lze použít k načítání a uvolňování démonů, spouštění a zastavování spouštěných monitorovaných úloh, získávání statistik využití systému pro spouštěné a jeho podřízené procesy a konfiguraci nastavení prostředí.

spuštěno

launchd má dva hlavní úkoly. Prvním je zavedení systému a druhým načtení a údržba služeb. Zde je zjednodušený pohled na provoz systému Mac OS X Tiger na PowerPC .

  1. Open Firmware se aktivuje, inicializuje hardware a poté načte BootX.
  2. BootX zavede jádro a nahraje všechna potřebná rozšíření jádra (kexty).
  3. Spustilo se načítání jádra. launchd spouští různé skripty, které skenují složku LaunchDaemons voláním launchctl k inicializaci démonů. Poté launchd spustí přihlašovací okno.
  4. Spouštěcí skripty hledají v několika různých adresářích pro spouštění úloh. Kontrolují se dva různé adresáře: Adresáře LaunchDaemons obsahují položky, které budou spuštěny jako root, obvykle procesy na pozadí. Adresáře LaunchAgents obsahují úlohy, nazývané aplikace agentů, které poběží jako uživatel nebo v kontextu uživatelského prostoru. Mohou to být skripty nebo jiné prvky popředí a mohou dokonce obsahovat uživatelské rozhraní. Všechny tyto adresáře jsou uloženy v typických adresářích knihovny macOS.

launchd se velmi liší od SystemStarter v tom, že nemusí spustit všechny démony při bootování. Klíčem ke spuštění, stejně jako xinetd, je spouštění démonů na vyžádání. Když launchctl vypíše úlohy při spouštění, požádá launchd, aby rezervoval a naslouchal na všech portech požadovaných těmito úlohami. Pokud je to specifikováno v listu pomocí klávesy "OnDemand", není démon aktuálně načten. Launchd spíše naslouchá na portu, spustí démona, když je potřeba, a vypne ho, když už není potřeba. Jakmile je démon načten, launchd jej bude sledovat a v případě potřeby se ujistí, že běží. Tímto způsobem je podobný watchdogd a sdílí požadavek watchdogd, aby se procesy nepokoušely rozvětvovat nebo démonizovat. Pokud proces přejde na pozadí, launchd jej ztratí a pokusí se jej restartovat. Mac OS X Tiger se proto načítá mnohem rychleji než předchozí verze. Systém zaregistruje pouze démony, které by měly být spuštěny, a ve skutečnosti je nespustí, dokud nejsou potřeba. Ve skutečnosti je ukazatel průběhu, který se objeví během načítání, jen placebo jménem WaitingForLoginWindow [1] , které ve skutečnosti neukazuje nic jiného než čas. Nejobtížnější součástí správy během spouštění jsou závislosti. SystemStarter má velmi jednoduchý systém závislostí, který používá klíče Uses, Requires a Provides v seznamu položek po spuštění. Při vytváření závislostí pro spuštění na Tigeru existují dvě hlavní strategie: IPC umožňuje démonům hovořit mezi sebou, aby zjistili závislosti, nebo se démoni mohou dívat na soubory nebo měnit cesty. SystemStarter byl stále podporován před OS X Mountain Lion , ale byl odstraněn v OS X Yosemite .

launchctl

V launchd je správa služeb centralizovaná v aplikaci launchctl. Launchctl může sám o sobě přijímat příkazy z příkazového řádku, ze standardního vstupu nebo spouštět interaktivně. S oprávněními superuživatele lze launchctl použít k provádění globálních změn. launchctl komunikuje s launchd prostřednictvím mechanismu IPC specifického pro Mach .

Seznam vlastností

Seznam vlastností (plist) je typ souboru, který launchd používá ke konfiguraci programu. Když launchd prohledá složku nebo je úloha odeslána pomocí launchctl, přečte soubor plist, který popisuje, jak by měl být program spuštěn.

Seznam běžně používaných kláves je uveden níže. Všechny klíče jsou volitelné, pokud není uvedeno jinak. Úplný seznam najdete na manuálové stránce Apple launchd.plist [2] .


Klíče Typ Poznámka
Label Čára Pracovní pozice. Podle konvence je označení úlohy stejné jako název souboru plist, bez přípony .plist. Požadované.
Program Čára Cesta ke spustitelnému souboru. Užitečné pro jednoduché spouštění. Je vyžadován alespoň jeden klíč Program nebo ProgramArguments.
ProgramArguments Pole strun Pole řetězců představujících příkaz UNIX. První řádek je obvykle cesta ke spustitelnému souboru, zatímco poslední řádky obsahují možnosti nebo parametry. Je vyžadován alespoň jeden klíč Program nebo ProgramArguments.
UserName čára

(výchozí root nebo aktuální uživatel)

Úloha bude spuštěna jako daný uživatel, což může nebo nemusí být uživatel, který ji odeslal ke spuštění.
OnDemand

(Zastaralé od 10.5)

logický

(výchozí ANO)

Zastaralé od 10.5 s výkonnější možností KeepAlive. Booleovský příznak, který určuje, zda úloha běží nepřetržitě nebo ne.
RunAtLoad logický

(výchozí NE)

Booleovský příznak, který určuje, zda je úloha spuštěna ihned po načtení úlohy do spuštění.
StartOnMount logický

(výchozí NE)

Booleovský příznak, který určuje, zda se úloha spustí při připojení nového systému souborů.
QueueDirectories Pole strun Hledá v adresáři nové soubory. Adresář musí být na začátku prázdný a musí se vrátit do prázdného stavu, než QueueDirectories znovu spustí svou úlohu.
WatchPaths Pole strun Vyhledá změny v cestě systému souborů. Může to být soubor nebo složka.
StartInterval celé číslo Naplánuje spuštění úlohy podle opakujícího se plánu. Určuje počet sekund čekání mezi spuštěními.
StartCalendarInterval Slovník celých čísel

nebo

Pole celočíselných slovníků

Plánování práce. Syntaxe je podobná Cron
RootDirectory Čára Úloha bude před spuštěním umístěna do tohoto adresáře.
WorkingDirectory Čára Úloha bude před provedením přenesena do tohoto adresáře.

StandardInPath..
StandardOutPath_
StandardErrorPath

Čára Klíče pro specifikaci vstupních a výstupních souborů pro běžící proces.
LowPriorityIO logický Říká jádru, že tato úloha má nízkou prioritu pro I/O souborového systému.
AbandonProcessGroup logický

(výchozí NE)

Booleovský příznak, který určuje, zda podprocesy spuštěné z úlohy spuštěné příkazem launchd budou po skončení úlohy ukončeny. Užitečné, když krátkodobý úkol spustí dlouhodobý dílčí úkol, ale může vést k zombie procesům.
SessionCreate logický

(výchozí NE)

Booleovský příznak, který určuje, zda bude pro úlohu a její podprocesy vytvořena relace zabezpečení.

Zásuvky

Název každého klíče v sekci Sockets bude umístěn do prostředí úlohy při jejím spuštění a deskriptor souboru tohoto soketu bude dostupný v dané proměnné prostředí. To se liší od aktivace soketu systemd v tom, že název definice soketu v konfiguraci úlohy je pevně zakódován do aplikace. Tento protokol je méně flexibilní, i když stejně jako systemd nevyžaduje, aby démon napevno zakódoval počáteční deskriptor souboru (3 [3] od roku 2014 ).

Historie

Software navrhl a napsal Dave Zarzhitsky ve společnosti Apple . Společnost plánovala nahradit všechny následující v prostředí macOS -

Většina z těchto věcí byla vypuštěna, když byl spuštěn s Mac OS X v10.4 (Tiger).

V roce 2005 R. Tyler Croy odložil spuštění FreeBSD v rámci projektu Google Summer of Code. Nelze jej spustit jako PID 1 (pouze inicializace relace) a na této platformě se běžně nepoužívá. [čtyři]

V roce 2006 se uvažovalo o distribuci Linuxu Ubuntu pomocí launchd. Tato možnost byla zamítnuta, protože zdrojový kód byl pod Apple Public License  – popisován jako „nevyhnutelný licenční problém“ [5] . Místo toho vývojáři Ubuntu vyvinuli a přešli na svůj vlastní nástroj pro správu služeb Upstart .

V srpnu 2006 Apple znovu uvedl na trh pod licencí Apache verze 2.0, aby usnadnil přijetí jinými open source vývojáři [6] . Většina distribucí Linuxu používá systemd nebo Upstart nebo nadále používá Init a systémy podobné BSD také nadále používají Init .

V prosinci 2013 R. Tyler Croy oznámil svůj záměr obnovit práci na své verzi spuštěné pro FreeBSD a jeho „openlaunchd“ úložiště Github se následně stalo aktivním [7] .

V roce 2014, počínaje OS X 10.10 a iOS 8 , Apple přesunul kód tak, aby běžel do uzavřeného zdroje libxpc [8] .

V srpnu 2015 Jordan Hubbard a Kip Macy oznámili spuštění NextBSD , které je založeno na jádře FreeBSD-CURRENT a přidali do Mach IPC, Libdispatch, notifyd, asld, launchd a další komponenty odvozené z Darwinu , které se skládá z open source pro macOS . .

spuštěna historie vydání

Verze Licence Byly zahrnuty ve verzi MacOS
spuštěno 106 Apple Public Source License [9]
spuštěno 106.3 Apple Public Source License [12]
  • Mac OS X 10.4.2 [13]
  • Mac OS X 10.4.3 [14]
  • Mac OS X 10.4.4.ppc [15]
  • Mac OS X 10.4.5.ppc [16]
spuštěno 106.10 Apple Public Source License [17]
  • Mac OS X 10.4.4.x86 [18]
  • Mac OS X 10.4.5.x86 [19]
spuštěno 106.13 Apple Public Source License [20]
  • Mac OS X 10.4.6.ppc [21]
  • Mac OS X 10.4.6.x86 [22]
spuštěno 106.14 Apple Public Source License [23]
  • Mac OS X 10.4.7.ppc [24]
  • Mac OS X 10.4.7.x86 [25]
  • Mac OS X 10.4.8.ppc [26]
  • Mac OS X 10.4.9.ppc [27]
  • Mac OS X 10.4.10.ppc [28]
  • Mac OS X 10.4.11.ppc [29]
spuštěno 106.20 Apple Public Source License [30]
  • Mac OS X 10.4.8.x86 [31]
  • Mac OS X 10.4.9.x86 [32]
  • Mac OS X 10.4.10.x86 [33]
  • Mac OS X 10.4.11.x86 [34]
spuštěno 152 Licence Apache 2.0 [35]
spuštěno 257 Licence Apache 2.0 [36]
spuštěno 258.1 Licence Apache 2.0 [39]
  • Mac OS X 10.5.2 [40]
spuštěno 258.12 Licence Apache 2.0 [41]
  • Mac OS X 10.5.3 [42]
  • Mac OS X 10.5.4 [43]
spuštěno 258.18 Licence Apache 2.0 [44]
  • Mac OS X 10.5.5 [45]
spuštěno 258.19 Licence Apache 2.0 [46]
  • Mac OS X 10.5.6 [47]
spuštěno 258.22 Licence Apache 2.0 [48]
  • Mac OS X 10.5.7 [49]
spuštěno 258,25 Licence Apache 2.0 [50]
  • Mac OS X 10.5.8 [51]
spuštěno 328 Licence Apache 2.0 [52]
  • Mac OS X 10.6 [53]
  • Mac OS X 10.6.1 [54]
  • Mac OS X 10.6.2 [55]
spuštěno 329.3 Licence Apache 2.0 [56]
  • Mac OS X 10.6.3 [57]
spuštěno 329.3.1 Licence Apache 2.0 [58]
  • Mac OS X 10.6.4 [59]
spuštěno 329.3.2 Licence Apache 2.0 [60]
  • Mac OS X 10.6.5 [61]
spuštěno 329.3.3 Licence Apache 2.0 [62]
  • Mac OS X 10.6.6 [63]
  • Mac OS X 10.6.7 [64]
  • Mac OS X 10.6.8 [65]
spuštěno 392.18 Licence Apache 2.0 [66]
spuštěno 392,35 Licence Apache 2.0 [69]
  • Mac OS X 10.7.2 [70]
spuštěno 392,36 Licence Apache 2.0 [71]
  • Mac OS X 10.7.3 [72]
spuštěno 392,38 Licence Apache 2.0 [73]
  • Mac OS X 10.7.4 [74]
spuštěno 392,39 Licence Apache 2.0 [75]
  • Mac OS X 10.7.5 [76]
spuštěno 442.21 Licence Apache 2.0 [77]
spuštěno 442.26.2 Licence Apache 2.0 [80]
  • Mac OS X 10.8.2 [81]
  • Mac OS X 10.8.3 [82]
  • Mac OS X 10.8.4 [83]
  • Mac OS X 10.8.5 [84]
spuštěno 842.1.4 Licence Apache 2.0 [85]
spuštěno 842.90.1 Licence Apache 2.0 [88]
spuštěno 842.92.1 Licence Apache 2.0 [91]

Viz také

Odkazy

Poznámky

  1. http://daringfireball.net/misc/2005/04/tiger_details#waitingforloginwindow Archivováno 23. dubna 2007 na Wayback Machine Daring Fireball: Tiger Details
  2. Manuální stránka Mac OS X pro launchd.plist(5) . Získáno 15. prosince 2019. Archivováno z originálu dne 26. srpna 2009.
  3. malý-velký-h. node-launchd . Získáno 10. dubna 2014. Archivováno z originálu 13. dubna 2014.
  4. Spuštěno . Wiki FreeBSD . Získáno 8. prosince 2013. Archivováno z originálu 14. prosince 2013.
  5. ReplacementInit . UbuntuWiki. Získáno 2. července 2007. Archivováno z originálu dne 4. června 2011.
  6. Prabhakar, Ernest Apple se otevírá: jádro, Mac OS Forge, iCal Server, Bonjour, spuštěno (stahování) (7. srpna 2006). Získáno 2. července 2007. Archivováno z originálu dne 20. srpna 2011. 
  7. Croy, R Tyler Nejdrsnější vousy na krk nebo FreeBSD na mém Thinkpadu X200 . neetický blogger.com . Získáno 8. prosince 2013. Archivováno z originálu 13. prosince 2013.
  8. Levin, Jonathan spuštěn – k vašim službám! (PDF) 32 (2014). - "... 10.10: přesunuto na libxpc 559 (560 v iOS 8) - Zdroj zatím není k dispozici - a možná nikdy nebude - Libxpc je uzavřený zdrojový projekt ...". Získáno 3. září 2016. Archivováno z originálu 7. února 2016.
  9. spustil licenční soubor 106 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  10. Mac OS X 10.4 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  11. Mac OS X 10.4.1 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  12. spuštěn licenční soubor 106.3 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  13. Mac OS X 10.4.2 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  14. Mac OS X 10.4.3 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  15. Mac OS X 10.4.4.ppc – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 17. října 2020.
  16. Mac OS X 10.4.5.ppc – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  17. spuštěn licenční soubor 106.10 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  18. Mac OS X 10.4.4.x86 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  19. Mac OS X 10.4.5.x86 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  20. spuštěn licenční soubor 106.13 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  21. Mac OS X 10.4.6.ppc – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 10. října 2020.
  22. Mac OS X 10.4.6.x86 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  23. spuštěn licenční soubor 106.14 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  24. Mac OS X 10.4.7.ppc – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  25. Mac OS X 10.4.7.x86 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  26. Mac OS X 10.4.8.ppc – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  27. Mac OS X 10.4.9.ppc – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  28. Mac OS X 10.4.10.ppc – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  29. Mac OS X 10.4.11.ppc – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  30. spuštěn licenční soubor 106.20 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  31. Mac OS X 10.4.8.x86 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  32. Mac OS X 10.4.9.x86 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  33. Mac OS X 10.4.10.x86 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  34. Mac OS X 10.4.11.x86 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  35. spustil licenční soubor 152 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  36. spustil licenční soubor 257 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  37. Mac OS X 10.5 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  38. Mac OS X 10.5.1 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  39. spustil licenční soubor 258.1 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  40. Mac OS X 10.5.2 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  41. spuštěn licenční soubor 258.12 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  42. Mac OS X 10.5.3 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  43. Mac OS X 10.5.4 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  44. spustil licenční soubor 258.18 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  45. Mac OS X 10.5.5 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  46. spustil licenční soubor 258.19 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  47. Mac OS X 10.5.6 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  48. spustil licenční soubor 258.22 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  49. Mac OS X 10.5.7 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  50. spustil licenční soubor 258.25 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  51. Mac OS X 10.5.8 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu 11. října 2019.
  52. spustil licenční soubor 328 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  53. Mac OS X 10.6 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  54. Mac OS X 10.6.1 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  55. Mac OS X 10.6.2 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  56. spustil licenční soubor 329.3 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  57. Mac OS X 10.6.3 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  58. spustil licenční soubor 329.3.1 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  59. Mac OS X 10.6.4 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  60. spuštěn licenční soubor 329.3.2 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  61. Mac OS X 10.6.5 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  62. spuštěn licenční soubor 329.3.3 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  63. Mac OS X 10.6.6 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  64. Mac OS X 10.6.7 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  65. Mac OS X 10.6.8 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  66. spustil licenční soubor 392.18 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  67. Mac OS X 10.7 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  68. Mac OS X 10.7.1 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  69. spustil licenční soubor 392.35 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  70. Mac OS X 10.7.2 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  71. spustil licenční soubor 392.36 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  72. Mac OS X 10.7.3 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  73. spustil licenční soubor 392.38 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  74. Mac OS X 10.7.4 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  75. spustil licenční soubor 392.39 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  76. Mac OS X 10.7.5 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  77. hlavička licence ve spuštěném zdrojovém kódu 442.21 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  78. Mac OS X 10.8 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  79. Mac OS X 10.8.1 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  80. hlavička licence ve spuštěném zdrojovém kódu 442.26.2 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  81. Mac OS X 10.8.2 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  82. Mac OS X 10.8.3 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  83. Mac OS X 10.8.4 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  84. Mac OS X 10.8.5 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  85. hlavička licence ve spouštěném zdrojovém kódu 842.1.4 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  86. OS X 10.9 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  87. OS X 10.9.1 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  88. hlavička licence ve zdrojovém kódu spuštěného 842.90.1 . Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  89. OS X 10.9.2 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  90. OS X 10.9.3 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.
  91. hlavička licence ve spouštěném zdrojovém kódu 842.92.1 . Získáno 13. prosince 2019. Archivováno z originálu dne 24. září 2018.
  92. OS X 10.9.4 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 21. září 2020.
  93. OS X 10.9.5 – Zdroj . Získáno 13. prosince 2019. Archivováno z originálu dne 20. října 2020.