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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования Π½Π° языкС сцСнариСв ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 42

Автор МСндСль ΠšΡƒΠΏΠ΅Ρ€

TeX, gs

TeX ΠΈ Postscript -- языки Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ тСкста, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ тСкста ΠΊ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρƒ Π½Π° экран.

TeX -- это слоТная систСма ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, разработанная Π”ΠΎΠ½Π°Π»ΡŒΠ΄ΠΎΠΌ ΠšΠ½ΡƒΡ‚ΠΎΠΌ (Donald Knuth). Π­Ρ‚Ρƒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ сцСнария, Ρ‡Π΅ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² сцСнарии ΠΏΡ€ΠΎΡ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅, для получСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Ghostscript (gs) -- это GPL-вСрсия ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Postscript.

groff, tbl, eqn

groff -- это Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ тСкста ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°. ЯвляСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ GNU-вСрсиСй ΠΏΠ°ΠΊΠ΅Ρ‚Π° roff/troff Π² UNIX-систСмах.

tbl -- ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†, Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ составная Ρ‡Π°ΡΡ‚ΡŒ groff, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π΅ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ являСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ† Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ groff.

eqn -- ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° прСобразования матСматичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ groff.

lex, yacc

lex -- ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° лСксичСского Ρ€Π°Π·Π±ΠΎΡ€Π° тСкста. Π’ Linux-систСмах Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° свободно Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΠ΅ΠΌΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ flex.

yacc -- ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° для создания синтаксичСских Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ², Π½Π° основС Π½Π°Π±ΠΎΡ€Π° Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ. Π’ Linux-систСмах, эта ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° свободно Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΠ΅ΠΌΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ bison.


12.5. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ

Архивация

tar

Бтандартная, для UNIX, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° архивирования. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ -- это Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Tape ARchiving, которая впослСдствии пСрСросла Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π»ΡŽΠ±Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ устройств (см. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3-4). Π’ GNU-Π²Π΅Ρ€ΡΠΈΡŽ tar Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ сТатиС tar-Π°Ρ€Ρ…ΠΈΠ²Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Π° tar czvf archive_name.tar.gz * создаСт tar-Π°Ρ€Ρ…ΠΈΠ² Π΄Π΅Ρ€Π΅Π²Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ gzip для выполнСния сТатия, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ скрытыС Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ($PWD)[ 30 ].

НСкоторыС, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅, ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ tar:

1. -c -- ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ (create) Π½ΠΎΠ²Ρ‹ΠΉ Π°Ρ€Ρ…ΠΈΠ²

2. -x -- ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ (extract) Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π°

3. --delete -- ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ (delete) Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π°

Π­Ρ‚ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡ игнорируСтся для Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π° ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠΉ Π»Π΅Π½Ρ‚Π΅.

4. -r -- Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ (append) Ρ„Π°ΠΉΠ»Ρ‹ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π°Ρ€Ρ…ΠΈΠ²

5. -A -- Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ (append) tar-Ρ„Π°ΠΉΠ»Ρ‹ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π°Ρ€Ρ…ΠΈΠ²

6. -t -- список Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π°Ρ€Ρ…ΠΈΠ²Π΅ (содСрТимоС Π°Ρ€Ρ…ΠΈΠ²Π°)

7. -u -- ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ (update) Π°Ρ€Ρ…ΠΈΠ²

8. -d -- опСрация сравнСния Π°Ρ€Ρ…ΠΈΠ²Π° с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой

9. -z -- ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Ρ€Ρ…ΠΈΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ gzip

(Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΆΠ°Ρ‚ΠΈΠ΅, Π² зависимости ΠΎΡ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ -c ΠΈΠ»ΠΈ -x)

10. -j -- ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Ρ€Ρ…ΠΈΠ²Π° с помошью bzip2


ΠŸΡ€ΠΈ восстановлСнии "Π±ΠΈΡ‚Ρ‹Ρ…" tar.gz Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ слоТности, поэтому Π΄Π΅Π»Π°ΠΉΡ‚Π΅ нСсколько Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ.

shar

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° создания shell-Π°Ρ€Ρ…ΠΈΠ²Π°. АрхивируСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π±Π΅Π· выполнСния сТатия, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся Π°Ρ€Ρ…ΠΈΠ² -- ΠΏΠΎ сути ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ сцСнарий Π½Π° языкС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ со строки #!/bin/sh, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для разархивирования. Π’Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° Π°Ρ€Ρ…ΠΈΠ²Ρ‹ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… тСлСконфСрСнциях Π² Internet, Π½ΠΎ Π² послСднСС врСмя ΠΎΠ½ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π²Ρ‹Ρ‚Π΅ΡΠ½ΡΡŽΡ‚ΡΡ связкой tar/gzip. Для распаковки shar-Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° unshar.

ar

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° создания ΠΈ обслуТивания Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ², Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ примСняСтся ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

rpm

Red Hat Package Manager, ΠΈΠ»ΠΈ rpm -- Π½Π°Π±ΠΎΡ€ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для построСния ΠΈ обслуТивания ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΊΠ°ΠΊ Π² исходном ΠΊΠΎΠ΄Π΅, Ρ‚Π°ΠΊ ΠΈ Π² собранном (ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ) Π²ΠΈΠ΄Π΅. Π‘Ρ€Π΅Π΄ΠΈ всСго ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, производящиС установку ПО, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ зависимостСй ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΈΡ… цСлостности.

Π‘Π°ΠΌΡ‹ΠΉ простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ установки ПО ΠΈΠ· rpm -- Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ rpm -i package_name.rpm.

Команда rpm -qa выдаст ΠΏΠΎΠ»Π½Ρ‹ΠΉ список всСх установлСнных rpm-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Π΄Π°Π½Π½ΠΎΠΉ систСмС. Команда rpm -qa package_name Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚(Ρ‹) с ΠΈΠΌΠ΅Π½Π΅ΠΌ, содСрТащим ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ символов package_name.

bash$ rpm -qa

redhat-logos-1.1.3-1

glibc-2.2.4-13

cracklib-2.7-12

dosfstools-2.7-1

gdbm-1.8.0-10

ksymoops-2.4.1-1

mktemp-1.5-11

perl-5.6.0-17

reiserfs-utils-3.x.0j-2

...


bash$ rpm -qa docbook-utils

docbook-utils-0.6.9-2


bash$ rpm -qa docbook | grep docbook

docbook-dtd31-sgml-1.0-10

docbook-style-dsssl-1.64-3

docbook-dtd30-sgml-1.0-10

docbook-dtd40-sgml-1.0-11

docbook-utils-pdf-0.6.9-2

docbook-dtd41-sgml-1.0-10

docbook-utils-0.6.9-2


cpio

БпСциализированная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΈ копирования (copy input and output). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ всС Ρ€Π΅ΠΆΠ΅ ΠΈ Ρ€Π΅ΠΆΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ вытСсняСтся Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€ΠΎΠΌ tar/gzip. НаиболСС ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΠ½Π° для Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 12-22. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ пСрСмСщСния Π΄Π΅Ρ€Π΅Π²Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ cpio

#!/bin/bash


# ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ cpio.


ARGS=2

E_BADARGS=65


if [ $# -ne "$ARGS" ]

then

echo "ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ использования: `basename $0` source destination"

exit $E_BADARGS

fi


source=$1

destination=$2


find "$source" -depth | cpio -admvp "$destination"

# Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π°ΠΌ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ cpio Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² страницах руководства "man cpio".


exit 0

rpm2cpio

Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ rpm-ΠΏΠ°ΠΊΠ΅Ρ‚ Π² Π°Ρ€Ρ…ΠΈΠ² cpio.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 12-23. Распаковка Π°Ρ€Ρ…ΠΈΠ²Π° rpm

#!/bin/bash

# de-rpm.sh: Распаковка Π°Ρ€Ρ…ΠΈΠ²Π° 'rpm'


: ${1?"ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ использования: `basename $0` target-file"}

# Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΡŽ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ имя Π°Ρ€Ρ…ΠΈΠ²Π° 'rpm'.


TEMPFILE=$$.cpio # Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с "ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ" ΠΈΠΌΠ΅Π½Π΅ΠΌ.

# $$ -- PID процСсса сцСнария.


rpm2cpio < $1 > $TEMPFILE # ΠšΠΎΠ½Π²Π΅Ρ€ΡΠΈΡ ΠΈΠ· rpm Π² cpio.

cpio --make-directories -F $TEMPFILE -i # Рапсковка cpio-Π°Ρ€Ρ…ΠΈΠ²Π°.

rm -f $TEMPFILE # Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ cpio-Π°Ρ€Ρ…ΠΈΠ²Π°.


exit 0


# Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅:

# Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π°: 1) БущСствованиС "target-file"

#+ 2) Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ "target-file" являСтся rpm-Π°Ρ€Ρ…ΠΈΠ²ΠΎΠΌ.

# Подсказка: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ комсанду 'file'.

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅

gzip

Бтандартная GNU/UNIX ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° сТатия, замСнившая Π±ΠΎΠ»Π΅Π΅ ΡΠ»Π°Π±ΡƒΡŽ, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΡƒΡŽ, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ compress. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° дСкомпрСссии (разТатия) -- gunzip, которая являСтся эквивалСнтом ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ gzip -d.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со сТатыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ zcat, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° stdout, допускаСт ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π°. ЀактичСски это Ρ‚Π° ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° cat, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ приспособлСнная для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со сТатыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ„Π°ΠΉΠ»Ρ‹, сТатыС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ compress). Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ zcat -- gzip -dc.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… коммСрчСских вСрсиях UNIX, ΠΊΠΎΠΌΠ°Π½Π΄Π° zcat являСтся синонимом ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ uncompress -c, ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, сТатыми с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ gzip.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 7-7.

bzip2

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° сТатия, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ сТатия (Π½ΠΎ ΠΏΡ€ΠΈ этом Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅), Ρ‡Π΅ΠΌ gzip, особСнно это проявляСтся Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° дСкомпрСссии -- bunzip2.

Π’ соврСмСнныС вСрсии tar Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° bzip2.

compress, uncompress

Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ, входящиС Π² состав Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… коммСрчСских дистрибутивов UNIX. Π’ послСднСС врСмя Π²Ρ‹Ρ‚Π΅ΡΠ½ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½ΠΎΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ gzip. Linux-дистрибутивы, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² свой состав эти ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости, ΠΎΠ΄Π½Π°ΠΊΠΎ gunzip ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ compress.

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° znew ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для прСобразования compress-Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Π² gzip-Π°Ρ€Ρ…ΠΈΠ²Ρ‹.

sq

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ сТатия, которая обслуТиваСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ отсортированныС списки слов. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ стандартный, для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ², синтаксис Π²Ρ‹Π·ΠΎΠ²Π° -- sq < input-file > output-file. Быстрая, Π½ΠΎ Π½Π΅ такая эффСктивная ΠΊΠ°ΠΊ gzip. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π΅ΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° дСкомпрСссии называСтся unsq, синтаксис Π²Ρ‹Π·ΠΎΠ²Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ sq.