@fredlackey/devutils 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/package.json +1 -1
- package/src/commands/install.js +374 -36
- package/src/installs/adobe-creative-cloud.js +527 -25
- package/src/installs/adobe-creative-cloud.md +605 -0
- package/src/installs/appcleaner.js +303 -26
- package/src/installs/appcleaner.md +699 -0
- package/src/installs/apt-transport-https.js +390 -0
- package/src/installs/apt-transport-https.md +678 -0
- package/src/installs/atomicparsley.js +624 -26
- package/src/installs/atomicparsley.md +795 -0
- package/src/installs/aws-cli.js +779 -26
- package/src/installs/aws-cli.md +727 -0
- package/src/installs/balena-etcher.js +688 -26
- package/src/installs/balena-etcher.md +761 -0
- package/src/installs/bambu-studio.js +912 -26
- package/src/installs/bambu-studio.md +780 -0
- package/src/installs/bash-completion.js +554 -23
- package/src/installs/bash-completion.md +833 -0
- package/src/installs/bash.js +399 -26
- package/src/installs/bash.md +993 -0
- package/src/installs/beyond-compare.js +585 -26
- package/src/installs/beyond-compare.md +813 -0
- package/src/installs/build-essential.js +511 -26
- package/src/installs/build-essential.md +977 -0
- package/src/installs/ca-certificates.js +618 -0
- package/src/installs/ca-certificates.md +937 -0
- package/src/installs/caffeine.js +490 -26
- package/src/installs/caffeine.md +839 -0
- package/src/installs/camtasia.js +577 -25
- package/src/installs/camtasia.md +762 -0
- package/src/installs/chatgpt.js +458 -26
- package/src/installs/chatgpt.md +814 -0
- package/src/installs/chocolatey.js +447 -0
- package/src/installs/chocolatey.md +661 -0
- package/src/installs/chrome-canary.js +472 -26
- package/src/installs/chrome-canary.md +641 -0
- package/src/installs/chromium.js +645 -26
- package/src/installs/chromium.md +838 -0
- package/src/installs/claude-code.js +558 -26
- package/src/installs/claude-code.md +1173 -0
- package/src/installs/curl.js +361 -26
- package/src/installs/curl.md +714 -0
- package/src/installs/cursor.js +561 -26
- package/src/installs/cursor.md +970 -0
- package/src/installs/dbschema.js +674 -26
- package/src/installs/dbschema.md +925 -0
- package/src/installs/dependencies.md +435 -0
- package/src/installs/development-tools.js +600 -0
- package/src/installs/development-tools.md +977 -0
- package/src/installs/docker.js +1010 -25
- package/src/installs/docker.md +1109 -0
- package/src/installs/drawio.js +1001 -26
- package/src/installs/drawio.md +795 -0
- package/src/installs/elmedia-player.js +328 -25
- package/src/installs/elmedia-player.md +556 -0
- package/src/installs/ffmpeg.js +870 -25
- package/src/installs/ffmpeg.md +852 -0
- package/src/installs/file.js +464 -0
- package/src/installs/file.md +987 -0
- package/src/installs/gemini-cli.js +793 -26
- package/src/installs/gemini-cli.md +1153 -0
- package/src/installs/git.js +382 -26
- package/src/installs/git.md +907 -0
- package/src/installs/gitego.js +931 -26
- package/src/installs/gitego.md +1172 -0
- package/src/installs/go.js +913 -26
- package/src/installs/go.md +958 -0
- package/src/installs/google-chrome.js +801 -25
- package/src/installs/google-chrome.md +862 -0
- package/src/installs/gpg.js +412 -73
- package/src/installs/gpg.md +1056 -0
- package/src/installs/homebrew.js +1015 -26
- package/src/installs/homebrew.md +988 -0
- package/src/installs/imageoptim.js +950 -26
- package/src/installs/imageoptim.md +1119 -0
- package/src/installs/installers.json +2297 -0
- package/src/installs/jq.js +382 -26
- package/src/installs/jq.md +809 -0
- package/src/installs/keyboard-maestro.js +701 -26
- package/src/installs/keyboard-maestro.md +825 -0
- package/src/installs/latex.js +771 -26
- package/src/installs/latex.md +1095 -0
- package/src/installs/lftp.js +338 -26
- package/src/installs/lftp.md +907 -0
- package/src/installs/lsb-release.js +346 -0
- package/src/installs/lsb-release.md +814 -0
- package/src/installs/messenger.js +829 -26
- package/src/installs/messenger.md +900 -0
- package/src/installs/microsoft-office.js +550 -26
- package/src/installs/microsoft-office.md +760 -0
- package/src/installs/microsoft-teams.js +782 -25
- package/src/installs/microsoft-teams.md +886 -0
- package/src/installs/node.js +886 -26
- package/src/installs/node.md +1153 -0
- package/src/installs/nordpass.js +698 -26
- package/src/installs/nordpass.md +921 -0
- package/src/installs/nvm.js +977 -26
- package/src/installs/nvm.md +1057 -0
- package/src/installs/openssh.js +734 -64
- package/src/installs/openssh.md +1056 -0
- package/src/installs/pandoc.js +644 -26
- package/src/installs/pandoc.md +1036 -0
- package/src/installs/pinentry.js +492 -26
- package/src/installs/pinentry.md +1142 -0
- package/src/installs/pngyu.js +851 -26
- package/src/installs/pngyu.md +896 -0
- package/src/installs/postman.js +781 -26
- package/src/installs/postman.md +940 -0
- package/src/installs/procps.js +425 -0
- package/src/installs/procps.md +851 -0
- package/src/installs/safari-tech-preview.js +355 -25
- package/src/installs/safari-tech-preview.md +533 -0
- package/src/installs/sfnt2woff.js +640 -26
- package/src/installs/sfnt2woff.md +795 -0
- package/src/installs/shellcheck.js +463 -26
- package/src/installs/shellcheck.md +1005 -0
- package/src/installs/slack.js +722 -25
- package/src/installs/slack.md +865 -0
- package/src/installs/snagit.js +566 -25
- package/src/installs/snagit.md +844 -0
- package/src/installs/software-properties-common.js +372 -0
- package/src/installs/software-properties-common.md +805 -0
- package/src/installs/spotify.js +858 -25
- package/src/installs/spotify.md +901 -0
- package/src/installs/studio-3t.js +803 -26
- package/src/installs/studio-3t.md +918 -0
- package/src/installs/sublime-text.js +780 -25
- package/src/installs/sublime-text.md +914 -0
- package/src/installs/superwhisper.js +687 -25
- package/src/installs/superwhisper.md +630 -0
- package/src/installs/tailscale.js +727 -26
- package/src/installs/tailscale.md +1100 -0
- package/src/installs/tar.js +389 -0
- package/src/installs/tar.md +946 -0
- package/src/installs/termius.js +780 -26
- package/src/installs/termius.md +844 -0
- package/src/installs/terraform.js +761 -26
- package/src/installs/terraform.md +899 -0
- package/src/installs/tidal.js +752 -25
- package/src/installs/tidal.md +864 -0
- package/src/installs/tmux.js +328 -26
- package/src/installs/tmux.md +1030 -0
- package/src/installs/tree.js +393 -26
- package/src/installs/tree.md +833 -0
- package/src/installs/unzip.js +460 -0
- package/src/installs/unzip.md +879 -0
- package/src/installs/vim.js +403 -26
- package/src/installs/vim.md +1040 -0
- package/src/installs/vlc.js +803 -26
- package/src/installs/vlc.md +927 -0
- package/src/installs/vscode.js +825 -26
- package/src/installs/vscode.md +1002 -0
- package/src/installs/wget.js +415 -0
- package/src/installs/wget.md +791 -0
- package/src/installs/whatsapp.js +710 -25
- package/src/installs/whatsapp.md +854 -0
- package/src/installs/winpty.js +352 -0
- package/src/installs/winpty.md +620 -0
- package/src/installs/woff2.js +535 -26
- package/src/installs/woff2.md +977 -0
- package/src/installs/wsl.js +572 -0
- package/src/installs/wsl.md +699 -0
- package/src/installs/xcode-clt.js +520 -0
- package/src/installs/xcode-clt.md +351 -0
- package/src/installs/xcode.js +542 -26
- package/src/installs/xcode.md +573 -0
- package/src/installs/yarn.js +806 -26
- package/src/installs/yarn.md +1074 -0
- package/src/installs/yq.js +636 -26
- package/src/installs/yq.md +944 -0
- package/src/installs/yt-dlp.js +683 -26
- package/src/installs/yt-dlp.md +946 -0
- package/src/installs/yum-utils.js +297 -0
- package/src/installs/yum-utils.md +648 -0
- package/src/installs/zoom.js +740 -25
- package/src/installs/zoom.md +884 -0
- package/src/scripts/README.md +567 -45
- package/src/scripts/STATUS.md +208 -0
- package/src/scripts/afk.js +395 -7
- package/src/scripts/backup-all.js +731 -9
- package/src/scripts/backup-source.js +711 -8
- package/src/scripts/brewd.js +373 -7
- package/src/scripts/brewi.js +505 -9
- package/src/scripts/brewr.js +512 -9
- package/src/scripts/brews.js +462 -9
- package/src/scripts/brewu.js +488 -7
- package/src/scripts/c.js +185 -7
- package/src/scripts/ccurl.js +325 -8
- package/src/scripts/certbot-crontab-init.js +488 -8
- package/src/scripts/certbot-init.js +641 -9
- package/src/scripts/ch.js +339 -7
- package/src/scripts/claude-danger.js +253 -8
- package/src/scripts/clean-dev.js +419 -8
- package/src/scripts/clear-dns-cache.js +525 -7
- package/src/scripts/clone.js +417 -7
- package/src/scripts/code-all.js +420 -7
- package/src/scripts/count-files.js +195 -8
- package/src/scripts/count-folders.js +195 -8
- package/src/scripts/count.js +248 -8
- package/src/scripts/d.js +203 -7
- package/src/scripts/datauri.js +373 -8
- package/src/scripts/delete-files.js +363 -7
- package/src/scripts/docker-clean.js +410 -8
- package/src/scripts/dp.js +426 -7
- package/src/scripts/e.js +375 -9
- package/src/scripts/empty-trash.js +497 -7
- package/src/scripts/evm.js +428 -9
- package/src/scripts/fetch-github-repos.js +441 -10
- package/src/scripts/get-channel.js +329 -8
- package/src/scripts/get-course.js +384 -11
- package/src/scripts/get-dependencies.js +290 -9
- package/src/scripts/get-folder.js +783 -10
- package/src/scripts/get-tunes.js +411 -10
- package/src/scripts/get-video.js +352 -9
- package/src/scripts/git-backup.js +561 -9
- package/src/scripts/git-clone.js +477 -9
- package/src/scripts/git-pup.js +303 -7
- package/src/scripts/git-push.js +380 -8
- package/src/scripts/h.js +607 -9
- package/src/scripts/hide-desktop-icons.js +483 -7
- package/src/scripts/hide-hidden-files.js +522 -7
- package/src/scripts/install-dependencies-from.js +440 -9
- package/src/scripts/ips.js +647 -10
- package/src/scripts/iso.js +354 -8
- package/src/scripts/killni.js +561 -7
- package/src/scripts/ll.js +451 -8
- package/src/scripts/local-ip.js +310 -8
- package/src/scripts/m.js +508 -8
- package/src/scripts/map.js +293 -8
- package/src/scripts/mkd.js +287 -7
- package/src/scripts/ncu-update-all.js +441 -8
- package/src/scripts/nginx-init.js +702 -12
- package/src/scripts/npmi.js +366 -7
- package/src/scripts/o.js +495 -8
- package/src/scripts/org-by-date.js +321 -7
- package/src/scripts/p.js +208 -7
- package/src/scripts/packages.js +313 -8
- package/src/scripts/path.js +209 -7
- package/src/scripts/ports.js +582 -8
- package/src/scripts/q.js +290 -8
- package/src/scripts/refresh-files.js +378 -10
- package/src/scripts/remove-smaller-files.js +500 -8
- package/src/scripts/rename-files-with-date.js +517 -9
- package/src/scripts/resize-image.js +523 -9
- package/src/scripts/rm-safe.js +653 -8
- package/src/scripts/s.js +525 -9
- package/src/scripts/set-git-public.js +349 -7
- package/src/scripts/show-desktop-icons.js +459 -7
- package/src/scripts/show-hidden-files.js +456 -7
- package/src/scripts/tpa.js +265 -8
- package/src/scripts/tpo.js +264 -7
- package/src/scripts/u.js +489 -7
- package/src/scripts/vpush.js +422 -8
- package/src/scripts/y.js +267 -7
- package/src/utils/common/os.js +94 -2
- package/src/utils/ubuntu/apt.js +13 -7
- package/src/utils/windows/choco.js +82 -26
- package/src/utils/windows/winget.js +89 -27
|
@@ -0,0 +1,879 @@
|
|
|
1
|
+
# Installing unzip
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
unzip is a command-line utility for extracting files from ZIP archives (also known as "zipfiles"). It is one of the most fundamental file compression tools available on Unix-like systems and Windows, providing reliable extraction of compressed files. unzip is developed and maintained by the Info-ZIP project, which has been providing free, portable, high-quality versions of ZIP utilities since the early 1990s.
|
|
6
|
+
|
|
7
|
+
unzip is essential for developers, system administrators, and DevOps engineers who need to:
|
|
8
|
+
|
|
9
|
+
- Extract software packages and releases distributed as ZIP files
|
|
10
|
+
- Decompress archives downloaded from the internet
|
|
11
|
+
- Automate extraction in deployment scripts and CI/CD pipelines
|
|
12
|
+
- List and test contents of ZIP archives without extracting
|
|
13
|
+
- Extract specific files from large archives
|
|
14
|
+
|
|
15
|
+
Key features of unzip include:
|
|
16
|
+
|
|
17
|
+
- Full compatibility with PKZIP, WinZip, and other ZIP utilities
|
|
18
|
+
- Support for ZIP64 extensions (archives larger than 4GB)
|
|
19
|
+
- Ability to preserve file permissions and timestamps
|
|
20
|
+
- Password-protected archive extraction
|
|
21
|
+
- Selective extraction of specific files or directories
|
|
22
|
+
- Testing archives for integrity without extraction
|
|
23
|
+
|
|
24
|
+
## Dependencies
|
|
25
|
+
|
|
26
|
+
### macOS (Homebrew)
|
|
27
|
+
- **Required:** None (unzip is pre-installed on macOS)
|
|
28
|
+
- **Optional:** Homebrew - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` or run `dev install homebrew` if you need the latest version
|
|
29
|
+
- **Auto-installed:** None
|
|
30
|
+
|
|
31
|
+
### Ubuntu (APT/Snap)
|
|
32
|
+
- **Required:** None (APT is built into Ubuntu/Debian)
|
|
33
|
+
- **Optional:** None
|
|
34
|
+
- **Auto-installed:** None (unzip may already be pre-installed on many Ubuntu installations)
|
|
35
|
+
|
|
36
|
+
### Raspberry Pi OS (APT/Snap)
|
|
37
|
+
- **Required:** None (APT is built into Raspberry Pi OS)
|
|
38
|
+
- **Optional:** None
|
|
39
|
+
- **Auto-installed:** None (unzip may already be pre-installed on Raspberry Pi OS)
|
|
40
|
+
|
|
41
|
+
### Amazon Linux (DNF/YUM)
|
|
42
|
+
- **Required:** None (DNF/YUM is built into Amazon Linux)
|
|
43
|
+
- **Optional:** None
|
|
44
|
+
- **Auto-installed:** None
|
|
45
|
+
|
|
46
|
+
### Windows (Chocolatey/winget)
|
|
47
|
+
- **Required:** Chocolatey - Install via PowerShell: `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))` or run `dev install chocolatey`
|
|
48
|
+
- **Optional:** None
|
|
49
|
+
- **Auto-installed:** None
|
|
50
|
+
- **Note:** Windows 10/11 includes built-in ZIP support through File Explorer and PowerShell's `Expand-Archive`, but the Info-ZIP `unzip` command provides more features and is required for shell scripts expecting Unix-style `unzip`
|
|
51
|
+
|
|
52
|
+
### Git Bash (Manual/Portable)
|
|
53
|
+
- **Required:** Git for Windows - Download from https://git-scm.com/download/win or install via `choco install git -y`
|
|
54
|
+
- **Optional:** None
|
|
55
|
+
- **Auto-installed:** unzip is typically bundled with recent versions of Git for Windows; manual installation only needed if missing
|
|
56
|
+
|
|
57
|
+
## Prerequisites
|
|
58
|
+
|
|
59
|
+
Before installing unzip on any platform, ensure:
|
|
60
|
+
|
|
61
|
+
1. **Internet connectivity** - Required to download packages
|
|
62
|
+
2. **Administrative privileges** - Required on most platforms for system-wide installation
|
|
63
|
+
3. **Package manager installed** - Each platform requires its respective package manager (Homebrew, APT, DNF/YUM, Chocolatey, etc.)
|
|
64
|
+
|
|
65
|
+
**Note**: Many modern operating systems include unzip pre-installed. The installation steps below ensure you have unzip available or install it if missing.
|
|
66
|
+
|
|
67
|
+
## Platform-Specific Installation
|
|
68
|
+
|
|
69
|
+
### macOS (Homebrew)
|
|
70
|
+
|
|
71
|
+
#### Prerequisites
|
|
72
|
+
|
|
73
|
+
- macOS 10.15 (Catalina) or later (macOS 14 Sonoma+ recommended)
|
|
74
|
+
- Terminal access
|
|
75
|
+
|
|
76
|
+
macOS includes a system version of unzip pre-installed at `/usr/bin/unzip`. For most users, the pre-installed version is sufficient. The steps below install the latest version via Homebrew if you need newer features or bug fixes.
|
|
77
|
+
|
|
78
|
+
If Homebrew is not installed, install it first:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
#### Installation Steps
|
|
85
|
+
|
|
86
|
+
First, check if unzip is already available:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
unzip -v
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
If unzip is not installed or you need the Homebrew version, run:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
brew install --quiet unzip
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
The `--quiet` flag suppresses non-essential output, making the command suitable for automation scripts.
|
|
99
|
+
|
|
100
|
+
**Important**: Homebrew intentionally does not symlink unzip to the default bin directory to avoid conflicts with the macOS system version. To use the Homebrew version, you must reference it by its full path or add it to your PATH:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
echo 'export PATH="$(brew --prefix)/opt/unzip/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
For Bash users, replace `~/.zshrc` with `~/.bash_profile`.
|
|
107
|
+
|
|
108
|
+
#### Verification
|
|
109
|
+
|
|
110
|
+
Confirm unzip is available:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
unzip -v
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Expected output (version numbers may vary):
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. Send
|
|
120
|
+
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
|
|
121
|
+
|
|
122
|
+
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
|
|
123
|
+
see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.
|
|
124
|
+
|
|
125
|
+
Compiled with gcc 4.2.1 Compatible Apple LLVM for Unix (Mac OS X) on Jan 30 2018.
|
|
126
|
+
|
|
127
|
+
UnZip special compilation options:
|
|
128
|
+
APPLE_XATTR
|
|
129
|
+
...
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Verify the installation path:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
which unzip
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Expected output: `/usr/bin/unzip` (system version) or `/opt/homebrew/opt/unzip/bin/unzip` (Homebrew version on Apple Silicon).
|
|
139
|
+
|
|
140
|
+
#### Troubleshooting
|
|
141
|
+
|
|
142
|
+
**Problem**: Homebrew unzip not in PATH
|
|
143
|
+
|
|
144
|
+
**Solution**: The Homebrew version is keg-only and not symlinked. Add it to your PATH as shown above, or use the full path:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
$(brew --prefix)/opt/unzip/bin/unzip -v
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Problem**: `brew install unzip` fails with permission errors
|
|
151
|
+
|
|
152
|
+
**Solution**: Fix Homebrew directory ownership:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
sudo chown -R $(whoami) $(brew --prefix)/*
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Problem**: Homebrew itself is not found
|
|
159
|
+
|
|
160
|
+
**Solution**: Ensure Homebrew is in your PATH. For Apple Silicon Macs:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
### Ubuntu/Debian (APT)
|
|
169
|
+
|
|
170
|
+
#### Prerequisites
|
|
171
|
+
|
|
172
|
+
- Ubuntu 18.04 LTS or later, or Debian 10 (Buster) or later
|
|
173
|
+
- sudo privileges
|
|
174
|
+
- Internet connectivity
|
|
175
|
+
|
|
176
|
+
unzip is available in the default Ubuntu and Debian repositories. Many installations include it pre-installed.
|
|
177
|
+
|
|
178
|
+
#### Installation Steps
|
|
179
|
+
|
|
180
|
+
Run the following command to update package lists and install unzip:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y unzip
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
The `DEBIAN_FRONTEND=noninteractive` environment variable and `-y` flag ensure fully automated installation without prompts.
|
|
187
|
+
|
|
188
|
+
#### Verification
|
|
189
|
+
|
|
190
|
+
Confirm the installation succeeded:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
unzip -v
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Expected output (version numbers may vary):
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
|
|
200
|
+
|
|
201
|
+
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
|
|
202
|
+
see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.
|
|
203
|
+
|
|
204
|
+
Compiled with gcc 11.2.0 for Unix (Linux/GLIBC) on Mar 14 2022.
|
|
205
|
+
|
|
206
|
+
UnZip special compilation options:
|
|
207
|
+
...
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Verify the installation path:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
which unzip
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Expected output: `/usr/bin/unzip`
|
|
217
|
+
|
|
218
|
+
#### Troubleshooting
|
|
219
|
+
|
|
220
|
+
**Problem**: `E: Unable to locate package unzip`
|
|
221
|
+
|
|
222
|
+
**Solution**: Update the package list first:
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**Problem**: `Permission denied` errors
|
|
229
|
+
|
|
230
|
+
**Solution**: Ensure you are using `sudo` with the installation command.
|
|
231
|
+
|
|
232
|
+
**Problem**: unzip is already installed but outdated
|
|
233
|
+
|
|
234
|
+
**Solution**: Upgrade to the latest version in the repositories:
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y unzip
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
### Raspberry Pi OS (APT)
|
|
243
|
+
|
|
244
|
+
#### Prerequisites
|
|
245
|
+
|
|
246
|
+
- Raspberry Pi OS (32-bit or 64-bit)
|
|
247
|
+
- Raspberry Pi 2 or later (Raspberry Pi 3B+ or later recommended for 64-bit)
|
|
248
|
+
- sudo privileges
|
|
249
|
+
- Internet connectivity
|
|
250
|
+
|
|
251
|
+
Raspberry Pi OS is based on Debian, so unzip installation follows the same APT-based process. unzip is often pre-installed on Raspberry Pi OS.
|
|
252
|
+
|
|
253
|
+
#### Installation Steps
|
|
254
|
+
|
|
255
|
+
Run the following command to update package lists and install unzip:
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y unzip
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
The `DEBIAN_FRONTEND=noninteractive` environment variable and `-y` flag ensure fully automated installation without prompts.
|
|
262
|
+
|
|
263
|
+
#### Verification
|
|
264
|
+
|
|
265
|
+
Confirm the installation succeeded:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
unzip -v
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Expected output (version numbers may vary):
|
|
272
|
+
|
|
273
|
+
```
|
|
274
|
+
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
|
|
275
|
+
|
|
276
|
+
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
|
|
277
|
+
see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.
|
|
278
|
+
|
|
279
|
+
Compiled with gcc 10.2.1 for Unix (Linux/GLIBC) on Nov 8 2020.
|
|
280
|
+
|
|
281
|
+
UnZip special compilation options:
|
|
282
|
+
...
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
Verify your architecture:
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
uname -m
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Expected output: `aarch64` (64-bit) or `armv7l` (32-bit).
|
|
292
|
+
|
|
293
|
+
Verify the installation path:
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
which unzip
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
Expected output: `/usr/bin/unzip`
|
|
300
|
+
|
|
301
|
+
#### Troubleshooting
|
|
302
|
+
|
|
303
|
+
**Problem**: `E: Unable to locate package unzip`
|
|
304
|
+
|
|
305
|
+
**Solution**: Update the package list first:
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**Problem**: Very slow download speeds
|
|
312
|
+
|
|
313
|
+
**Solution**: Raspberry Pi may have limited bandwidth. Use a wired ethernet connection for faster downloads, or wait for the installation to complete.
|
|
314
|
+
|
|
315
|
+
**Problem**: Installation fails with disk space errors
|
|
316
|
+
|
|
317
|
+
**Solution**: Check available disk space and clean up if needed:
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
df -h
|
|
321
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y
|
|
322
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get clean
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
### Amazon Linux (DNF/YUM)
|
|
328
|
+
|
|
329
|
+
#### Prerequisites
|
|
330
|
+
|
|
331
|
+
- Amazon Linux 2023 (AL2023) or Amazon Linux 2 (AL2)
|
|
332
|
+
- sudo privileges
|
|
333
|
+
- Internet connectivity
|
|
334
|
+
|
|
335
|
+
unzip is available in the default Amazon Linux repositories. Amazon Linux 2023 uses `dnf` as the package manager, while Amazon Linux 2 uses `yum`. For convenience, AWS creates a symlink so `yum` commands also work on AL2023.
|
|
336
|
+
|
|
337
|
+
#### Installation Steps
|
|
338
|
+
|
|
339
|
+
**For Amazon Linux 2023:**
|
|
340
|
+
|
|
341
|
+
Run the following command to install unzip:
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
sudo dnf install -y unzip
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
**For Amazon Linux 2:**
|
|
348
|
+
|
|
349
|
+
Run the following command to install unzip:
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
sudo yum install -y unzip
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
The `-y` flag automatically confirms installation prompts, enabling non-interactive execution.
|
|
356
|
+
|
|
357
|
+
#### Verification
|
|
358
|
+
|
|
359
|
+
Confirm the installation succeeded:
|
|
360
|
+
|
|
361
|
+
```bash
|
|
362
|
+
unzip -v
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
Expected output (version numbers may vary):
|
|
366
|
+
|
|
367
|
+
```
|
|
368
|
+
UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. Send
|
|
369
|
+
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
|
|
370
|
+
|
|
371
|
+
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
|
|
372
|
+
see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.
|
|
373
|
+
|
|
374
|
+
Compiled with gcc 11.3.1 for Unix (Linux/GLIBC) on Sep 27 2022.
|
|
375
|
+
|
|
376
|
+
UnZip special compilation options:
|
|
377
|
+
...
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
Check which unzip package is installed:
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
rpm -q unzip
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
Expected output: `unzip-6.0-x.amzn2023.x86_64` or similar.
|
|
387
|
+
|
|
388
|
+
#### Troubleshooting
|
|
389
|
+
|
|
390
|
+
**Problem**: `No match for argument: unzip`
|
|
391
|
+
|
|
392
|
+
**Solution**: Refresh the repository cache:
|
|
393
|
+
|
|
394
|
+
```bash
|
|
395
|
+
sudo dnf makecache
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
Or for Amazon Linux 2:
|
|
399
|
+
|
|
400
|
+
```bash
|
|
401
|
+
sudo yum makecache
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
**Problem**: `dnf: command not found` on Amazon Linux 2
|
|
405
|
+
|
|
406
|
+
**Solution**: Use `yum` instead of `dnf` on Amazon Linux 2:
|
|
407
|
+
|
|
408
|
+
```bash
|
|
409
|
+
sudo yum install -y unzip
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
**Problem**: Permission denied when running unzip
|
|
413
|
+
|
|
414
|
+
**Solution**: Check file permissions on the archive or run with appropriate privileges.
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
### Windows (Chocolatey)
|
|
419
|
+
|
|
420
|
+
#### Prerequisites
|
|
421
|
+
|
|
422
|
+
- Windows 10 (version 1803+) or Windows 11
|
|
423
|
+
- Chocolatey package manager installed
|
|
424
|
+
- Administrator PowerShell or Command Prompt
|
|
425
|
+
|
|
426
|
+
**Note**: Windows includes built-in ZIP support through File Explorer and PowerShell's `Expand-Archive` cmdlet. The Info-ZIP `unzip` command provides additional features and is required for shell scripts expecting Unix-style `unzip` behavior.
|
|
427
|
+
|
|
428
|
+
If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
|
|
429
|
+
|
|
430
|
+
```powershell
|
|
431
|
+
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
#### Installation Steps
|
|
435
|
+
|
|
436
|
+
Run the following command in an Administrator PowerShell or Command Prompt:
|
|
437
|
+
|
|
438
|
+
```powershell
|
|
439
|
+
choco install unzip -y
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation.
|
|
443
|
+
|
|
444
|
+
#### Verification
|
|
445
|
+
|
|
446
|
+
Open a **new** Command Prompt or PowerShell window (required for PATH to update), then run:
|
|
447
|
+
|
|
448
|
+
```powershell
|
|
449
|
+
unzip -v
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
Expected output (version numbers may vary):
|
|
453
|
+
|
|
454
|
+
```
|
|
455
|
+
UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. Send
|
|
456
|
+
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
|
|
457
|
+
|
|
458
|
+
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
|
|
459
|
+
see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.
|
|
460
|
+
|
|
461
|
+
Compiled with Microsoft C for Windows NT/2K/XP/2K3/Vista/2K8 (32-bit) on ...
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
Verify the installation path:
|
|
465
|
+
|
|
466
|
+
```powershell
|
|
467
|
+
where unzip
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
Expected output should include `C:\ProgramData\chocolatey\bin\unzip.exe`.
|
|
471
|
+
|
|
472
|
+
#### Troubleshooting
|
|
473
|
+
|
|
474
|
+
**Problem**: `unzip` command not found after installation
|
|
475
|
+
|
|
476
|
+
**Solution**: Close all terminal windows and open a new Command Prompt or PowerShell. The PATH update requires a fresh terminal session.
|
|
477
|
+
|
|
478
|
+
**Problem**: `choco` command not found
|
|
479
|
+
|
|
480
|
+
**Solution**: Chocolatey may not be in PATH. Close all terminal windows, open a new Administrator PowerShell, and try again. If the issue persists, reinstall Chocolatey.
|
|
481
|
+
|
|
482
|
+
**Problem**: Installation fails with access denied
|
|
483
|
+
|
|
484
|
+
**Solution**: Ensure you are running PowerShell or Command Prompt as Administrator. Right-click and select "Run as administrator".
|
|
485
|
+
|
|
486
|
+
**Problem**: Need to use winget instead of Chocolatey
|
|
487
|
+
|
|
488
|
+
**Solution**: winget is also supported. Run the following in PowerShell or Command Prompt:
|
|
489
|
+
|
|
490
|
+
```powershell
|
|
491
|
+
winget install --id GnuWin32.UnZip --silent --accept-package-agreements --accept-source-agreements
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
The `--silent` flag ensures non-interactive installation.
|
|
495
|
+
|
|
496
|
+
---
|
|
497
|
+
|
|
498
|
+
### WSL (Ubuntu)
|
|
499
|
+
|
|
500
|
+
#### Prerequisites
|
|
501
|
+
|
|
502
|
+
- Windows 10 version 2004+ or Windows 11
|
|
503
|
+
- Windows Subsystem for Linux (WSL) with Ubuntu installed
|
|
504
|
+
- WSL 2 recommended for best performance
|
|
505
|
+
- sudo privileges within WSL
|
|
506
|
+
|
|
507
|
+
WSL Ubuntu installations follow the same process as native Ubuntu, using APT.
|
|
508
|
+
|
|
509
|
+
#### Installation Steps
|
|
510
|
+
|
|
511
|
+
Open your WSL Ubuntu terminal and run:
|
|
512
|
+
|
|
513
|
+
```bash
|
|
514
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y unzip
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
The `DEBIAN_FRONTEND=noninteractive` environment variable and `-y` flag ensure fully automated installation without prompts.
|
|
518
|
+
|
|
519
|
+
#### Verification
|
|
520
|
+
|
|
521
|
+
Confirm the installation succeeded:
|
|
522
|
+
|
|
523
|
+
```bash
|
|
524
|
+
unzip -v
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
Expected output (version numbers may vary):
|
|
528
|
+
|
|
529
|
+
```
|
|
530
|
+
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
|
|
531
|
+
|
|
532
|
+
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
|
|
533
|
+
see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.
|
|
534
|
+
|
|
535
|
+
Compiled with gcc 11.2.0 for Unix (Linux/GLIBC) on Mar 14 2022.
|
|
536
|
+
|
|
537
|
+
UnZip special compilation options:
|
|
538
|
+
...
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
Verify the installation path:
|
|
542
|
+
|
|
543
|
+
```bash
|
|
544
|
+
which unzip
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
Expected output: `/usr/bin/unzip`
|
|
548
|
+
|
|
549
|
+
#### Troubleshooting
|
|
550
|
+
|
|
551
|
+
**Problem**: `E: Unable to locate package unzip`
|
|
552
|
+
|
|
553
|
+
**Solution**: Update the package list first:
|
|
554
|
+
|
|
555
|
+
```bash
|
|
556
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
**Problem**: WSL itself is not installed
|
|
560
|
+
|
|
561
|
+
**Solution**: Install WSL from an Administrator PowerShell on Windows:
|
|
562
|
+
|
|
563
|
+
```powershell
|
|
564
|
+
wsl --install
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
Restart your computer after installation.
|
|
568
|
+
|
|
569
|
+
**Problem**: Network connectivity issues in WSL
|
|
570
|
+
|
|
571
|
+
**Solution**: WSL may have DNS resolution issues. Try restarting WSL:
|
|
572
|
+
|
|
573
|
+
```powershell
|
|
574
|
+
# From Windows PowerShell
|
|
575
|
+
wsl --shutdown
|
|
576
|
+
wsl
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
---
|
|
580
|
+
|
|
581
|
+
### Git Bash (Manual/Portable)
|
|
582
|
+
|
|
583
|
+
#### Prerequisites
|
|
584
|
+
|
|
585
|
+
- Windows 10 or Windows 11
|
|
586
|
+
- Git for Windows installed (includes Git Bash)
|
|
587
|
+
- Internet connectivity
|
|
588
|
+
|
|
589
|
+
Recent versions of Git for Windows (1.7.6 and later) include the `unzip` command. If your version does not include it, you must download the binary manually.
|
|
590
|
+
|
|
591
|
+
#### Installation Steps
|
|
592
|
+
|
|
593
|
+
**Step 1: Check if unzip is already available**
|
|
594
|
+
|
|
595
|
+
Open Git Bash and run:
|
|
596
|
+
|
|
597
|
+
```bash
|
|
598
|
+
unzip -v
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
If unzip is available, you will see version information and can skip the remaining steps.
|
|
602
|
+
|
|
603
|
+
**Step 2: Download unzip if missing**
|
|
604
|
+
|
|
605
|
+
If unzip is not available, download the GnuWin32 unzip package:
|
|
606
|
+
|
|
607
|
+
```bash
|
|
608
|
+
curl -L -o /tmp/unzip-5.51-1-bin.zip https://sourceforge.net/projects/gnuwin32/files/unzip/5.51-1/unzip-5.51-1-bin.zip/download
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
**Step 3: Extract unzip.exe**
|
|
612
|
+
|
|
613
|
+
```bash
|
|
614
|
+
mkdir -p /tmp/unzip-extract && cd /tmp/unzip-extract && powershell.exe -Command "Expand-Archive -Path '/tmp/unzip-5.51-1-bin.zip' -DestinationPath '.' -Force"
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
**Step 4: Copy unzip.exe to Git's bin directory**
|
|
618
|
+
|
|
619
|
+
```bash
|
|
620
|
+
cp /tmp/unzip-extract/bin/unzip.exe /usr/bin/unzip.exe
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
**Step 5: Clean up temporary files**
|
|
624
|
+
|
|
625
|
+
```bash
|
|
626
|
+
rm -rf /tmp/unzip-5.51-1-bin.zip /tmp/unzip-extract
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
#### Verification
|
|
630
|
+
|
|
631
|
+
Confirm unzip is available:
|
|
632
|
+
|
|
633
|
+
```bash
|
|
634
|
+
unzip -v
|
|
635
|
+
```
|
|
636
|
+
|
|
637
|
+
Expected output (version numbers may vary):
|
|
638
|
+
|
|
639
|
+
```
|
|
640
|
+
UnZip 5.51 of 22 May 2004, by Info-ZIP. Maintained by C. Spieler. Send
|
|
641
|
+
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
|
|
642
|
+
|
|
643
|
+
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/
|
|
644
|
+
```
|
|
645
|
+
|
|
646
|
+
Verify the installation path:
|
|
647
|
+
|
|
648
|
+
```bash
|
|
649
|
+
which unzip
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
Expected output: `/usr/bin/unzip`
|
|
653
|
+
|
|
654
|
+
#### Troubleshooting
|
|
655
|
+
|
|
656
|
+
**Problem**: `unzip: command not found` after installation
|
|
657
|
+
|
|
658
|
+
**Solution**: Ensure the file was copied to `/usr/bin/` correctly. Verify with:
|
|
659
|
+
|
|
660
|
+
```bash
|
|
661
|
+
ls -la /usr/bin/unzip.exe
|
|
662
|
+
```
|
|
663
|
+
|
|
664
|
+
If the file exists but is not executable, Git Bash may not recognize it. Restart Git Bash.
|
|
665
|
+
|
|
666
|
+
**Problem**: Cannot write to `/usr/bin/`
|
|
667
|
+
|
|
668
|
+
**Solution**: Run Git Bash as Administrator. Right-click on Git Bash and select "Run as administrator".
|
|
669
|
+
|
|
670
|
+
**Problem**: curl download fails
|
|
671
|
+
|
|
672
|
+
**Solution**: SourceForge URLs may redirect. If the download fails, visit https://sourceforge.net/projects/gnuwin32/files/unzip/ in your browser, download manually, and extract unzip.exe to the Git Bash bin directory.
|
|
673
|
+
|
|
674
|
+
**Problem**: Need to use an alternative location
|
|
675
|
+
|
|
676
|
+
**Solution**: If you cannot write to `/usr/bin/`, create a local bin directory:
|
|
677
|
+
|
|
678
|
+
```bash
|
|
679
|
+
mkdir -p ~/bin
|
|
680
|
+
cp /tmp/unzip-extract/bin/unzip.exe ~/bin/unzip.exe
|
|
681
|
+
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
|
|
682
|
+
```
|
|
683
|
+
|
|
684
|
+
---
|
|
685
|
+
|
|
686
|
+
## Post-Installation Configuration
|
|
687
|
+
|
|
688
|
+
unzip works out of the box for most use cases. No additional configuration is typically required. The following tips may be useful:
|
|
689
|
+
|
|
690
|
+
### Common Usage Examples
|
|
691
|
+
|
|
692
|
+
Extract all files from an archive to the current directory:
|
|
693
|
+
|
|
694
|
+
```bash
|
|
695
|
+
unzip archive.zip
|
|
696
|
+
```
|
|
697
|
+
|
|
698
|
+
Extract to a specific directory:
|
|
699
|
+
|
|
700
|
+
```bash
|
|
701
|
+
unzip archive.zip -d /path/to/destination
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
List contents of an archive without extracting:
|
|
705
|
+
|
|
706
|
+
```bash
|
|
707
|
+
unzip -l archive.zip
|
|
708
|
+
```
|
|
709
|
+
|
|
710
|
+
Extract a specific file from an archive:
|
|
711
|
+
|
|
712
|
+
```bash
|
|
713
|
+
unzip archive.zip path/to/file.txt
|
|
714
|
+
```
|
|
715
|
+
|
|
716
|
+
Overwrite existing files without prompting:
|
|
717
|
+
|
|
718
|
+
```bash
|
|
719
|
+
unzip -o archive.zip
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
Test archive integrity without extracting:
|
|
723
|
+
|
|
724
|
+
```bash
|
|
725
|
+
unzip -t archive.zip
|
|
726
|
+
```
|
|
727
|
+
|
|
728
|
+
### Shell Aliases
|
|
729
|
+
|
|
730
|
+
Create convenient aliases for common unzip operations. Add to your shell configuration file (`~/.bashrc`, `~/.zshrc`, or `~/.bash_profile`):
|
|
731
|
+
|
|
732
|
+
```bash
|
|
733
|
+
# List ZIP contents
|
|
734
|
+
alias zipls='unzip -l'
|
|
735
|
+
|
|
736
|
+
# Test ZIP integrity
|
|
737
|
+
alias ziptest='unzip -t'
|
|
738
|
+
|
|
739
|
+
# Extract with overwrite
|
|
740
|
+
alias unzipo='unzip -o'
|
|
741
|
+
```
|
|
742
|
+
|
|
743
|
+
### Test Your Installation
|
|
744
|
+
|
|
745
|
+
Verify unzip works correctly by creating a test archive and extracting it:
|
|
746
|
+
|
|
747
|
+
```bash
|
|
748
|
+
# Create a test file
|
|
749
|
+
echo "Hello, World!" > /tmp/test.txt
|
|
750
|
+
|
|
751
|
+
# Create a ZIP archive (requires zip command)
|
|
752
|
+
zip /tmp/test.zip /tmp/test.txt
|
|
753
|
+
|
|
754
|
+
# Extract and verify
|
|
755
|
+
unzip -l /tmp/test.zip
|
|
756
|
+
```
|
|
757
|
+
|
|
758
|
+
Expected output:
|
|
759
|
+
|
|
760
|
+
```
|
|
761
|
+
Archive: /tmp/test.zip
|
|
762
|
+
Length Date Time Name
|
|
763
|
+
--------- ---------- ----- ----
|
|
764
|
+
14 2024-01-15 10:30 tmp/test.txt
|
|
765
|
+
--------- -------
|
|
766
|
+
14 1 file
|
|
767
|
+
```
|
|
768
|
+
|
|
769
|
+
---
|
|
770
|
+
|
|
771
|
+
## Common Issues
|
|
772
|
+
|
|
773
|
+
### Issue: "Archive: ... End-of-central-directory signature not found"
|
|
774
|
+
|
|
775
|
+
**Symptoms**: unzip fails with an error about missing central directory signature.
|
|
776
|
+
|
|
777
|
+
**Solution**: The ZIP file may be corrupted or incomplete. Try:
|
|
778
|
+
|
|
779
|
+
1. Re-download the archive
|
|
780
|
+
2. Check if the file is actually a ZIP (some files have wrong extensions):
|
|
781
|
+
|
|
782
|
+
```bash
|
|
783
|
+
file archive.zip
|
|
784
|
+
```
|
|
785
|
+
|
|
786
|
+
3. If the file is a different format (like gzip or tar), use the appropriate tool:
|
|
787
|
+
|
|
788
|
+
```bash
|
|
789
|
+
# For .tar.gz files
|
|
790
|
+
tar -xzf archive.tar.gz
|
|
791
|
+
|
|
792
|
+
# For .gz files
|
|
793
|
+
gunzip archive.gz
|
|
794
|
+
```
|
|
795
|
+
|
|
796
|
+
### Issue: "Need PK compat. v6.1 (can do v4.6)"
|
|
797
|
+
|
|
798
|
+
**Symptoms**: unzip cannot extract files compressed with newer methods.
|
|
799
|
+
|
|
800
|
+
**Solution**: The archive uses compression methods not supported by your unzip version. Use a newer tool like 7-zip:
|
|
801
|
+
|
|
802
|
+
```bash
|
|
803
|
+
# Install 7-zip (p7zip)
|
|
804
|
+
# Ubuntu/Debian/Raspberry Pi
|
|
805
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y p7zip-full
|
|
806
|
+
|
|
807
|
+
# macOS
|
|
808
|
+
brew install --quiet p7zip
|
|
809
|
+
|
|
810
|
+
# Then extract
|
|
811
|
+
7z x archive.zip
|
|
812
|
+
```
|
|
813
|
+
|
|
814
|
+
### Issue: Password-protected archives
|
|
815
|
+
|
|
816
|
+
**Symptoms**: Archive requires a password but unzip does not prompt.
|
|
817
|
+
|
|
818
|
+
**Solution**: Use the `-P` flag to provide the password:
|
|
819
|
+
|
|
820
|
+
```bash
|
|
821
|
+
unzip -P yourpassword archive.zip
|
|
822
|
+
```
|
|
823
|
+
|
|
824
|
+
**Warning**: Passing passwords on the command line is insecure as it may appear in process listings and shell history.
|
|
825
|
+
|
|
826
|
+
### Issue: "replace file.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename:"
|
|
827
|
+
|
|
828
|
+
**Symptoms**: unzip prompts for confirmation when files already exist.
|
|
829
|
+
|
|
830
|
+
**Solution**: For non-interactive extraction, use the `-o` (overwrite) flag:
|
|
831
|
+
|
|
832
|
+
```bash
|
|
833
|
+
unzip -o archive.zip
|
|
834
|
+
```
|
|
835
|
+
|
|
836
|
+
Or use `-n` to never overwrite:
|
|
837
|
+
|
|
838
|
+
```bash
|
|
839
|
+
unzip -n archive.zip
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
### Issue: Filename encoding problems
|
|
843
|
+
|
|
844
|
+
**Symptoms**: Extracted filenames contain garbled characters or question marks.
|
|
845
|
+
|
|
846
|
+
**Solution**: Specify the character encoding:
|
|
847
|
+
|
|
848
|
+
```bash
|
|
849
|
+
# For archives created on Windows with non-ASCII filenames
|
|
850
|
+
unzip -O CP936 archive.zip
|
|
851
|
+
```
|
|
852
|
+
|
|
853
|
+
Common encodings: `CP936` (Chinese), `CP932` (Japanese), `CP949` (Korean), `CP1252` (Western European).
|
|
854
|
+
|
|
855
|
+
### Issue: Permission denied on extracted files
|
|
856
|
+
|
|
857
|
+
**Symptoms**: Cannot access extracted files due to permission issues.
|
|
858
|
+
|
|
859
|
+
**Solution**: The archive may contain files with restrictive permissions. Extract and fix:
|
|
860
|
+
|
|
861
|
+
```bash
|
|
862
|
+
unzip archive.zip
|
|
863
|
+
chmod -R u+rw extracted_directory/
|
|
864
|
+
```
|
|
865
|
+
|
|
866
|
+
---
|
|
867
|
+
|
|
868
|
+
## References
|
|
869
|
+
|
|
870
|
+
- [Info-ZIP Home Page](https://infozip.sourceforge.net/)
|
|
871
|
+
- [Info-ZIP UnZip Documentation](https://infozip.sourceforge.net/UnZip.html)
|
|
872
|
+
- [Info-ZIP FAQ](https://infozip.sourceforge.net/FAQ.html)
|
|
873
|
+
- [Info-ZIP on SourceForge](https://sourceforge.net/projects/infozip/)
|
|
874
|
+
- [unzip Homebrew Formula](https://formulae.brew.sh/formula/unzip)
|
|
875
|
+
- [unzip Chocolatey Package](https://community.chocolatey.org/packages/unzip)
|
|
876
|
+
- [GnuWin32 UnZip Package](https://gnuwin32.sourceforge.net/packages/unzip.htm)
|
|
877
|
+
- [winget GnuWin32.UnZip Package](https://winget.run/pkg/GnuWin32/UnZip)
|
|
878
|
+
- [Ubuntu unzip Package](https://packages.ubuntu.com/search?keywords=unzip)
|
|
879
|
+
- [Info-ZIP Wikipedia Article](https://en.wikipedia.org/wiki/Info-ZIP)
|