Numele scenariului în sine spune ce face. Înseamnă că scriptul conține comenzi care trebuie executate după finalizarea instalării.
Să o înțelegem mai bine printr-un exemplu:
- Să presupunem că instalați un nucleu mai nou. Odată instalată
.deb
fișierul este complet, trebuie să-i spună lui GRUB că nucleul este instalat, astfel încât să puteți porni în el. Deci, post-instalarea pachetului va spune GRUB că nucleul este instalat prin executarea comenzilor update-grub
și update-initramfs
. Pentru mai multe informații, consultați secțiunea Întrebări frecvente.
Un exemplu mai generic poate fi acesta:
Să presupunem că instalați pachetul foo
. Să spunem acum că pachetul are nevoie de un serviciu numit bar
a fi dezactivat. Cum o va dezactiva? Dezvoltatorii vor adăuga comanda systemctl dezactivați bar.service
, care va dezactiva serviciul, în foo
scriptul de post-instalare al pachetului. Deci, scriptul de post-instalare al pachetului constă în adiţional comenzi, actualizări etc...
Instalarea constă din următorii pași:
Extrageți fișierele de control ale noului pachet.
Dacă a fost instalată o altă versiune a aceluiași pachet
înainte de noua instalare, executați scriptul prerm al
pachet vechi.
Rulați scriptul preinst, dacă este furnizat de pachet.
Despachetați noile fișiere și, în același timp, faceți o copie de rezervă
fișiere vechi, astfel încât, dacă ceva nu merge bine, acestea pot fi
restaurat.
Dacă a fost instalată o altă versiune a aceluiași pachet
înainte de noua instalare, executați scriptul postrm al
pachetul vechi. Rețineți că acest script este executat după
scriptul preinst al noului pachet, deoarece fișiere noi
sunt scrise în același timp în care fișierele vechi sunt eliminate.
Configurați pachetul.
Post-instalarea vine sub „Configurarea pachetului”. Se compune din:
Spuneți altor aplicații despre instalarea cu succes a pachetului.
Precizarea căilor către pachet, astfel încât utilizatorii și alte aplicații să îl poată utiliza/executa.
Căutați orice erori în instalare și imprimați mesajul de eroare.
Secțiunea de întrebări frecvente
Unde se află aceste scripturi?
Aceste scripturi se află în /var/lib/dpkg/info
. Aceste scripturi au un .postinst
extensie. Poți să alergi localiza .postinst
pentru a găsi mai multe dintre aceste scripturi.
Un exemplu de script post-instalare arată astfel:
#!/bin/sh
set -e
if [ -x /usr/sbin/update-initramfs ]; atunci
/usr/sbin/update-initramfs -u -k all
fi
Ce înseamnă dacă revine scriptul post-instalare starea de ieșire 1
?
În general, aceasta înseamnă că scriptul de post-instalare revine iesirea 1
pentru a indica faptul că comenzile din scriptul post-instalare au eșuat dintr-un motiv sau altul.
Cum repar starea de ieșire 1
?
Puteți încerca să căutați pe Google erorile cu comenzile și să le remediați. Dacă te confrunți cu erori cu apt
și/sau dpkg
, apoi puteți elimina scriptul post-instalare și îl puteți muta înapoi în siguranță după ce ați reparat comenzile. Cu toate acestea, aceasta poate să nu fie întotdeauna soluția corectă. Poate vrei pune o nouă întrebare.
Câteva comenzi utile pentru remedierea erorilor comune de script post-instalare sunt menționate în tabelul de mai jos:
Comanda |
Descriere |
Puternic |
Sintaxă |
epurare apt |
Îndepărtează pachetul împreună cu fișierele sale de configurare. |
Depinde de situatie. |
sudo apt purge <nume_pachet> |
dpkg -r |
Îndepărtează cu forță pachetul. Oferă o mulțime de argumente utile. |
Da, atunci când este folosit cu anumite argumente |
sudo dpkg -r --force-all <nume_pachet> |
dpkg -P |
Curăță pachetul cu forță. Oferă o mulțime de argumente utile. |
Da, atunci când este folosit cu anumite argumente. |
sudo dpkg -P --force-all <nume_pachet> |
Pun o nouă întrebare cu privire la erorile legate de aceste scripturi, ce informații ar trebui să ofer?
Ar trebui să furnizați informații precum:
- Versiunea dvs. Ubuntu (ieșire de
lsb_release -d
).
- Ieșire din
actualizare sudo apt
.
- Ieșire completă de
sudo apt -f install
.
- Conținutul scriptului de post-instalare al pachetului.
Alte detalii ar trebui furnizate atunci când sunt solicitate.
Pot schimba/elimina aceste scripturi?
NU! Evitați să vă încurcați cu aceste scripturi. Dacă există erori de sintaxă sau erori cu orice comandă, apt
va eșua fiecare instalare pentru acel pachet. Dacă, întâmplător, există erori de sintaxă, atunci trebuie să utilizați manual instrumente backend precum dpkg
pentru a repara totul. Le pot elimina? NU! Nu le eliminați decât dacă este necesar, eliminarea acestor scripturi poate face aceste pachete inutilizabile.
Cum execut din nou aceste scripturi?
Doriți să executați din nou scriptul post-instalare al unui pachet? După cum am spus mai devreme, rularea scriptului de post-instalare se află sub „Configurare” a pachetului. Deci, alergare simplă:
sudo dpkg --configure <pachet>
Unde <package>
este numele pachetului pe care doriți să-l configurați.
Prieteni și rude ale acestui scenariu.
Încearcă să alergi ls
în /var/lib/dpkg/info
și grep
ieșirea cu modelul aptitudini
. Veți găsi o mulțime de tipuri similare de scripturi pe măsură ce este rezultat. Unii dintre ei sunt .postrm
, .preinst
, prerm
și .listă
împreună cu dosarul de semnături. Iată un tabel care arată funcțiile fiecăruia dintre aceste scripturi:
Scenariul |
Funcţie |
Post eliminare (.postrm ) |
Acest script constă din comenzi care urmează să fie rulate DUPĂ ce eliminarea este completă. |
Preinstalare (.preinst ) |
Acest script constă din comenzi care trebuie executate înainte de instalare. |
Pre-eliminare (.prerm ) |
acest script constă din comenzile care trebuie executate înainte de procesul de eliminare |
Fișierul liste (.listă ) |
Acest fișier conține lista directoarelor deținute/care aparțin pachetului. |
Pentru mai multe informații, consultați pagina de manual a dpkg