Установка библиотеки JSON-C из исходников на Debian 10 Buster

# Устанавливаем необходимые пакеты зависимостей. Все действия ниже будут выполняться от root.

apt-get install gcc g++ make cmake pkg-config git doxygen valgrind -y

# Скачиваем исходник (оф. репозиторий json-c — https://github.com/json-c/json-c#installprereq), раскаковываем его и переходим в распакованный каталог.

cd /opt
git clone https://github.com/json-c/json-c.git

cd json-c/
mkdir build && cd build

# Конфигурирование сборки.

../cmake-configure --prefix=/usr

# Собираем и устанавливаем пакет.

make && make test
make install

Читать далее

Установка Python 3.9 из исходников на Debian 10 Buster

# Устанавливаем необходимые пакеты зависимостей. Все действия ниже будут выполняться от root.

apt-get update && apt-get upgrade -y
apt-get install apt-get install gcc g++ make libffi-dev libnss3-dev libssl-dev zlib1g-dev

# Скачиваем исходник, раскаковываем его и переходим в распакованный каталог (на момент написания статьи версия 3.9.14).

cd /opt/
wget https://www.python.org/ftp/python/3.9.14/Python-3.9.14.tgz
tar -zxvf Python-3.9.14.tgz
cd Python-3.9.14

# Выполняем конфигурирование.

mkdir build && cd build
../configure --prefix= --enable-optimizations

# Собираем и устанавливаем пакет.

make
make install

Читать далее

Как удалить пакет после «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

Читать далее

Подключение к 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

Читать далее