Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ホスティングにおける fuse の利用
Search
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
57
第二回ホスティング事業部TechMTG / Hosting TechMTG No2
harasou
0
86
HosCon Summer 2016 @福岡
harasou
1
240
200万 Webサイトを支える ロリポップ!と mruby
harasou
7
4.4k
ホスティングを支える mruby
harasou
2
2.8k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
A better future with KSS
kneath
240
18k
A designer walks into a library…
pauljervisheath
211
24k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
660
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
480
The Limits of Empathy - UXLibs8
cassininazir
1
620
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
790
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
260
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
430
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Ͱ͍͍͠ʯ ɹˠͦͷͱ͓Γ
͜ͷͨΊɺ͍ಓࡧத
Ҏ্
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ