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

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

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

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

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

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

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

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

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

เดฒเดฟเดจเด•เตเดธเดฟเดฒเต† เดตเต†เตผเดšเตเดตเตฝ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ: เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เด…เดต เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เด…เดต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต? เดญเดพเด—เด‚ 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 เด•เต‚เดŸเดพเดคเต†, เดเดฑเตเดฑเดตเตเด‚ เดฎเต‹เดถเดฎเดพเดฏ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดกเดพเดฑเตเดฑ เดจเดทเตโ€ŒเดŸเดชเตเดชเต†เดŸเตเดจเตเดจเต.

เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดชเดฒ เดเด’เดŸเดฟ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเด‚ เดฑเต‚เดŸเตเดŸเดฑเตเด•เดณเตเด‚ เดคเต†เตผเดฎเต‹เดธเตเดฑเตเดฑเดพเดฑเตเดฑเตเด•เดณเตเด‚ เด•เดพเดฑเตเด•เดณเตเด‚ เด‡เดชเตเดชเต‹เตพ เดฒเดฟเดจเด•เตเดธเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต†เดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เด…เดฑเดฟเดฏเดพเด‚. เดˆ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ เดชเดฒเดคเดฟเดจเตเด‚ เด‰เดชเดฏเต‹เด•เตเดคเตƒ เด‡เดจเตเดฑเตผเดซเต‡เดธเต เด•เตเดฑเดตเดพเดฃเต, เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เด…เดต "เดตเตƒเดคเตเดคเดฟเดฏเดพเดฏเดฟ" เด“เดซเดพเด•เตเด•เดพเดจเตเดณเตเดณ เดฎเดพเตผเด—เดตเตเดฎเดฟเดฒเตเดฒ. เด•เตบเดŸเตเดฐเต‹เตพ เดฏเต‚เดฃเดฟเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดตเตผ เด‰เดณเตเดณเดชเตเดชเต‹เตพ, เดฌเดพเดฑเตเดฑเดฑเดฟ เดจเดฟเตผเดœเตเดœเต€เดตเดฎเดพเดฏ เด’เดฐเต เด•เดพเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เตเด• เดฒเดฟเดจเด•เตเดธเต เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดฎเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดคเดพเดดเต‡เด•เตเด•เตเด‚ เดšเดพเดŸเตเดจเตเดจเต. เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดฆเต€เตผเด˜เดจเต‡เดฐเด‚ เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต? fsckเดŽเดžเตเดšเดฟเตป เด…เดตเดธเดพเดจเด‚ เดŽเดชเตเดชเต‹เดดเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเดคเต? เด‰เดคเตเดคเดฐเด‚ เดฒเดณเดฟเดคเดฎเดพเดฃเต. เด‰เตพเดšเตเดšเต‡เตผเดคเตเดค เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดฑเต‚เดŸเตเดŸเต เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจเต เดตเดพเดฏเดจเดฏเตเด•เตเด•เต เดฎเดพเดคเตเดฐเด‚ (เดšเตเดฐเตเด•เตเด•เดคเตเดคเดฟเตฝ ro-rootfs (เดฑเต€เดกเต-เด’เตบเดฒเดฟ เดฑเต‚เดŸเตเดŸเต เดซเดฏเตฝเดธเดฟเดธเตเดฑเตเดฑเด‚)).

ro-rootfs เด†เดงเดฟเด•เดพเดฐเดฟเด•เดคเดฏเต‡เด•เตเด•เดพเตพ เดตเตเดฏเด•เตเดคเดฎเดฒเตเดฒเดพเดคเตเดค เดจเดฟเดฐเดตเดงเดฟ เด†เดจเตเด•เต‚เดฒเตเดฏเด™เตเด™เตพ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด•เตเดทเตเดฆเตเดฐเดตเต†เดฏเดฑเดฟเดจเต เดŽเดดเตเดคเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเดพเดฃเต เด’เดฐเต เดจเต‡เดŸเตเดŸเด‚ /usr เด…เดฅเดตเดพ /lib, เด’เดฐเต Linux เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเด‚ เด…เดตเดฟเดŸเต† เดŽเดดเตเดคเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ. เดฎเดฑเตเดฑเตŠเดจเตเดจเต, เดตเดฟเดฆเต‚เดฐ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเดŸเต† เดซเต€เตฝเดกเต เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เต เดตเดฒเดฟเดฏ เดคเต‹เดคเดฟเตฝ เดฎเดพเดฑเตเดฑเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดจเดฟเตผเดฃเดพเดฏเด•เดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เดชเดฟเดจเตเดคเตเดฃเดพ เด‰เดฆเตเดฏเต‹เด—เดธเตเดฅเตผ เดซเต€เตฝเดกเต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดจเดพเดฎเดฎเดพเดคเตเดฐเดฎเดพเดฏเดฟ เดธเดฎเดพเดจเดฎเดพเดฏ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเตเดชเด•เตเดทเต‡ เดเดฑเตเดฑเดตเตเด‚ เดชเตเดฐเดงเดพเดจเดชเตเดชเต†เดŸเตเดŸ (เดŽเดจเตเดจเดพเตฝ เดเดฑเตเดฑเดตเตเด‚ เดตเดžเตเดšเดจเดพเดชเดฐเดฎเดพเดฏ) เดจเต‡เดŸเตเดŸเด‚, เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดกเดฟเดธเตˆเตป เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดเดคเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเดพเดฃเต เดฎเดพเดฑเตเดฑเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดคเต†เดจเตเดจเต เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เดพเตป ro-rootfs เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเดฐเต† เดจเดฟเตผเดฌเดจเตเดงเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดพเดฃเต. เด•เต‹เตบเดธเตเดฑเตเดฑเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเด•เดณเดฟเตฝ เด‰เดณเตเดณเดคเดฟเดจเดพเตฝ เดฑเต‹-เดฑเต‚เดŸเตเดŸเตเดซเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต เดตเดฟเดšเดฟเดคเตเดฐเดตเตเด‚ เดตเต‡เดฆเดจเดพเดœเดจเด•เดตเตเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เด…เดตเดฏเตเดŸเต† เดชเตเดฐเดฏเต‹เดœเดจเด™เตเด™เตพ เด…เดงเดฟเด• เด“เดตเตผเดนเต†เดกเดฟเดจเต† เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดจเตเดฏเดพเดฏเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต.

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

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

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

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

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

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

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

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

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

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

เดธเตเดนเตƒเดคเตเดคเตเด•เตเด•เดณเต‡, เดŽเดดเตเดคเต‚, เดˆ เดฒเต‡เด–เดจเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต‹? เด’เดฐเตเดชเด•เตเดทเต‡ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเต‹ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเต‹ เด‰เดฃเตเดŸเต‹? เด’เดชเตเดชเด‚ เดฒเดฟเดจเด•เตเดธเต เด…เดกเตเดฎเดฟเดจเดฟเดธเตเดŸเตเดฐเต‡เดฑเตเดฑเตผ เด•เต‹เดดเตเดธเดฟเตฝ เดคเดพเดฒเตเดชเดฐเตเดฏเดฎเตเดณเตเดณเดตเดฐเต† เด•เตเดทเดฃเดฟเด•เตเด•เตเดจเตเดจเต เดคเตเดฑเดจเตเดจ เดฆเดฟเดตเดธเด‚, เด…เดคเต เดเดชเตเดฐเดฟเตฝ 18 เดจเต เดจเดŸเด•เตเด•เตเด‚.

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

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

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•