GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak ignorovat nebo přeskočit závislosti při instalaci balíčků na Ubuntu

Pokud používáte správce balíčků APT k instalaci různých balíčků na Ubuntu, Debian, Linux Mint, Elementary OS, MX Linux nebo jiný podobný Linux, můžete ignorovat nebo vyloučit některé závislosti, které ve vašem systému nechtějí být.

V poslední době jsem například dělal článek o instalaci webového serveru Lighttpd na Ubuntu 20.04, kde jsem musel při instalaci PHP a jeho rozšíření přeskočit jednu závislost nebo balíček. Ve výchozím nastavení však při instalaci těchto balíčků nainstaluje také webový server apache2, který jsem nenainstaloval, protože jsem již měl Lighttpd, takže chci, aby správce balíčků APT podržel tento jeden balíček Apache2 při instalaci ostatních.

Zde je příklad:

sudo apt-get install php php-cgi php-cli php-fpm php-curl php-gd php-mysql php-mbstring rozbalit zip

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]

Ve výše uvedeném výstupu můžete vidět červený text je apache2, který se nainstaluje automaticky, i když ho nepotřebuji. Abych to vyloučil, použiji jednoduchý příznak, který je - Pomlčka, mínus nebo pomlčka, jak tomu chcete říkat. Proto, ať už chcete odstranit jakékoli balíčky, musíte použít - na jejich konci při vydávání příkazu.

Například:

V následujícím příkazu chci ignorovat nebo vyloučit balíček Apache2 jako závislost.

sudo apt-get install php php-cgi php-cli php-fpm php-curl php-gd php-mysql php-mbstring zip unzip

Co pak budu dělat, jednoduše napíšu název balíčku s pomlčkou -. Výše uvedený příkaz tedy bude vypadat takto:

sudo apt-get install php php-cgi php-cli php-fpm php-curl php-gd php-mysql php-mbstring rozbalit zip apache2-

Pokud chcete vyloučit všechny balíčky související s tím, který chcete vyloučit, stačí dát hvězdičku označit. Řekněme, že ve výše uvedeném příkazu chci ignorovat všechny balíčky související s apache2 pak musím přidat apache2*- na konci příkazu s  * a - podepsat.

A tentokrát bude výstup stejného příkazu vypadat takto:

Můžete vidět, že tentokrát balíček Apache2 není v seznamu NOVÝCH balíčků, které se chystají nainstalovat.

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]

Závěr

Proto, abychom ignorovali závislosti při instalaci nějakého balíčku pomocí správce balíčků APT, stačí přidat znaménko mínus - na konci závislosti, kterou chcete vyloučit.


Ubuntu
  1. Jak zobrazit seznam nainstalovaných balíčků na Ubuntu 20.04

  2. Jak zobrazit seznam nainstalovaných balíčků v Ubuntu

  3. Jeden od Wacom instalace v Ubuntu 16.04?

  1. Jak nainstalovat PHP 7.4 / 7.3 / 7.2 na Ubuntu 18.04 / Ubuntu 16.04

  2. Jak nainstalovat PHP 7 na Ubuntu 14.04

  3. Jak nainstalovat PHP 7 na Ubuntu 15.04

  1. Jak zobrazit seznam nainstalovaných balíčků na Ubuntu

  2. Jak opravit poškozené balíčky v Ubuntu

  3. Jak nainstalovat balíčky RPM na Ubuntu