ΠΠ°ΠΊ ΠΈΠ·Π²Π»Π΅ΡΡ ΡΠ°ΠΉΠ»Ρ .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`.
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΡΠΈ
Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΉ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ: Π²Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΡΠ±ΠΎΠ» Ρ GitHub, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΡ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΎ Π²Π½ΡΡΡΠΈ `project-main/`, Π½ΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² `/opt/project/` Π±Π΅Π· ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ.
β`bash
tar -xzvf project-main.tar.gz -C /opt/project βstrip-components=1
β`
`βstrip-components=1` ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΏΡΡΠΈ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Β«ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΒ» ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΡΠΎ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ Dockerfile.
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°
ΠΠ΅ Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ Π²ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. Π§ΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»:
β`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 ΡΠ°ΡΠ±ΠΎΠ» | `.tar.gz` / `.tgz` | DEFLATE (gzip) | Π£ΠΌΠ΅ΡΠ΅Π½Π½Π°Ρ | ΠΡΡΡΡΠ°Ρ | ΠΠ° |
| Bzip2 ΡΠ°ΡΠ±ΠΎΠ» | `.tar.bz2` | Burrows-Wheeler (bzip2) | ΠΡΡΠΎΠΊΠ°Ρ | ΠΠ΅Π΄Π»Π΅Π½Π½Π°Ρ | ΠΠ° |
| XZ ΡΠ°ΡΠ±ΠΎΠ» | `.tar.xz` | LZMA2 (xz) | ΠΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠ°Ρ | ΠΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π°Ρ | ΠΠ° |
| Zstandard ΡΠ°ΡΠ±ΠΎΠ» | `.tar.zst` | Zstandard | ΠΡΡΠΎΠΊΠ°Ρ | ΠΡΠ΅Π½Ρ Π±ΡΡΡΡΠ°Ρ | ΠΠ° |
| ZIP Π°ΡΡ ΠΈΠ² | `.zip` | DEFLATE | Π£ΠΌΠ΅ΡΠ΅Π½Π½Π°Ρ | ΠΡΡΡΡΠ°Ρ | ΠΠ΅Ρ |
| ΠΠ±ΡΡΠ½ΡΠΉ tar | `.tar` | ΠΠ΅Ρ | ΠΠ΅Ρ | Π‘Π°ΠΌΠ°Ρ Π±ΡΡΡΡΠ°Ρ | ΠΠ° |
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅: `.tar.xz` Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux (ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΄ΡΠ°, ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΡΠ±ΠΎΠ»Ρ 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 ΠΈΠ»ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅
Π ΡΡΠ΅Π΄Π΅ 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
β`
ΠΠ° ΠΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ , ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±Π°, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ `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` ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π±Π°Π·ΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° `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`.
Π½Π° Π²ΡΠ΅Ρ
Ρ
ΠΎΡΡΠΈΠ½Π³ΠΎΠ²ΡΡ
ΡΡΠ»ΡΠ³Π°Ρ