OS Inferno рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди: рдУрдПрд╕ рдЗрдиреНрдлрд░реНрдиреЛ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЕрднреА рдЕрдкрдиреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП OS Inferno рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ , рдФрд░ рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд╛рдордЧреНрд░реА



рдЕрдзреАрд░ рдХреЗ рд▓рд┐рдП


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

рдЖрд░рдВрдн рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛


рд╣реЛрд╕реНрдЯ рдХреЛ emu рдпрд╛ emu-g рдХрдорд╛рдВрдб (рдХреЛрдИ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдореЛрдб рд╕рдорд░реНрдерди рдирд╣реАрдВ) рдХреЗ рд╕рд╛рде emu рдЧрдпрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, sh рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ " ; ":
 $ emu ; 

рдЖрдк exit рджреНрд╡рд╛рд░рд╛ рдпрд╛ Ctrl-D рд╕рд╛рде рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рдЕрдВрдд рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ( Ctrl-D рдмрд╛рдж рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ Enter рджрдмрд╛рдПрдВ)ред рдЖрдк shutdown -h рдпрд╛ (рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕ / рд╡рд┐рди рдХреЗ рддрд╣рдд) Ctrl-C рдкрд░ рдХрд╛рдо рдореЗрдВ рдмрд╛рдзрд╛ рдбрд╛рд▓рддреЗ рд╣реБрдП рдЕрдиреБрдорд╛рди рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрднреА, рдЖрдк рдЗрди рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ - рд╡реЗ рд╕рднреА рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╕рдХреНрд░рд┐рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрддреЗ рд╣реБрдП рднреА рдирд░рдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рд╕рдордп рдРрд╕реА рдПрдХ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ - sh ред рдпрджрд┐ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ndb/cs (рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдПрдХ рд╕реЗрд╡рд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░), рддреЛ ndb/cs рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд╛рдж sh рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред рд▓рд┐рдирдХреНрд╕ / рд╡рд┐рди рдХреЗ рддрд╣рдд, Ctrl-C рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрд╡рд░ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд╕рдВрднрд╡ Ctrl-C , рдФрд░ FreeBSD / MacOSX рдХреЗ рддрд╣рдд рдпрд╣ рдХреЗрд╡рд▓ рдореБрдЦреНрдп OS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдореВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдмреЗрд╢рдХ, рдпрджрд┐ рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ rstyx рд╕реЗрд╡рд╛ (рд░рд┐рдореЛрдЯ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП ssh рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ) рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдЗрдореВ рдХреЛ рджреВрд╕рд░реЗ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ shutdown -h рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдЕрдиреНрдп рдЕрдВрддрд░ рд▓рд┐рдирдХреНрд╕ рдФрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рддрд╣рдд рд╣реИ - рдЗрдирдлреИрдиреЛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, "рдХрд┐рд▓реНрдб" рд╕рдВрджреЗрд╢ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ:
 powerman@Ubuntu:~$ emu-g echo ok ok  powerman@Ubuntu:~$ [powerman@freebsd ~]$ emu-g echo ok ok Killed: 9 [powerman@freebsd ~]$ 
рдЙрд╕рд╕реЗ рдХреЛрдИ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ, рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд░реИрдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ ~ ~ рдмрд┐рди / рдПрдореВ рдФрд░ ~ / рдмрд┐рди / рдПрдореБ-рдЬреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдореВ рдФрд░ рдЗрдореВ-рдЬреА рдЪрд▓рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:
 powerman@Ubuntu:~$ cat ~/bin/emu-g #!/bin/bash $INFERNO_ROOT/Linux/386/bin/emu-g "$@" </dev/stdin & wait 2>/dev/null [powerman@freebsd ~]$ cat bin/emu-g #!/usr/local/bin/bash $INFERNO_ROOT/FreeBSD/386/bin/emu-g "$@" </dev/stdin & wait 2>/dev/null 
рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд, рдЗрди рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди FreeBSD рдХреЗ рддрд╣рдд рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдмреИрд╢ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ ~/.bash_profile рдореЗрдВ PATH рдорд╛рди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /home/_/bin рдЗрдирдлрд╝реЙрд░реНрдореЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рдордиреЗ рд╣реЛред

рдПрдореВ рд╡рд┐рдХрд▓реНрдк


рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╡реЗ рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдпрд╛ рддреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ EMU рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ: -r//// рдФрд░ рд╣рдордиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА EMU рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдЙрдкрдпреЛрдЧреА рд╡реИрдХрд▓реНрдкрд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рд▓рд╛рдпрдХ рд╣реИрдВ:
рдЖрдк рдЗрдореВ (1) рдореИрди рдкреЗрдЬ рдореЗрдВ рдЗрдореВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд░рдХ рдХреЗ рдЕрдВрджрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
 ; echo $emuroot /home/powerman/inferno ; echo $emuargs emu -g1024x768 -c1 ; cat /dev/memory 277568 33554432 328032 3303 1490 1 33276852 main 52544 33554432 78496 1650 1271 1 33501876 heap 0 33554688 0 0 0 0 33554676 image 
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ (penultimate рдХреЙрд▓рдо), рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рдореЗрдореЛрд░реА рдкреВрд▓ рдХреЗ рд▓рд┐рдП рдирд░рдХ 32MB рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
 ; cat /dev/jit 0; echo 1 >/dev/jit ; cat /dev/jit 1; echo 0 >/dev/jit ; cat /dev/jit 0; 
рдпрджреНрдпрдкрд┐ JIT рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ / рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкрд░рд┐рд╡рд░реНрддрд┐рдд JIT рдорд╛рди рдХреЗрд╡рд▓ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ (рдЕрдиреБрдорд╛рдиреЛрдВ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмреАрдЪ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ, рд╡реЗ рд╕рднреА рдмрд╕ рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ) рдЬреЛ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рд▓реЛрдб рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП, emu рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЬреЗрдЖрдИрдЯреА рдореВрд▓реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

/ lib / рд╢ / рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓


рдЬрдм рдирд░рдХ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ emuinit рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ sh -l рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред -l sh /lib/sh/profile рд╕реЗ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИред рдпрд╣ рдлрд╝рд╛рдЗрд▓ * NIX рдмреВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд╣рд╛рдБ рд╣реИ рдХрд┐ рд╣рдо рдХрдорд╛рдВрдб рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗ (рдЕрдм рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдИ рдЖрджреЗрд╢ рдирд╣реАрдВ рд╣реИрдВ)ред

рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдореБ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреЗ рдирд╛рдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ /lib/sh/profile рд╕реЗ рдЖрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ (рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 $ emu-g ; cat /lib/sh/profile # emu sh initialisation here ; echo 'echo executing /lib/sh/profile' >> /lib/sh/profile ; shutdown -h $ emu-g executing /lib/sh/profile ; shutdown -h $ emu-g sh ; shutdown -h $ emu-g sh -l executing /lib/sh/profile ; shutdown -h $ emu-g sh -c 'run /lib/sh/profile; echo ok; shutdown -h' executing /lib/sh/profile ok 

рд╕рдордп рдХреНрд╖реЗрддреНрд░

рд╡рд░реНрддрдорд╛рди рдЬрд╝реЛрди рдлрд╝рд╛рдЗрд▓ /locale/timezone рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдкрд▓рдмреНрдз рд╡рд┐рдХрд▓реНрдк /locale/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рджреЗрдЦрдХрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд╛рд░рдВрдкрд░рд┐рдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рд╣рдо рдмрд╕ /locale/timezone рд╢реАрд░реНрд╖ рдкрд░ рдлрд╝рд╛рдЗрд▓ /locale/_ рдХреЙрдкреА рдХрд░реЗрдВрдЧреЗред рдирд░рдХ рдореЗрдВ, рдЖрдк рдпрд╣ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рдВрдЭрдкрди рдореЗрдВ рд╕рдордпрдХреНрд╖реЗрддреНрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рддрд░реАрдХрд╛ рдмрд╛рдЗрдВрдб (1) рдХреЗ рд╕рд╛рде рдирд╛рдо рд╕реНрдерд╛рди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реИ:
 ; date Sun Jun 17 19:00:28 BST 2012 ; bind /locale/EET /locale/timezone ; date Sun Jun 17 21:00:39 EEST 2012 
рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдирд╛ рдХреНрд╖реЗрддреНрд░ рдкрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ /lib/sh/profile рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
 bind /locale/_ /locale/timezone 


/ рдЪ

/lib/sh/profile рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рдХрдорд╛рдВрдб рд╣реИ:
 bind -b '#s' /chan 
рдпрд╣ srv (3) рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ / chan рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдирд░рдХ рд╕рдордЭреМрддреЗ рдореЗрдВ рдЕрдкрдирд╛рдП рдЧрдП рд╕рдордЭреМрддреЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓реНрд╕ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд░реАрдб / рд░рд╛рдЗрдЯ рдХреЛ srv рдбреНрд░рд╛рдпрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЗрди рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд░реНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЪреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реА рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ ( рд▓рд┐рдореНрдмреЛ рд╕реЗ рдлрд╝рд╛рдЗрд▓ 2chan (2) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдлрд╛рдЗрд▓ 2chan ( рд╢) рд╕реЗ рд╢)) рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдлрд╛рдЗрд▓ рд╕рд░реНрд╡рд░ рдХреЛ рдЗрдирдлрд░реНрдиреЛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдШрд░ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛

Inferno рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /usr/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХреЗрд╡рд▓ рдПрдХ inferno/ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ, рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдШрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдХреЗрд╡рд▓ рдореБрдЦреНрдп OS рдореЗрдВ рдЖрдкрдХреЗ рдЦрд╛рддреЗ рдХреЛ рдирд░рдХ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, :) рддреЛ рдЖрдк рдХрд╛ рдЕрдкрдирд╛ рдШрд░ рдирд╣реАрдВ рд╣реИ:
 $ emu ; pwd / ; cd cd: /usr/powerman: '/usr/powerman' does not exist ; 
рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдмрд╕ рдХреЙрдкреА /usr/inferno/ to /usr/__/ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдЗрдирд░реНрдиреЛ рдореЗрдВ рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рд╣рдо рдПрдХ рдЕрд▓рдЧ, рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗ рдФрд░ рдХреБрд╢рд▓ рддрд░реАрдХреЗ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ - рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЦреНрдп OS (рдФрд░ / usr / inferno / рд╕реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛) рдХреЛ рдореБрдЦреНрдп OS рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВрдЧреЗред
 $ pwd /home/powerman $ emu ; mount {mntgen&} /usr ; bind -c '#U*/home/powerman' /usr/powerman ; cd ; pwd /usr/powerman 
Mntgen (4) рдлрд╝рд╛рдЗрд▓ рд╕рд░реНрд╡рд░ рдХреЛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА (рдорд╛рдЙрдВрдЯ рдкреЙрдЗрдВрдЯреНрд╕) рдирд╣реАрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╡реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ рдЬрд╣рд╛рдБ mntgen рдЙрд╕ рд╕рдордп рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдЙрдирд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ (рдЬрдм рдЗрдиреНрдлрд░реНрдиреЛ рдУрдПрд╕ рд╣рдорд╛рд░реЗ рдШрд░ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рддреЛ mntgen рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рдХреЗрд╡рд▓ ~/inferno/usr/powerman/ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдирд░рдХ рдХреЛ рд░реВрдЯ рд╕рд┐рд╕реНрдЯрдо-рд╡рд╛рдЗрдб /usr/local/inferno/ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рддрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /usr/local/inferno/usr/powerman/ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА рдФрд░ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд░рдХ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдЯ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдФрд░ mntgen рдиреЗ рд░реВрдЯ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдФрд░ рднреМрддрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╣рд╛рдВ рдЖрднрд╛рд╕реА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ INFERNO_HOME рдХреЗ тАЛтАЛрд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ - рдпрджрд┐ рдпрд╣ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕ рдЪрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрде рдХреЛ рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, /lib/sh/profile :

... * NIX

 ( home unused ) := `{os sh -c 'echo $INFERNO_HOME $HOME' </dev/null} home = '#U*'^$home user := `{cat /dev/user} mount {mntgen&} /usr bind -c $home /usr/$user cd 

... рдЬреАрдд

 home := `{os cmd /C 'IF DEFINED INFERNO_HOME ( echo %INFERNO_HOME:\=/% ) ELSE ( echo %USERPROFILE:\=/% )'} home = '#U'^$home user := `{cat /dev/user} mount {mntgen&} /usr bind -c $home /usr/$user cd 

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕

рдЕрдВрддрд┐рдо рдЪреАрдЬрд╝ рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП /lib/sh/profile рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ:
 load std and {ftest -d tmp} {bind -c tmp /tmp} and {ftest -e namespace} {nsbuild} and {ftest -e profile} {run profile} 
рд╢реЗрд▓ рдореЙрдбреНрдпреВрд▓ рдПрд╕рдЯреАрдбреА рдХреЛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдХрдорд╛рдВрдб рдФрд░ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ (рдпрджрд┐ рдФрд░ && рдХрд╛ рдПрдирд╛рд▓реЙрдЧ)ред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ tmp/ subdirectory - рдпрд╣ рд╕рд┐рд╕реНрдЯрдо /tmp/ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдЧрд╛ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди /usr/local/inferno/ рдореЗрдВ рдирд░рдХ рдХреЗ рд╕рд┐рд╕реНрдЯрдо-рд╡рд╛рдЗрдб рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде /usr/local/inferno/ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА) /usr/local/inferno/tmp/ рдФрд░ рдЗрд╕ рдЖрджреЗрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)ред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ namespace рдФрд░ profile рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдбрд╛рдЙрдирд▓реЛрдб

рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдиреБрд╢рдВрд╕рд┐рдд /lib/sh/profile рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: * NIX , Win (рдЗрд╕рдореЗрдВ GMT рд╕реЗ рдЬрд╝реЛрди рдХреЛ рдЕрдкрдиреЗ рдореЗрдВ рдмрджрд▓рдирд╛ рди рднреВрд▓реЗрдВ)ред

GUI (wm / wm)


рдЬрдм wm / wm рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ /lib/wmsetup рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░, рдпрджрд┐ рдХреЛрдИ рд╣реЛ, /lib/wmsetup рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВред рдкреНрд▓рдореНрдмрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ / ./lib/plumbing рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ ( /usr/inferno/ рд╕реЗ рдЕрдкрдиреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдХреЙрдкреА рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ)ред рдЕрднреА рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреБрдЫ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдореИрдВрдиреЗ рдЕрднреА рдЙрдирдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рд╡реЗ рдХрд╣рд╛рдБ рд╣реИрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдЙрдирдореЗрдВ рдХреНрдпрд╛ рд╣реИ)ред

рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА


рдХреБрдВрдЬреА рдХреЛ рдореВрд▓рднреВрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ ./keyring/ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рдкреБрд░рд╛рдиреЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереА рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдСрд░реНрдлрд╝рди рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рдЬрд╛рддреА рд╣реИ , рдФрд░ рдореИрдВ рдпрд╣ рд╕рдм рдпрд╣рд╛рдБ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдирд╣реАрдВ рджреЗрдЦрддрд╛ред

рдиреЗрдЯрд╡рд░реНрдХ


рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдЗрдирдлрд╝реЙрд░реНрдо рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ya.ru (IP рджреНрд╡рд╛рд░рд╛) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
 $ emu ; webgrab -rv -o /dev/null 87.250.251.3 connecting to 87.250.251.3 writing request: GET / HTTP/1.0 Host: 87.250.251.3 User-agent: Inferno/webgrab Cache-Control: no-cache Pragma: no-cache response: HTTP/1.1 200 Ok created /dev/null, 7383 bytes 

рд▓реЗрдХрд┐рди рдЖрдИрдкреА рдореЗрдВ рдирд╛рдореЛрдВ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ ndb/cs рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 ; ndb/cs ; webgrab -rv -o /dev/null ya.ru connecting to ya.ru writing request: GET / HTTP/1.0 Host: ya.ru User-agent: Inferno/webgrab Cache-Control: no-cache Pragma: no-cache response: HTTP/1.1 200 Ok created /dev/null, 7689 bytes 

рд╕реАрдПрд╕ (8) рд╕реЗрд╡рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ /lib/ndb/common (* NIX рдореЗрдВ рдЕрдиреБрд░реВрдк /etc/services ), /lib/ndb/inferno ( /lib/ndb/common -рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреЛрд░реНрдЯ рдФрд░ /lib/ndb/local ред

рдлрд╝рд╛рдЗрд▓ /lib/ndb/local рдореБрдЦреНрдп рд╣реИ - рдпрд╣ рди рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реИред infernosite= рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдЖрдк рд╕рд░реНрд╡рд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдореЛрдВ рдФрд░ рдЙрдирдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╛рдореЛрдВ рдпрд╛ рдЖрдИрдкреА рдкрддреЛрдВ рдХреЗ рдмреАрдЪ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред CA (рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд╛рд░реА) рдФрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА (4) рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо SIGNER рдФрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╣реИрдВред рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рдордиреЗ " $ " рдкреНрд░рддреАрдХ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП Yandex рдХреЗ рд▓рд┐рдП рдПрдХ рдирд╛рдо рдЬреЛрдбрд╝реЗрдВ:
 $ emu ; cat /lib/ndb/local ... infernosite= ... Yandex=www.yandex.ru ; ndb/cs ; webgrab -rv -o /dev/null '$Yandex' connecting to $Yandex writing request: GET / HTTP/1.0 Host: $Yandex User-agent: Inferno/webgrab Cache-Control: no-cache Pragma: no-cache response: HTTP/1.1 200 Ok created /dev/null, 7378 bytes 

рдлрд╝рд╛рдЗрд▓ /lib/ndb/services рдореЗрдВ * NIX /etc/services /lib/ndb/services рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд░рдХ рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИред рдореБрдЦреНрдп OS рдореЗрдВ рдЗрд╕реЗ /etc/services рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдореБрдЦреНрдп OS рд╕реЗ infernovide рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рдЬреБрдбрд╝рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ:
 cat ~/inferno/lib/ndb/services | sudo bash -c 'cat >>/etc/services' 

рдУрдПрд╕ рдЗрдиреНрдлрд░реНрдиреЛ рдЕрдкрдбреЗрдЯ


рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рдЙрдиреНрд╣реАрдВ рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдереЗ:

... * NIX

 cd ~/inferno hg pull -uv mk nuke mk install #       X-  GUI mk CONF=emu-g install 

... рдЬреАрдд

"рд╡рд┐рдВрдбреЛрдЬ рдПрд╕рдбреАрдХреЗ 7.1 рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ" (рдпрд╛ "рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ (2010)" рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ - рдЬреЛ рдЖрдкрдиреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░)ред
 cd \inferno hg pull -uv mk nuke mk install 

Source: https://habr.com/ru/post/In145986/


All Articles