Pogosta naloga je, da je treba preneseno ali naloženo datoteko ZIP (na primer predlogo WordPress, varnostno kopijo spletne strani ali namestitveni paket aplikacije) na strežniku razpakirati v določen imenik. Za to datoteke ni treba prenesti na svoj računalnik: ko si prijavljen prek SSH, jo lahko v izbrano mapo razpakiraš tudi v ukazni vrstici.
Namestitev unzip
Datoteke ZIP razpakira ukaz unzip. V veliko sistemih je privzeto nameščen, v minimalnih namestitvah strežnikov pa pogosto manjka; na cloud image AlmaLinux 10 na primer nista bila nameščena niti unzip niti zip. Če ukaz vrne napako command not found, ga namesti:
sudo apt install unzip # Debian, Ubuntu
sudo dnf install unzip # AlmaLinux, Rocky Linux
Na deljenem gostovanju sudo ni, tam je unzip običajno že na voljo.
Razpakiranje v določeno mapo
Privzeto unzip razpakira v trenutni imenik. S stikalom -d določiš ciljno mapo:
unzip fontosfajl.zip -d /var/www/teszt
Če ciljna mapa ne obstaja, jo unzip ustvari, a le zadnjo raven. Če ne obstajajo niti nadrejeni imeniki, se ukaz ustavi z napako checkdir: cannot create extraction directory: … No such file or directory (tako je bilo v preizkusu). Takrat najprej z ukazom mkdir -p ustvari celotno pot:
mkdir -p /var/www/teszt/uj/mappa
unzip fontosfajl.zip -d /var/www/teszt/uj/mappa
Ogled vsebine pred razpakiranjem
Dobro je najprej pogledati, kaj je v arhivu, ker veliko datotek ZIP vsebuje lastno korensko mapo (na primer sablon/), zato pridejo datoteke za eno raven globlje, kot bi pričakoval:
unzip -l fontosfajl.zip
Uporabna stikala
-o: obstoječe datoteke prepiše brez vprašanja.-n: obstoječih datotek nikoli ne prepiše, razpakira le manjkajoče.-q: tihi način, datotek ne izpisuje posamično.-j: zgradbo imenikov izpusti, vse datoteke pridejo neposredno v ciljno mapo.- Razpakiranje ene datoteke:
unzip fontosfajl.zip wp-config.php -d /tmp/. Datoteko navedi natanko s potjo, s katero jo izpišeunzip -l: če je v arhivu korenska mapa, na primeroldal/wp-config.php. S stikalom-jpride datoteka brez zgradbe map neposredno v ciljno mapo.
Če ne navedeš stikala -o ali -n in je v ciljni mapi že istoimenska datoteka, unzip pri vsakem sporu vpraša ([y]es, [n]o, [A]ll, [N]one, [r]ename).
Preverjanje in dovoljenja
Po razpakiranju lahko datoteke preveriš z ukazom ls -la /var/www/teszt. Če si kot uporabnik root razpakiral v imenik spletne strani, so datoteke v lasti uporabnika root in spletni strežnik vanje ne bo mogel pisati. Nastavi ustreznega lastnika in dovoljenja z ukazoma chmod in chown.
Pogoste napake
End-of-central-directory signature not found: datoteka je poškodovana ali ni bila v celoti prenesena, morda sploh ni v obliki ZIP. Ukazfile fontosfajl.zippokaže njeno pravo vrsto: če je na primerHTML document, je prenos namesto datoteke prinesel stran z napako. Okrnjen ZIP pafiletudi pokaže kot ZIP (v preizkusu je bil tudi prepolovljen arhiv „Zip archive data”), takrat njegovo velikost primerjaj z izvirnikom in ga prenesi znova.- Zmanjkalo je prostora: razpakirana vsebina je lahko precej večja od datoteke ZIP. Prej z ukazom
df -hpreveri prosti prostor.
O upravljanju arhivov .tar.gz govori naš članek o ustvarjanju in razpakiranju arhiva tar.gz.