OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

38

description

Project Atomicでも使用されている環境バージョニングシステムの「OSTree」について、概要を説明します。

Transcript of OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

Page 1: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 2: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 3: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

OSTree

Project Atomic✄�✁✂☎✆✝✞OSTree✟

✠✡☛☞✌✍✎✏✑✒✓✔✕✖✗�

Page 4: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 5: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

✆�✁✂✄☎✝✞✟✠✡☛☞✌✍✎✏✑

Page 6: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 7: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

☎�✁✂✄✆✝✞✟✠✡☛☞✌✄✍✎✏✄✑✂✡✒

Page 8: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 9: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

Page 10: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

OSTree

Git✄�✁✂☎✆✝✞✟✠Tree)✡☛☞✌✍

Page 11: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

1

Page 12: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

Linux

Page 13: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

chroot

Page 14: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 15: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

Git✄�✁✂☎✆✝✞✟

✠Docker✄✡☛☞✌✍✎✏✑✒✓✔

Page 16: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

!"✂�✁✄☎✆✝✞✟✠✡☛�☞✌✍"

!"#$%&'"#()'**"

"

! ✢✎✏✑✒✓✔✠✁☛✝✕✖✗"

!"+,)'**"-%#&."&.&)/0,"#()'**"

"

!"✒✓✔✠✁☛✝✘✙"

!"1,"#()'**"

2++)""%*3""4+#*""+,)'**""5'+6"

'++)""'7."",(,"")#5"

"

!"✢✚✛✜✣☛"

!"+,)'**"6+##&)"#()'**"//2'-.64"

#-,)*'"

!"8*0✝✘✙"

!"+,)'**"'*0,"

#-,)*'"

"

!"✤✥✦✧★✩✍✪✫✬✭✝✮✯"

!"+,)'**"1,"#-,)*'"

%99:;;"9"9""""""9"<"

%99:;;"9"9""""""9"<2++)"

%99:;;"9"9""""""9"<%*3"

%99:;;"9"9""""""9"<4+#*"

%99:;;"9"9""""""9"<+,)'**"

%99:;;"9"9""""""9"<5'+6"

%99:99"9"9""""""9"<'++)"

%99:;;"9"9""""""9"<'7."

%99:;;"9"9""""""9"<,(,"

%9=:;;"9"9""""""9"<)#5"

"

Page 17: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

!"✂�✁✄☎✆✝✞✟✠"

!"*64+">)*,)>"?"#()'**<0++2-'"

"

!"@✡☛☞✌✍✎✏"

!"+,)'**"6+##&)"#()'**"//2'-.64"

#-,)*'"

"

!"✑✒✓☞✔✕"

!"+,)'**"%&00""#-,)*'"

A""""<0++2-'"

"

!"✌✍✎✏✖✗☞✔✕"

!"+,)'**"1+B"#-,)*'"6+##&)"-*=;C6C%DEDFEG;-EF:=:=@G6%DG9=%%@;29:-G66DC;--262E

D%0GF=2%;%=;29"

H-)*I""@9=E/9;/@D"9CI9CI;9"J9999"

"

""""A%%"0++2-'"

"

6+##&)"CD-FD*D:0;CF%*6FF%06E%GD@69G2ED9=D-E6FF;-;%*CDGG2G

@09DE:2F6-6FF2"

H-)*I""@9=E/9;/@D"9CI9FI9="J9999"

"

""""K.&)&-1&L*"

"

!"1,✘✙✂�✁✄✚✛✜✞✢✠"

!"+,)'**"1,"#-,)*'"%99:;;"9"9""""""9"<"

/99FEE"9"9"""""";"<0++2-'"

%99:;;"9"9""""""9"<2++)"

%99:;;"9"9""""""9"<%*3"

%99:;;"9"9""""""9"<4+#*"

%99:;;"9"9""""""9"<+,)'**"

%99:;;"9"9""""""9"<5'+6"

%99:99"9"9""""""9"<'++)"

%99:;;"9"9""""""9"<'7."

%99:;;"9"9""""""9"<,(,"

%9=:;;"9"9""""""9"<)#5"

Page 18: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

Git✄�✁✂☎✆✝✞✟

✠Docker✄✡☛☞✌✍✎✏✑✒✓✔

Page 19: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

/home /var /usr /bin /sbin /lib /lib64

/home /var /usr /bin /sbin /lib /lib64

+,)'**"%*51+("#-,)*'"

+,)'**"-%#&.",M&)64"NHOPQRSTOUVWKH?

✞�✁✂

✠✄�✁✂

✟☎✆✝✡chroot☛☞✄✌✍✎✏✑✒

✓ deploy✔✕✖✗✘✙✚✛✜✢✣✤✥✦✧★✩/ostree/deploy✪✫✬✗✘ID✩✭✮✘✯

Page 20: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

Page 21: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

/home /var /usr /bin /sbin /lib /lib64

/home /var /usr /bin /sbin /lib /lib64

+,)'**"-%#&.",M&)64"NHOPQRSTOUVWKH?

✞�✁✂

✠✄�✁✂

Page 22: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

Page 23: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 24: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

Page 25: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

•  /ostree ✄�✁✂☎✁✆✝

•  deployment✞ /ostree/deploy/<osname>

•  chroot✟✠✁✆✝✡☛inode☞✌✍ !"!"#$%#&##

'(")*++',+-!(.'-*(/+0)$1)(2%0$0(3)*(!!+*',+-!(.'14056789898:,466+,457;;;7695<6=6>977+:7741>715=9?69:>=1?+6>;6,?:@?'#

@FE;;EF="2&."""@FE;;EF@"4+#*"""@FE;;EFF"#.)"""""@FE;;EFC"'++)"""GDGCD;D",(,""""""@FG;FG=D"3-'"

"""""F;@"2++)""@FE;;EFD"1&2""""@FE;;EF:"+5)""""""""""F;D"'7."""=FG=GC=C",(,'++)"

=FG=GC=G"%*3"""@FE;;EFE"1&2FE""@FE;;EFG"+,)'**""@FE;;E:9",2&.""@FE;;E:@")#5"

"""DG9EG"*)6"""@FE;;EF;"#*%&-""@FE;;E:D"5'+6""""@FE;;E:=",'3"""@FE;;E:E"7,'"

"

!"!"#$%#'#

@FE;;EF="2&."""@FE;;EF@"4+#*"""@FE;;EFF"#.)"""""@FE;;EFC"'++)"""""""""=",(,"""""""GDGG:E9"3-'"

"""""""@"2++)""@FE;;EFD"1&2""""@FE;;EF:"+5)"""""""""FD=9"'7.""""""""=@G",(,'++)"

"""""""D"%*3"""@FE;;EFE"1&2FE""@FE;;EFG"+,)'**""@FE;;E:9",2&.""@FE;;E:@")#5"

"""DG9EG"*)6"""@FE;;EF;"#*%&-"""""""""="5'+6""""@FE;;E:=",'3"""@FE;;E:E"7,'

Page 26: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 27: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 28: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 29: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 30: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
Page 31: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

rpm-ostree•  ostree✄ –  rpm ✞�✁✂☎✆

– https://github.com/cgwalters/rpm-ostree

•  JSON rpmrpm-

ostree treecompose

•  upgrade ✄

Page 32: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

!"✡�✁✂✄☎✆✝✞✟✠☛"

!"#$%&'",'3"

!"6%",'3"

"

! ☎✢☞✝✞✌✍✎ Z✏✑✒✓✔✕✖☛✗✘✙-'64&3*/L@✚✠☛["

!"+,)'**"//'*5+b<'++)<,'3<'*5+"//#+%*"-'643*/L@"&.&)"

"

!"✛✜☞✣✆✝✤✚✥✦✧☛"

!"1,"'*5+"

6+.0&B""+2X*6),""'*0,"

'*#+)*/6-64*"")#5"

"

!"'*5+✟★✩✪✦✫✬✭✝"

,)'**"6+##&)"#()'**"//'*5+b<'++)<)*,)<'*5+"//2'-.64".*M#-,)*'"

HTTP✮✯✰✱✲✳✴✵✶✯✷✲✳✸✹✺✻✼✽✷✾✿❀❁✲❂❃pull✮❄✼

Page 33: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

Page 34: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

v.s. OS

•  VM

• 

Page 35: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

v.s. Google ChromeOS autoupdate

•  CoreOS✄�✁✂☎✆✝✞✟✠✡☛

•  ☞✌✍✎✏✑✒✟✓✔✕✖☛✗✘✙✂✚✛✜✢✣✤✥✦✧

•  ☞✌✍✎✏✑✒✢★✩✪☛✂✚✫✬✭✮✏✯✍✰✂✱☎✄✲✳☛

•  ✴✎✯✵✶✠✛✜✢✷✡✸2✹✺✻✼

•  ✽✾✿✚❀❁✌✮❂❃✵❀1❄❅✂❆❇❈✌❉

•  OSTree✂✝✢❊❋✙★●❍

Page 36: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

v.s. Chef

• 

•  Chef

• 

– ✡ � ✁

–  � � ✁

Page 37: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを

© 2014 Nippon Telegraph and Telephone Corporation

v.s. Docker

• 

•  Docker

Page 38: OSTree: OSイメージとパッケージシステムの間にGitのアプローチを