āĻ¸āĻŦāĻžāĻāĻā§ āĻšā§āĻ¯āĻžāĻ˛ā§, āĻāĻŽāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ "āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ: āĻā§āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŦāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§?" āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻ
āĻāĻļ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻā§āĻāĻžāĻŦā§ āĻāĻŦāĻŋāĻĒāĻŋāĻāĻĢ āĻāĻŦāĻ āĻŦāĻŋāĻ¸āĻŋāĻ¸āĻŋ āĻā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŋāĻāĻĢāĻāĻ¸ āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻŖ āĻāĻ°āĻŦā§āĻ¨
āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻāĻŋāĻāĻžāĻŦā§ āĻĢāĻžāĻāĻ˛ā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¤āĻž āĻŦā§āĻāĻžāĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻāĻĒāĻžāĻ¯āĻŧ sysfs
āĻāĻāĻŋ āĻ
āĻ¨ā§āĻļā§āĻ˛āĻ¨ā§ āĻĻā§āĻāĻž, āĻāĻŦāĻ ARM64 āĻĻā§āĻāĻžāĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ eBPF āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĨ¤ eBPF (āĻŦāĻžāĻ°ā§āĻāĻ˛ā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤) āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ āĻŋāĻ¤ query
) āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻĨā§āĻā§āĨ¤ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻ¸ā§āĻ¤ā§āĻ° āĻĒāĻžāĻ āĻāĻā§ āĻŦāĻ˛ā§ āĻ¯ā§ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§; āĻāĻāĻāĻŋ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ eBPF āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻĢāĻ˛ā§ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻāĻ¸āĻ˛ā§ āĻā§ āĻāĻ°āĻā§ āĻ¤āĻž āĻĻā§āĻāĻžāĻ¯āĻŧāĨ¤
āĻ¸ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, eBPF āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻā§āĻ˛ā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§ āĻŦā§āĻļ āĻ¸āĻšāĻ bcc
āĻ¸āĻŋ āĻā§āĻĄā§āĻ° āĻā§āĻ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻ¸āĻš āĻĒāĻžāĻāĻĨāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻā§āĻ˛āĻŋ, āĻ¯āĻžāĻ° āĻ
āĻ°ā§āĻĨ āĻāĻāĻ¯āĻŧ āĻāĻžāĻˇāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻ¯ā§ āĻā§āĻ āĻ¸āĻšāĻā§āĻ āĻ¤āĻžāĻĻā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻŋāĻ¤āĻ°ā§ bcc/tools
āĻāĻāĻžāĻ¨ā§ 80āĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻžāĻ° āĻ
āĻ°ā§āĻĨ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻāĻ¨ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻŦāĻž āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ
ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻā§āĻ°ā§āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻāĻŋāĻā§ āĻŦā§āĻā§ āĻ¨āĻŋāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĻ¨āĨ¤
āĻāĻ˛āĻŽāĻžāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ VFSāĻā§āĻ˛āĻŋ āĻā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ
āĻ¨ā§āĻ¤āĻ¤ āĻāĻāĻāĻŋ āĻ
āĻ¤āĻŋāĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ¯āĻŧ āĻ§āĻžāĻ°āĻŖāĻž āĻĒā§āĻ¤ā§ āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨ vfscount
āĻŦāĻž vfsstat
. āĻāĻ āĻĻā§āĻāĻžāĻŦā§, āĻāĻ˛ā§āĻ¨ āĻŦāĻ˛āĻž āĻ¯āĻžāĻ, āĻ¯ā§ āĻāĻ¯āĻŧā§āĻ āĻĄāĻāĻ¨ āĻāĻ˛ vfs_open()
āĻāĻŦāĻ "āĻ¤āĻžāĻ° āĻŦāĻ¨ā§āĻ§ā§āĻ°āĻž" āĻāĻā§āĻˇāĻ°āĻŋāĻāĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§ āĻāĻā§āĨ¤
vfsstat.py
āĻ¸āĻŋ āĻā§āĻĄ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¯āĻž āĻā§āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° VFS āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻŖāĻ¨āĻž āĻāĻ°ā§āĨ¤
āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻāĻ°āĻ āĻ¤ā§āĻā§āĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋāĻ āĻāĻŦāĻ āĻĻā§āĻāĻŋ āĻ¯āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ USB āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻāĻ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻāĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°ā§ āĻ¤āĻāĻ¨ āĻā§ āĻāĻā§āĨ¤
eBPF āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŋ āĻšāĻā§āĻā§
/sys
āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ USB āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻāĻ āĻĸā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻŦāĻ āĻāĻāĻŋāĻ˛ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻāĻžāĻ¨ā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻĒāĻ°ā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖā§, bcc
āĻā§āĻ˛ 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āĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻā§ āĻ˛āĻŋāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻ¤āĻžāĻ āĻāĻāĻ¨āĻž āĻĢāĻžāĻāĻ˛ āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻāĻŋ? āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° 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
) āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻžāĻāĻĒ, āĻŦāĻžāĻāĻ¨ā§āĻĄā§āĻŦāĻ˛ āĻŽāĻžāĻāĻ¨ā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻāĻžāĻ°āĻ˛ā§ āĻāĻŦāĻ āĻ˛āĻŋāĻā§āĻāĻ¯ā§āĻā§āĻ¯ āĻŽāĻžāĻāĻ¨ā§āĻā§āĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§, āĻā§āĻ āĻ
āĻŦāĻžāĻ āĻšāĻ¯āĻŧ āĻ¨āĻž mountsnoop
āĻĨā§āĻā§ bcc
.
āĻāĻ˛ system-nspawn
āĻāĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻžāĻ¤ā§āĻ°āĻāĻŋ āĻļā§āĻ°ā§ āĻāĻ°ā§ mountsnoop.py
.
āĻāĻ˛ā§āĻ¨ āĻĻā§āĻāĻž āĻ¯āĻžāĻ āĻāĻŋ āĻšāĻ¯āĻŧā§āĻā§:
āĻāĻ°āĻŽā§āĻ mountsnoop
āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻāĻŋ "āĻŦā§āĻāĻŋāĻ" āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§āĻāĻžāĻ¯āĻŧ āĻ¯ā§ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻŽāĻžāĻāĻ¨ā§āĻ āĻ˛āĻŋāĻā§āĻā§āĻ° āĻāĻĒāĻ° āĻ
āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻļā§āĻ˛ (āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻ°ā§āĻ āĻāĻāĻāĻĒā§āĻā§āĻ° āĻļā§āĻ°ā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧ)āĨ¤
āĻāĻāĻž āĻšāĻ˛ systemd-nspawn
āĻŽāĻ§ā§āĻ¯ā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻŋāĻ¤ āĻĢāĻžāĻāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ procfs
и sysfs
āĻĒāĻžāĻĨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻšā§āĻ¸ā§āĻ rootfs
... āĻŦā§āĻ¯āĻ¤ā§āĻ¤ MS_BIND
āĻĒāĻ¤āĻžāĻāĻž āĻ¯āĻž āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻ āĻŽāĻžāĻāĻ¨ā§āĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°ā§, āĻŽāĻžāĻāĻ¨ā§āĻā§āĻ° āĻāĻŋāĻā§ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻ¤āĻžāĻāĻž āĻšā§āĻ¸ā§āĻ āĻāĻŦāĻ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻ˛āĻŋāĻā§āĻ āĻāĻ°āĻž āĻŽāĻžāĻāĻ¨ā§āĻ āĻšāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ /proc
и /sys
āĻ§āĻžāĻ°āĻ āĻŽāĻ§ā§āĻ¯ā§, āĻ
āĻĨāĻŦāĻž āĻāĻ˛ āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻ¤āĻžāĻĻā§āĻ° āĻ˛ā§āĻāĻžāĻ¨.
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§āĻ° āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻāĻžāĻāĻā§āĻ˛āĻŋ āĻŦā§āĻāĻž āĻāĻāĻāĻŋ āĻ
āĻ¸āĻŽā§āĻāĻŦ āĻāĻžāĻ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻ¨āĻŋāĻā§āĻ āĻĒā§āĻ°āĻā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§ āĻā§āĻĄ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§, āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¸ā§āĻĒā§āĻ¸ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻ¸āĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻĒāĻžāĻļā§ āĻ°ā§āĻā§ glibc
. āĻ
āĻā§āĻ°āĻāĻ¤āĻŋ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻĒāĻĄāĻŧāĻž, āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻāĻŦāĻ āĻāĻāĻāĻžāĻ°-āĻ¸ā§āĻĒā§āĻ¸ āĻšā§āĻĄāĻžāĻ° āĻŦā§āĻāĻžāĻ° āĻāĻĒāĻ° āĻā§āĻ° āĻĻā§āĻāĻ¯āĻŧāĻž, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸, āĻ¯ā§āĻŽāĻ¨ āĻā§āĻŦāĻŋāĻ˛ file_operations
. āĻĢāĻžāĻāĻ˛ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋ "āĻ¸āĻŦāĻāĻŋāĻā§āĻ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛" āĻ¨ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§, āĻ¯āĻž āĻ¤āĻžāĻĻā§āĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§āĻˇāĻāĻžāĻŦā§ āĻāĻĒāĻā§āĻā§āĻ¯ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤ āĻļā§āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ C āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻ¸ā§āĻ°ā§āĻ¸ āĻĢāĻžāĻāĻ˛ fs/
āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§, āĻ¯āĻž āĻāĻāĻāĻŋ āĻŽā§āĻĄāĻŧāĻ āĻ¸ā§āĻ¤āĻ° āĻ¯āĻž āĻāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻĄāĻŋāĻāĻžāĻāĻ¸āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻŋāĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻŦāĻ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§āĻ˛āĻāĻāĻžāĻŦā§ āĻ¸āĻšāĻ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ˛āĻŋāĻā§āĻ āĻāĻ°āĻž āĻāĻŦāĻ āĻāĻāĻžāĻ°āĻ˛ā§ āĻŽāĻžāĻāĻ¨ā§āĻ āĻāĻ°āĻž VFS-āĻāĻ° āĻāĻžāĻĻā§ āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻŦāĻ āĻ°ā§āĻ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ, eBPF āĻā§āĻ° āĻā§āĻ˛ āĻāĻŦāĻ āĻāĻ° āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻāĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛āĻŋāĻ¤ bcc
āĻŽā§āĻ˛ āĻ
āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻā§āĻ° āĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛āĻā§āĨ¤
āĻŦāĻ¨ā§āĻ§ā§āĻ°āĻž, āĻ˛āĻŋāĻā§āĻ¨, āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻŋāĻ˛? āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¨ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻŦāĻž āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻāĻā§? āĻāĻ° āĻ¯āĻžāĻ°āĻž āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻ
ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻā§āĻ°ā§āĻāĻ° āĻā§āĻ°ā§āĻ¸ā§ āĻāĻā§āĻ°āĻšā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻŽāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻžāĻ¨āĻžāĻ¨ā§ āĻšāĻā§āĻā§
āĻāĻ¤ā§āĻ¸: www.habr.com