рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо: рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдФрд░ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ? рднрд╛рдЧ ---- рдкрд╣рд▓рд╛

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░, рд╣рдо рдЖрдкрдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢рди рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ "рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо: рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдФрд░ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ?" рд╕рд╛рдЭрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк рдкрд╣рд▓рд╛ рднрд╛рдЧ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣рд╛рдВ. рд╣рдо рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреЗрдВ рдХрд┐ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреА рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░ рдПрдХ рдирдИ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓реЙрдиреНрдЪ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордпрдмрджреНрдз рд╣реИ "рд▓рд┐рдирдХреНрд╕ рдкреНрд░рд╢рд╛рд╕рдХ", рдЬреЛ рдмрд╣реБрдд рдЬрд▓реНрдж рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ.

рдИрдмреАрдкреАрдПрдл рдФрд░ рдмреАрд╕реАрд╕реА рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реАрдПрдлрдПрд╕ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреИрд╕реЗ рдХрд░реЗрдВ

рдпрд╣ рд╕рдордЭрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ sysfs рдЗрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рджреЗрдЦрдирд╛ рд╣реИ, рдФрд░ ARM64 рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ eBPF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред eBPF (рдмрд░реНрдХрд▓реЗ рдкреИрдХреЗрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк) рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╣реЛрддреА рд╣реИ рдХреЛрд░, рдЬреЛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (query) рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗред рдХрд░реНрдиреЗрд▓ рд╕реНрд░реЛрдд рдкрд╛рдардХ рдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ; рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рд┐рд╕реНрдЯрдо рдкрд░ eBPF рдЯреВрд▓ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо: рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдФрд░ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ? рднрд╛рдЧ ---- рдкрд╣рд▓рд╛

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЯреВрд▓ рдХреА рдорджрдж рд╕реЗ eBPF рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ рдЧреБрдкреНрдд рдкреНрд░рддрд┐рд▓рд┐рдкрд┐, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рддрд░рдг рд╕реЗ рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ Linux рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдмрд░реНрдирд╛рд░реНрдб рдЧреНрд░реЗрдЧ. рдФрдЬрд╛рд░ bcc рд╕реА рдХреЛрдб рдХреЗ рдЫреЛрдЯреЗ рд╕рдореНрдорд┐рд▓рди рдХреЗ рд╕рд╛рде рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдЙрдиреНрд╣реЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореЗрдВ bcc/tools 80 рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рдВрднрд╡рддрдГ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрдпреБрдХреНрдд рдЪреБрдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред
рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рддрд╣реА рд╡рд┐рдЪрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ VFS рдХрд┐рд╕реА рдЪрд╛рд▓реВ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ vfscount рдпрд╛ vfsstat. рдорд╛рди рд▓реАрдЬрд┐рдП, рдпрд╣ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рджрд░реНрдЬрдиреЛрдВ рдХреЙрд▓реЗрдВ vfs_open() рдФрд░ "рдЙрд╕рдХреЗ рджреЛрд╕реНрдд" рд╡рд╕реНрддреБрддрдГ рд╣рд░ рд╕реЗрдХрдВрдб рд╣реЛрддреЗ рд╣реИрдВред

рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо: рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдФрд░ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ? рднрд╛рдЧ ---- рдкрд╣рд▓рд╛

vfsstat.py рд╕реА рдХреЛрдб рдЗрдВрд╕рд░реНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рд╡реАрдПрдлрдПрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреА рдЧрдгрдирд╛ рдХрд░рддреА рд╣реИред

рдЖрдЗрдП рдПрдХ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрджрд╛рд╣рд░рдг рджреЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдЬрдм рд╣рдо рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рдпреВрдПрд╕рдмреА рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред

рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо: рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдФрд░ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ? рднрд╛рдЧ ---- рдкрд╣рд▓рд╛

рдИрдмреАрдкреАрдПрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ /sysрдЬрдм USB рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╕рд░рд▓ рдФрд░ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ.

рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, bcc рд╕рд╛рдзрди рдЯреНрд░реЗрд╕.рдкреА.рдИ рдХрдорд╛рдВрдб рдЪрд▓рдиреЗ рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ sysfs_create_files(). рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ sysfs_create_files() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ kworker рдЗрд╕ рддрдереНрдп рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рд╕реНрдЯреНрд░реАрдо рдХрд░реЗрдВ рдХрд┐ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдбрд╛рд▓реА рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдХреМрди рд╕реА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЧрдИ рдереА? рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг eBPF рдХреА рд╢рдХреНрддрд┐ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ trace.py рдПрдХ рдХрд░реНрдиреЗрд▓ рдмреИрдХрдЯреНрд░реЗрд╕ (-K рд╡рд┐рдХрд▓реНрдк) рдФрд░ рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ sysfs_create_files(). рд╕рд┐рдВрдЧрд▓ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЗрдВрд╕рд░реНрд╢рди рд╕реА рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрд▓рдПрд▓рд╡реАрдПрдо рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реА рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╣рдЪрд╛рдирдиреЗ рдпреЛрдЧреНрдп рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд╕реНрдЯ-рдЗрди-рдЯрд╛рдЗрдо рдХрдВрдкрд╛рдЗрд▓рд░. рдпрд╣ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрд░реНрдиреЗрд▓ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреВрд░реНрдг рдХрд╛рд░реНрдп рд╣рд╕реНрддрд╛рдХреНрд╖рд░ sysfs_create_files () рджреВрд╕рд░реЗ рдХрдорд╛рдВрдб рдореЗрдВ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд┐рд╕реА рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХреЗред рд╕реА рдХреЛрдб рдХреЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реЗ рдкрд╣рдЪрд╛рдирдиреЗ рдпреЛрдЧреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ -l рдкреИрд░рд╛рдореАрдЯрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк "рдмреАрдкреАрдПрдл рдкрд╛рда рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓" рджреЗрдЦреЗрдВрдЧреЗред рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реА рдФрд░ рдкрд╛рдпрдерди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЯреВрд▓ рдорд┐рд▓ рдЬрд╛рдПрдВрдЧреЗ bcc рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдФрд░ рдмрджрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рдЬрдм USB рдбреНрд░рд╛рдЗрд╡ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрд░реНрдиреЗрд▓ рдмреИрдХрдЯреНрд░реЗрд╕ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ PID 7711 рдПрдХ рдереНрд░реЗрдб рд╣реИ kworkerрдЬрд┐рд╕рдиреЗ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ ┬лevents┬╗ ╨▓ sysfs. рддрджрдиреБрд╕рд╛рд░, рд╕реЗ рдХреЙрд▓ sysfs_remove_files() рдпрд╣ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдбреНрд░рд╛рдЗрд╡ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдлрд╝рд╛рдЗрд▓ рд╣рдЯрд╛ рджреА рдЧрдИ рд╣реИ events, рдЬреЛ рд╕рдВрджрд░реНрдн рдЧрдгрдирд╛ рдХреА рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рд╕рд╛рде рд╣реА рджреЗрдЦ рднреА рд░рд╣реЗ рд╣реИрдВ sysfs_create_link () рдпреВрдПрд╕рдмреА рдбреНрд░рд╛рдЗрд╡ рдбрд╛рд▓рддреЗ рд╕рдордп рдИрдмреАрдкреАрдПрдл рдХреЗ рд╕рд╛рде рдпрд╣ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдХрдо рд╕реЗ рдХрдо 48 рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдмрдирд╛рдП рдЧрдП рд╣реИрдВред

рддреЛ рдЗрд╡реЗрдВрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдкреНрд░рдпреЛрдЧ рд╕реАрд╕реНрдХреЛрдк рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП __рдбрд┐рд╡рд╛рдЗрд╕_рдРрдб_рдбрд┐рд╕реНрдХ(), рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдХрд╛рд░рдг рд╣реИ disk_add_events (), рдФрд░ рдпрд╛ рддреЛ "media_change"рдпрд╛ "eject_request" рдЗрд╡реЗрдВрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдпрд╣рд╛рдВ рдХрд░реНрдиреЗрд▓ рдмреНрд▓реЙрдХ рдкрд░рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдПрдХ "рдбрд┐рд╕реНрдХ" рдкреНрд░рдХрдЯ рд╣реБрдИ рд╣реИ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЧрдИ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпреВрдПрд╕рдмреА рдбреНрд░рд╛рдЗрд╡ рдбрд╛рд▓рдХрд░ рдпрд╣ рд╢реЛрдз рдкрджреНрдзрддрд┐ рдХрд┐рддрдиреА рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд╣реИ, рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЪреАрдЬреЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд░реЛрдд рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред

рд░реАрдб-рдУрдирд▓реА рд░реВрдЯ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдПрдореНрдмреЗрдбреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ

рдмреЗрд╢рдХ, рдХреЛрдИ рднреА рд╕реЙрдХреЗрдЯ рд╕реЗ рдкреНрд▓рдЧ рдЦреАрдВрдЪрдХрд░ рд╕рд░реНрд╡рд░ рдпрд╛ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдмрдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ? рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рднреМрддрд┐рдХ рднрдВрдбрд╛рд░рдг рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдорд╛рдЙрдВрдЯ рдХрд┐рдП рдЧрдП рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓реЗрдЦрди рдореЗрдВ рджреЗрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдЬреЛ рдЙрдирдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддреА рд╣реИрдВ, рднрдВрдбрд╛рд░рдг рдореЗрдВ рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдорд╛рд▓рд┐рдХреЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓реЗ рдмреВрдЯ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред fsck filesystem-recovery рдФрд░, рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдбреЗрдЯрд╛ рдЦреЛрдирд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХрдИ IoT рдбрд┐рд╡рд╛рдЗрд╕, рд╕рд╛рде рд╣реА рд░рд╛рдЙрдЯрд░, рдерд░реНрдореЛрд╕реНрдЯреИрдЯ рдФрд░ рдХрд╛рд░реЗрдВ, рдЕрдм Linux рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрд╣реБрдд рдХрдо рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ "рд╕рд╛рдлрд╝-рд╕реБрдерд░рд╛" рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЬрдм рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдХреЛ рдмрд┐рдЬрд▓реА рджреА рдЬрд╛рддреА рд╣реИ рддреЛ рдПрдХ рдореГрдд рдмреИрдЯрд░реА рд╡рд╛рд▓реА рдХрд╛рд░ рд╢реБрд░реВ рдХреА рдЬрд╛рддреА рд╣реИ Linux рд▓рдЧрд╛рддрд╛рд░ рдКрдкрд░-рдиреАрдЪреЗ рдХреВрджрдирд╛ред рдРрд╕рд╛ рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдмрд┐рдирд╛ рджреЗрд░ рдХрд┐рдП рдмреВрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ? fsckрдЖрдЦрд╝рд┐рд░ рдЗрдВрдЬрди рдХрдм рдЪрд▓рдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ? рдФрд░ рдЙрддреНрддрд░ рд╕рд░рд▓ рд╣реИ. рдПрдВрдмреЗрдбреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рд░реВрдЯ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрддреЗ рд╣реИрдВ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП (рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдореЗрдВ) ro-rootfs (рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд░реВрдЯ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо))ред

ro-rootfs рдХрдИ рд▓рд╛рдн рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рд╛рдорд╛рдгрд┐рдХрддрд╛ рд╕реЗ рдХрдо рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред рдПрдХ рдлрд╛рдпрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрд▓рд╡реЗрдпрд░ рд▓рд┐рдЦ рдирд╣реАрдВ рд╕рдХрддрд╛ /usr рдпрд╛ /lib, рдпрджрд┐ рдХреЛрдИ рд▓рд┐рдирдХреНрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреА рд╣реИред рджреВрд╕рд░рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рджреВрд░рд╕реНрде рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдлрд╝реАрд▓реНрдб рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдорд░реНрдерди рдХрд░реНрдореА рд╕реНрдерд╛рдиреАрдп рд╕рд┐рд╕реНрдЯрдо рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдирд╛рдордорд╛рддреНрд░ рд░реВрдк рд╕реЗ рдлрд╝реАрд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг (рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдШрд╛рддрдХ) рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рд░реЛ-рд░реВрдЯрдлрд╝реНрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдЪрд░рдг рдореЗрдВ рдХреМрди рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реЛрдВрдЧреЗред рд░реЛ-рд░реВрдЯрдлрд╝реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдЬреАрдм рдФрд░ рджрд░реНрджрдирд╛рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЙрдиреНрд╕реНрдЯ рд╡реИрд░рд┐рдПрдмрд▓ рдЕрдХреНрд╕рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рд▓рд╛рдн рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдУрд╡рд░рд╣реЗрдб рдХреЛ рдЙрдЪрд┐рдд рдард╣рд░рд╛рддреЗ рд╣реИрдВред

рд╕реГрдЬрди rootfs рдПрдореНрдмреЗрдбреЗрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд░реАрдб-рдУрдирд▓реА рдХреЛ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдпрд╣реАрдВ рдкрд░ рд╡реАрдПрдлрдПрд╕ рддрд╕реНрд╡реАрд░ рдореЗрдВ рдЖрддрд╛ рд╣реИред Linux рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЕрдВрджрд░ рд╣реЛрдВ /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/ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ, рдЬреЛ рдПрдХ рдЖрд╡рд░рдг рдкрд░рдд рд╣реИ рдЬреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмреАрдЪ рд╡реНрдпрд╛рдкрдХ рдФрд░ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд╕рдВрдЧрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рд▓рд┐рдирдХреНрд╕ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд┐рдВрдХрд┐рдВрдЧ рдФрд░ рдУрд╡рд░рд▓реЗ рдорд╛рдЙрдВрдЯрд┐рдВрдЧ рд╡реАрдПрдлрдПрд╕ рдХрд╛ рдЬрд╛рджреВ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдХрдВрдЯреЗрдирд░ рдФрд░ рд░реВрдЯ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рд╕реНрд░реЛрдд рдХреЛрдб, рдИрдмреАрдкреАрдПрдл рдХреЛрд░ рдЯреВрд▓ рдФрд░ рдЙрд╕рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд bcc
рдореБрдЦреНрдп рдЕрдиреНрд╡реЗрд╖рдг рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ред

рджреЛрд╕реНрддреЛрдВ, рд▓рд┐рдЦреЗрдВ, рдХреНрдпрд╛ рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдерд╛? рд╢рд╛рдпрдж рдЖрдкрдХреА рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реЛрдВ? рдФрд░ рдЬреЛ рд▓реЛрдЧ рд▓рд┐рдирдХреНрд╕ рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЛрд░реНрд╕ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рдЗрд╕рдореЗрдВ рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЦреБрд▓рд╛ рджрд┐рдирдЬреЛ 18 рдЕрдкреНрд░реИрд▓ рдХреЛ рд╣реЛрдЧрд╛.

рдкрд╣рд▓рд╛ рднрд╛рдЧред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ