рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди: рдУрдПрд╕ рдЗрдиреНрдлрд░реНрдиреЛ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЕрднреА рдЕрдкрдиреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ
рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП 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
рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд, рдЗрди рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди FreeBSD рдХреЗ рддрд╣рдд рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдмреИрд╢ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░
~/.bash_profile
рдореЗрдВ
PATH
рдорд╛рди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
/home/_/bin
рдЗрдирдлрд╝реЙрд░реНрдореЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рдордиреЗ рд╣реЛред
рдПрдореВ рд╡рд┐рдХрд▓реНрдк
рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╡реЗ рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдпрд╛ рддреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛
EMU
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ:
-r////
рдФрд░ рд╣рдордиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА
EMU
рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдЙрдкрдпреЛрдЧреА рд╡реИрдХрд▓реНрдкрд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рд▓рд╛рдпрдХ рд╣реИрдВ:
-g X x Y
, рдЖрд▓реЗрдЦреАрдп рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╕рдВрдХрд▓реНрдк рдХреЛ рдирд░рдХ рдореЗрдВ, -g1024x768
ред: -g1024x768
-1
рдореЗрдВ JIT рд╢рд╛рдорд┐рд▓ рд╣реИ (рдпрд╣ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп)-p pool = maxsize
рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдкреВрд▓ рдХрд╛ рдореВрд▓реНрдп main
, heap
рдпрд╛ image
, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╣реАрдк рдХреЛ 128 рдПрдордмреА рддрдХ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ: -p heap=134217728
рдЖрдк
рдЗрдореВ (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
рд╕рдордп рдХреНрд╖реЗрддреНрд░
рд╡рд░реНрддрдорд╛рди рдЬрд╝реЛрди рдлрд╝рд╛рдЗрд▓
/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
... рдЬреАрдд
"рд╡рд┐рдВрдбреЛрдЬ рдПрд╕рдбреАрдХреЗ 7.1 рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ" (рдпрд╛ "рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ (2010)" рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ - рдЬреЛ рдЖрдкрдиреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░)ред
cd \inferno hg pull -uv mk nuke mk install