summaryrefslogtreecommitdiff
path: root/LINUX/Сборка программ из исходного кода в Linux.md
diff options
context:
space:
mode:
Diffstat (limited to 'LINUX/Сборка программ из исходного кода в Linux.md')
-rw-r--r--LINUX/Сборка программ из исходного кода в Linux.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/LINUX/Сборка программ из исходного кода в Linux.md b/LINUX/Сборка программ из исходного кода в Linux.md
new file mode 100644
index 0000000..9b11cd1
--- /dev/null
+++ b/LINUX/Сборка программ из исходного кода в Linux.md
@@ -0,0 +1,42 @@
+
+Иногда, случаются ситуации когда нам нужен какой-то софт, но для него нет пакета, или же версия пакета сильно отстает. Тут может пригодиться умение установки из исходников.
+
+Для большинства приложений процесс установки из исходного кода состоит из шагов, которые мы разберём на примере популярного инструмента для мониторинга процессов — **htop**.  
+
+ 1️⃣ **Скачиваем исходный код**
+Для этого найдите архив с исходниками на офциальном сайте или репозитории GitHub. Для нашего примера, скачаем архив исходников htop:
+
+`wget https://github.com/htop-dev/htop/archive/refs/tags/3.2.2.tar.gz
+
+2️⃣ **Распаковываем архив и переходим в каталог**
+`tar -xvzf 3.2.2.tar.gz
+`cd htop-3.2.2
+
+3️⃣ **Устанавливаем зависимости**
+Большинство программ требуют компилятора и библиотек. Убедитесь, что у вас установлен набор инструментов для сборки:  
+`sudo apt update
+`sudo apt install build-essential libncursesw5-dev
+
+**4️⃣ Конфигурируем сборку**
+Подготовьте сборку для вашей системы. Это этап проверки зависимостей и настройки параметров:  
+`./autogen.sh
+`./configure
+
+Если программа не поддерживает autogen.sh, обычно достаточно только ./configure.  Используется для проверки окружения и создания Makefile, который нужен для компиляции.
+
+5️⃣ **Компилируем программу**
+`make
+
+Процесс может занять некоторое время в зависимости от мощности системы.
+
+**6️⃣ Устанавливаем программу**
+Завершаем установку в системный каталог:
+`sudo make install
+
+7️⃣ **Проверяем установку**
+Для проверки, что мы установили все корректно, проверим версию:
+`htop --version
+
+➡️ Если вам нужно выполнить установку в пользовательский каталог, то можем указать префикс конфигурации:
+`./configure --prefix=$HOME/local
+