Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ホスティングにおける fuse の利用
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
harasou
March 22, 2019
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ホスティングにおける fuse の利用
harasou
March 22, 2019
More Decks by harasou
See All by harasou
エボルバビジネスサポート勉強会
harasou
0
58
第二回ホスティング事業部TechMTG / Hosting TechMTG No2
harasou
0
88
HosCon Summer 2016 @福岡
harasou
1
240
200万 Webサイトを支える ロリポップ!と mruby
harasou
7
4.4k
ホスティングを支える mruby
harasou
2
2.8k
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.7k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
Navigating Team Friction
lara
192
16k
From π to Pie charts
rasagy
0
360
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
520
4 Signs Your Business is Dying
shpigford
187
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.7k
Six Lessons from altMBA
skipperchong
29
4.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Transcript
ϨΨγʔγεςϜΛࢧ͑Δٕज़ ݪޱफޛ(.01FQBCP *OD )PTUJOH$BTVBM5BMLT ϗεςΟϯάʹ͓͚ΔGVTFͷར༻
࣍ wϩϦϙοϓʂͷհ wγεςϜߏͷఀ wGVTFCJOEFYͷհ
ΠϯϑϥΤϯδχΞ ݪޱफޛ!IBSBTPV ϗεςΟϯάࣄۀ෦ϗεςΟϯάάϧʔϓ ΠϯϑϥνʔϜʢ࠽ʣ IUUQTIBSBTPVKQ
ϩϦϙοϓʂͷ͝հ
ϩϦϙοϓʂͷྺ࢙Πϯϑϥฤ wੜɻ͘͞Β͞Μͷઐ༻αʔόΛར༻ɻ શϩʔϧʢXFC NBJM ECʣΛʹࡌͤͨߏɻ ࠷ऴతʹ͙Β͍ w(.0ͷσʔληϯλʔɻϩʔϧ͝ͱʹઐ༻αʔόΛཱͯΔ ߏʹมߋɻϦόʔεϓϩΩγͷಋೖ͜ͷλΠϛϯά w8PSEQSFTTͷେنվ͟Μʢݖݶෆඋˍ'PMMPX4ZNMJOLTʣ wNPE@QIQಋೖ
wϦόʔεϓϩΩγΛBQBDIFˠOHJOYʹɻIUUQରԠ wແྉ44-ಋೖʢOHY@NSVCZʣ
ϩϦϙοϓʂͷߏ wߏஙɿDPCCMFSQVQQFUʹΑΔߏங wࢹɿOBHJPTNPOJUʹΑΔࢹ wߏɿ wΧελϚʔ%#ͱ࿈ܞ͢ΔQFSMͰ࡞͞Εͨ"1*܈ wϩʔυόϥϯαˠϦόʔεϓϩΩγˠ8&#αʔόͷ̏ஈߏ w8&#αʔόɿ w"QBDIFΛ༻ wϢʔβ͕IUBDDFTTΛར༻͍ͯ͠ΔͨΊOHJOYͳͲͷΓ͕͑ ͍͠ɻMJUFTQFFEʁ
͜ͷߏɺ ؒ΄ͱΜͲมΘ͍ͬͯͳ͍ʜ
มԽେࣄ
ͳΊΒ͔ͳγεςϜ
ͳΊΒ͔ͳγεςϜͱ ग़యɿIUUQTTQFBLFSEFDLDPNNBUTVNPUP@SOVNCFSIPTDPOOBNFSBLBE
ʮαʔόͷഁյͱ࠶ߏஙʯ
ͳΊγεͷҰา αʔό্ʹ͔͠ͳ͍σʔλͱ͔ ͋ͬͨΒɺ·͍ͣΑͶʁ
ͳΊγεͷҰา w·ͣʮ"QBDIFͷWIPTUΛ%#Խʯ͠Α͏ w೦ͳ͕Βɺݱঢ়ͷNPE@NSVCZͰແཧ w͍Ζ͍Ζ͋ΔNPE@WIPTUYYYͱ͑ɺ͍͚ͦ͏Ͱ͋Δ wͰɺ΄ͱΜͲϝϯς͞Εͯͳ͍͠ɺ͓͠ΖΈ͕ͳ͍
Ͱɺ࡞Γ·ͨ͠ɻ GVTFCJOEFY
GVTFCJOEFYͷએ
GVTFCJOEFYͷಛ wϢʔβۭؒͰϑΝΠϧγεςϜΛ࣮ՄೳͳMJCGVTFΛ͔ͭͬͯɺಠࣗ ͷϑΝΠϧγεςϜΛ࡞ w࣮ߦϑΝΠϧΛɺಠࣗϑΝΠϧγεςϜʢGVTFCJOEFYEʣܦ༝Ͱ PQFOSFBEʢྫ͑DBUʣ͢ΔͱɺରͷϑΝΠϧΛFYFDWFͨ͠ ݁Ռ͕ฦΔ # cat /var/lib/bindex/now Thu
Mar 21 20:02:01 UTC 2019 # # cat /var/lib/bindex/now Thu Mar 21 20:02:07 UTC 2019
GVTFCJOEFY४උ # ls -l /opt/bindex/ /var/lib/bindex/ /opt/bindex/: total 4 -rw-r--r--
1 root root 18 Mar 21 19:52 now /var/lib/bindex/: total 0 # # bindexd /opt/bindex/ /var/lib/bindex/ # # ls -l /opt/bindex/ /var/lib/bindex/ /opt/bindex/: total 4 -rw-r--r-- 1 root root 18 Mar 21 19:52 now /var/lib/bindex/: total 4 -rw-r--r-- 1 root root 18 Mar 21 19:52 now wCJOENPVOUͷ༷ʹ ʮϚϯτݩʢ/opt/bindexʣʯͱ ʮϚϯτઌʢ/var/lib/bindexʣʯΛ ༻ҙ͠CJOEFYEΛ࣮ߦ wϚϯτઌʢ/var/lib/bindexʣʹ Ϛϯτݩͱಉ͡ϑΝΠϧ͕ݟ͑Δ
GVTFCJOEFY࣮ߦྫ # cat /opt/bindex/now #!/bin/bash date # # cat /var/lib/bindex/now
#!/bin/bash date wϚϯτݩʢ/opt/bindexʣʹ͋Δ ϑΝΠϧɺϚϯτઌʢ/var/lib/ bindexʣͰಉ༷͡ʹݟ͑Δ wϚϯτݩʢ/opt/bindexʣͷϑΝΠ ϧ͕ʮ࣮ߦϑΝΠϧʯͩͬͨ߹ɺ ϚϯτઌͰͦͷϑΝΠϧΛPQFO SFBEʢDBUʣ͢Δͱɺ ࣮ߦϑΝΠϧΛFYFDWFͨ݁͠Ռʢඪ ४ग़ྗɾඪ४Τϥʔग़ྗʣ͕ฦΔ # chmod +x /opt/bindex/now # # cat /var/lib/bindex/now Thu Mar 21 20:02:01 UTC 2019 # # cat /var/lib/bindex/now Thu Mar 21 20:02:07 UTC 2019
GVTFCJOEFYఆར༻γʔϯ ϛυϧΣΞʹҙࣝͤ͞ͳ͍ܗͰɺઃఆϑΝΠϧͳͲΛಈతͳʹ มߋͰ͖Δɻ wBQBDIFͷઃఆϑΝΠϧ wIPTUT w44-ূ໌ॻ wSTZOEDPOG wFUD
GVTFCJOEFY࣮ PQFOTZTUFNDBMM int bindex_open(const char *path, struct fuse_file_info *fi) {
: if (should_execute(&buf)) { : if ((fd = mkonetimefd()) == -1) { return -errno; } if ((pid = fork()) < 0) { return -errno; } /* child */ if (pid == 0) { dup2(fd, 1); dup2(fd, 2); argv[0] = (char *)real_path; argv[1] = NULL; execve(real_path, argv, environ); ࣮ߦϑΝΠϧ͔ఆ ςϯϙϥϦϑΝΠϧΛ࡞ ɻʢ࡞ͱಉ࣌ʹ VOMJOLʣ ࢠϓϩηεΛੜͯ͠ɺ ඪ४ग़ྗɾඪ४Τϥʔग़ ྗΛςϯϙϥϦϑΝΠϧ ʹ͚Δ ࣮ߦϑΝΠϧΛ࣮ߦͯ͠ ͋ͱɺPQFOͨ͠ϓϩη ε͕ɺςϯϙϥϦϑΝΠ ϧͷGEܦ༝ͰSFBE ʢCJOEFY@SFBEʣ
ศརͦ͏Ͱ͢ͶΑʂʁ
GVTFCJOEFYͰ ϨΨγʔγεςϜΛ ͳΊΒ͔ʹͯ͠ߦ͖·͠ΐ͏ʂ
ͱɺ͍͍͍ͨͱ͜ΖͰ͕͢ɺ
GVTFCJOEFYͷμϝμϝͳͱ͜Ζ wJOPUJGZʹରԠ͍ͯ͠ͳ͍ͨΊɺ ʮมߋΛݕͯ͠ϛυϧΣΞΛSFMPBEʯͷΑ͏ͳ͜ͱ͕ ɹͰ͖ͳ͍ wʮผʹDPOTVMUFNQMBUFͰΑ͘ͳ͍ʁʯʮ࠷ѱDSPOͰ͍͍͠ʯ ɹˠͦͷͱ͓Γ
͜ͷͨΊɺ͍ಓࡧத
Ҏ্
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ