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
55
第二回ホスティング事業部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
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
190
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.4k
A Soul's Torment
seathinner
6
3.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
GitHub's CSS Performance
jonrohan
1033
470k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
380
How to Talk to Developers About Accessibility
jct
2
340
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
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Ͱ͍͍͠ʯ ɹˠͦͷͱ͓Γ
͜ͷͨΊɺ͍ಓࡧத
Ҏ্
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ