TrueNAS APT: Установка пакетов, настройка репозиториев и решение проблем | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

TrueNAS APT: Как использовать apt-get в TrueNAS Scale и Core

17 февраля 2026 9 мин. чтения #apt #apt-get #debian #linux #truenas #truenas core #truenas scale #пакетный менеджер #хранение данных
Содержание статьи

Если ты работаешь с TrueNAS и столкнулся с необходимостью установить дополнительное ПО, у тебя наверняка возник вопрос: "А как здесь работает apt?" TrueNAS — это специализированная система для хранения данных, и её подход к управлению пакетами отличается от обычных дистрибутивов Linux. Давай разберемся, что такое truenas apt, как с ним работать и какие подводные камни тебя ждут.

Ключевое отличие: TrueNAS Core основан на FreeBSD (использует pkg), а TrueNAS Scale — на Debian Linux (использует apt). Эта статья в основном посвящена TrueNAS Scale, где APT является родным пакетным менеджером.

Что такое APT в контексте TrueNAS?

APT (Advanced Package Tool) — это система управления пакетами в дистрибутивах на основе Debian, к которым относится TrueNAS Scale. В TrueNAS Core (основанном на FreeBSD) используется система pkg, так что команды apt там не работают.

Основные концепции, которые нужно понять:

  • Иммutable корневая файловая система: По умолчанию корневая файловая система TrueNAS Scale доступна только для чтения. Это защищает систему от случайных изменений.
  • Официальный подход — приложения через UI: iXsystems рекомендует устанавливать всё ПО через веб-интерфейс в виде "Приложений" (Kubernetes-контейнеров).
  • Прямое использование APT — это обходной путь: Работа с apt напрямую означает вмешательство в базовую ОС, что может нарушить стабильность.

Как получить доступ к APT в TrueNAS Scale

Для начала работы с apt тебе нужно получить доступ к командной строке TrueNAS Scale. Сделать это можно двумя способами:

Способ 1: Через веб-интерфейс (Shell)

  1. Зайди в веб-интерфейс TrueNAS Scale
  2. В левом меню выбери System Settings → Shell
  3. Ты окажешься в сессии root с ограниченным окружением

Способ 2: По SSH

Сначала включи SSH-доступ:

  1. В веб-интерфейсе: System Settings → Services
  2. Найди службу SSH и включи её
  3. Настрой параметры доступа (рекомендуется использовать ключи вместо пароля)
  4. Подключись: ssh root@ip_адрес_truenas
Важное предупреждение: Изменения, сделанные через APT в корневой файловой системе, могут быть потеряны при обновлении системы! TrueNAS использует образы, которые перезаписываются при апгрейде.

Практическое руководство: Работа с APT в TrueNAS Scale

Теперь, когда ты получил доступ к shell, давай разберем конкретные шаги для работы с пакетным менеджером.

Шаг 1: Делаем корневую файловую систему доступной для записи

По умолчанию корневая ФС только для чтения. Чтобы использовать apt, нужно её разблокировать:

bash
# Переводим корневую ФС в режим записи
mount -o remount,rw /

# Проверяем, что получилось
mount | grep "on / "
# Должно быть: /dev/... on / type zfs (rw,...)

Шаг 2: Обновляем списки пакетов APT

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

bash
apt-get update

# Если возникает ошибка с репозиториями, проверь содержимое:
cat /etc/apt/sources.list
cat /etc/apt/sources.list.d/*.list

Шаг 3: Установка пакетов через apt-get

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

bash
# Установка нескольких пакетов
apt-get install -y nano htop net-tools curl wget

# Поиск пакета
apt-cache search "имя_пакета"

# Просмотр информации о пакете
apt-cache show nano

Шаг 4: Настройка репозиториев APT (если нужно)

Иногда требуется добавить дополнительные репозитории. Делай это осторожно:

bash
# Добавляем репозиторий (пример)
echo "deb http://deb.debian.org/debian bullseye-backports main" >> /etc/apt/sources.list.d/backports.list

# Добавляем ключ репозитория (пример)
curl -fsSL https://example.com/key.asc | apt-key add -

# Обновляем списки после добавления репозиториев
apt-get update
Внимание! Добавление сторонних репозиториев может привести к конфликтам пакетов и нарушению работы TrueNAS. Используй только проверенные источники и понимай риски.

Шаг 5: Возвращаем корневую ФС в режим только для чтения

После завершения работы с apt рекомендуется вернуть систему в защищенное состояние:

bash
# Возвращаем корневую ФС в режим только для чтения
mount -o remount,ro /

# Проверяем
mount | grep "on / "
# Должно быть: /dev/... on / type zfs (ro,...)

Альтернативные подходы: Безопасные способы установки ПО

Поскольку прямое использование apt в TrueNAS рискованно, рассмотрим более безопасные альтернативы.

Метод Преимущества Недостатки Когда использовать
Официальные Приложения (Apps) Безопасно, изолированно, легко обновлять, не влияет на систему Ограниченный выбор, может требовать больше ресурсов Всегда, когда возможно
Docker вручную Больше контроля, огромный выбор образов, изоляция Требует знаний Docker, ручное управление Когда нет в официальных Apps
Прямой APT Максимальная гибкость, прямой доступ к пакетам Debian Риск сломать систему, изменения могут сброситься Только для системных утилит, когда другие методы не работают
Виртуальная машина Полная изоляция, можно использовать любую ОС Требует много ресурсов, сложнее настройка Для тестирования или специфичных задач

Рекомендуемый подход: Установка в отдельный dataset

Если тебе обязательно нужно ПО из apt, установи его в отдельный dataset, который не будет перезаписан при обновлении:

bash
# Создаем dataset для пользовательского ПО
zfs create poolname/localapps

# Монтируем его в /opt/local
mkdir -p /opt/local
mount -t zfs poolname/localapps /opt/local

# Устанавливаем пакеты с указанием корневого каталога
apt-get install -y --option Dir::Cache::archives=/opt/local/var/cache/apt/archives --option Dir::State=/opt/local/var/lib/apt --option Dir::Etc=/opt/local/etc/apt --option Dir::State::status=/opt/local/var/lib/dpkg/status --option Dir::Bin::dpkg=/usr/bin/dpkg nano

Частые проблемы и их решения

Проблема 1: "Unable to lock the administration directory"

Эта ошибка возникает, когда другой процесс использует apt:

bash
# Решение: Удаляем lock-файлы
rm /var/lib/apt/lists/lock
rm /var/cache/apt/archives/lock
rm /var/lib/dpkg/lock

# Или убиваем процесс, который блокирует apt
ps aux | grep apt
kill -9 PID_процесса

Проблема 2: Репозитории не работают после обновления

После обновления TrueNAS Scale репозитории могут сброситься:

bash
# Решение: Проверяем и восстанавливаем sources.list
# Стандартный sources.list для TrueNAS Scale обычно содержит:
deb http://deb.debian.org/debian bullseye main
deb http://security.debian.org/debian-security bullseye-security main
deb http://deb.debian.org/debian bullseye-updates main

# Может потребоваться добавить репозиторий TrueNAS:
deb https://download.truenas.com/apt-scale/ bullseye main

Проблема 3: Установленные пакеты пропали после обновления

Это ожидаемое поведение! TrueNAS перезаписывает корневую ФС при обновлении.

Решение: Создай скрипт для повторной установки необходимых пакетов после каждого обновления или используй альтернативные методы установки (Docker, VM, отдельный dataset).

Лучшие практики и рекомендации

  • Документируй все изменения: Записывай, какие пакеты ты установил и зачем.
  • Создавай бэкапы конфигураций: Копируй измененные конфиги в безопасное место (в dataset на пуле).
  • Используй версионирование: Если возможно, фиксируй версии пакетов, которые ты устанавливаешь.
  • Тестируй на нерабочей системе: Прежде чем вносить изменения в production-систему, проверь всё на тестовом стенде.
  • Рассмотри возможность использования Ansible: Для автоматизации установки пакетов после обновлений.

FAQ: Ответы на частые вопросы

Можно ли использовать apt в TrueNAS Core?

Нет, нельзя. TrueNAS Core основан на FreeBSD, где используется пакетный менеджер pkg. Команды будут такие: pkg install nano, pkg update, pkg upgrade. Но те же предупреждения о перезаписи корневой ФС при обновлении остаются в силе.

Какие пакеты можно безопасно устанавливать через apt?

Относительно безопасны утилиты, которые не конфликтуют с системными компонентами TrueNAS: текстовые редакторы (nano, vim), сетевые утилиты (net-tools, tcpdump), инструменты мониторинга (htop, iotop). Избегай установки сервисов, которые могут конфликтовать со встроенными (Samba, NFS, Docker).

Что делать, если я сломал систему, устанавливая пакеты через apt?

Есть несколько вариантов:

  1. Выполнить откат через загрузочное меню (если есть снапшот)
  2. Переустановить систему, сохранив данные на пулах
  3. Попытаться вручную удалить проблемные пакеты: apt-get remove --purge имя_пакета

Есть ли способ сохранить установленные через apt пакеты после обновления TrueNAS?

Прямого способа нет, но можно автоматизировать процесс:

  • Создать скрипт, который устанавливает все необходимые пакеты
  • Сохранить этот скрипт на dataset (не в корневой ФС)
  • Запускать скрипт после каждого обновления системы
  • Или использовать более правильный подход — установку в отдельный dataset

Итоговые рекомендации от Senior DevOps

Работая с TrueNAS, помни главный принцип: это специализированная система для хранения данных, а не универсальный сервер. Её стабильность и надёжность важнее гибкости.

  • Используй официальные Приложения (Apps) когда возможно — это самый безопасный путь.
  • Если Apps не подходят — используй Docker — изоляция защитит основную систему.
  • APT — это крайняя мера — только для системных утилит, когда другие методы не работают.
  • Документируй всё — чтобы можно было восстановить после обновления.
  • Тестируй изменения — прежде чем применять в production.

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

Поделиться:
Сохранить гайд? В закладки браузера