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.