Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 3

Автор ΠΡ€Π½ΠΎΠ»ΡŒΠ΄ Роббинс

Π“Π»Π°Π²Π° 11, Β«ΠŸΡ€Π°Π²Π° доступа ΠΈ ID ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π³Ρ€ΡƒΠΏΠΏΒ»,

рассматриваСт, ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ процСссы ΠΈ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π² доступа ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ setuid ΠΈ setgid.

Π“Π»Π°Π²Π° 12, Β«ΠžΠ±Ρ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Π΅ интСрфСйсы β€” Ρ‡Π°ΡΡ‚ΡŒ 2Β»,

рассматриваСт ΠΎΡΡ‚Π°Π²ΡˆΡƒΡŽΡΡ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΡ… API; ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ спСциализированы, Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠ±Ρ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ API.

Π“Π»Π°Π²Π° 13, Β«Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ локализация»,

ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΡ‡Ρ‚ΠΈ Π±Π΅Π· усилий ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языках.

Π“Π»Π°Π²Π° 14, Β«Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ интСрфСйсы»,

описываСт нСсколько Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… вСрсий интСрфСйсов, освСщСнных Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ освСщаСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠœΡ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ ΠΊΠ½ΠΈΠ³Ρƒ Π³Π»Π°Π²ΠΎΠΉ ΠΎΠ± ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ (ΠΏΠΎΡ‡Ρ‚ΠΈ) Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π°, ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для закрСплСния Π²Π°ΡˆΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ ΠΏΠΎ рассмотрСнным Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ API.

Π“Π»Π°Π²Π° 15, Β«ΠžΡ‚Π»Π°Π΄ΠΊΠ°Β»,

описываСт основы ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° GDB, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС нашСго ΠΎΠΏΡ‹Ρ‚Π° Π² этой области ΠΈ рассматриваСт нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… инструмСнтов для осущСствлСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π“Π»Π°Π²Π° 16, Β«ΠŸΡ€ΠΎΠ΅ΠΊΡ‚, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ всС Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎΒ»,

прСдставляСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ всС, рассмотрСнноС Π² ΠΊΠ½ΠΈΠ³Π΅.

НСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡΠ²Π΅Ρ‰Π°ΡŽΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ интСрСс Ρ‚Π΅ΠΌΡ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ для использованного Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ исходного ΠΊΠΎΠ΄Π΅.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А, Β«ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π·Π° Π΄Π΅ΡΡΡ‚ΡŒ Π»Π΅Ρ‚Β»,

ссылаСтся Π½Π° Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚ΠΎΠ΅ высказываниС: «Москва Π½Π΅ сразу ΡΡ‚Ρ€ΠΎΠΈΠ»Π°ΡΡŒΒ»[7]. Π’Π°ΠΊΠΆΠ΅ ΠΈ квалификация Π² Linux/Unix ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ этих систСм ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ лишь со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ. Π‘ этой Ρ†Π΅Π»ΡŒΡŽ ΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ это эссС ΠŸΠ΅Ρ‚Π΅Ρ€Π° Норвига, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ горячо Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’, «ЛицСнзия Caldera для старой UnixΒ»,

ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ исходный ΠΊΠΎΠ΄ Unix, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘, Β«ΠžΠ±Ρ‰Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Π°Ρ лицСнзия GNUΒ»,

ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ исходный ΠΊΠΎΠ΄ GNU, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅.

БоглашСния ΠΎΠ± обозначСниях

Как ΠΈ Π² любой ΠΊΠ½ΠΈΠ³Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ, для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ соглашСния ΠΎΠ± обозначСниях. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ использованиС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° выдСляСтся курсивом, ΠΊΠ°ΠΊ слово Β«ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡΒ» Π² Π½Π°Ρ‡Π°Π»Π΅ этого прСдлоТСния. ΠšΡƒΡ€ΡΠΈΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ для выдСлСния, для цитирования Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ элСмСнты, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², выглядят Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Иногда ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΆΠΈΡ€Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΠΈΠ»ΠΈΡ‚ΡŒ ΠΌΡ‹ΡΠ»ΡŒ.

Π’Π΅Ρ‰ΠΈ, находящиСся Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ ΠΌΠΎΠ½ΠΎΡˆΠΈΡ€ΠΈΠ½Π½Ρ‹ΠΌΠΈ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π² случаС ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² (foo.c) ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ (ls, grep). ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ: 'ls -l *.с'

$ ΠΈ > ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π‘ΠΎΡ€Π½Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². Π’Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ выдСляСтся Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ выглядят ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

$ ls -1 /* ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ„Π°ΠΉΠ»ΠΎΠ². ΠžΠΏΡ†ΠΈΡ - Ρ†ΠΈΡ„Ρ€Π° 1, Π° Π½Π΅ Π±ΡƒΠΊΠ²Π° l */

foo

bar

baz

ΠœΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Π‘ΠΎΡ€Π½Π° ΠΈ Π΅Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ (ksh93, Bash) ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ Π‘; соотвСтствСнно Π½Π° всСх Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΠΎΠΊΠ°Π·Π°Π½Π° лишь ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Π‘ΠΎΡ€Π½Π°. Π—Π½Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° примСнСния ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΈ пСрСноса Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Π‘ Π΄Ρ€ΡƒΠ³ΠΈΠ΅; Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΅Π΅, Ρ‚ΠΎ Π½Π° свой страх ΠΈ риск![8]

ΠŸΡ€ΠΈ ссылках Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΌΡ‹ добавляСм ΠΊ ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ скобок: printf(), strcpy(). ΠŸΡ€ΠΈ ссылкС Π½Π° ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ страницу (Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ man), ΠΌΡ‹ слСдуСм стандартному соглашСнию Unix ΠΏΠΎ написанию ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ курсивом, Π° Ρ€Π°Π·Π΄Π΅Π»Π° β€” Π² скобках послС ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ: awk(1), printf(3)[9].

Π“Π΄Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ исходныС ΠΊΠΎΠ΄Ρ‹ Unix ΠΈ GNU

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΏΠ½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ использовали Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅, для своих собствСнных экспСримСнтов ΠΈ просмотра. Π’Π΅ΡΡŒ исходный ΠΊΠΎΠ΄ доступСн Ρ‡Π΅Ρ€Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Π° ваш дистрибутив GNU/Linux содСрТит исходный ΠΊΠΎΠ΄ для инструмСнтов GNU.

Код Unix

Архивы Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Β«Π΄Ρ€Π΅Π²Π½ΠΈΡ…Β» вСрсий Unix ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠžΠ±Ρ‰Π΅ΡΡ‚Π²ΠΎΠΌ наслСдства UNIX (The UNIX Heritage Society β€” TUHS), http://www.tuhs.org.

Наибольший интСрСс прСдставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ² старых исходных ΠΊΠΎΠ΄ΠΎΠ² Unix Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±. НачнитС с http://minnie.tuhs.org/UnixTree/. ВсС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΈΠ· сСдьмого издания ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ систСмы UNIX, извСстной Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Β«V7Β».

Π‘Π°ΠΉΡ‚ TUHS физичСски располоТСн Π² Австралии, хотя ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π·Π΅Ρ€ΠΊΠ°Π»Π° Π°Ρ€Ρ…ΠΈΠ²Π° ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ β€” см. http://www.tuhs.org/archive_sites.html. Π­Ρ‚Π° страница Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π°Ρ€Ρ…ΠΈΠ² доступСн для Π·Π΅Ρ€ΠΊΠ°Π»Π° Ρ‡Π΅Ρ€Π΅Π· rsync. (Если Ρƒ вас Π½Π΅Ρ‚ rsync, см. http://rsync.samba.org/: это стандартная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π½Π° систСмах GNU/Linux.)

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСсь Π°Ρ€Ρ…ΠΈΠ², потрСбуСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 2-3 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π° дискового пространства. Для копирования Π°Ρ€Ρ…ΠΈΠ²Π° создайтС пустой ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π° Π² Π½Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

mkdir Applications 4BSD PDP-11 PDP-11/Trees VAX Other

rsync -avz minnie.tuhs.org::UA_Root .

rsync -avz minnie.tuhs.org::UA_Applications Applications

rsync -avz minnie.tuhs.org::UA_4BSD 4BSD

rsync -avz minnie.tuhs.org::UA_PDP11 PDP-11

rsync -avz minnie.tuhs.org::UA_PDP11_Trees PDP-11/Trees

rsync -avz minnie.tuhs.org::UA_VAX VAX

rsync -avz minnie.tuhs.org::UA_Other Other

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Trees, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит извлСчСния ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий Unix ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° дискС ΠΎΠΊΠΎΠ»ΠΎ 700 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚.

Π’ рассылкС TUHS ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½Π΅Ρ‚ Π»ΠΈ поблизости ΠΎΡ‚ вас ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, ΠΊΡ‚ΠΎ ΠΌΠΎΠ³ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Π°ΠΌ Π°Ρ€Ρ…ΠΈΠ² Π½Π° CD-ROM, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ пСрСсылки ΠΏΠΎ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ большого количСства Π΄Π°Π½Π½Ρ‹Ρ….

Π“Ρ€ΡƒΠΏΠΏΠ° Π² Southern Storm Software, Pty. Ltd. Π² Австралии Β«ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»Π°Β» Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° уровня ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ V7, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° соврСмСнных систСмах, особСнно Π½Π° GNU/Linux. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ с ΠΈΡ… Π²Π΅Π±-сайта[10].

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ V7 Π½Π΅ содСрТит Π² сСбС ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΎΠ± авторских ΠΏΡ€Π°Π²Π°Ρ… ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…. Авторы писали ΠΊΠΎΠ΄ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ для сСбя ΠΈ своСго исслСдования, оставив ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΎΡ‚Π΄Π΅Π»Ρƒ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ лицСнзирования AT&T.

Код GNU

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ GNU/Linux, ваш дистрибутив поступит с исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ (Ρ„Π°ΠΉΠ»Ρ‹ RPM Red Hat, Ρ„Π°ΠΉΠ»Ρ‹ DEB Debian, Ρ„Π°ΠΉΠ»Ρ‹ .tar.gz Slackware ΠΈ Ρ‚.Π΄.) МногиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² ΠΊΠ½ΠΈΠ³Π΅ взяты ΠΈΠ· GNU Coreutils, вСрсия 5.0. НайдитС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ CD-ROM для своСго дистрибутива GNU/Linux ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ для извлСчСния ΠΊΠΎΠ΄Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ инструмСнт. Или слСдуйтС для получСния ΠΊΠΎΠ΄Π° инструкциям Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π°Π±Π·Π°Ρ†Π°Ρ….

Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ftp-сайта GNU, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π΅Π³ΠΎ ΠΏΠΎ адрСсу: ftp://ftp.gnu.org/gnu/coreutils/coreutils-5.0.tar.gz.

Для получСния Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ wget:

$ wget ftp://ftp.gnu.org/ena/coreutils/coreuitils-5.0.tar.gz

/* ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ дистрибутив */

/* ... здСсь ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΊΡƒΡ‡Π° Π²Ρ‹Π²ΠΎΠ΄Π° ... */

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для получСния Ρ„Π°ΠΉΠ»Π° старый Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ ftp:

$ ftp ftp.gnu.org /* ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ftp-сайту GNU */

Connected to ftp.gnu.org (199.232.41.7).

220 GNU FTP server ready.

Name (ftp.gnu.org:arnold): anonymous /* Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ ftp */

331 Please specify the password.

Password: /* ΠŸΠ°Ρ€ΠΎΠ»ΡŒ Π½Π° экранС Π½Π΅ отобраТаСтся */

230-If you have any problems with the GNU software or its downloading,

230-please refer your questions to < [email protected]>.

... /* ΠšΡƒΡ‡Π° Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠΏΡƒΡ‰Π΅Π½Π° */

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> cd /gnu/coreutils /* ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Coreutils */

250 Directory successfully changed.

ftp> bin

200 Switching to Binary mode.

ftp> hash /* Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ символы # ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π·Π°ΠΊΠ°Ρ‡ΠΊΠΈ */

Hash mark printing on (1024 bytes/hash mark).

ftp> get coreutils-5.0.tar.gz /* Retrieve file */

local: coreutils-5.0.tar.gz

remote: coreutils-5.0.tar.gz

227 Entering Passive Mode (199,232,41,7,86,107)

150 Opening BINARY mode data connection for coreutils-5.0.tar.gz (6020616 bytes)

######################################################################

######################################################################

...

226 File send OK.

6020616 bytes received in 2.03e+03 secs (2.9 Kbytes/sec)

ftp> quit /* Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ */

221 Goodbye.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² Ρ„Π°ΠΉΠ», ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡ‚Π΅ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

$ gzip -dc < coreutils-5.0.tar.gz | tar -xvpf - /* Π˜Π·Π²Π»Π΅Ρ‡ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ */

/* ... ΠΏΡ€ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΊΡƒΡ‡Π° Π²Ρ‹Π²ΠΎΠ΄Π° ... */

БистСмы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ GNU tar, ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π°ΠΊΠ»ΠΈΠ½Π°Π½ΠΈΠ΅:

$ tar -xvpzf coreutils-5.0.tar.gz /* Π˜Π·Π²Π»Π΅Ρ‡ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ */

/* ... ΠΏΡ€ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΊΡƒΡ‡Π° Π²Ρ‹Π²ΠΎΠ΄Π° ... */

Π’ соотвСтствии с общСдоступной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GNU, Π²ΠΎΡ‚ свСдСния ΠΎΠ± авторских ΠΏΡ€Π°Π²Π°Ρ… для всСх GNU ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΡ€ΠΎΡ†ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅. ВсС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ «свободным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм; Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΡ… ΠΈ/ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° условиях общСдоступной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ GNU Π² ΠΈΠ·Π΄Π°Π½Π½ΠΎΠΌ Π€ΠΎΠ½Π΄ΠΎΠΌ бСсплатных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²ΠΈΠ΄Π΅; Π»ΠΈΠ±ΠΎ вСрсии 2 Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ, Π»ΠΈΠ±ΠΎ (ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€Ρƒ) любой ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ вСрсии». ВСкст общСдоступной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ GNU см. Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π‘ Β«ΠžΠ±Ρ‰Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Π°Ρ лицСнзия GNUΒ».