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
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
54
第二回ホスティング事業部TechMTG / Hosting TechMTG No2
harasou
0
85
HosCon Summer 2016 @福岡
harasou
1
240
200万 Webサイトを支える ロリポップ!と mruby
harasou
7
4.4k
ホスティングを支える mruby
harasou
2
2.8k
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
860
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
The SEO Collaboration Effect
kristinabergwall1
1
490
How to build a perfect <img>
jonoalderson
1
5.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
ラッコキーワード サービス紹介資料
rakko
1
3.7M
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
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Ͱ͍͍͠ʯ ɹˠͦͷͱ͓Γ
͜ͷͨΊɺ͍ಓࡧத
Ҏ্
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ