Încerc să instalez un pachet apt fără una dintre dependențele sale (în special, git fără Perl pentru a reduce dimensiunea imaginii Docker cu > 50 MB).
Mă pot gândi la două variante:
- instalarea pachetului fără această dependență specifică
- instalarea pachetului cu toate dependențele și eliminarea dependenței
după aceea
și le-am investigat pe amândouă și niciunul nu a funcționat. Deci întrebarea mea este: există o modalitate curată de a face asta?
Mai jos este ceea ce am încercat până acum.
1. Instalarea pachetului fără această dependență specifică
Cel mai sugestii recomanda
apt download git
dpkg --ignore-depends=perl -i git*.deb
Din păcate, acest lucru nu instalează alte dependențe, deci clona git
eșuează din cauza lipsei de libcurl
.
Deci, pentru a remedia asta, unii alte sugestii recomand folosirea
apt-get -f install
apoi, dar această comandă încearcă să instaleze Perl, ceea ce încerc să evit.
Ok, deci spun să nu ating Perl cu:
apt-mark hold perl
dar apoi apt-get -f install
încearcă să elimine git.
Ok, deci spun să-l las pe git în pace:
apt-mark ține apăsat git
dar apoi apt-get -f install
renunță, deoarece nu poate instala Perl și nu poate dezinstala git. Sfârșitul poveștii.
2. instalarea pachetului cu toate dependențele și eliminarea dependenței
după aceea
Am instalat git cu Perl:
apt install -y git
apoi a eliminat Perl cu
dpkg -P --force-depends perl
dar aceasta nu elimină alte dependențe care au fost aduse de Perl, de ex. module-perl. Deci încercarea este nereușită.