Перейти к основному содержимому

Установка Tulpar

Системные требования

Минимальные требования

  • Операционная система: Linux (NurOS или другой дистрибутив)
  • Архитектура: x86_64, aarch64, riscv64
  • Свободное место: минимум 50 МБ для программы
  • Оперативная память: минимум 128 МБ

Зависимости времени выполнения

  • libc: glibc >= 2.28 или musl
  • libarchive: >= 3.4.0 (для работы с архивами)
  • libcurl: >= 7.60.0 (для загрузки пакетов)
  • libjson-c или nlohmann-json: для парсинга JSON

Зависимости для сборки

  • Компилятор: GCC >= 7.0 или Clang >= 8.0 (с поддержкой C11)
  • Система сборки:
    • meson >= 0.55.0
    • ninja
  • Инструменты:
    • git (для клонирования репозитория)
    • pkg-config

Установка из исходников

Метод 1: Стандартная установка

Шаг 1: Клонирование репозитория

git clone https://github.com/NurOS-Linux/Tulpar.git
cd Tulpar

Шаг 2: Конфигурация проекта

meson setup builddir --prefix=/usr

Опции конфигурации:

ОпцияЗначение по умолчаниюОписание
--prefix/usr/localПрефикс установки
--bindir{prefix}/binДиректория исполняемых файлов
--libdir{prefix}/libДиректория библиотек
--sysconfdir/etcДиректория конфигурации
--buildtypereleaseТип сборки (debug/release)

Шаг 3: Компиляция

meson compile -C builddir

Для параллельной компиляции:

meson compile -C builddir -j $(nproc)

Шаг 4: Установка

sudo meson install -C builddir

Метод 2: Установка в пользовательскую директорию

Если у вас нет прав root, можно установить в домашнюю директорию:

# Конфигурация с установкой в ~/.local
meson setup builddir --prefix=$HOME/.local

# Компиляция
meson compile -C builddir

# Установка (без sudo)
meson install -C builddir

# Добавить в PATH
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Метод 3: Создание пакета для системы

Для NurOS (APG)

# Сборка
meson setup builddir --prefix=/usr
meson compile -C builddir

# Установка в временную директорию
DESTDIR=$(pwd)/tulpar-pkg meson install -C builddir

# Создание пакета APG
cd tulpar-pkg
apgbuild -m .
# Заполнить metadata.json
apgbuild --makesums .
cd ..
apgbuild -o tulpar-1.0.0-1-x86_64.apg tulpar-pkg

Для Debian/Ubuntu (DEB)

# Установка зависимостей для создания пакета
sudo apt install build-essential debhelper

# Сборка DEB пакета
dpkg-buildpackage -b -uc -us

Для Arch Linux (PKG)

Создайте PKGBUILD:

pkgname=tulpar
pkgver=1.0.0
pkgrel=1
arch=('x86_64' 'aarch64')
depends=('libarchive' 'curl' 'nlohmann-json')
makedepends=('meson' 'ninja')

build() {
meson setup build --prefix=/usr
meson compile -C build
}

package() {
DESTDIR="$pkgdir" meson install -C build
}

Затем:

makepkg -si

Установка из готовых пакетов

NurOS (Tulpar)

# Обновить базу данных пакетов
tulpar update

# Установить tulpar (bootstrap версия уже установлена)
tulpar upgrade tulpar

Arch Linux (AUR)

# Используя yay
yay -S tulpar

# Используя paru
paru -S tulpar

Debian/Ubuntu (PPA)

# Добавить PPA репозиторий
sudo add-apt-repository ppa:nuros/tulpar
sudo apt update

# Установить
sudo apt install tulpar

Проверка установки

Проверка версии

tulpar --version

Ожидаемый вывод:

tulpar 1.0.0
Copyright (C) 2025 NurOS Developers
License GPLv3+: GNU GPL version 3 or later

Проверка работоспособности

# Показать справку
tulpar --help

# Проверить доступность команд
tulpar list

Проверка зависимостей

# Проверить наличие необходимых библиотек
ldd $(which tulpar)

Ожидаемый вывод (пример):

linux-vdso.so.1
libarchive.so.13 => /usr/lib/libarchive.so.13
libcurl.so.4 => /usr/lib/libcurl.so.4
libc.so.6 => /usr/lib/libc.so.6

Конфигурация после установки

Создание директорий

Tulpar автоматически создаст необходимые директории при первом запуске:

# Директории системы
/var/lib/tulpar/ # База данных пакетов
/var/cache/tulpar/ # Кэш загруженных пакетов
/etc/tulpar/ # Конфигурация

# Пользовательские директории
~/.config/tulpar/ # Пользовательская конфигурация
~/.cache/tulpar/ # Пользовательский кэш

Настройка репозиториев

Конфигурационный файл /etc/apg/tulpar.conf:

# Основные настройки Tulpar

[repositories]
official = https://repo.nuros.org
community = https://community.nuros.org

[options]
cache_dir = /var/cache/apg
db_dir = /var/lib/apg
parallel_downloads = 5
check_space = true

Инициализация базы данных

# Обновить базу данных репозиториев
sudo tulpar update

Обновление Tulpar

Обновление через пакетный менеджер

# NurOS
sudo tulpar upgrade tulpar

# Arch Linux
sudo pacman -Syu tulpar

# Debian/Ubuntu
sudo apt update && sudo apt upgrade tulpar

Обновление из исходников

cd Tulpar
git pull
meson compile -C builddir
sudo meson install -C builddir

Удаление Tulpar

Удаление установленного через meson

cd Tulpar
sudo ninja -C builddir uninstall

Удаление через пакетный менеджер

# NurOS (осторожно!)
sudo tulpar remove tulpar

# Arch Linux
sudo pacman -R tulpar

# Debian/Ubuntu
sudo apt remove tulpar

Очистка данных

# Удалить базу данных пакетов
sudo rm -rf /var/lib/apg

# Удалить кэш
sudo rm -rf /var/cache/apg

# Удалить конфигурацию
sudo rm -rf /etc/apg

Устранение неполадок

Проблема: отсутствуют зависимости при компиляции

Решение для Debian/Ubuntu:

sudo apt install build-essential meson ninja-build \
libarchive-dev libcurl4-openssl-dev nlohmann-json3-dev

Решение для Arch Linux:

sudo pacman -S base-devel meson ninja libarchive curl nlohmann-json

Решение для Fedora:

sudo dnf install gcc-c++ meson ninja-build \
libarchive-devel libcurl-devel json-devel

Проблема: ошибки компиляции C11

# Проверить версию компилятора
gcc --version

# Обновить GCC (если нужно)
# Debian/Ubuntu
sudo apt install gcc

# Arch Linux
sudo pacman -S gcc

Проблема: конфликт версий библиотек

# Проверить установленные библиотеки
pkg-config --modversion libarchive
pkg-config --modversion libcurl

# Указать конкретные пути при конфигурации
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig meson setup builddir

Проблема: недостаточно прав

# Использовать sudo для установки
sudo meson install -C builddir

# Или установить в пользовательскую директорию
meson setup builddir --prefix=$HOME/.local

Дополнительная информация