В Debian 11 уже идёт PHP 7.4, но я предпочитаю репозиторий sury.
Задача: установить 7.4 из репозитория sury
Проблема: конфликт пакетов + установка производится из репозитория debian
Решение: повысить приоритет репозитория sury
Добавляем в /etc/apt/preferences.d/deb.sury.pref
Package: * Pin: origin "packages.sury.org" Pin-Priority: 900
либо только для пакетов php7.4-*
Package: *php7.4* Pin: origin "packages.sury.org" Pin-Priority: 900
Вариант ниже надо проверить
Package: * Pin: release o=deb.sury.org Pin-Priority: 900
Подсказка по priority
EN
Package: * Pin: origin my.custom.repo.url Pin-Priority: P
Package: * Pin: origin packages.sury.org Pin-Priority: 999
apt-show-versions nginx dpkg -s nginx | grep -i version apt-cache policy nginx
Устаревшая команда
apt-cache madison curl
apt-mark
#apt-mark hold nginx nginx set on hold. # apt upgrade The following packages have been kept back: nginx 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Вернуть обратно
# apt-mark unhold nginx
Canceled hold on nginx.
dpkg
# echo "nginx hold" | dpkg --set-selections
Вернуть обратно
# echo "nginx install" | dpkg --set-selections
aptitude
# aptitude hold nginx # aptitude unhold nginx
apt-get install libgpgme11-dev
apt install php7.0-dev
iptables-persistent заменили на netfilter-persistent
iptables-persistent
# service iptables-persistent Usage: /etc/init.d/iptables-persistent {start|restart|reload|force-reload|save|flush}
netfilter-persistent
# service netfilter-persistent Usage: /etc/init.d/netfilter-persistent {start|restart|reload|force-reload|save|flush}
$ curl https://packages.microsoft.com/config/debian/10/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list $ sudo apt update $ sudo apt install mssql-tools $ /opt/mssql-tools/bin/sqlcmd
Обновить PATH, чтобы не было sqlcmd command not found
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
apt-get install libnet-ssleay-perl apt-get install libcrypt-ssleay-perl
Ошибка pam_env(cron:session): Unable to open env file: /etc/default/locale: No such file or directory
apt-get install locales locale-gen en_US.UTF-8 dpkg-reconfigure locales update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 echo "export LC_ALL=en_US.UTF-8" >> ~/.bashrc echo "export LANG=en_US.UTF-8" >> ~/.bashrc echo "export LANGUAGE=en_US.UTF-8" >> ~/.bashrc
Проверить
Ошибка The value 'stretch-backports' is invalid for APT::Default-Release as such a release is not available in the sources
Нужно установить backports
Ошибка UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 3701: invalid continuation byte
Файл сохранен в windows редакторе. Пересохранить в UTF-8 кодировке.
Ошибка UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 103: ordinal not in range(128)
export LC_CTYPE=en_US.UTF-8 source ~/.bashrc
export LC_CTYPE="en_EN.UTF-8"
locale-gen "en_US.UTF-8" dpkg-reconfigure locales
Принудительно использовать v4 или v6 соединение.
Добавить в файл /etc/apt/apt.conf.d/99-force-ipv4
Acquire::ForceIPv4 "true";
или
Acquire::ForceIPv6 "true";
Запретить обновление пакета mariadb-server
echo "mariadb-server hold" | dpkg --set-selections
Проверка
# dpkg --get-selections | grep mariadb-server mariadb-server hold
Если выполнить apt-get upgrade
The following packages have been kept back: mariadb-server mariadb-server-10.2
Разрешить обновление пакета
echo "mariadb-server install" | dpkg --set-selections
Проверка
# dpkg --get-selections | grep mariadb-server mariadb-server install
❌Ошибка
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://packages.sury.org jessie InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743 W: Failed to fetch https://packages.sury.org/php/dists/jessie/InRelease W: Some index files failed to download. They have been ignored, or old ones used instead.
✅Решение
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
# apt-get install --only-upgrade openssl
# apt-get update # apt-get install debian-archive-keyring debian-keyrin
# apt-get install php5-dev # php-config --configure-options
/usr/bin/ld: cannot find -lssl /usr/bin/ld: cannot find -lcrypto collect2: error: ld returned 1 exit status
# apt-get install libssl-dev libcrypto++-dev
$ dpkg --get-selections adduser install alsa-base install alsa-utils install apache2 install apache2-mpm-prefork install apache2-utils install apache2.2-common install apt install apt-utils install
$ dpkg --get-selections | grep php libapache2-mod-php5 install php-db install php-pear install php-sqlite3 install php5 install php5-cli install php5-common install php5-gd install php5-memcache install php5-mysql install php5-sqlite install php5-sqlite3 install php5-xsl install
Ошибка - mailx: invalid option – 'S'.
Решение - заменить mailx на s-nail ¯\_(ツ)_/¯
История утилиты mail из 70-х годов - mail, Mail, mailx, nail—history notes