Wenn Sie einen APT-Paketmanager verwenden, um verschiedene Pakete unter Ubuntu, Debian, Linux Mint, Elementary OS, MX Linux oder einem anderen ähnlichen Linux zu installieren, können Sie einige Abhängigkeiten ignorieren oder ausschließen, die nicht auf Ihrem System sein möchten.
Zum Beispiel habe ich kürzlich einen Artikel über die Installation des Lighttpd-Webservers auf Ubuntu 20.04 geschrieben, wo ich eine Abhängigkeit oder ein Paket überspringen musste, während ich PHP und seine Erweiterungen installierte. Bei der Installation dieser Pakete wird jedoch standardmäßig auch der Apache2-Webserver installiert, den ich nicht installiert habe, da ich Lighttpd bereits hatte. Daher möchte ich, dass der APT-Paketmanager dieses einzelne Apache2-Paket enthält, während er die anderen installiert.
Hier ist das Beispiel:
sudo apt-get install php php-cgi php-cli php-fpm php-curl php-gd php-mysql php-mbstring zip entpacken
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]
In der obigen Ausgabe sehen Sie, dass der Text in roter Farbe apache2 ist, der automatisch installiert wird, obwohl ich ihn nicht benötige. Um dies auszuschließen, verwende ich daher ein einfaches Flag, das -
ist Bindestrich, Minus oder Bindestrich, wie auch immer Sie es nennen möchten. Daher müssen Sie, egal welche Pakete Sie entfernen möchten, diesen -
verwenden am Ende von ihnen, während Sie den Befehl ausgeben.
Beispiel:
Im folgenden Befehl möchte ich das Apache2-Paket als Abhängigkeit ignorieren oder ausschließen.
sudo apt-get install php php-cgi php-cli php-fpm php-curl php-gd php-mysql php-mbstring zip unzip
Was ich dann tun werde, ich tippe einfach den Namen des Pakets mit Bindestrich -. Daher sieht der obige Befehl so aus:
sudo apt-get install php php-cgi php-cli php-fpm php-curl php-gd php-mysql php-mbstring zip entpacken apache2-
Wenn Sie alle Pakete ausschließen möchten, die mit demjenigen, das Sie ausschließen möchten, verwandt sind, geben Sie einfach Sternchen ein Kennzeichen. Nehmen wir an, ich möchte im obigen Befehl alle Pakete ignorieren, die sich auf apache2
beziehen dann muss ich apache2*-
hinzufügen am Ende des Befehls mit *
und -
unterschreiben.
Und dieses Mal sieht die Ausgabe für denselben Befehl so aus:
Sie können sehen, dass dieses Mal das Apache2-Paket nicht in der Liste der NEUEN Pakete ist, die installiert werden.
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]
Fazit
Um die Abhängigkeiten zu ignorieren, während einige Pakete mit dem APT-Paketmanager installiert werden, müssen wir daher nur ein Minuszeichen -
hinzufügen am Ende der Abhängigkeit, die Sie ausschließen möchten.