āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ: āĻ•ā§‡āĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡? āĻ…āĻ‚āĻļ 2

āĻ¸āĻŦāĻžāĻ‡āĻ•ā§‡ āĻšā§āĻ¯āĻžāĻ˛ā§‹, āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ "āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ: āĻ•ā§‡āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡?" āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻ…āĻ‚āĻļ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ–āĻžāĻ¨ā§‡. āĻ†āĻ¸ā§āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ‡ āĻ¯ā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļāĻ¨āĻžāĻ° āĻāĻ‡ āĻ¸āĻŋāĻ°āĻŋāĻœāĻŸāĻŋ āĻ•ā§‹āĻ°ā§āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖāĨ¤ "āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ•", āĻ¯āĻž āĻ–ā§āĻŦ āĻļā§€āĻ˜ā§āĻ°āĻ‡ āĻļā§āĻ°ā§ āĻšāĻŦā§‡āĨ¤

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ‡āĻŦāĻŋāĻĒāĻŋāĻāĻĢ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ¸āĻŋāĻ¸āĻŋ āĻŸā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ­āĻŋāĻāĻĢāĻāĻ¸ āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻŦā§‹āĻāĻžāĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧ sysfs āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡ āĻĻā§‡āĻ–āĻž, āĻāĻŦāĻ‚ ARM64 āĻĻā§‡āĻ–āĻžāĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ eBPF āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĨ¤ eBPF (āĻŦāĻžāĻ°ā§āĻ•āĻ˛ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤) āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤ āĻŽā§‚āĻ˛, āĻ¯āĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ (query) āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻĨā§‡āĻ•ā§‡āĨ¤ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§‚āĻ¤ā§āĻ° āĻĒāĻžāĻ āĻ•āĻ•ā§‡ āĻŦāĻ˛ā§‡ āĻ¯ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ•ā§€ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡; āĻāĻ•āĻŸāĻŋ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ eBPF āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ†āĻ¸āĻ˛ā§‡ āĻ•ā§€ āĻ•āĻ°āĻ›ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ: āĻ•ā§‡āĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡? āĻ…āĻ‚āĻļ 2

āĻ¸ā§ŒāĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, eBPF āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻŸā§āĻ˛ā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻŦā§‡āĻļ āĻ¸āĻšāĻœ BCC, āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻŦāĻžāĻ°ā§āĻ¨āĻžāĻ°ā§āĻĄ āĻ—ā§āĻ°ā§‡āĻ—. āĻŸā§āĻ˛āĻ¸ bcc āĻ¸āĻŋ āĻ•ā§‹āĻĄā§‡āĻ° āĻ›ā§‹āĻŸ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ¸āĻš āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋ, āĻ¯āĻžāĻ° āĻ…āĻ°ā§āĻĨ āĻ‰āĻ­āĻ¯āĻŧ āĻ­āĻžāĻˇāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ¯ā§‡ āĻ•ā§‡āĻ‰ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ­āĻŋāĻ¤āĻ°ā§‡ bcc/tools āĻāĻ–āĻžāĻ¨ā§‡ 80āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻ…āĻ°ā§āĻĨ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻāĻ•āĻœāĻ¨ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻŦāĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻŸā§āĻ°ā§‡āĻŸāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦā§‡āĻ¨āĨ¤
āĻšāĻ˛āĻŽāĻžāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ VFSāĻ—ā§āĻ˛āĻŋ āĻ•ā§€ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ¯āĻŧ āĻ§āĻžāĻ°āĻŖāĻž āĻĒā§‡āĻ¤ā§‡ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨ vfscount āĻŦāĻž vfsstat. āĻāĻ‡ āĻĻā§‡āĻ–āĻžāĻŦā§‡, āĻšāĻ˛ā§āĻ¨ āĻŦāĻ˛āĻž āĻ¯āĻžāĻ•, āĻ¯ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ• āĻĄāĻœāĻ¨ āĻ•āĻ˛ vfs_open() āĻāĻŦāĻ‚ "āĻ¤āĻžāĻ° āĻŦāĻ¨ā§āĻ§ā§āĻ°āĻž" āĻ†āĻ•ā§āĻˇāĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻ˜āĻŸā§‡āĨ¤

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ: āĻ•ā§‡āĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡? āĻ…āĻ‚āĻļ 2

vfsstat.py āĻ¸āĻŋ āĻ•ā§‹āĻĄ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¯āĻž āĻ•ā§‡āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° VFS āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ¤ā§āĻšā§āĻ› āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋāĻ‡ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–āĻŋ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ USB āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŸāĻŋ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻ¤āĻ–āĻ¨ āĻ•ā§€ āĻ˜āĻŸā§‡āĨ¤

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ: āĻ•ā§‡āĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡? āĻ…āĻ‚āĻļ 2

eBPF āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ•āĻŋ āĻšāĻšā§āĻ›ā§‡ /sysāĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ USB āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻĸā§‹āĻ•āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻœāĻŸāĻŋāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ–āĻžāĻ¨ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ‰āĻĒāĻ°ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, bcc āĻŸā§āĻ˛ trace.py āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§‡ sysfs_create_files(). āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻĻā§‡āĻ–āĻ¤ā§‡ sysfs_create_files() āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ kworker āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻĸā§‹āĻ•āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•āĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛? āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ eBPF āĻāĻ° āĻļāĻ•ā§āĻ¤āĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ trace.py āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŦā§āĻ¯āĻžāĻ•āĻŸā§āĻ°ā§‡āĻ¸ (-K āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ) āĻāĻŦāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§‡ sysfs_create_files(). āĻāĻ•āĻ• āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻšāĻ˛ C āĻ•ā§‹āĻĄ āĻ¯āĻžāĻ¤ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœā§‡ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž LLVM āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ āĻœāĻžāĻ¸ā§āĻŸ-āĻ‡āĻ¨-āĻŸāĻžāĻ‡āĻŽ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°. āĻāĻŸāĻŋ āĻāĻ‡ āĻ˛āĻžāĻ‡āĻ¨āĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧāĨ¤ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° sysfs_create_files () āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡ āĻĒā§āĻ¨āĻ°ā§āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ• āĻ¯āĻžāĻ¤ā§‡ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĻŸāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋāĻ•ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ C āĻ•ā§‹āĻĄā§‡āĻ° āĻāĻ‡ āĻ…āĻ‚āĻļā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻĢāĻ˛ā§‡ C āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĻā§‡āĻ–āĻž āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ -l āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻŦāĻžāĻĻ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ "BPF āĻĒāĻžāĻ ā§āĻ¯ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤" āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¯āĻžāĻ°āĻž āĻ¸āĻŋ āĻāĻŦāĻ‚ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ¤āĻžāĻ°āĻž āĻŸā§āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ bcc āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¸āĻšāĻœāĨ¤

āĻ¯āĻ–āĻ¨ USB āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻĸā§‹āĻ•āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ, āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŦā§āĻ¯āĻžāĻ•āĻŸā§āĻ°ā§‡āĻ¸ āĻĻā§‡āĻ–āĻžāĻŦā§‡ āĻ¯ā§‡ PID 7711 āĻāĻ•āĻŸāĻŋ āĻĨā§āĻ°ā§‡āĻĄ kworkerāĻ¯āĻž āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡ ÂĢeventsÂģ в sysfs. āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻĨā§‡āĻ•ā§‡ āĻ•āĻ˛ sysfs_remove_files() āĻĻā§‡āĻ–āĻžāĻŦā§‡ āĻ¯ā§‡ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻŸāĻŋ āĻ¸āĻ°āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ events, āĻ¯āĻž āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻžāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ§āĻžāĻ°āĻŖāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻĻā§‡āĻ–āĻž sysfs_create_link () eBPF āĻāĻ° āĻ¸āĻžāĻĨā§‡ USB āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻĸā§‹āĻ•āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§‡āĻ–āĻžāĻŦā§‡ āĻ¯ā§‡ āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ 48āĻŸāĻŋ āĻĒā§āĻ°āĻ¤ā§€āĻ•ā§€ āĻ˛āĻŋāĻ™ā§āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¤āĻžāĻ‡ āĻ˜āĻŸāĻ¨āĻž āĻĢāĻžāĻ‡āĻ˛ āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻ•āĻŋ? āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° cscope āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ __āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸_āĻ…ā§āĻ¯āĻžāĻĄ_āĻĄāĻŋāĻ¸ā§āĻ•(), āĻāĻŸāĻž āĻ•āĻŋ āĻ•āĻžāĻ°āĻŖ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ disk_add_events (), āĻāĻŦāĻ‚ āĻ¯ā§‡āĻ­āĻžāĻŦā§‡āĻ‡ "media_change", āĻŦāĻž "eject_request" āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŦā§āĻ˛āĻ• āĻ˛ā§‡āĻ¯āĻŧāĻžāĻ° āĻ‡āĻ‰āĻœāĻžāĻ°āĻ¸ā§āĻĒā§‡āĻ¸āĻ•ā§‡ āĻœāĻžāĻ¨āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ "āĻĄāĻŋāĻ¸ā§āĻ•" āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻŦā§‡āĻ° āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ USB āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻĸā§‹āĻ•āĻžāĻ¨ā§‹āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ‡ āĻ—āĻŦā§‡āĻˇāĻŖāĻž āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻ¤āĻŸāĻž āĻ¤āĻĨā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻž āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨, āĻ‰ā§ŽāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻžāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧāĨ¤

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ°-āĻĒāĻ āĻ¨ āĻ°ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŽāĻŦā§‡āĻĄā§‡āĻĄ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§‡

āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ•ā§‡āĻ‰ āĻ¸āĻ•ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ˛āĻžāĻ— āĻŸā§‡āĻ¨ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻŦāĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•ā§‡āĻ¨? āĻāĻ° āĻ•āĻžāĻ°āĻŖ āĻšāĻ˛ āĻĢāĻŋāĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ˛ā§āĻ¯āĻžāĻ—āĻŋāĻ‚ āĻ°āĻžāĻ‡āĻŸ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸ā§āĻŸā§‡āĻŸ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ¨āĻžāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ˜āĻŸā§‡, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŽāĻžāĻ˛āĻŋāĻ•āĻĻā§‡āĻ° āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦā§āĻŸ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ fsck filesystem-recovery āĻāĻŦāĻ‚, āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ–āĻžāĻ°āĻžāĻĒ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĄā§‡āĻŸāĻž āĻšāĻžāĻ°āĻžāĻ¨ā§‹āĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻŽāĻ°āĻž āĻ¸āĻŦāĻžāĻ‡ āĻœāĻžāĻ¨āĻŋ āĻ¯ā§‡ āĻ…āĻ¨ā§‡āĻ• IoT āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻ°āĻžāĻ‰āĻŸāĻžāĻ°, āĻĨāĻžāĻ°ā§āĻŽā§‹āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸ āĻāĻŦāĻ‚ āĻ—āĻžāĻĄāĻŧāĻŋ āĻāĻ–āĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¨ā§‡āĻ‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° "āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°āĻ­āĻžāĻŦā§‡" āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻ•ā§‹āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ¨ā§‡āĻ‡āĨ¤ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻ‡āĻ‰āĻ¨āĻŋāĻŸā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŽā§ƒāĻ¤ āĻŦā§āĻ¯āĻžāĻŸāĻžāĻ°āĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻ•āĻŸāĻŋ āĻ—āĻžāĻĄāĻŧā§€ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°ā§āĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ‰āĻĒāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻšā§‡ āĻ˛āĻžāĻĢāĻžāĻ¨ā§‹. āĻāĻŸāĻž āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻĻā§€āĻ°ā§āĻ˜ āĻ›āĻžāĻĄāĻŧāĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻŸ fsckāĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ•āĻ–āĻ¨ āĻšāĻ˛āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡? āĻāĻŦāĻ‚ āĻ‰āĻ¤ā§āĻ¤āĻ° āĻ¸āĻšāĻœ. āĻāĻŽāĻŦā§‡āĻĄā§‡āĻĄ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ°ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻĄāĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ (āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒāĻŋāĻ¤ ro-rootfs (āĻļā§āĻ§ā§-āĻĒāĻ āĻ¨ āĻ°ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ))āĨ¤

ro-rootfs āĻ…āĻ¨ā§‡āĻ• āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ…āĻĢāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ¸āĻ¤ā§āĻ¯āĻ¤āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻŽ āĻ¸ā§āĻĒāĻˇā§āĻŸāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻ¯ā§‡ āĻŽā§āĻ¯āĻžāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž /usr āĻŦāĻž /lib, āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻšāĻ˛ āĻ¯ā§‡ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻšā§āĻ˛āĻžāĻ‚āĻļā§‡ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§€āĻ¯āĻŧ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ, āĻ•āĻžāĻ°āĻŖ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§āĻŽā§€āĻ°āĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¯āĻž āĻĢāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¨āĻžāĻŽāĻŽāĻžāĻ¤ā§āĻ° āĻ…āĻ­āĻŋāĻ¨ā§āĻ¨āĨ¤ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ (āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ›āĻ˛āĻ¨āĻžāĻŽāĻ¯āĻŧ) āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻ¯ā§‡ ro-rootfs āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ•ā§‹āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§€āĻ¯āĻŧ āĻšāĻŦā§‡āĨ¤ ro-rootfs-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻŦāĻŋāĻļā§āĻ°ā§€ āĻāĻŦāĻ‚ āĻŦā§‡āĻĻāĻ¨āĻžāĻĻāĻžāĻ¯āĻŧāĻ• āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•āĻžāĻ°āĻŖ const āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻĨāĻžāĻ•ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ“āĻ­āĻžāĻ°āĻšā§‡āĻĄāĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ rootfs āĻāĻŽā§āĻŦā§‡āĻĄā§‡āĻĄ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ°āĻŋāĻĄ-āĻ…āĻ¨āĻ˛āĻŋ āĻ•āĻŋāĻ›ā§ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻāĻŦāĻ‚ āĻāĻ–āĻžāĻ¨ā§‡āĻ‡ VFS āĻ›āĻŦāĻŋāĻ¤ā§‡ āĻ†āĻ¸ā§‡āĨ¤ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĨāĻžāĻ•āĻž āĻĻāĻ°āĻ•āĻžāĻ° /var āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ›āĻŋāĻ˛, āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ…āĻ¨ā§‡āĻ• āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¯āĻž āĻāĻŽāĻŦā§‡āĻĄā§‡āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ āĻ¤āĻžāĻ°āĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡ dot-files в $HOME. āĻšā§‹āĻŽ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ˛ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻžāĻ•-āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž rootfsāĨ¤ āĻœāĻ¨ā§āĻ¯ /var āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻĒāĻ¨ā§āĻĨāĻž āĻšāĻ˛ āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ˛āĻŋāĻ–āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ā§‡ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ°āĻž / āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻĄāĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāĻ˛ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄ āĻŦāĻž āĻ“āĻ­āĻžāĻ°āĻ˛ā§‡ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĨ¤

āĻ˛āĻŋāĻ™ā§āĻ•āĻ¯ā§‹āĻ—ā§āĻ¯ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ, āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°

āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻš man mount āĻŦāĻžāĻ‡āĻ¨ā§āĻĄā§‡āĻŦāĻ˛ āĻāĻŦāĻ‚ āĻ“āĻ­āĻžāĻ°āĻ˛ā§‡āĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻœāĻžāĻ¨āĻžāĻ° āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽ āĻ‰āĻĒāĻžāĻ¯āĻŧ, āĻ¯āĻž āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ° āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻŸā§āĻ°ā§‡āĻŸāĻ°āĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻĒāĻžāĻĨā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŽāĻŦā§‡āĻĄā§‡āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž /var āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ āĻ“āĻ­āĻžāĻ°āĻ˛ā§‡ āĻŦāĻž āĻ˛āĻŋāĻ™ā§āĻ•āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻĒāĻžāĻĨ āĻĨā§‡āĻ•ā§‡ tmpfs в /var āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¨ā§‹āĻŸ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦā§‡ (āĻ¸ā§āĻ•ā§āĻ°āĻ˛)āĨ¤ āĻĒāĻ°ā§‡āĻ° āĻŦāĻžāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨ /var āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ“āĻ­āĻžāĻ°āĻ˛ā§‡ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ‰āĻ¨āĻŋāĻ¯āĻŧāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ tmpfs āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĻā§ƒāĻļā§āĻ¯āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ ro-tootf āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻāĻ§āĻžāĻ‡āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ¨āĻ¤ā§āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ–āĻžāĻ˛āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ tmpfs āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¯ā§‹āĻ—ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĻā§ƒāĻļā§āĻ¯āĻŽāĻžāĻ¨ ro-rootfs āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ overlayfs āĻāĻŸāĻžāĻ‡ āĻ¸āĻ āĻŋāĻ• (proper) āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŸāĻžāĻ‡āĻĒ, āĻŦāĻžāĻ‡āĻ¨ā§āĻĄā§‡āĻŦāĻ˛ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ­āĻŋāĻāĻĢāĻāĻ¸ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨.

āĻ“āĻ­āĻžāĻ°āĻ˛ā§‡ āĻāĻŦāĻ‚ āĻ˛āĻŋāĻ™ā§āĻ•āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸā§‡āĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻ•ā§‡āĻ‰ āĻ…āĻŦāĻžāĻ• āĻšāĻ¯āĻŧ āĻ¨āĻž āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻ¤āĻžāĻ°āĻž āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ• āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ˛ā§‡ āĻ•āĻŋ āĻšāĻ¯āĻŧ systemd-nspawn āĻŸā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ§āĻžāĻ°āĻ• āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ mountsnoop āĻĨā§‡āĻ•ā§‡ bcc.

āĻ•āĻ˛ system-nspawn āĻšāĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻžāĻ¤ā§āĻ°āĻŸāĻŋ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ mountsnoop.py.

āĻšāĻ˛ā§āĻ¨ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ• āĻ•āĻŋ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

āĻ†āĻ°āĻŽā§āĻ­ mountsnoop āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĻŸāĻŋ "āĻŦā§āĻŸāĻŋāĻ‚" āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°ā§‡āĻ° āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ˛āĻŋāĻ™ā§āĻ•ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻļā§€āĻ˛ (āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡āĻ° āĻļā§āĻ°ā§ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ)āĨ¤

āĻāĻŸāĻž āĻšāĻ˛ systemd-nspawn āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ procfs и sysfs āĻĒāĻžāĻĨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻšā§‹āĻ¸ā§āĻŸ rootfs... āĻŦā§āĻ¯āĻ¤ā§€āĻ¤ MS_BIND āĻĒāĻ¤āĻžāĻ•āĻž āĻ¯āĻž āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°ā§‡, āĻŽāĻžāĻ‰āĻ¨ā§āĻŸā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻ¤āĻžāĻ•āĻž āĻšā§‹āĻ¸ā§āĻŸ āĻāĻŦāĻ‚ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻ•ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻšāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ /proc и /sys āĻ§āĻžāĻ°āĻ• āĻŽāĻ§ā§āĻ¯ā§‡, āĻ…āĻĨāĻŦāĻž āĻ•āĻ˛ āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ˛ā§āĻ•āĻžāĻ¨.

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻŦā§‹āĻāĻž āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻžāĻœ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ•ā§‹āĻĄ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡, āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¸ā§āĻĒā§‡āĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻŋ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻĒāĻžāĻļā§‡ āĻ°ā§‡āĻ–ā§‡ glibc. āĻ…āĻ—ā§āĻ°āĻ—āĻ¤āĻŋ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĒāĻĄāĻŧāĻž, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻāĻŦāĻ‚ āĻ‡āĻ‰āĻœāĻžāĻ°-āĻ¸ā§āĻĒā§‡āĻ¸ āĻšā§‡āĻĄāĻžāĻ° āĻŦā§‹āĻāĻžāĻ° āĻ‰āĻĒāĻ° āĻœā§‹āĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻŽā§‚āĻ˛ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸, āĻ¯ā§‡āĻŽāĻ¨ āĻŸā§‡āĻŦāĻŋāĻ˛ file_operations. āĻĢāĻžāĻ‡āĻ˛ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ "āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĻ‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛" āĻ¨ā§€āĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻ‰āĻĒāĻ­ā§‹āĻ—ā§āĻ¯ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤ āĻļā§€āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ C āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ fs/ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻŽā§‹āĻĄāĻŧāĻ• āĻ¸ā§āĻ¤āĻ° āĻ¯āĻž āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤ āĻāĻŦāĻ‚ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻšāĻœ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ“āĻ­āĻžāĻ°āĻ˛ā§‡ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ°āĻž VFS-āĻāĻ° āĻœāĻžāĻĻā§ āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻāĻŦāĻ‚ āĻ°ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ, eBPF āĻ•ā§‹āĻ° āĻŸā§āĻ˛ āĻāĻŦāĻ‚ āĻāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛āĻŋāĻ¤ bcc
āĻŽā§‚āĻ˛ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ†āĻ—ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§āĻ˛āĻ›ā§‡āĨ¤

āĻŦāĻ¨ā§āĻ§ā§āĻ°āĻž, āĻ˛āĻŋāĻ–ā§āĻ¨, āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ›āĻŋāĻ˛? āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻ¨ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻŦāĻž āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ†āĻ›ā§‡? āĻ†āĻ° āĻ¯āĻžāĻ°āĻž āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻŸā§āĻ°ā§‡āĻŸāĻ° āĻ•ā§‹āĻ°ā§āĻ¸ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻ¤āĻžāĻĻā§‡āĻ° āĻ†āĻŽāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻœāĻžāĻ¨āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡ āĻ•āĻžāĻ°ā§āĻ¯ āĻĻāĻŋāĻŦāĻ¸, āĻ¯āĻž 18 āĻāĻĒā§āĻ°āĻŋāĻ˛ āĻ…āĻ¨ā§āĻˇā§āĻ āĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽ āĻ…āĻ‚āĻļāĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨