เดตเต†เตผเดšเตเดตเตฝ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ LinuxเดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด…เดต เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเดจเตเดจเดคเต, เด…เดต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต? เดญเดพเด—เด‚ 2

เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เดจเดฎเดธเตเด•เดพเดฐเด‚, โ€œเดตเต†เตผเดšเตเดตเตฝ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เด‡เตปโ€ เดŽเดจเตเดจ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เด‚ เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดชเด™เตเด•เดฟเดŸเตเดจเตเดจเต. Linux: ะทะฐั‡ะตะผ ะพะฝะธ ะฝัƒะถะฝั‹ ะธ ะบะฐะบ ะพะฝะธ ั€ะฐะฑะพั‚ะฐัŽั‚?ยป ะŸะตั€ะฒัƒัŽ ั‡ะฐัั‚ัŒ ะผะพะถะฝะพ ะฟั€ะพั‡ะธั‚ะฐั‚ัŒ เด‡เดตเดฟเดŸเต†. เดˆ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฃเด™เตเด™เดณเตเดŸเต† เดชเดฐเดฎเตเดชเดฐ เด•เต‹เดดเตโ€Œเดธเดฟเตฝ เด’เดฐเต เดชเตเดคเดฟเดฏ เดธเตเดŸเตเดฐเต€เด‚ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต‹เดŸเต เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจ เดธเดฎเดฏเดฎเดพเดฃเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเต† เด“เตผเดฎเตเดฎเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚. "เด…เดกเตเดฎเดฟเดจเดฟเดธเตเดŸเตเดฐเต‡เดฑเตเดฑเตผ Linuxยป, เด…เดคเต เดตเดณเดฐเต† เดตเต‡เด—เด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต.

eBPF, bcc เดŸเต‚เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต VFS เดŽเด™เตเด™เดจเต† เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚

เดซเดฏเดฒเตเด•เดณเดฟเตฝ เด•เต‡เตผเดฃเตฝ เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเดจเตเดณเตเดณ เดŽเดณเตเดชเตเดชเดตเดดเดฟ sysfs เด‡เดคเต เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เด•เดพเดฃเตเด• เดŽเดจเตเดจเดคเดพเดฃเต, ARM64 เด•เดพเดฃเดพเดจเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เดŽเดณเตเดชเตเดช เดฎเดพเตผเด—เด‚ eBPF เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต. eBPF (เดฌเต†เตผเด•เตเด•เตโ€Œเดฒเดฟ เดชเดพเด•เตเด•เดฑเตเดฑเต เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเดจเตเดฑเต† เดšเตเดฐเตเด•เตเด•เด‚) เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต เด•เดพเดฎเตเดชเต, เดเดคเต เดชเตเดฐเดคเตเดฏเต‡เด• เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เดพเด‚ (query) เด•เดฎเดพเตปเดกเต เดฒเตˆเดจเดฟเตฝ เดจเดฟเดจเตเดจเต. เด•เต‡เตผเดฃเดฒเดฟเดจเต เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเต เด•เต‡เตผเดฃเตฝ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดตเดพเดฏเดจเด•เตเด•เดพเดฐเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต; เด’เดฐเต เดฒเต‹เดกเต เดšเต†เดฏเตเดค เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ eBPF เดŸเต‚เดณเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เด•เต‡เตผเดฃเตฝ เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต†เดจเตเดจเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเต†เตผเดšเตเดตเตฝ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ LinuxเดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด…เดต เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเดจเตเดจเดคเต, เด…เดต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต? เดญเดพเด—เด‚ 2

เดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เดŸเต‚เดณเตเด•เดณเตเดŸเต† เดธเดนเดพเดฏเดคเตเดคเต‹เดŸเต† eBPF เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเดคเต เดตเดณเดฐเต† เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต เดฌเดฟเดธเดฟเดธเดฟ, เดชเตŠเดคเตเดตเดพเดฏ เดตเดฟเดคเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดพเด•เตเด•เต‡เดœเตเด•เดณเดพเดฏเดฟ เดฒเดญเตเดฏเดฎเดพเดฃเต Linux เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต เดฌเต†เตผเดฃเดพเดกเต เด—เตเดฐเต†เด—เต. เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ bcc เดธเดฟ เด•เต‹เดกเดฟเดจเตเดฑเต† เดšเต†เดฑเดฟเดฏ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เดณเตเดณเตเดณ เดชเตˆเดคเตเดคเตบ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เดณเดพเดฃเต, เด…เดคเดพเดฏเดคเต เดฐเดฃเตเดŸเต เดญเดพเดทเด•เดณเตเด‚ เดชเดฐเดฟเดšเดฏเดฎเตเดณเตเดณ เด†เตผเด•เตเด•เตเด‚ เด…เดต เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดชเดฐเดฟเดทเตเด•เดฐเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. IN bcc/tools 80 เดชเตˆเดคเตเดคเตบ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เด‰เดฃเตเดŸเต, เด…เดคเดฟเดจเตผเดคเตเดฅเด‚ เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เด’เดฐเต เดกเดตเดฒเดชเตเดชเตผ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด…เดกเตเดฎเดฟเดจเดฟเดธเตเดŸเตเดฐเต‡เดฑเตเดฑเตผเด•เตเด•เต เดชเตเดฐเดถเตเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ เดŽเดจเตเดจเดพเดฃเต.
เด’เดฐเต เดฑเดฃเตเดฃเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ VFS-เด•เตพ เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเตเดจเตเดจเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด‰เดชเดฐเดฟเดชเตเดฒเดตเดฎเดพเดฏ เด’เดฐเต เด†เดถเดฏเดฎเต†เด™เตเด•เดฟเดฒเตเด‚ เดฒเดญเดฟเด•เตเด•เดพเตป, เดถเตเดฐเดฎเดฟเด•เตเด•เตเด• vfscount เด…เดฅเดตเดพ vfsstat. เด‡เดคเต เดกเดธเตป เด•เดฃเด•เตเด•เดฟเดจเต เด•เต‹เดณเตเด•เตพ เด•เดพเดฃเดฟเด•เตเด•เตเด‚ vfs_open() เด•เต‚เดŸเดพเดคเต† "เด…เดตเดจเตเดฑเต† เดธเตเดนเตƒเดคเตเดคเตเด•เตเด•เตพ" เด…เด•เตเดทเดฐเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด“เดฐเต‹ เดธเต†เด•เตเด•เตปเดกเดฟเดฒเตเด‚ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเต†เตผเดšเตเดตเตฝ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ LinuxเดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด…เดต เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเดจเตเดจเดคเต, เด…เดต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต? เดญเดพเด—เด‚ 2

vfsstat.py เดตเดฟเดŽเดซเตเดŽเดธเต เดซเด‚เด—เตโ€Œเดทเตป เด•เต‹เดณเตเด•เตพ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจ เดธเดฟ เด•เต‹เดกเต เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เดณเตเดณเตเดณ เด’เดฐเต เดชเตˆเดคเตเดคเตบ เดธเตโ€Œเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดพเดฃเต.

เดจเดฎเตเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดจเดฟเดธเตเดธเดพเดฐเดฎเดพเดฏ เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เดจเตฝเด•เตเด•เดฏเตเด‚ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเดฒเต‡เด•เตเด•เต USB เดซเตเดฒเดพเดทเต เดกเตเดฐเตˆเดตเต เดคเดฟเดฐเตเด•เตเด•เดฏเตเด‚ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด…เดคเต เด•เดฃเตเดŸเต†เดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚.

เดตเต†เตผเดšเตเดตเตฝ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ LinuxเดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด…เดต เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเดจเตเดจเดคเต, เด…เดต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต? เดญเดพเด—เด‚ 2

eBPF เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚ /sysเด’เดฐเต USB เดซเตเดฒเดพเดทเต เดกเตเดฐเตˆเดตเต เดšเต‡เตผเด•เตเด•เตเดฎเตเดชเต‹เตพ. เดฒเดณเดฟเดคเดตเตเด‚ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดตเตเดฎเดพเดฏ เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‡เดตเดฟเดŸเต† เด•เดพเดฃเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดฎเตเด•เดณเดฟเตฝ เด•เดพเดฃเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, bcc เด‰เดชเด•เดฐเดฃเด‚ trace.py เด•เดฎเดพเตปเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด’เดฐเต เดธเดจเตเดฆเต‡เดถเด‚ เดชเตเดฐเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต sysfs_create_files(). เดžเด™เตเด™เตพ เด…เดคเต เด•เดพเดฃเตเดจเตเดจเต sysfs_create_files() เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเดฟเด•เตเดทเต‡เดชเดฟเดšเตเดšเต kworker เดซเตเดฒเดพเดทเต เดกเตเดฐเตˆเดตเต เดšเต‡เตผเดคเตเดคเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเดพเดฏเดฟ เดธเตเดŸเตเดฐเต€เด‚ เดšเต†เดฏเตเดฏเตเด•, เดŽเดจเตเดจเดพเตฝ เดเดคเต เดซเดฏเตฝ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต? เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‡เดฌเดฟเดชเดฟเดŽเดซเดฟเดจเตเดฑเต† เดถเด•เตเดคเดฟ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดตเดฟเดŸเต† trace.py เด’เดฐเต เด•เต‡เตผเดฃเตฝ เดฌเดพเด•เตเด•เตเดŸเตเดฐเต†เดฏเดฟเดธเตเด‚ (-K เด“เดชเตเดทเตป) เดธเตƒเดทเตเดŸเดฟเดšเตเดš เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเตเด‚ เดชเตเดฐเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต sysfs_create_files(). LLVM เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เดชเตˆเดคเตเดคเตบ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดจเตฝเด•เตเดจเตเดจ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเดตเตเดจเตเดจ เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจ เดธเดฟ เด•เต‹เดกเดพเดฃเต เดธเดฟเด‚เด—เดฟเตพ เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตเดฎเต†เดจเตเดฑเต เด‡เตปเดธเต‡เตผเดทเตป เดœเดธเตเดฑเตเดฑเต-เด‡เตป-เดŸเตˆเด‚ เด•เด‚เดชเตˆเดฒเตผ. เด‡เดคเต เดˆ เดฒเตˆเตป เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด•เต‡เตผเดฃเดฒเดฟเดจเตเดณเตเดณเดฟเดฒเต† เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเตฝ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจ เด’เดชเตเดชเต sysfs_create_files () เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เด•เดฎเดพเตปเดกเดฟเตฝ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดฃเด‚, เด…เด™เตเด™เดจเต† เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เดธเตเดŸเตเดฐเดฟเด‚เด—เดฟเดจเต เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเดฟเดฒเตŠเดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เดˆ เดธเดฟ เด•เต‹เดกเดฟเดฒเต† เดชเดฟเดถเด•เตเด•เตพ เดธเดฟ เด•เดฎเตเดชเตˆเดฒเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเดตเตเดจเตเดจ เดชเดฟเดถเด•เตเด•เตพเด•เตเด•เต เด•เดพเดฐเดฃเดฎเดพเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, -l เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เด’เดดเดฟเดตเดพเด•เตเด•เดฟเดฏเดพเตฝ, "BPF เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเตฝ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸเต" เดŽเดจเตเดจเต เดจเดฟเด™เตเด™เตพ เด•เดพเดฃเตเด‚. เดธเดฟ, เดชเตˆเดคเตเดคเตบ เดŽเดจเตเดจเดฟเดตเดฏเตเดฎเดพเดฏเดฟ เดชเดฐเดฟเดšเดฏเดฎเตเดณเตเดณ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเด‚ bcc เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เดฎเดพเดฑเตเดฑเดพเดจเตเด‚ เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต.

USB เดกเตเดฐเตˆเดตเต เดšเต‡เตผเด•เตเด•เตเดฎเตเดชเต‹เตพ, PID 7711 เด’เดฐเต เดคเตเดฐเต†เดกเต เด†เดฃเต†เดจเตเดจเต เด•เต‡เตผเดฃเตฝ เดฌเดพเด•เตเด•เตเดŸเตเดฐเต†เดฏเดฟเดธเต เด•เดพเดฃเดฟเด•เตเด•เตเด‚. kworkerเดซเดฏเตฝ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดคเต ยซeventsยป ะฒ sysfs. เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต, เดจเดฟเดจเตเดจเตเดณเตเดณ เดตเดฟเดณเดฟ sysfs_remove_files() เดกเตเดฐเตˆเดตเต เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดซเดฏเตฝ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดพเตป เด‡เดŸเดฏเดพเด•เตเด•เดฟ เดŽเดจเตเดจเต เด•เดพเดฃเดฟเด•เตเด•เตเด‚ events, เด‡เดคเต เดฑเดซเดฑเตปเดธเต เด•เต—เดฃเตเดŸเดฟเด‚เด—เดฟเดจเตเดฑเต† เดชเตŠเดคเต เด†เดถเดฏเดตเตเดฎเดพเดฏเดฟ เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเต‡ เดธเดฎเดฏเด‚, เด•เดพเดฃเตเดจเตเดจเดคเต sysfs_create_link () eBPF เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต USB เดกเตเดฐเตˆเดตเต เดšเต‡เตผเด•เตเด•เตเดฎเตเดชเต‹เตพ เด•เตเดฑเดžเตเดžเดคเต 48 เดชเตเดฐเดคเต€เด•เดพเดคเตเดฎเด• เดฒเดฟเด™เตเด•เตเด•เดณเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดšเดคเดพเดฏเดฟ เด•เดพเดฃเดฟเด•เตเด•เตเด‚.

เด…เดชเตเดชเต‹เตพ เด‡เดตเดจเตเดฑเต เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเตเดฐเดฏเต‹เดœเดจเด‚ เดŽเดจเตเดคเดพเดฃเต? เด‰เดชเดฏเต‹เด—เด‚ cscope เดคเดฟเดฐเดฏเดฒเดฟเดจเดพเดฏเดฟ __device_add_disk(), เด…เดคเต เดŽเดจเตเดคเดพเดฃเต เด•เดพเดฐเดฃเดฎเดพเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต disk_add_events (), เด•เต‚เดŸเดพเดคเต† เด’เดจเตเดจเตเด•เดฟเตฝ "media_change", เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "eject_request" เด’เดฐเต เด‡เดตเดจเตเดฑเต เดซเดฏเดฒเดฟเตฝ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚. เด‡เดตเดฟเดŸเต† เด•เต‡เตผเดฃเตฝ เดฌเตเดฒเต‹เด•เตเด•เต เดฒเต†เดฏเตผ เด’เดฐเต "เดกเดฟเดธเตเด•เต" เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเตเด•เดฏเตเด‚ เด‡เดœเด•เตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเดคเดพเดฏเดฟ เด‰เดชเดฏเต‹เด•เตเดคเตƒเดธเตเดชเต‡เดธเดฟเดจเต† เด…เดฑเดฟเดฏเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฑเดตเดฟเดŸเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต† เด…เดชเต‡เด•เตเดทเดฟเดšเตเดšเต, เดฏเตเดŽเดธเตเดฌเดฟ เดกเตเดฐเตˆเดตเต เดคเดฟเดฐเตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดˆ เด—เดตเต‡เดทเดฃ เดฐเต€เดคเดฟ เดŽเดคเตเดฐเดฎเดพเดคเตเดฐเด‚ เดตเดฟเดœเตเดžเดพเดจเดชเตเดฐเดฆเดฎเดพเดฃเต†เดจเตเดจเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•.

เดฑเต€เดกเต-เด’เตบเดฒเดฟ เดฑเต‚เดŸเตเดŸเต เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เดŽเด‚เดฌเดกเดกเต เดกเดฟเดตเตˆเดธเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเดจเตเดจเต

เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดธเต‹เด•เตเด•เดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเดฒเด—เต เดตเดฒเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต เด†เดฐเตเด‚ เดธเต†เตผเดตเดฑเต‹ เด…เดตเดฐเตเดŸเต† เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเต‹ เด“เดซเต เดšเต†เดฏเตเดฏเดฟเดฒเตเดฒ. เดชเด•เตเดทเต† เดŽเดจเตเดคเตเด•เต†เดพเดฃเตเดŸเต? เด•เดพเดฐเดฃเด‚, เดซเดฟเดธเดฟเด•เตเด•เตฝ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดกเดฟเดตเตˆเดธเตเด•เดณเดฟเตฝ เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดค เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เดฑเตˆเดฑเตเดฑเตเด•เดณเต† เดชเดฟเดจเตเดจเดฟเดฒเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚, เด•เต‚เดŸเดพเดคเต† เด…เดตเดฏเตเดŸเต† เด…เดตเดธเตเดฅ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจ เดกเดพเดฑเตเดฑเดพ เด˜เดŸเดจเด•เตพ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฑเตˆเดฑเตเดฑเตเด•เดณเตเดฎเดพเดฏเดฟ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เดชเตเดชเต†เดŸเดฟเดฒเตเดฒ. เด‡เดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‰เดŸเดฎเด•เตพ เด…เดŸเตเดคเตเดค เดฌเต‚เดŸเตเดŸเต เดตเดฐเต† เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เดฃเด‚. fsck filesystem-recovery เด•เต‚เดŸเดพเดคเต†, เดเดฑเตเดฑเดตเตเด‚ เดฎเต‹เดถเดฎเดพเดฏ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดกเดพเดฑเตเดฑ เดจเดทเตโ€ŒเดŸเดชเตเดชเต†เดŸเตเดจเตเดจเต.

ะขะตะผ ะฝะต ะผะตะฝะตะต, ะฒัะต ะผั‹ ะทะฝะฐะตะผ, ั‡ั‚ะพ ะผะฝะพะณะธะต IoT ัƒัั‚ั€ะพะนัั‚ะฒะฐ, ะฐ ั‚ะฐะบะถะต ะผะฐั€ัˆั€ัƒั‚ะธะทะฐั‚ะพั€ั‹, ั‚ะตั€ะผะพัั‚ะฐั‚ั‹ ะธ ะฐะฒั‚ะพะผะพะฑะธะปะธ ั‚ะตะฟะตั€ัŒ ั€ะฐะฑะพั‚ะฐัŽั‚ ะฟะพะด ัƒะฟั€ะฐะฒะปะตะฝะธะตะผ Linux. ะœะฝะพะณะธะต ะธะท ัั‚ะธั… ัƒัั‚ั€ะพะนัั‚ะฒ ะฟั€ะฐะบั‚ะธั‡ะตัะบะธ ะฝะต ะธะผะตัŽั‚ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัŒัะบะพะณะพ ะธะฝั‚ะตั€ั„ะตะนัะฐ, ะธ ะฝะตั‚ ะฝะธะบะฐะบะพะณะพ ัะฟะพัะพะฑะฐ ะฒั‹ะบะปัŽั‡ะธั‚ัŒ ะธั… ยซั‡ะธัั‚ะพยป. ะŸั€ะตะดัั‚ะฐะฒัŒั‚ะต ัะตะฑะต ะทะฐะฟัƒัะบ ะฐะฒั‚ะพะผะพะฑะธะปั ั ั€ะฐะทั€ัะถะตะฝะฝะพะน ะฑะฐั‚ะฐั€ะตะตะน, ะบะพะณะดะฐ ะฟะธั‚ะฐะฝะธะต ัƒะฟั€ะฐะฒะปััŽั‰ะตะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ ะฝะฐ Linux เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดฎเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดคเดพเดดเต‡เด•เตเด•เตเด‚ เดšเดพเดŸเตเดจเตเดจเต. เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดฆเต€เตผเด˜เดจเต‡เดฐเด‚ เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต? fsckเดŽเดžเตเดšเดฟเตป เด…เดตเดธเดพเดจเด‚ เดŽเดชเตเดชเต‹เดดเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเดคเต? เด‰เดคเตเดคเดฐเด‚ เดฒเดณเดฟเดคเดฎเดพเดฃเต. เด‰เตพเดšเตเดšเต‡เตผเดคเตเดค เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดฑเต‚เดŸเตเดŸเต เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจเต เดตเดพเดฏเดจเดฏเตเด•เตเด•เต เดฎเดพเดคเตเดฐเด‚ (เดšเตเดฐเตเด•เตเด•เดคเตเดคเดฟเตฝ ro-rootfs (เดฑเต€เดกเต-เด’เตบเดฒเดฟ เดฑเต‚เดŸเตเดŸเต เดซเดฏเตฝเดธเดฟเดธเตเดฑเตเดฑเด‚)).

ro-rootfs เด†เดงเดฟเด•เดพเดฐเดฟเด•เดคเดฏเต‡เด•เตเด•เดพเตพ เดตเตเดฏเด•เตเดคเดฎเดฒเตเดฒเดพเดคเตเดค เดจเดฟเดฐเดตเดงเดฟ เด†เดจเตเด•เต‚เดฒเตเดฏเด™เตเด™เตพ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด•เตเดทเตเดฆเตเดฐเดตเต†เดฏเดฑเดฟเดจเต เดŽเดดเตเดคเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเดพเดฃเต เด’เดฐเต เดจเต‡เดŸเตเดŸเด‚ /usr เด…เดฅเดตเดพ /lib, ะตัะปะธ ะฝะธ ะพะดะธะฝ ะฟั€ะพั†ะตัั Linux ะฝะต ะผะพะถะตั‚ ั‚ัƒะดะฐ ะฟะธัะฐั‚ัŒ. ะ”ั€ัƒะณะพะต ะทะฐะบะปัŽั‡ะฐะตั‚ัั ะฒ ั‚ะพะผ, ั‡ั‚ะพ ะฒ ะทะฝะฐั‡ะธั‚ะตะปัŒะฝะพะน ัั‚ะตะฟะตะฝะธ ะฝะตะธะทะผะตะฝัะตะผะฐั ั„ะฐะนะปะพะฒะฐั ัะธัั‚ะตะผะฐ ะธะผะตะตั‚ ั€ะตัˆะฐัŽั‰ะตะต ะทะฝะฐั‡ะตะฝะธะต ะดะปั ะฟะพะปะตะฒะพะน ะฟะพะดะดะตั€ะถะบะธ ัƒะดะฐะปะตะฝะฝั‹ั… ัƒัั‚ั€ะพะนัั‚ะฒ, ะฟะพัะบะพะปัŒะบัƒ ะฒัะฟะพะผะพะณะฐั‚ะตะปัŒะฝั‹ะน ะฟะตั€ัะพะฝะฐะป ะฟะพะปัŒะทัƒะตั‚ัั ะปะพะบะฐะปัŒะฝั‹ะผะธ ัะธัั‚ะตะผะฐะผะธ, ะบะพั‚ะพั€ั‹ะต ะฝะพะผะธะฝะฐะปัŒะฝะพ ะธะดะตะฝั‚ะธั‡ะฝั‹ ัะธัั‚ะตะผะฐะผ ะฝะฐ ะผะตัั‚ะฐั…. ะ’ะพะทะผะพะถะฝะพ, ัะฐะผั‹ะผ ะฒะฐะถะฝั‹ะผ (ะฝะพ ะธ ัะฐะผั‹ะผ ะบะพะฒะฐั€ะฝั‹ะผ) ะฟั€ะตะธะผัƒั‰ะตัั‚ะฒะพะผ ัะฒะปัะตั‚ัั ั‚ะพ, ั‡ั‚ะพ ro-rootfs ะทะฐัั‚ะฐะฒะปัะตั‚ ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะพะฒ ั€ะตัˆะฐั‚ัŒ, ะบะฐะบะธะต ัะธัั‚ะตะผะฝั‹ะต ะพะฑัŠะตะบั‚ั‹ ะฑัƒะดัƒั‚ ะฝะตะธะทะผะตะฝะฝั‹ะผะธ, ะตั‰ะต ะฝะฐ ัั‚ะฐะฟะต ะฟั€ะพะตะบั‚ะธั€ะพะฒะฐะฝะธั ัะธัั‚ะตะผั‹. ะ ะฐะฑะพั‚ะฐ ั ro-rootfs ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ะฝะตัƒะดะพะฑะฝะพะน ะธ ะฑะพะปะตะทะฝะตะฝะฝะพะน, ะบะฐะบ ัั‚ะพ ั‡ะฐัั‚ะพ ะฑั‹ะฒะฐะตั‚ ั ะฟะตั€ะตะผะตะฝะฝั‹ะผะธ const ะฒ ัะทั‹ะบะฐั… ะฟั€ะพะณั€ะฐะผะผะธั€ะพะฒะฐะฝะธั, ะฝะพ ะธั… ะฟั€ะตะธะผัƒั‰ะตัั‚ะฒะฐ ะปะตะณะบะพ ะพะบัƒะฟะฐัŽั‚ ะดะพะฟะพะปะฝะธั‚ะตะปัŒะฝั‹ะต ะฝะฐะบะปะฐะดะฝั‹ะต ั€ะฐัั…ะพะดั‹.

เดธเตƒเดทเตเดŸเดฟ rootfs ั‚ะพะปัŒะบะพ ะดะปั ั‡ั‚ะตะฝะธั ั‚ั€ะตะฑัƒะตั‚ ะฝะตะบะพั‚ะพั€ั‹ั… ะดะพะฟะพะปะฝะธั‚ะตะปัŒะฝั‹ั… ัƒัะธะปะธะน ะดะปั ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะพะฒ ะฒัั‚ั€ะฐะธะฒะฐะตะผั‹ั… ัะธัั‚ะตะผ, ะธ ะธะผะตะฝะฝะพ ะทะดะตััŒ ะฝะฐ ัั†ะตะฝัƒ ะฒั‹ั…ะพะดะธั‚ VFS. Linux ั‚ั€ะตะฑัƒะตั‚, ั‡ั‚ะพะฑั‹ ั„ะฐะนะปั‹ ะฒ /var เดŽเดดเตเดคเดพเดตเตเดจเตเดจเดตเดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต†, เดŽเด‚เดฌเดกเดกเต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เดชเดฒ เดœเดจเดชเตเดฐเดฟเดฏ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเด‚ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด‚. dot-files ะฒ $HOME. เดนเต‹เด‚ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเดฒเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเตเด•เตพเด•เตเด•เตเดณเตเดณ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเด‚ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด…เดต เดฎเตเตปเด•เต‚เดŸเตเดŸเดฟ เดœเดจเดฑเต‡เดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดคเต เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต rootfs. เดตเต‡เดฃเตเดŸเดฟ /var เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฑเตˆเดฑเตเดฑเดฌเดฟเตพ เดชเดพเตผเดŸเตเดŸเต€เดทเดจเดฟเตฝ เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดฏเตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดธเดพเดงเตเดฏเดฎเดพเดฏ เด’เดฐเต เดธเดฎเต€เดชเดจเด‚ / เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดค เดตเดพเดฏเดจ-เดฎเดพเดคเตเดฐเด‚. เดฌเตˆเตปเดกเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด“เดตเตผเดฒเต‡ เดฎเต—เดฃเตเดŸเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดฎเดฑเตเดฑเตŠเดฐเต เดœเดจเดชเตเดฐเดฟเดฏ เดฌเดฆเตฝ.

เดฒเดฟเด™เตเด•เต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจเดคเตเด‚ เด…เดŸเตเด•เตเด•เดฟเดตเต†เด•เตเด•เดพเดตเตเดจเตเดจเดคเตเดฎเดพเดฏ เดฎเต—เดฃเตเดŸเตเด•เตพ, เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเดณเตเดณ เด…เดตเดฏเตเดŸเต† เด‰เดชเดฏเต‹เด—เด‚

เด•เดฎเดพเตปเดกเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป man mount เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผเด•เตเด•เตเด‚ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด…เดกเตเดฎเดฟเดจเดฟเดธเตเดŸเตเดฐเต‡เดฑเตเดฑเตผเดฎเดพเตผเด•เตเด•เตเด‚ เด’เดฐเต เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เดชเดฟเดจเตเดจเต€เดŸเต เดฎเดฑเตเดฑเตŠเดฐเต เดชเดพเดคเดฏเดฟเตฝ เด…เดคเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดคเตเดฑเดจเตเดจเตเด•เดพเดŸเตเดŸเดพเดจเตเดฎเตเดณเตเดณ เด•เดดเดฟเดตเต เดจเตฝเด•เตเดจเตเดจ เดฌเตˆเตปเดกเดฌเดฟเตพ, เด“เดตเตผเดฒเต‡ เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจ เดฎเต—เดฃเตเดŸเตเด•เดณเต† เด•เตเดฑเดฟเดšเตเดšเต เดชเด เดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เดจเดฒเตเดฒ เดฎเดพเตผเด—เดฎเดพเดฃเดฟเดคเต. เดŽเด‚เดฌเดกเดกเต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เต, เดซเดฏเดฒเตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดŽเดจเตเดจเดพเดฃเต เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ /var เด’เดฐเต เดฑเต€เดกเต-เด’เตบเดฒเดฟ เดซเตเดฒเดพเดทเต เดกเตเดฐเตˆเดตเดฟเตฝ, เดŽเดจเตเดจเดพเตฝ เด’เดฐเต เด“เดตเตผเดฒเต‡ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฒเดฟเด™เตเด•เต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจ เดฎเต—เดฃเตเดŸเต เดชเดพเดคเตเดคเต tmpfs ะฒ /var เดฒเต‹เดกเตเดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เด…เดตเดฟเดŸเต† เด•เตเดฑเดฟเดชเตเดชเตเด•เตพ เดŽเดดเตเดคเดพเตป เด‡เดคเต เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚ (เดธเตโ€Œเด•เตเดฐเดพเตพ). เด…เดŸเตเดคเตเดค เดคเดตเดฃ เดจเดฟเด™เตเด™เตพ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เด“เดฃเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ /var เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเด‚. เด’เดฐเต เด“เดตเตผเดฒเต‡ เดฎเต—เดฃเตเดŸเต เดคเดฎเตเดฎเดฟเตฝ เด’เดฐเต เดฏเต‚เดฃเดฟเดฏเตป เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต tmpfs เด•เต‚เดŸเดพเดคเต† เด…เดŸเดฟเดธเตเดฅเดพเดจ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดตเตเด‚ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดชเตเดฐเดคเตเดฏเด•เตเดทเดฎเดพเดฏ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดตเดฐเตเดคเตเดคเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต ro-tootf เดฌเตˆเตปเดกเดฌเดฟเตพ เดฎเต—เดฃเตเดŸเดฟเดจเต เดชเตเดคเดฟเดฏเดต เดถเต‚เดจเตเดฏเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ tmpfs เดซเต‹เตพเดกเดฑเตเด•เตพ เดŽเดดเตเดคเดพเดตเตเดจเตเดจเดคเตเดชเต‹เดฒเต† เดฆเตƒเดถเตเดฏเดฎเดพเดฃเต ro-rootfs เดตเดดเดฟเด•เตพ. เด…เดคเต‡เดธเดฎเดฏเด‚ overlayfs เด‡เดคเดพเดฃเต เดถเดฐเดฟเดฏเดพเดฏเดคเต (proper) เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดคเดฐเด‚, เดฌเตˆเตปเดกเดฌเดฟเตพ เดฎเต—เดฃเตเดŸเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต VFS เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเต.

เด“เดตเตผเดฒเต‡เดฏเตเดŸเต†เดฏเตเด‚ เดฒเดฟเด™เตเด•เต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจ เดฎเต—เดฃเตเดŸเดฟเดจเตเดฑเต†เดฏเตเด‚ เดตเดฟเดตเดฐเดฃเดคเตเดคเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ, เด†เดฐเตเด‚ เด†เดถเตเดšเดฐเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ Linux เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เตพ เด…เดต เดธเดœเต€เดตเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚ systemd-nspawn เด‰เดชเด•เดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป mountsnoop ะพั‚ bcc.

เดตเต†เดฒเตเดฒเตเดตเดฟเดณเดฟ system-nspawn เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต mountsnoop.py.

เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเดšเตเดšเดคเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เดจเต‹เด•เตเด•เดพเด‚:

เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด• mountsnoop เด•เดฃเตเดŸเต†เดฏเตเดจเตผ "เดฌเต‚เดŸเตเดŸเต" เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเดจเตเดฑเต† เดฑเตบเดŸเตˆเด‚ เดฒเดฟเด™เตเด•เต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฎเต—เดฃเตเดŸเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต (เดจเต€เดฃเตเดŸ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเดฟเดจเตเดฑเต† เด†เดฐเด‚เดญเด‚ เดฎเดพเดคเตเดฐเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต).

เด‡เดคเต systemd-nspawn เดŽเดจเตเดจเดคเดฟเตฝ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดค เดซเดฏเดฒเตเด•เตพ เดจเตฝเด•เตเดจเตเดจเต procfs ะธ sysfs เด…เดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดพเดคเด•เดณเดพเดฏเดฟ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเดฒเต‡เด•เตเด•เต เดนเต‹เดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด• rootfs... เด•เต‚เดŸเดพเดคเต† MS_BIND เดฌเตˆเตปเดกเดฟเด‚เด—เต เดฎเต—เดฃเตเดŸเต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เดซเตเดฒเดพเด—เต, เดฎเต—เดฃเตเดŸเดฟเดฒเต† เดฎเดฑเตเดฑเต เดšเดฟเดฒ เดซเตเดฒเดพเด—เตเด•เตพ เดนเต‹เดธเตเดฑเตเดฑเดฟเดฒเต†เดฏเตเด‚ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต†เดฏเตเด‚ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฌเดจเตเดงเด‚ เดจเดฟเตผเดตเตเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เดฒเดฟเด™เตเด•เต เดšเต†เดฏเตโ€Œเดค เดฎเต—เดฃเตเดŸเดฟเดจเต เด’เดจเตเดจเตเด•เดฟเตฝ เด‡เดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เด’เดดเดฟเดตเดพเด•เตเด•เดพเดจเดพเด•เตเด‚ /proc ะธ /sys เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเดฒเต‡เด•เตเด•เต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เต‹เดณเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเต เด…เดต เดฎเดฑเดฏเตเด•เตเด•เตเด•.

เดคเต€เดฐเตเดฎเดพเดจเด‚

ะŸะพะฝะธะผะฐะฝะธะต ะฒะฝัƒั‚ั€ะตะฝะฝะตะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ Linux ะผะพะถะตั‚ ะบะฐะทะฐั‚ัŒัั ะฝะตะฒั‹ะฟะพะปะฝะธะผะพะน ะทะฐะดะฐั‡ะตะน, ั‚ะฐะบ ะบะฐะบ ัะฐะผะพ ัะดั€ะพ ัะพะดะตั€ะถะธั‚ ะณะธะณะฐะฝั‚ัะบะพะต ะบะพะปะธั‡ะตัั‚ะฒะพ ะบะพะดะฐ, ะพัั‚ะฐะฒะปัั ะฒ ัั‚ะพั€ะพะฝะต ะฟั€ะธะปะพะถะตะฝะธั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัŒัะบะพะณะพ ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒะฐ Linux ะธ ะธะฝั‚ะตั€ั„ะตะนัั‹ ัะธัั‚ะตะผะฝั‹ั… ะฒั‹ะทะพะฒะพะฒ ะฒ ะฑะธะฑะปะธะพั‚ะตะบะฐั… ะฝะฐ ัะทั‹ะบะต C, ั‚ะฐะบะธั… ะบะฐะบ glibc. เด’เดฐเต เด•เต‡เตผเดฃเตฝ เดธเดฌเตเดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดธเต‹เดดเตเดธเต เด•เต‹เดกเต เดตเดพเดฏเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดชเตเดฐเต‹เด—เดคเดฟ เด•เตˆเดตเดฐเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด’เดฐเต เดฎเดพเตผเด—เตเด—เด‚, เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เดณเตเด‚ เดฏเต‚เดธเตผ-เดธเตเดชเต‡เดธเต เดนเต†เดกเดฑเตเด•เดณเตเด‚ เด…เดคเตเดชเต‹เดฒเต† เดคเดจเตเดจเต† เดŸเต‡เดฌเดฟเตพ เดชเต‹เดฒเตเดณเตเดณ เดชเตเดฐเดงเดพเดจ เด†เดจเตเดคเดฐเดฟเด• เด•เต‡เตผเดฃเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเตเด•เดณเตเด‚ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดŠเดจเตเดจเตฝ เดจเตฝเด•เตเดจเตเดจเต. file_operations. เดซเดฏเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ "เดŽเดฒเตเดฒเดพเด‚ เด’เดฐเต เดซเดฏเดฒเดพเดฃเต" เดŽเดจเตเดจ เดคเดคเตเดตเด‚ เดจเตฝเด•เตเดจเตเดจเต, เด…เดต เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚ เด†เดธเตเดตเดพเดฆเตเดฏเด•เดฐเดฎเดพเด•เตเด•เตเดจเตเดจเต. เดธเดฟ เด•เต‡เตผเดฃเตฝ เดธเต‹เดดเตเดธเต เดซเดฏเดฒเตเด•เตพ เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ fs/ ะฟั€ะตะดัั‚ะฐะฒะปััŽั‚ ั€ะตะฐะปะธะทะฐั†ะธัŽ ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ั… ั„ะฐะนะปะพะฒั‹ั… ัะธัั‚ะตะผ, ะบะพั‚ะพั€ั‹ะต ัะฒะปััŽั‚ัั ัะปะพะตะผ ะพะฑะพะปะพั‡ะบะธ, ะพะฑะตัะฟะตั‡ะธะฒะฐัŽั‰ะธะผ ัˆะธั€ะพะบัƒัŽ ะธ ะพั‚ะฝะพัะธั‚ะตะปัŒะฝะพ ะฟั€ะพัั‚ัƒัŽ ัะพะฒะผะตัั‚ะธะผะพัั‚ัŒ ะฟะพะฟัƒะปัั€ะฝั‹ั… ั„ะฐะนะปะพะฒั‹ั… ัะธัั‚ะตะผ ะธ ัƒัั‚ั€ะพะนัั‚ะฒ ั…ั€ะฐะฝะตะฝะธั. ะœะพะฝั‚ะธั€ะพะฒะฐะฝะธะต ัะพ ัะฒัะทั‹ะฒะฐะฝะธะตะผ ะธ ะฝะฐะบะปะฐะดั‹ะฒะฐะฝะธะตะผ ั‡ะตั€ะตะท ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒะฐ ะธะผะตะฝ Linux โ€” ัั‚ะพ ะฒะพะปัˆะตะฑัั‚ะฒะพ VFS, ะบะพั‚ะพั€ะพะต ะดะตะปะฐะตั‚ ะฒะพะทะผะพะถะฝั‹ะผ ัะพะทะดะฐะฝะธะต ะบะพะฝั‚ะตะนะฝะตั€ะพะฒ ะธ ะบะพั€ะฝะตะฒั‹ั… ั„ะฐะนะปะพะฒั‹ั… ัะธัั‚ะตะผ ั‚ะพะปัŒะบะพ ะดะปั ั‡ั‚ะตะฝะธั. ะ’ ัะพั‡ะตั‚ะฐะฝะธะธ ั ะธะทัƒั‡ะตะฝะธะตะผ ะธัั…ะพะดะฝะพะณะพ ะบะพะดะฐ, ัั€ะตะดัั‚ะฒะพ ัะดั€ะฐ eBPF ะธ ะตะณะพ ะธะฝั‚ะตั€ั„ะตะนั bcc
เดชเตเดฐเดงเดพเดจ เดชเดฐเตเดฏเดตเต‡เด•เตเดทเดฃเด‚ เดŽเดจเตเดจเดคเตเดคเต‡เด•เตเด•เดพเดณเตเด‚ เดŽเดณเตเดชเตเดชเดฎเดพเด•เตเด•เตเดจเตเดจเต.

ะ”ั€ัƒะทัŒั, ะฝะฐะฟะธัˆะธั‚ะต ะฑั‹ะปะฐ ะปะธ ัั‚ะฐ ัั‚ะฐั‚ัŒั ะฟะพะปะตะทะฝะพะน ะดะปั ะฒะฐั? ะ’ะพะทะผะพะถะฝะพ ัƒ ะฒะฐั ะตัั‚ัŒ ะบะฐะบะธะต-ั‚ะพ ะบะพะผะผะตะฝั‚ะฐั€ะธะธ ะธะปะธ ะทะฐะผะตั‡ะฐะฝะธั? ะ ั‚ะตั…, ะบะพะผัƒ ะธะฝั‚ะตั€ะตัะตะฝ ะบัƒั€ั ยซะะดะผะธะฝะธัั‚ั€ะฐั‚ะพั€ Linuxยป, ะฟั€ะธะณะปะฐัˆะฐะตะผ ะฝะฐ เดคเตเดฑเดจเตเดจ เดฆเดฟเดตเดธเด‚, เด…เดคเต เดเดชเตเดฐเดฟเตฝ 18 เดจเต เดจเดŸเด•เตเด•เตเด‚.

เด†เดฆเตเดฏ เดญเดพเด—เด‚.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

DDoS เดชเดฐเดฟเดฐเด•เตเดทเดฏเตเดณเตเดณ เดธเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เตเด•, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ ๐Ÿ”ฅ DDoS เดชเดฐเดฟเดฐเด•เตเดท, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดณเตเดณ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เต‚ | ProHoster