ΠΠ°ΠΊ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ .tar.gz ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π½Π° Linux
Π€Π°ΠΉΠ»ΡΡ .tar.gz Π΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ Π°ΡΡ ΠΈΠ², ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΡΡΠ΅Π· ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π²Π΅ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: tar (Tape Archive), ΠΊΠΎΡΡΠΎ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Π΅Π΄ΠΈΠ½ Π°ΡΡ ΠΈΠ², ΠΈ gzip, ΠΊΠΎΡΡΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° ΡΠΎΠ·ΠΈ Π°ΡΡ ΠΈΠ² Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΡ. Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ Π΅ ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌ, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΡΠΎΡΠΌΠ°Ρ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ Π΅ Π΄Π΅ ΡΠ°ΠΊΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡ Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΡΡΡΠ΅Ρ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ Π² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΠΊΠ° Linux ΠΈ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΡΡΠ΅Π΄Π°.
ΠΠ°Π½ΠΎΠ½ΠΈΡΠ½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° .tar.gz Π°ΡΡ ΠΈΠ² Π΅ `tar -xzvf archive-name.tar.gz`. Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ°Π²ΠΈ Π²ΡΠ΅ΠΊΠΈ ΡΠ»Π°Π³ β ΠΈ ΠΊΠΎΠ³Π° Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½ΠΈΡΠ΅ ΠΎΡ ΡΠ°Π·ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ β Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π²Π° ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΎΡ Π½ΡΠΊΠΎΠΉ, ΠΊΠΎΠΉΡΠΎ ΡΠ»ΡΠΏΠΎ ΠΊΠΎΠΏΠΈΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ.
Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° .tar.gz
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ ΠΊΠ°ΠΊΠ²Π°ΡΠΎ ΠΈ Π΄Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ Ρ ΠΊΠ°ΠΊΠ²ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ ΡΠ°Π±ΠΎΡΠΈΡΠ΅. Π€ΠΎΡΠΌΠ°ΡΡΡ `.tar.gz` (ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΡΡΠΎ ΠΊΠ°ΡΠΎ `.tgz`) Π΅ Π΄Π²ΡΠ΅ΡΠ°ΠΏΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ:
- `tar` ΡΡΠ±ΠΈΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π·Π°ΠΏΠ°Π·Π²Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈΡΠ΅, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ°, ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡΡΠ° ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π½ΠΈΡΠ΅ Π²ΡΡΠ·ΠΊΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΏΠ»ΠΎΡΡΠΊ ΡΠ°ΠΉΠ».
- `gzip` ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° ΡΠΎΠ·ΠΈ ΠΏΠ»ΠΎΡΡΠΊ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° DEFLATE, ΠΊΠ°ΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΏΠΎΡΡΠΈΠ³Π° 60β70% Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΡΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅.
Π’Π°Π·ΠΈ Π΄Π²ΡΠ΅ΡΠ°ΠΏΠ½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π΅ ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° ΡΠ»Π°Π³ΠΎΠ²Π΅ΡΠ΅ `-z` (gzip) ΠΈ `-x` (ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅) Π΄Π° ΡΠ° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ ΠΈ Π΄Π²Π°ΡΠ°. ΠΠΈΡΠΎ Π΅Π΄ΠΈΠ½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠΈ Π½Π΅ ΡΠ΅ ΡΠΏΡΠ°Π²Ρ Ρ ΡΡΠ»Π°ΡΠ° Π·Π°Π΄Π°ΡΠ°. ΠΡΠΈ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ Linux ΡΠΈΡΡΠ΅ΠΌΠΈ `tar` Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ΅Π½, Π·Π° Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠΈΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ ΡΡΠ΅Π· `βauto-compress` ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΡΠ΅Π· ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π±Π°ΠΉΡΠΎΠ²Π΅ Π½Π° ΡΠ°ΠΉΠ»Π°, Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ½ΠΎΡΠΎ ΠΏΠΎΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΏΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π² ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ.
ΠΡΠ½ΠΎΠ²Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ Π·Π° ΡΠ»Π°Π³ΠΎΠ²Π΅
β`bash
tar -xzvf archive-name.tar.gz
β`
| Π€Π»Π°Π³ | ΠΡΠ»Π³Π° ΡΠΎΡΠΌΠ° | Π€ΡΠ½ΠΊΡΠΈΡ |
|---|---|---|
| `-x` | `βextract` | ΠΠ·Π²Π»ΠΈΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ Π°ΡΡ ΠΈΠ²Π° |
| `-z` | `βgzip` | Π€ΠΈΠ»ΡΡΠΈΡΠ° Π°ΡΡ ΠΈΠ²Π° ΡΡΠ΅Π· gzip Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ |
| `-v` | `βverbose` | ΠΡΠΏΠ΅ΡΠ°ΡΠ²Π° Π²ΡΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΠΌΡ |
| `-f` | `βfile=ARCHIVE` | Π£ΠΊΠ°Π·Π²Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π°ΡΡ ΠΈΠ²Π½ΠΈΡ ΡΠ°ΠΉΠ» (ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π΄Ρ ΠΎΠΆΠ΄Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΡΠΎ ΠΈΠΌΠ΅) |
| `-C` | `βdirectory=DIR` | ΠΠ·Π²Π»ΠΈΡΠ° Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΡΠ΅Π»Π΅Π²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ |
| `-t` | `βlist` | ΠΠ·Π±ΡΠΎΡΠ²Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π°ΡΡ ΠΈΠ²Π° Π±Π΅Π· ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ |
| `-p` | `βpreserve-permissions` | ΠΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠΎΡΠ½ΠΎ |
| `βstrip-components=N` | β | ΠΡΠ΅ΠΌΠ°Ρ Π²Π° N Π²ΠΎΠ΄Π΅ΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π° ΠΏΡΡΡ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π° |
ΠΠ°ΠΆΠ΅Π½ Π΄Π΅ΡΠ°ΠΉΠ»: Π€Π»Π°Π³ΡΡ `-f` ΡΡΡΠ±Π²Π° Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ ΡΠ»Π°Π³ ΠΏΡΠ΅Π΄ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΡΠΎ ΠΈΠΌΠ΅. ΠΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° `tar -xvzf` ΠΈ `tar -xzvf` ΡΠ° ΠΈ Π΄Π²Π΅ΡΠ΅ Π²Π°Π»ΠΈΠ΄Π½ΠΈ, Π½ΠΎ `tar -fxzv archive.tar.gz` ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈ, Π·Π°ΡΠΎΡΠΎ `-f` ΠΎΡΠ°ΠΊΠ²Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΡΡΡ Π΄ΠΎ Π°ΡΡ ΠΈΠ²Π°.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ ΡΡΡΠΏΠΊΠ° ΠΏΠΎ ΡΡΡΠΏΠΊΠ°
1. ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»
ΠΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π½Π°ΡΡΠΎΠ»Π½ΠΈ Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π½Π°ΡΠΈΡΠ½Π΅ΡΠ΅ `Ctrl + Alt + T`. ΠΠ° ΡΡΡΠ²ΡΡ Π±Π΅Π· Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΡΠ΅Π· SSH, Π²Π΅ΡΠ΅ ΡΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½Π° ΡΠ΅ΡΠΈΡ.
2. ΠΠ°ΠΌΠ΅ΡΠ΅ΡΠ΅ Π°ΡΡ ΠΈΠ²Π° ΡΠΈ
β`bash
ls -lh /path/to/directory
β`
ΠΠΎΡΠ²ΡΡΠ΄Π΅ΡΠ΅, ΡΠ΅ ΡΠ°ΠΉΠ»ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°, ΠΈ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΡ. Π€Π»Π°Π³ΡΡ `-h` ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ°Π·ΠΌΠ΅ΡΠΈΡΠ΅ Π² ΡΠ΅ΡΠΈΠΌ Π·Π° ΡΠΎΠ²Π΅ΠΊΠ° ΡΠΎΡΠΌΠ°Ρ (KB, MB, GB).
3. ΠΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΡΡΡΠΎ
ΠΠ°Π²ΠΈΠ³ΠΈΡΠ°ΠΉΡΠ΅ Π΄ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ°, ΡΡΠ΄ΡΡΠΆΠ°ΡΠ° Π°ΡΡ ΠΈΠ²Π°, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅:
β`bash
cd /path/to/directory
tar -xzvf archive-name.tar.gz
β`
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ²ΡΡ Π² ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π² ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΎΡΡΠ°Π·ΡΠ²Π° Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° Π°ΡΡ ΠΈΠ²Π°.
4. ΠΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠ»Π°Π³Π° `-C`, Π·Π° Π΄Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠΈΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π° ΠΊΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΡΠ΅Π»Π΅Π²ΠΈ ΠΏΡΡ. ΠΠΊΠΎ Π΄Π΅ΡΡΠΈΠ½Π°ΡΠΈΡΡΠ° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ Ρ ΠΏΡΡΠ²ΠΎ:
β`bash
mkdir -p /opt/myapp
tar -xzvf archive-name.tar.gz -C /opt/myapp
β`
Π€Π»Π°Π³ΡΡ `-p` ΠΏΡΠΈ `mkdir` ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° Π³ΡΠ΅ΡΠΊΠΈ, Π°ΠΊΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° β Π΄ΠΎΠ±ΡΡ Π½Π°Π²ΠΈΠΊ Π² ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅.
ΠΡΠΈΠΌΠ΅Ρ β ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° Π°ΡΡ ΠΈΠ² Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
β`bash
mkdir -p ~/deployments/webapp-v2
tar -xzvf webapp-v2.tar.gz -C ~/deployments/webapp-v2
β`
5. ΠΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π±Π΅Π· ΠΏΠΎΠ΄ΡΠΎΠ±Π΅Π½ ΠΈΠ·Ρ ΠΎΠ΄
Π Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, cron Π·Π°Π΄Π°ΡΠΈ ΠΈΠ»ΠΈ CI/CD ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΈΡΡ ΠΈΠ·Ρ ΠΎΠ΄ ΡΡΠ·Π΄Π°Π²Π° ΡΡΠΌ Π² Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅. ΠΡΠΎΠΏΡΡΠ½Π΅ΡΠ΅ ΡΠ»Π°Π³Π° `-v`:
β`bash
tar -xzf archive-name.tar.gz -C /opt/myapp
β`
Π’ΠΎΠ²Π° Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½Π°ΡΠ° ΡΠΎΡΠΌΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π°ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΡΠ²ΡΡΠ΄ΠΈΡΠ΅ ΠΊΠΎΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ.
ΠΠ·Π±ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π°ΡΡ ΠΈΠ²Π° Π±Π΅Π· ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ Π°ΡΡ ΠΈΠ² β ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ ΠΎΡ Π²ΡΠ½ΡΠ΅Π½ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ β Π²ΠΈΠ½Π°Π³ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΉΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ ΠΌΡ ΠΏΡΡΠ²ΠΎ. ΠΡΠΊΠΎΠΈ Π°ΡΡ ΠΈΠ²ΠΈ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΈ ΠΏΡΡΠΈΡΠ° ΠΈΠ»ΠΈ Π±Π΅Π· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΎΡ Π½Π°ΠΉ-Π³ΠΎΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π½Π΅ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎ Π΄Π° ΡΠ°Π·ΠΏΡΡΡΠ½Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° Π²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°.
β`bash
tar -tzvf archive-name.tar.gz
β`
ΠΠΊΠΎ ΠΈΠ·Ρ ΠΎΠ΄ΡΡ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡΡΠΈΡΠ°, Π·Π°ΠΏΠΎΡΠ²Π°ΡΠΈ Ρ `/` ΠΈΠ»ΠΈ `..`, ΠΈΠ·Π²Π»ΠΈΡΠ°ΠΉΡΠ΅ Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ `βstrip-components` Π·Π° ΡΠ°Π½ΠΈΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΡΠΈΡΠ°ΡΠ°.
ΠΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΎΡ Π½Π°ΠΉ-Π³ΠΎΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ:
β`bash
tar -tzf archive-name.tar.gz | head -20
β`
ΠΠΊΠΎ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΡΠΈΡΠ° ΡΠΏΠΎΠ΄Π΅Π»ΡΡ ΠΎΠ±Ρ ΠΏΡΠ΅ΡΠΈΠΊΡ (Π½Π°ΠΏΡ. `myapp-1.0/`), ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ ΡΠΈΡΡΠΎ. ΠΠΊΠΎ Π½Π΅ β ΡΡΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ Π² Π½Π΅Ρ Ρ `-C`.
Π Π°Π±ΠΎΡΠ° Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΏΡΡΡ
Π§Π΅ΡΡΠ° ΡΠ΅Π°Π»Π½Π° ΡΠΈΡΡΠ°ΡΠΈΡ: ΠΈΠ·ΡΠ΅Π³Π»ΡΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ tarball ΠΎΡ GitHub, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±Π²ΠΈΠ²Π° Π²ΡΠΈΡΠΊΠΎ Π² `project-main/`, Π½ΠΎ ΠΈΡΠΊΠ°ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² `/opt/project/` Π±Π΅Π· ΡΠΎΠ²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π²Π»Π°Π³Π°Π½Π΅.
β`bash
tar -xzvf project-main.tar.gz -C /opt/project βstrip-components=1
β`
`βstrip-components=1` ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π° ΠΏΡΡΠ²ΠΈΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π½Π° ΠΏΡΡΡ ΠΎΡ Π²ΡΠ΅ΠΊΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ ΡΠ°ΠΉΠ», ΠΊΠ°ΡΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ βΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°β Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° ΠΎΡ Π½Π°ΠΉ-Π³ΠΎΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ. Π’ΠΎΠ²Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΠΎΠΊΠΎ Π² ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ ΠΈ Dockerfiles.
ΠΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΎΡ Π°ΡΡ ΠΈΠ²
ΠΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠ·Π²Π»ΠΈΡΠ°ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ. ΠΠ° Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ°ΠΉΠ»:
β`bash
tar -xzvf archive-name.tar.gz path/to/specific-file.conf
β`
ΠΠ° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ ΡΡΠ»ΠΎΡΠΎ ΠΉ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅:
β`bash
tar -xzvf archive-name.tar.gz path/to/specific-directory/
β`
ΠΡΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ²ΠΏΠ°Π΄Π° ΡΠΎΡΠ½ΠΎ Ρ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ `tar -tzf` ΠΏΠΎΠΊΠ°Π·Π²Π°. Π’Π°Π·ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π΅ Π±Π΅Π·ΡΠ΅Π½Π½Π° ΠΏΡΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ΅Π½ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» ΠΎΡ Π³ΠΎΠ»ΡΠΌ Π°ΡΡ ΠΈΠ² Π·Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅, Π±Π΅Π· Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Ρ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠΈ Π΄Π°Π½Π½ΠΈ.
ΠΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° .tar ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π±Π΅Π· gzip ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ
ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ `.tar` ΡΠ°ΠΉΠ» Π½ΡΠΌΠ° ΡΠ»ΠΎΠΉ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ. ΠΡΠ΅ΠΌΠ°Ρ Π½Π΅ΡΠ΅ ΠΈΠ·ΡΡΠ»ΠΎ ΡΠ»Π°Π³Π° `-z`:
β`bash
tar -xvf archive-name.tar
β`
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅: .tar.gz ΡΡΠ΅ΡΡ Π΄ΡΡΠ³ΠΈ ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈ Π°ΡΡ ΠΈΠ²Π½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ
| Π€ΠΎΡΠΌΠ°Ρ | Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ | ΠΠ»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ | Π‘ΡΠ΅ΠΏΠ΅Π½ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ | Π‘ΠΊΠΎΡΠΎΡΡ | ΠΠ·ΠΈΡΠΊΠ²Π° Tar |
|---|---|---|---|---|---|
| Gzip tarball | `.tar.gz` / `.tgz` | DEFLATE (gzip) | Π£ΠΌΠ΅ΡΠ΅Π½Π° | ΠΡΡΠ·Π° | ΠΠ° |
| Bzip2 tarball | `.tar.bz2` | Burrows-Wheeler (bzip2) | ΠΠΈΡΠΎΠΊΠ° | ΠΠ°Π²Π½Π° | ΠΠ° |
| XZ tarball | `.tar.xz` | LZMA2 (xz) | ΠΠ½ΠΎΠ³ΠΎ Π²ΠΈΡΠΎΠΊΠ° | ΠΠ½ΠΎΠ³ΠΎ Π±Π°Π²Π½Π° | ΠΠ° |
| Zstandard tarball | `.tar.zst` | Zstandard | ΠΠΈΡΠΎΠΊΠ° | ΠΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·Π° | ΠΠ° |
| ZIP Π°ΡΡ ΠΈΠ² | `.zip` | DEFLATE | Π£ΠΌΠ΅ΡΠ΅Π½Π° | ΠΡΡΠ·Π° | ΠΠ΅ |
| ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ tar | `.tar` | ΠΡΠΌΠ° | ΠΡΠΌΠ° | ΠΠ°ΠΉ-Π±ΡΡΠ·Π° | ΠΠ° |
ΠΠ»ΡΡΠΎΠ²ΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅: `.tar.xz` Π΅ Π²Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ (ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ tarballs Π½Π° RPM/DEB) Π·Π°ΡΠ°Π΄ΠΈ ΠΏΡΠ΅Π²ΡΠ·Ρ ΠΎΠ΄Π½Π°ΡΠ° ΡΠΈ ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° `.tar.gz` ΠΎΡΡΠ°Π²Π° Π΄ΠΎΠΌΠΈΠ½ΠΈΡΠ°Ρ Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Ρ ΠΎΠ±ΡΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ° ΠΈ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅. `.tar.zst` (Zstandard) Π½Π°Π±ΠΈΡΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡ Π² ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΊΠ°ΡΠΎ Arch Linux Π·Π°ΡΠ°Π΄ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΈΡ ΡΠΈ Π±Π°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ ΠΈ ΡΠΊΠΎΡΠΎΡΡ.
ΠΠ° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π·Π°ΠΌΠ΅Π½Π΅ΡΠ΅ `-z` Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΠ»Π°Π³:
β`bash
tar -xjvf archive.tar.bz2 # bzip2
tar -xJvf archive.tar.xz # xz/lzma
tar -x βzstd -vf archive.tar.zst # zstandard (GNU tar 1.31+)
β`
ΠΠ°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅
ΠΡΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΡ ΠΈΠ²ΠΈ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° Π΅ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
β`bash
tar -xzvpf archive-name.tar.gz
β`
Π€Π»Π°Π³ΡΡ `-p` ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ° tar Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ΅Π· Π½Π΅Π³ΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° umask Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π±Π΅Π·ΡΡΠΌΠ½ΠΎ Π΄Π° Π½Π°ΡΡΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈΠ»ΠΈ setuid Π΄Π²ΠΎΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΠ° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡΡΠ° (ΠΈΠ·ΠΈΡΠΊΠ²Π° root):
β`bash
sudo tar -xzvpf archive-name.tar.gz βsame-owner
β`
Π’ΠΎΠ²Π° Π΅ ΠΎΡ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ ΠΈΠ»ΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·ΡΠΈΡΠ°Ρ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»/Π³ΡΡΠΏΠ° Π·Π° Π³ΡΠ°Π½ΠΈΡΠΈ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°.
Π§Π΅ΡΡΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΠ΅
`tar: Error is not recoverable: exiting now`
ΠΡΡ ΠΈΠ²ΡΡ Π΅ ΠΏΠΎΠ²ΡΠ΅Π΄Π΅Π½ ΠΈΠ»ΠΈ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ΡΠΎ Π΅ Π½Π΅ΠΏΡΠ»Π½ΠΎ. ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΡΠ°ΠΉΠ»Π° Ρ `md5sum` ΠΈΠ»ΠΈ `sha256sum` ΡΠΏΡΡΠΌΠΎ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΡΠΌΠ°, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΡΠ΅Π³Π»Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ.
`tar: Skipping to next header` / `tar: Archive contains obsolescent base-64 headers`
Π§Π°ΡΡΠΈΡΠ½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π² Π°ΡΡ ΠΈΠ²Π°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΠΏΠΈΡΠ°ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Ρ `βignore-zeros`, Π½ΠΎ ΡΡΠ΅ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π° ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ Π½Π΅ΠΏΡΠ»Π΅Π½.
`gzip: stdin: not in gzip format`
Π€Π°ΠΉΠ»ΡΡ ΠΈΠΌΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ `.tar.gz`, Π½ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π½Π΅ Π΅ gzip-ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½. ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ `file archive-name.tar.gz` Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π°Π»Π½ΠΈΡ ΡΠΎΡΠΌΠ°Ρ. ΠΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ `.tar`, `.zip` ΠΈΠ»ΠΈ `.bz2` ΡΠ°ΠΉΠ» Ρ Π³ΡΠ΅ΡΠ½ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅.
`Cannot open: No such file or directory`
ΠΠ»ΠΈ ΠΏΡΡΡΡ Π΅ Π³ΡΠ΅ΡΠ΅Π½, ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΡΠΎ ΠΈΠΌΠ΅ ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π». ΠΠ³ΡΠ°Π΄Π΅ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΡΠΎ ΠΈΠΌΠ΅ Π² ΠΊΠ°Π²ΠΈΡΠΊΠΈ: `tar -xzvf "my archive.tar.gz"`.
ΠΡΠΊΠ°Π·Π°Π½ Π΄ΠΎΡΡΡΠΏ ΠΏΡΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅
ΠΡΠΌΠ°ΡΠ΅ ΠΏΡΠ°Π²ΠΎ Π½Π° Π·Π°ΠΏΠΈΡ Π² ΡΠ΅Π»Π΅Π²Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ `sudo` ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½Π΅ΡΠ΅ ΡΠ΅Π»ΡΠ° Ρ `-C` ΠΊΡΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π°ΡΠ΅.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° VPS ΠΈΠ»ΠΈ dedicated ΡΡΡΠ²ΡΡ
Π ΡΡΠ΅Π΄Π° Π·Π° VPS Ρ ΠΎΡΡΠΈΠ½Π³ Π°ΡΡ ΠΈΠ²ΠΈΡΠ΅ `.tar.gz` ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ: ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΡΠΌΠΏΠΎΠ²Π΅ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ²ΡΡΠΈ ΠΈ ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° ΡΠΎΡΡΡΠ΅Ρ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ ΠΎΡ ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄.
Π’ΠΈΠΏΠΈΡΠ΅Π½ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° Linux ΡΡΡΠ²ΡΡ:
β`bash
Download release archive
wget https://example.com/releases/myapp-2.1.0.tar.gz
Verify integrity
sha256sum myapp-2.1.0.tar.gz
Inspect contents before extracting
tar -tzf myapp-2.1.0.tar.gz | head -30
Extract to deployment directory
sudo mkdir -p /var/www/myapp
sudo tar -xzvpf myapp-2.1.0.tar.gz -C /var/www/myapp βstrip-components=1
Set correct ownership
sudo chown -R www-data:www-data /var/www/myapp
β`
ΠΠ° Dedicated ΡΡΡΠ²ΡΡΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈ ΠΌΠ°ΡΠ°Π±Π½ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° `tar` Ρ ΡΡΡΠ±ΠΈ ΠΈΠ·Π±ΡΠ³Π²Π° ΠΈΠ·ΡΡΠ»ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π΄ΠΈΡΠΊΠ°:
β`bash
Create and stream a compressed archive directly over SSH to a remote server
tar -czvf β /var/www/html | ssh user@backup-server "cat > /backups/html-$(date +%F).tar.gz"
β`
Π’ΠΎΠ·ΠΈ ΡΠ°Π±Π»ΠΎΠ½ Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½, ΠΊΠΎΠ³Π°ΡΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΡΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π΅ ΠΎΡ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΊΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΡΡΠ΅Π΄Π° Π·Π° ΡΠ΅Π± Ρ ΠΎΡΡΠΈΠ½Π³ ΡΡΠ΅Π· ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΠΏΠ°Π½Π΅Π», ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ VPS Ρ cPanel ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ `.tar.gz` ΡΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° File Manager, Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° `tar` Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π·Π° ΡΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ.
ΠΡΠΈ Ρ ΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΠΎ HTTPS, ΡΡΡΠ΅ΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π° Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°ΡΠ΅ ΠΈ ΡΠ°Π·Π³ΡΡΡΠ°ΡΠ΅, ΡΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Ρ ΡΠΈΠ³ΡΡΠ½ΠΎ ΠΎΡ ΠΏΡΡΠ²Π°ΡΠ° Π·Π°ΡΠ²ΠΊΠ°.
ΠΠ° Π΅ΠΊΠΈΠΏΠΈ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅Π΄ΠΈ, VPS ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΎΠΏΡΠΎΡΡΡΡ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·ΡΠΈΡΠ°Ρ Π² Π³ΠΎΠ»ΡΠΌΠ° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° `.tar.gz` Π°ΡΡ ΠΈΠ²ΠΈ.
ΠΡΡΠ·Π° ΡΠΏΡΠ°Π²ΠΊΠ°: ΠΠ°ΠΉ-ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ tar ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
β`bash
Extract .tar.gz to current directory
tar -xzvf archive.tar.gz
Extract to specific directory
tar -xzvf archive.tar.gz -C /target/dir
Extract silently (no verbose output)
tar -xzf archive.tar.gz -C /target/dir
List contents without extracting
tar -tzvf archive.tar.gz
Extract single file
tar -xzvf archive.tar.gz path/inside/archive/file.conf
Extract and strip top-level directory
tar -xzvf archive.tar.gz -C /target/dir βstrip-components=1
Extract preserving permissions and ownership (as root)
sudo tar -xzvpf archive.tar.gz βsame-owner
Extract .tar.bz2
tar -xjvf archive.tar.bz2
Extract .tar.xz
tar -xJvf archive.tar.xz
β`
ΠΠ°ΡΡΠΈΡΠ° Π·Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ
| Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ | ΠΡΠ΅ΠΏΠΎΡΡΡΠ°Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° | |
|---|---|---|
| ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° ΡΠ΅ Π²ΠΈΠΆΠ΄Π° Π½Π°ΠΏΡΠ΅Π΄ΡΠΊΡΡ | `tar -xzvf archive.tar.gz` | |
| ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ ΡΠΊΡΠΈΠΏΡ ΠΈΠ»ΠΈ cron Π·Π°Π΄Π°ΡΠ° | `tar -xzf archive.tar.gz -C /target` | |
| ΠΠ΅ΠΏΠΎΠ·Π½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° Π°ΡΡ ΠΈΠ²Π°, ΠΏΡΡΠ²ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ | `tar -tzf archive.tar.gz | head -20` |
| Π Π°Π·Π³ΡΡΡΠ°Π½Π΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π±Π΅Π· ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° ΠΎΡ Π½Π°ΠΉ-Π³ΠΎΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ | `tar -xzf archive.tar.gz -C /target βstrip-components=1` | |
| ΠΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Ρ ΡΠΎΡΠ½ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ | `sudo tar -xzvpf archive.tar.gz βsame-owner` | |
| ΠΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ» ΠΎΡ Π³ΠΎΠ»ΡΠΌ Π°ΡΡ ΠΈΠ² | `tar -xzf archive.tar.gz path/to/file` | |
| ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° Π°ΡΡ ΠΈΠ²Π° ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ | `tar -tzf archive.tar.gz > /dev/null && echo "OK"` |
Π§ΠΠ
ΠΠ°ΠΊΠ²Π° Π΅ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ .tar.gz ΠΈ .tgz?
Π’Π΅ ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ. `.tgz` Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΠΊΡΠ°ΡΠ΅Π½ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ Ρ Π΅Π΄Π½ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° `.tar.gz`, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ ΠΈΠΌΠ°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ. Π Π΄Π²Π°ΡΠ° ΡΠ΅ ΠΈΠ·Π²Π»ΠΈΡΠ°Ρ Ρ Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° `tar -xzvf`.
ΠΠ°ΡΠΎ `tar -xzvf` ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΈΠ·Π²Π»ΠΈΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ Π² ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ?
Π’ΠΎΠ²Π° ΡΠ΅ ΡΠ»ΡΡΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π°ΡΡ ΠΈΠ²ΡΡ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π±Π΅Π· ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΎΡ Π½Π°ΠΉ-Π³ΠΎΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ. ΠΠΈΠ½Π°Π³ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΉΡΠ΅ `tar -tzf archive.tar.gz | head -20` ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅. ΠΠΊΠΎ ΠΏΡΡΠΈΡΠ°ΡΠ° Π½Π΅ ΡΠΏΠΎΠ΄Π΅Π»ΡΡ ΠΎΠ±Ρ ΠΏΡΠ΅ΡΠΈΠΊΡ, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ `-C` Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π² Π½Π΅Ρ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°ΠΉΠΊΠΈ ΡΠ°Π·ΠΏΡΡΡΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΠΎΠ³Π° Π»ΠΈ Π΄Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ° .tar.gz ΡΠ°ΠΉΠ» Π±Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° tar?
ΠΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΡΠ²ΠΎ Π΄Π° Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°ΡΠ΅ gzip ΡΠ»ΠΎΡ Ρ `gunzip archive.tar.gz`, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° `archive.tar`, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ Ρ `tar -xvf archive.tar`. ΠΡΠΊΠΎΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΈ `zcat archive.tar.gz | tar -xvf -` Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° ΠΊΡΠΌ tar. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° `tar -xzvf` Π² Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π½Π°ΠΉ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄.
ΠΠ°Π±Π°Π²Ρ Π»ΠΈ ΡΠ»Π°Π³ΡΡ `-v` ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΏΡΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ Π°ΡΡ ΠΈΠ²ΠΈ?
ΠΠ΅Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ, Π΄Π°. ΠΡΠΈ Π°ΡΡ ΠΈΠ²ΠΈ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ ΡΡΠΎΡΠΈΡΠΈ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΌΠ°Π»ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡ ΠΎΡΠΏΠ΅ΡΠ°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ Π² stdout ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌΠΎ Π²ΡΠ΅ΠΌΠ΅. Π ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΈ Π²ΠΈΠ½Π°Π³ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΉΡΠ΅ `-v`.
ΠΠ°ΠΊ Π΄Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ° .tar.gz ΡΠ°ΠΉΠ» ΠΊΠ°ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», Π±Π΅Π· Π΄Π° ΡΠΌΠ΅Π½ΡΠΌ Π°ΠΊΠ°ΡΠ½ΡΠΈ?
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ `sudo -u targetuser tar -xzvf archive.tar.gz -C /target/dir`. Π’ΠΎΠ²Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ ΠΏΠΎΠ΄ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π»Π΅Π²ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», ΠΊΠ°ΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π°Π½ΠΈ, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΡΠ»Π½Π° ΡΠΌΡΠ½Π° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΡΡΠ΅Π· `su`.
ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Ρ
ΠΎΡΡΠΈΠ½Π³ ΡΡΠ»ΡΠ³ΠΈ