Исправление истекшего срока действия ключа public key для packages.sury.org на Debian 10 Buster.

В один прекрасный момент при попытке обновить пакеты php через репозиторий packages.sury.org получил ошибку недействительного публичного ключа для packages.sury.org^

Нет доверия сертификату для «packages.sury.org». ОШИБКА: Срок действия сертификата «packages.sury.org» истёк.

apt-get update

Hit:1 http://deb.debian.org/debian buster InRelease
Hit:2 http://security.debian.org/debian-security buster/updates InRelease
Hit:3 http://deb.debian.org/debian buster-updates InRelease
Get:4 https://packages.sury.org/php buster InRelease [6837 B]
Err:4 https://packages.sury.org/php buster InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743
Hit:5 https://repo.zabbix.com/zabbix/5.4/debian buster InRelease
Reading package lists... Done
W: GPG error: https://packages.sury.org/php buster InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743
E: The repository 'https://packages.sury.org/php buster InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Чтобы это исправить, выполняем команды ниже:

sudo rm -rf /etc/apt/trusted.gpg.d/php.gpg
sudo apt-key del B188E2B695BD4743
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

Для проверки обновляем данные по репозиториям:

apt-get update

 

В случае если в ходе обновления ключей возникают ошибки, то скорей всего какой то из ниже пакетов отсутствует в системе:

apt-get install -y gnupg2 ca-certificates lsb-release apt-transport-https

Читать далее

Как удалить пакет после «make install» в deb-like Linux системах.

Столкнулся с таким вопросом — как удалить пакет собранный из исходников и установленный make install.

Для памятки оставлю для метода как это сделать, все ниже действия производится на Debian 10 (более чем уверен что все описанное ниже будет применимо для всех deb-like Linux систем).

 

Метод #1 (make uninstall)

В случае если каталог сборки не был удален, то можно попробовать выполнить удаление, командой:

cd $SOURCE_DIR 
sudo make uninstall

В случае если каталог сборки был удален, то можно загрузить его по новой, выполнить сборку (make) и удалить пакет методом #2.

 

Метод #2 (install_manifest.txt)

Если файл install_manifest.txt существует в вашем исходном каталоге, он должен содержать имена файлов каждого отдельного файла, созданного установкой.

Сначала проверяем список файлов и время их обновления:

cd $SOURCE_DIR 
sudo xargs -I{} stat -c "%z %n" "{}" < install_manifest.txt

Вы должны получить ноль ошибок, а время обновления перечисленных файлов должно быть включено или после времени установки.

 

Если все в порядке, то собираем файлы в один каталог для удаления:

cd $SOURCE_DIR 
mkdir deleted-by-uninstall
sudo xargs -I{} mv -t deleted-by-uninstall "{}" < install_manifest.txt

Читать далее

Как установить PHP 8.0 / 7.4 / 7.3 / 7.2 / 7.1 на Debian 10 Buster

Для памятки себе оставлю, как установить\обновить версии PHP 8.0 / 7.4 / 7.3 / 7.2 / 7.1 на Debian 10 Buster (более чем уверен что все описанное ниже будет применимо для всех deb-like Linux систем).

 

Добавление PHP репозитория.

Устанавливаем необходимые зависимости и добавляем ondrej/phpPPA репозиторий:

sudo apt-get install curl gnupg2 ca-certificates apt-transport-https lsb-release -y

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
sudo apt-get update

 

Установка PHP.

Установка PHP следующей командой (в зависимости от необходимой версии, подставляем необходимую):

sudo apt-get install php7.4 php7.4-cli php7.4-common -y
Можно устанавливать несколько версий PHP в системе. Каждая версия PHP будет иметь отдельные конфигурационные файлы в каталоге /etc/php/7.X.

 

Установка версий PHP по умолчанию.

В случае если установлено несколько версий PHP, то можно установить определенную версию PHP по умолчанию, командой:

sudo update-alternatives --set php /usr/bin/php7.4

 

Читать далее

Как отключить сетевой IPv6 интерфейс в Linux

Периодически пытаюсь вспомнить как отключить сетевой IPv6 интерфейс в Linux, поэтому для памятки себе оставлю тут как это сделать.

Отключать IPv6 будем через ядро системы, это наиболее правильный способ открываем на редактирование файл /etc/sysctl.conf

# Turn off IPv6
#
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
ИНФОРМАЦИЯ: Это отключит IPv6 на всех доступных в системе сетевых интерфейсах.

Если необходимо отключить IPv6 на отдельном взятом интерфейсе (прим. ens192), то указывает только. Если в системе несколько интерфейсов, то добавляем по аналогии строку для каждого дополнительного интерфейса.

net.ipv6.conf.ens192.disable_ipv6 = 1

Для вступления изменений в силу, заставим sysctl перечитать файл /etc/sysctl.conf:

sysctl -p

Читать далее

Как установить MySQL 8.0 / 5.7 на Debian 11 / Debian 10

# Добавляем в систему репозиторий MySQL.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.18-1_all.deb
dpkg -i mysql-apt-config_0.8.18-1_all.deb
Установщик пакета предложит вам выбрать версию MySQL для создания репозитория. По умолчанию для конфигурации репозитория выбрана версия MySQL 8.0.

# Обновляем индекс репозитория

apt-get update
apt-get install mysql-community-server -y
Во время установки будет предложено ввести пароль от root пользователя, а так же в случае установки MySQL 8.0 будет предложено выбрать метод аутентификации. 

# Выполняем настройку безопасности MySQL сервера.

mysql_secure_installation

 

В случае если в процессе обновления индексов репозитория вы увидите ошибку не доступности публичного ключа MySQL репозитория:

Err:2 http://repo.mysql.com/apt/debian buster InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
W: GPG error: http://repo.mysql.com/apt/debian buster InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
E: The repository 'http://repo.mysql.com/apt/debian buster InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

# Добавляем публичный ключ MySQL репозитория и обновляем локальные индексы репозитория.

apt-key adv --keyserver pgp.mit.edu --recv-keys 467B942D3A79BD29
apt-get update

Читать далее

Подключение к Exchange Online через PowerShell на Debian 10 Buster

# Устанавливаем powershell c репозиториев Microsoft.

# Download the Microsoft repository GPG keys
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb

# Register the Microsoft repository GPG keys
sudo dpkg -i packages-microsoft-prod.deb

# Update the list of products
sudo apt-get update

# Install PowerShell
sudo apt-get install -y powershell
В Debian 10 в репозиториях версия Openssl 1.1.1 и используемые SSL библиотеки этой версии при попытке подключения к Exchange Online приводят к ошибке:

/usr/bin/pwsh: symbol lookup error: /opt/microsoft/powershell/7/libmi.so: undefined symbol: SSL_library_init

Для решения этой проблемы установим версию Openssl 1.0.2u.

# Скачиваем исходник пакета Openssl 1.0.2u,

wget https://github.com/openssl/openssl/archive/OpenSSL_1_0_2u.tar.gz
tar -zxvf OpenSSL_1_0_2u.tar.gz

# Собираем и устанавливаем пакет — Openssl 1.0.2u (устанавливаем в несистемный каталог, чтобы он не перезаписать текущую версию)

cd openssl-OpenSSL_1_0_2u

./config --prefix=/opt/openssl/1.0.2u shared
make test
make clean
make install

# Настраиваем симлинки в /opt/microsoft/powershell/7 для libssl и libcrypto, чтобы они указывали на версии 1.0.2.

ln -sf /opt/openssl/1.0.2u/libssl.so.1.0.0 /opt/microsoft/powershell/7/libssl.so.1.0.0
ln -sf /opt/openssl/1.0.2u/libcrypto.so.1.0.0 /opt/microsoft/powershell/7/libcrypto.so.1.0.0

Читать далее

Установка и настройка SMTP-клиента MSMTP на Debian

# Устанавливаем пакет msmtp и зависимости.

apt-get install msmtp msmtp-mta ca-certificates

# Создаем файл конфигурации

nano /etc/msmtprc

# Пример конфигурации msmtp на примере учетной записи Exchange Online (office365)

# ------------------------------------------------------------------------------
# Configuration file
# ------------------------------------------------------------------------------

# A system wide configuration is optional.
# If it exists, it usually defines a default account.
# This allows msmtp to be used like /usr/sbin/sendmail.

# ------------------------------------------------------------------------------
# Accounts
# ------------------------------------------------------------------------------

account exchanceonline
host smtp.office365.com
port 587
from no-reply@contoso.com
auth on
user no-reply@contoso.com
password secret
syslog LOG_MAIL

logfile /var/log/msmtp.log

# ------------------------------------------------------------------------------
# Configurations
# ------------------------------------------------------------------------------

# Use TLS.
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt

# Set a default account
account default : exchanceonline

aliases /etc/aliases
# ------------------------------------------------------------------------------#

Пример как указываются aliases для пользователей (прим. root). Если файл /etc/aliases не существует, то создайте его.

root: admin@contoso.com

Проверить работу и корректность настройки почтового профиля msmtp можно командой:

echo -e "Subject: Test Mail\r\n\r\nThis is a test mail" | msmtp --debug -t admin@contoso.com

Читать далее

Ввод Debian 10 Buster в домен Windows с помощью Kerberos, Samba, Winbind

Ниже опишу как ввести linux систему Debian 10 в домен Windows с помощью Kerberos, Samba, Winbind.

Исходные данные:

  • Контроллер домена (DC1) на Windows Server 2019, домен SYSOS.LOCAL
  • Linux система (datastore1) на Debian 10 Buster

Подготовка системы

Перед началом выполнения ниже описанных действий обновляем систему до актуального состояния:

apt-get update && apt-get upgrade -y

Указываем FQDN (Fully Qualified Domain Name) имя системы, в файле (/etc/hostname):

datastore1.sysos.local

Так же файл (/etc/hosts) приводим к виду таким образом, чтобы в нём была запись с полным доменным именем компьютера и с коротким именем, ссылающаяся на один из внутренних IP:

127.0.0.1	localhost
127.0.1.1	datastore1.sysos.local datastore1

 

Настройка синхронизации времени

Если разница будет более 5 минут, то будет не возможно получить билет от Kerberos. Настраиваем синхронизацию времени с контроллером домена, выполняем установку NTP:

apt-get install ntp ntpdate

В файле конфигурации /etc/ntp.conf, добавляем в него информацию о вашем сервере времени (в моем случае указываю контролер домена):

# You do need to talk to an NTP server or two (or three).
server dc1.sysos.local

Перезапускаем службу времени:

/etc/init.d/ntp restart

 

Для единовременной синхронизации можно воспользоваться командой:

ntpdate dc1.sysos.local
Рекомендую ознакомится подробней о синхронизации времени на Linux системах можно почитать в этой статье и выполнить его настройку.

Читать далее