GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So ignorieren oder überspringen Sie Abhängigkeiten beim Installieren von Paketen unter Ubuntu

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.


Ubuntu
  1. So listen Sie installierte Pakete unter Ubuntu 20.04 auf

  2. So listen Sie installierte Pakete in Ubuntu auf

  3. So installieren Sie PHP 7.4 / 7.3 / 7.2 unter Ubuntu 18.04 / Ubuntu 16.04

  4. So installieren Sie PHP 7 unter Ubuntu 14.04

  5. So installieren Sie PHP 7 unter Ubuntu 15.04

So entfernen Sie verwaiste Pakete unter Ubuntu

So listen Sie installierte Pakete in Ubuntu 20.04 auf

Wie installiere ich GLPI auf Ubuntu 20.04?

So installieren Sie OwnCloud auf Ubuntu 18.04

So installieren Sie Joomla auf Ubuntu 18.04

So listen Sie installierte Pakete in Ubuntu 22.04 auf