SCROLL
Среднее время на прочтение: 3 мин.

Установка OpenSSL GOST Engine на Debian 12

GOST-engine – это модуль для OpenSSL, реализующий поддержку российских криптографических алгоритмов в соответствии с ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012 и другими стандартами. Он позволяет использовать ГОСТ-алгоритмы для цифровых подписей, хэширования, симметричного и асимметричного шифрования.

JUQwJTlFJUQxJTgxJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUIyJUQwJUJFJUQwJUI3JUQwJUJDJUQwJUJFJUQwJUI2JUQwJUJEJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI4JTNB

  • Поддержка алгоритмов электронной подписи (GOST R 34.10-2001, GOST R 34.10-2012).
  • Реализация хэш-функций (GOST R 34.11-94, GOST R 34.11-2012).
  • Симметричное шифрование (GOST 28147-89, Кузнечик, Магма).
  • Использование ГОСТ-алгоритмов в TLS-соединениях.
Официальная страница GOST-engine на Github — https://github.com/gost-engine/engine

JUQwJTlEJUQwJUI4JUQwJUI2JUQwJUI1JTIwJUQwJUJGJUQwJUJFJUQxJTg4JUQwJUIwJUQwJUIzJUQwJUJFJUQwJUIyJUQwJUJFJTIwJUQxJTgwJUQwJUIwJUQwJUI3JUQwJUIxJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUJDJTIwJUQwJUJBJUQwJUIwJUQwJUJBJTIwJUQxJTgxJUQwJUJFJUQwJUIxJUQxJTgwJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJUI4JTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwR09TVC1lbmdpbmUlMjAlRDElODElRDAlQjAlRDAlQkMlRDAlQkUlRDAlQjklMjAlRDAlQjAlRDAlQkElRDElODIlRDElODMlRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDAlQkUlRDAlQjklMjAlRDAlQjIlRDAlQjUlRDElODAlRDElODElRDAlQjglRDAlQjglMjAlRDAlQkQlRDAlQjAlMjBEZWJpYW4lMjAxMiUyMCVEMCVCOCUyMCVEMCVCMiVEMSU4QiVEMCVCRiVEMSU4MyVEMSU4MSVEMSU4MiVEMCVCOCVEMCVCQyUyMCVEMSU4MiVEMCVCNSVEMSU4MSVEMSU4MiVEMCVCRSVEMCVCMiVEMSU4QiVEMCVCOSUyMCVEMSU4MSVEMCVCNSVEMSU4MCVEMSU4MiVEMCVCOCVEMSU4NCVEMCVCOCVEMCVCQSVEMCVCMCVEMSU4MiUyMCVEMCVCRiVEMCVCRSUyMCVEMCU5MyVEMCU5RSVEMCVBMSVEMCVBMi4=

Установка зависимостей

JUQwJUEzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQxJThCJUQwJUI1JTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJUQxJThCJTIwJUQwJUI3JUQwJUIwJUQwJUIyJUQwJUI4JUQxJTgxJUQwJUI4JUQwJUJDJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI1JUQwJUI5JTNB

YXB0LWdldCUyMGluc3RhbGwlMjBnJTJCJTJCJTIwZ2NjJTIwbWFrZSUyMHBrZy1jb25maWclMjBnaXQlMjBjdXJsJTIwbGlic3NsLWRldiUyMC15

Установка CMake

Для сборки GOST-engine нужна версия CMake 3.0 или новее. Выполним установку актуального релиза.

Клонируем репозиторий CMake с GitHub и переходим в клонированный репозиторий:

git clone https://github.com/Kitware/CMake.git CMake
Y2QlMjBDTWFrZQ==

JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJUQxJTgxJUQxJThGJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUIwJUQwJUJBJUQxJTgyJUQxJTgzJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQxJTgwJUQwJUI1JUQwJUJCJUQwJUI4JUQwJUI3JTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQwJUIyJTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQxJTgzJTNB

LATEST_TAG=$(curl -s curl -s https://api.github.com/repos/Kitware/CMake/releases/latest | grep -oP '"tag_name": "\K[^"]+')
Z2l0JTIwY2hlY2tvdXQlMjAlMjRMQVRFU1RfVEFH

JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUIxJUQwJUJFJUQxJTgwJUQwJUJBJUQxJTgzJUMyJUEwQ01ha2UlM0E=

./bootstrap --prefix=/usr

make -j$(nproc)
bWFrZSUyMGluc3RhbGw=

Y2QlMjAuLg==

JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUJBJUQwJUI4JTJDJTIwJUQwJUIyJUQxJThCJUQwJUIyJUQwJUI1JUQwJUI0JUQwJUI1JUQwJUJDJTIwJUQwJUI4JUQwJUJEJUQxJTg0JUQwJUJFJUQxJTgwJUQwJUJDJUQwJUIwJUQxJTg2JUQwJUI4JUQxJThGJTIwJUQwJUJFJUQwJUIxJTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJCJUQwJUI1JUQwJUJEJUQwJUJEJUQwJUJFJUQwJUI5JTIwJUQwJUIyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JTNB

Y21ha2UlMjAtLXZlcnNpb24=

OpenSSL

Проверяем установленную версию OpenSSL, она должна быть выше 3.0:

openssl version -v
T3BlblNTTCUyMDMuMC4xNSUyMDMlMjBTZXAlMjAyMDI0JTIwKExpYnJhcnklM0ElMjBPcGVuU1NMJTIwMy4wLjE1JTIwMyUyMFNlcCUyMDIwMjQp

Установка GOST-engine

Клонируем репозиторий GOST-engine с GitHub и переходим в клонированный репозиторий:

git clone https://github.com/gost-engine/engine.git gost-engine
Y2QlMjBnb3N0LWVuZ2luZSUyRg==

JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJUQxJTgxJUQxJThGJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUIwJUQwJUJBJUQxJTgyJUQxJTgzJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQxJTgwJUQwJUI1JUQwJUJCJUQwJUI4JUQwJUI3JTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQwJUIyJTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQxJTgzJTNB

LATEST_TAG=$(curl -s https://api.github.com/repos/gost-engine/engine/releases/latest | grep -oP '"tag_name": "\K[^"]+')
git checkout $LATEST_TAG

Сборка

JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUIxJUQwJUJFJUQxJTgwJUQwJUJBJUQxJTgzJTIwJUQwJUI4JTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJBJUQxJTgzJTIwZ29zdC1lbmdpbmUlM0E=

git submodule update --init
bWtkaXIlMjBidWlsZCUyMCUyNiUyNiUyMGNkJTIwYnVpbGQ=

Y21ha2UlMjAuLiUyMC1EQ01BS0VfQlVJTERfVFlQRSUzRFJlbGVhc2UlMjAtRENNQUtFX0lOU1RBTExfUFJFRklYJTNEJTJGdXNy
cmake --build . --config Release
Y21ha2UlMjAtLWJ1aWxkJTIwLiUyMC0tdGFyZ2V0JTIwaW5zdGFsbCUyMC0tY29uZmlnJTIwUmVsZWFzZQ==

Настройка

JUQwJTlEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI4JUQwJUJDJTIwb3BlbnNzbCUyMCVEMCVCRCVEMCVCMCUyMCVEMSU4MCVEMCVCMCVEMCVCMSVEMCVCRSVEMSU4MiVEMSU4MyUyMCVEMSU4MSUyMGdvc3QtZW5naW5lJTJDJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQxJThEJUQxJTgyJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQwJUIyJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUJFJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJTIwJTJGZXRjJTJGc3NsJTJGb3BlbnNzbC5jbmYlMjAlRDAlQjIlMjAlRDAlQjMlRDAlQkIlRDAlQkUlRDAlQjElRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDAlQkUlRDAlQkMlMjAlRDElODAlRDAlQjAlRDAlQjclRDAlQjQlRDAlQjUlRDAlQkIlRDAlQjUlMkMlMjAlRDAlQkYlRDAlQjUlRDElODAlRDAlQjUlRDAlQjQlMjAlRDAlQkYlRDAlQjUlRDElODAlRDAlQjIlRDElOEIlRDAlQkMlMjAlRDAlQjclRDAlQjAlRDAlQjMlRDAlQkUlRDAlQkIlRDAlQkUlRDAlQjIlRDAlQkElRDAlQkUlRDAlQkMlMjAlRDElODAlRDAlQjAlRDAlQjclRDAlQjQlRDAlQjUlRDAlQkIlRDAlQjAlMjAlRDAlQjclRDAlQjAlRDAlQkElRDAlQkIlRDElOEUlRDElODclRDAlQjUlRDAlQkQlRDAlQkQlRDElOEIlRDAlQkMlMjAlRDAlQjIlMjAlRDAlQkElRDAlQjIlRDAlQjAlRDAlQjQlRDElODAlRDAlQjAlRDElODIlRDAlQkQlRDElOEIlRDAlQjUlMjAlRDElODElRDAlQkElRDAlQkUlRDAlQjElRDAlQkElRDAlQjglMkMlMjAlRDAlQjQlRDAlQkUlRDAlQjElRDAlQjAlRDAlQjIlRDAlQkIlRDElOEYlRDAlQjUlRDAlQkMlM0E=

/etc/ssl/openssl.cnf
openssl_conf=openssl_def

JUQwJTkyJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQwJUI1JUQxJTg2JTIwJUQxJTgyJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQwJUI2JUQwJUI1JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQwJUIwJTIwJUQwJUI0JUQwJUJFJUQwJUIxJUQwJUIwJUQwJUIyJUQwJUJCJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJCJUQwJUI1JUQwJUI0JUQxJTgzJUQxJThFJUQxJTg5JUQwJUI4JUQwJUI1JTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTNB

/etc/ssl/openssl.cnf
[openssl_def]
engines = engine_section

JTVCZW5naW5lX3NlY3Rpb24lNUQ=
Z29zdCUyMCUzRCUyMGdvc3Rfc2VjdGlvbg==

[gost_section]
engine_id = gost
dynamic_path = /usr/lib/x86_64-linux-gnu/engines-3/gost.so
default_algorithms = ALL

Проверка

JUQwJTkyJUQxJThCJUQwJUIyJUQwJUI1JUQwJUI0JUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUJFJUQwJUJBJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQwJUJBJUQxJTgwJUQwJUI4JUQwJUJGJUQxJTgyJUQwJUJFJUQwJUIzJUQxJTgwJUQwJUIwJUQxJTg0JUQwJUI4JUQxJTg3JUQwJUI1JUQxJTgxJUQwJUJBJUQwJUI4JUQxJTg1JTIwJUQwJUI0JUQwJUIyJUQwJUI4JUQwJUI2JUQwJUJBJUQwJUJFJUQwJUIyJTJDJTIwJUQwJUIyJTIwJUQwJUIyJUQxJThCJUQwJUIyJUQwJUJFJUQwJUI0JUQwJUI1JTIwJUQwJUI0JUQwJUJFJUQwJUJCJUQwJUI2JUQwJUI1JUQwJUJEJTIwJUQwJUJGJUQxJTgwJUQwJUI4JUQxJTgxJUQxJTgzJUQxJTgyJUQxJTgxJUQxJTgyJUQwJUIyJUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQxJThDJTIwR09TVCUzQQ==

b3BlbnNzbCUyMGVuZ2luZQ==
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gost) Reference implementation of GOST engine

JUQwJTkyJUQxJThCJUQwJUIyJUQwJUI1JUQwJUI0JUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUJFJUQwJUJBJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQxJTg4JUQwJUI4JUQxJTg0JUQxJTgwJUQwJUJFJUQwJUIyJTIwR09TVCUzQQ==

b3BlbnNzbCUyMGNpcGhlcnMlMjAlN0MlMjB0ciUyMCclM0EnJTIwJyU1Q24nJTIwJTdDJTIwZ3JlcCUyMEdPU1Q=
R09TVDIwMTItTUFHTUEtTUFHTUFPTUFD
GOST2012-KUZNYECHIK-KUZNYECHIKOMAC
LEGACY-GOST2012-GOST8912-GOST8912
IANA-GOST2012-GOST8912-GOST8912
R09TVDIwMDEtR09TVDg5LUdPU1Q4OQ==

Выведем доступные GOST провайдеры:

openssl engine -c | grep gost | tr -d '[]' | tr ',' '\n'
KGdvc3QpJTIwUmVmZXJlbmNlJTIwaW1wbGVtZW50YXRpb24lMjBvZiUyMEdPU1QlMjBlbmdpbmU=
JTIwZ29zdDg5
JTIwZ29zdDg5LWNudA==
JTIwZ29zdDg5LWNudC0xMg==
 gost89-cbc
 kuznyechik-ecb
 kuznyechik-cbc
 kuznyechik-cfb
JTIwa3V6bnllY2hpay1vZmI=
JTIwa3V6bnllY2hpay1jdHI=
JTIwbWFnbWEtZWNi
 kuznyechik-mgm
 magma-cbc
 magma-ctr
 magma-ctr-acpkm
JTIwbWFnbWEtY3RyLWFjcGttLW9tYWM=
 magma-mgm
 kuznyechik-ctr-acpkm
 kuznyechik-ctr-acpkm-omac
 magma-kexp15
JTIwa3V6bnllY2hpay1rZXhwMTU=
 md_gost94
 gost-mac
JTIwbWRfZ29zdDEyXzI1Ng==
 md_gost12_512
 gost-mac-12
JTIwbWFnbWEtbWFj
 kuznyechik-mac
JTIwa3V6bnllY2hpay1jdHItYWNwa20tb21hYw==
 gost2001
JTIwaWQtR29zdFIzNDEwLTIwMDFESA==
JTIwZ29zdC1tYWM=
JTIwZ29zdDIwMTJfMjU2
JTIwZ29zdDIwMTJfNTEy
JTIwZ29zdC1tYWMtMTI=
JTIwbWFnbWEtbWFj
JTIwa3V6bnllY2hpay1tYWM=
JTIwbWFnbWEtY3RyLWFjcGttLW9tYWM=
 kuznyechik-ctr-acpkm-omac

Выпуск сертификата GOST

Сгенерируем закрытый ключ и создадим сертификат с подписью ГОСТ следующей командой:

b3BlbnNzbCUyMHJlcSUyMC14NTA5JTIwLW5ld2tleSUyMGdvc3QyMDEyXzI1NiUyMC1wa2V5b3B0JTIwcGFyYW1zZXQlM0FBJTIwLW5vZGVzJTIwLWtleW91dCUyMGtleS5wZW0lMjAtb3V0JTIwY2VydC5wZW0lMjAtbWRfZ29zdDEyXzI1Ng==

JUQwJTkyJUQxJThCJUQwJUIyJUQwJUI1JUQwJUI0JUQwJUI1JUQwJUJDJTIwJUQwJUI4JUQwJUJEJUQxJTg0JUQwJUJFJUQxJTgwJUQwJUJDJUQwJUIwJUQxJTg2JUQwJUI4JUQxJThFJTIwJUQwJUJFJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQxJTgzJUQxJTg5JUQwJUI1JUQwJUJEJUQwJUJEJUQwJUJFJUQwJUJDJTIwJUQxJTgxJUQwJUI1JUQxJTgwJUQxJTgyJUQwJUI4JUQxJTg0JUQwJUI4JUQwJUJBJUQwJUIwJUQxJTgyJUQwJUI1JTNB

openssl x509 -in cert.pem -text -noout

JUQwJTkyJUQxJThCJUQwJUIyJUQwJUJFJUQwJUI0JTNB

Certificate:
    Data:
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwVmVyc2lvbiUzQSUyMDMlMjAoMHgyKQ==
        Serial Number:
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwNmIlM0FlOSUzQWExJTNBMzQlM0E4OSUzQTc3JTNBM2ElM0E4MCUzQTZkJTNBZmIlM0E3ZCUzQTE1JTNBZjclM0E0NiUzQTJiJTNBMjclM0FlNSUzQWY3JTNBNDclM0FlMA==
        Signature Algorithm: GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)
        Issuer: C = RU, ST = Moscow, L = Moscow, O = Internet Widgits Pty Ltd, CN = gost.jakondo.ru
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwVmFsaWRpdHk=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwTm90JTIwQmVmb3JlJTNBJTIwTWFyJTIwMTAlMjAxMSUzQTIzJTNBMzAlMjAyMDI1JTIwR01U
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwTm90JTIwQWZ0ZXIlMjAlM0ElMjBBcHIlMjAlMjA5JTIwMTElM0EyMyUzQTMwJTIwMjAyNSUyMEdNVA==
        Subject: C = RU, ST = Moscow, L = Moscow, O = Internet Widgits Pty Ltd, CN = gost.jakondo.ru
        Subject Public Key Info:
            Public Key Algorithm: GOST R 34.10-2012 with 256 bit modulus
                Public key:
                   X:5F6B78DF32D5CFCEB349076D8532A1365308CBD15A7523B5B826A1F6AB440DC1
                   Y:AE32622F9789D29C11F8CEA06A78F999E0807389C2A338D1A26FCB0F744A7E0A
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwUGFyYW1ldGVyJTIwc2V0JTNBJTIwaWQtR29zdFIzNDEwLTIwMDEtQ3J5cHRvUHJvLUEtUGFyYW1TZXQ=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwWDUwOXYzJTIwZXh0ZW5zaW9ucyUzQQ==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwWDUwOXYzJTIwU3ViamVjdCUyMEtleSUyMElkZW50aWZpZXIlM0E=
                F3:16:33:E4:8D:E2:4E:7F:42:27:91:1B:85:F6:08:11:76:A3:C7:06
            X509v3 Authority Key Identifier:
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwRjMlM0ExNiUzQTMzJTNBRTQlM0E4RCUzQUUyJTNBNEUlM0E3RiUzQTQyJTNBMjclM0E5MSUzQTFCJTNBODUlM0FGNiUzQTA4JTNBMTElM0E3NiUzQUEzJTNBQzclM0EwNg==
            X509v3 Basic Constraints: critical
                CA:TRUE
    Signature Algorithm: GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)
    Signature Value:
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwMTklM0EwNyUzQTEwJTNBZjAlM0EwMiUzQTVkJTNBMzUlM0EyZiUzQThjJTNBNzklM0E2NCUzQTZmJTNBMDklM0FkYiUzQTI1JTNBZjElM0FkOSUzQTg5JTNB
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwODUlM0E5ZiUzQTI2JTNBM2QlM0ExNiUzQTkyJTNBZWMlM0ExYSUzQTU5JTNBMWUlM0E3NCUzQWQ4JTNBYjYlM0E2OSUzQTQ5JTNBZmQlM0E4NCUzQWE3JTNB
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwMTklM0E1ZiUzQWNjJTNBZTUlM0FkZiUzQTc0JTNBYzUlM0E4OSUzQTJkJTNBMGIlM0E2OSUzQTcyJTNBMWIlM0E2MiUzQTdlJTNBZjglM0FkZiUzQTBiJTNB
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwMzQlM0FkYSUzQTcyJTNBOTUlM0ExOSUzQWY3JTNBMWUlM0FhNiUzQTY4JTNBNmU=
 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

Ответ на комментарий ОлегОтмена ответа
4 комментариев
  • отвечаю сам себе. Да, действительно при малом объеме оперативки сборка падает. Надо проверить swap файл.
    Например, так:
    sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile

  • Для проверки установил временно Debian 11 и попробовал пройти по шагам этой инструкции.

    При сбоке CMake (команда ./bootstrap —prefix=/usr) получил сообщение:
    g++ -D_FILE_OFFSET_BITS=64 -DCMAKE_BOOTSTRAP -DCMake_HAVE_CXX_MAKE_UNIQUE=1 -I/root/CMake/Bootstrap.cmk -I/root/CMake/Source -I/root/CMake/Source/LexerParser -I/root/CMake/Utilities/std -I/root/CMake/Utilities -c /root/CMake/Source/cmGeneratorTarget.cxx -o cmGeneratorTarget.o
    g++: fatal error: Killed signal terminated program cc1plus
    compilation terminated.
    gmake: *** [Makefile:208: cmGeneratorTarget.o] Error 1
    ———————————————
    Error when bootstrapping CMake:
    Problem while running gmake
    ———————————————
    Log of errors: /root/CMake/Bootstrap.cmk/cmake_bootstrap.log
    ———————————————

    Может памяти не хватило? Использую для тестирования самый простой VPS с 500 МБ RAM

  • Есть ли подобная инструкция для Debian 12?

    • Это ответ на комментарий Олег

      Нет, возможно если будет время разберу под Debian 12 и напишу статью