Se stai utilizzando un gestore di pacchetti APT per installare vari pacchetti su Ubuntu, Debian, Linux Mint, SO elementare, MX Linux o altri Linux simili, puoi ignorare o escludere alcune dipendenze che non vogliono essere sul tuo sistema.
Ad esempio, ultimamente stavo scrivendo un articolo sull'installazione del server web Lighttpd su Ubuntu 20.04, in cui dovevo saltare una dipendenza o un pacchetto durante l'installazione di PHP e delle sue estensioni. Tuttavia, per impostazione predefinita, durante l'installazione di quei pacchetti verrà installato anche il server web apache2 che non avevo perché avevo già Lighttpd, quindi voglio che il gestore di pacchetti APT contenga quel singolo pacchetto Apache2 durante l'installazione degli altri.
Ecco l'esempio:
sudo apt-get install php php-cgi php-cli php-fpm php-curl php-gd php-mysql php-mbstring zip unzip
The following additional packages will be installed: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.4 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 libonig5 php-common php7.4 php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-fpm php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline Suggested packages: apache2-doc apache2-suexec-pristine | apache2-suexec-custom php-pear The following NEW packages will be installed: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.4 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 libonig5 php php-cgi php-cli php-common php-curl php-fpm php-gd php-mbstring php-mysql php7.4 php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-fpm php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline 0 upgraded, 32 newly installed, 0 to remove and 43 not upgraded. Need to get 9,280 kB/9,386 kB of archives. After this operation, 42.7 MB of additional disk space will be used. Do you want to continue? [Y/n]
Nell'output sopra, puoi vedere il testo di colore rosso è apache2 che verrà installato automaticamente anche se non ne ho bisogno. Quindi, per escluderlo userò un semplice flag che è -
Trattino, meno o trattino, come vuoi chiamarlo. Pertanto, qualunque pacchetto tu voglia rimuovere, devi usare questo -
alla fine di essi durante l'esecuzione del comando.
Ad esempio:
Nel comando seguente, voglio ignorare o escludere il pacchetto Apache2 come dipendenza.
sudo apt-get install php php-cgi php-cli php-fpm php-curl php-gd php-mysql php-mbstring zip unzip
Quindi quello che farò, scrivo semplicemente il nome del pacchetto con trattino -. Pertanto, il comando sopra sarà così:
sudo apt-get install php php-cgi php-cli php-fpm php-curl php-gd php-mysql php-mbstring zip unzip apache2-
Se vuoi escludere tutti i pacchetti relativi a quello che vuoi escludere, assegna semplicemente asterisco marchio. Diciamo che nel comando precedente voglio ignorare tutti i pacchetti relativi a apache2
quindi devo aggiungere apache2*-
alla fine del comando con *
e -
firmare.
E questa volta l'output per lo stesso comando sarà questo:
Puoi vedere che questa volta il pacchetto Apache2 non è nell'elenco dei NUOVI pacchetti che verranno installati.
Reading state information... Done Package 'apache2' is not installed, so not removed unzip is already the newest version (6.0-25ubuntu1). unzip set to manually installed. zip is already the newest version (3.0-11build1). zip set to manually installed. The following additional packages will be installed: apache2-bin libapache2-mod-php7.4 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 libonig5 php-common php7.4 php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-fpm php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline Suggested packages: apache2-doc apache2-suexec-pristine | apache2-suexec-custom php-pear Recommended packages: apache2 The following NEW packages will be installed: apache2-bin libapache2-mod-php7.4 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 libonig5 php php-cgi php-cli php-common php-curl php-fpm php-gd php-mbstring php-mysql php7.4 php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-fpm php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline 0 upgraded, 29 newly installed, 0 to remove and 97 not upgraded. Need to get 8,942 kB/9,048 kB of archives. After this operation, 40.8 MB of additional disk space will be used. Do you want to continue? [Y/n]
Conclusione
Pertanto per ignorare le dipendenze durante l'installazione di alcuni pacchetti utilizzando il gestore di pacchetti APT, dobbiamo solo aggiungere un segno meno -
alla fine della dipendenza, vuoi escludere.