Tdnf
tdnf (сокр. от Tiny Dandified Yum) — свободный менеджер пакетов для RPM-совместимых дистрибутивов Linux, разработанный компанией VMware. По своей модели работы tdnf близок к YUM и DNF: он использует RPM-пакеты и репозитории формата YUM, но ориентирован на меньший размер и отсутствие обязательных зависимостей от Python. Изначально tdnf был создан как штатный менеджер пакетов для Photon OS, а позднее команда `tdnf` стала использоваться в Azure Linux и НАЙС.ОС.[1][2][3][4][5]
История
Публичные сведения о проекте появились в 2015 году в ходе обсуждения в рассылке rpm-ecosystem. Представители VMware объясняли, что при разработке Photon OS решили создать «небольшую» реализацию dnf на языке C, а также отдельную библиотеку `libtdnf`, предназначенную для использования другими приложениями. В этом же обсуждении отмечалось, что командная утилита `tdnf` использует библиотеку `libtdnf`, а та, в свою очередь, обращается к `librepo` и `libhawkey`.[6]
Разработка tdnf была связана с задачей уменьшения системного окружения Photon OS при сохранении совместимости с экосистемой RPM и привычной моделью работы YUM/DNF. В документации Photon OS tdnf описывается как открытый yum-совместимый менеджер пакетов, позволяющий сохранить небольшой размер системы.[7]
Архитектура
tdnf состоит из пользовательской консольной утилиты и библиотеки `libtdnf`. В исходной документации проекта указано, что исходный код `libtdnf` распространяется по лицензии LGPL 2.1, а исходный код утилиты `tdnf` — по GPL 2.0.[8]
Согласно спецификации пакета Photon OS, tdnf использует библиотеки `rpm-libs`, `libsolv`, `curl` и `OpenSSL`; тем самым он встроен в обычную инфраструктуру RPM-пакетирования и разрешения зависимостей.[9]
Функциональность
В официальной документации Photon OS tdnf характеризуется как менеджер пакетов, команды и параметры которого представляют собой подмножество возможностей DNF.[10]
К основным возможностям tdnf относятся:
- установка, удаление и обновление пакетов;
- поиск пакетов и просмотр сведений о них;
- работа с метаданными и кэшем репозиториев;
- синхронизация установленных пакетов с содержимым репозиториев (`distro-sync`);
- ведение истории транзакций с возможностью `rollback`, `undo` и `redo`;
- автоматическая проверка и установка обновлений через отдельную утилиту `tdnf-automatic` и `systemd`-таймеры.[11][12]
Документация Photon OS указывает, что основным конфигурационным файлом tdnf является `/etc/tdnf/tdnf.conf`, а описания репозиториев читаются из каталога `/etc/yum.repos.d/` в формате `.repo`, совместимом с YUM.[13]
Использование
Photon OS
В Photon OS tdnf является стандартным менеджером пакетов. Документация проекта прямо описывает его как основной механизм установки, обновления и удаления пакетов в системе.[14]
Azure Linux
В документации Microsoft по Azure Linux указано, что управление пакетами в этой системе осуществляется с помощью команды `tdnf`. В таблицах соответствия команд для пользователей Ubuntu Microsoft сопоставляет `tdnf` операциям установки, удаления, поиска и обновления пакетов.[15]
Использование `tdnf` в Azure Linux отражено и в другой документации Microsoft, например в инструкциях по установке Azure CLI для систем с этим дистрибутивом.[16]
НАЙС.ОС
В материалах проекта НАЙС.ОС указано использование пакетных менеджеров `dnf` и `tdnf`. В документации установщика NiceOS Installer отмечается, что RPM-пакет установщика может быть установлен стандартными средствами `dnf` или `tdnf`, а `tdnf` прямо назван пакетным менеджером, используемым в процессе установки. На сайтах проекта также публикуются пакеты и вспомогательные компоненты, связанные с `tdnf`, включая `tdnf-automatic` и пакеты библиотек `tdnf`.[17][18][19][20]
Место в экосистеме
Обозреватель InfoWorld характеризовал TDNF как открытый инструмент VMware, обеспечивающий DNF-совместимое управление пакетами без большого Python-следа, характерного для Yum.[21]
Наличие отдельного менеджера пакетов в Photon OS было также учтено в смежных инструментах автоматизации. В релизных примечаниях Salt 3003 отмечалось добавление поддержки VMware Photon OS, использующей tdnf как реализацию пакетного менеджера семейства RPM/YUM.[22]
Особенности и ограничения
Официальная документация Photon OS подчёркивает, что tdnf реализует не весь набор возможностей DNF, а лишь часть его команд и параметров. Это означает, что при внешнем сходстве синтаксиса tdnf не является полной заменой DNF во всех сценариях.[23]
См. также
Примечания
- ↑ Package Management in Photon OS with 'tdnf' (англ.). Photon OS Documentation. Дата обращения: 8 апреля 2026.
- ↑ Introduction to 'tdnf' (англ.). Photon OS Documentation. Дата обращения: 8 апреля 2026.
- ↑ Troubleshoot common issues for Azure Linux Container Host for AKS (англ.). Microsoft Learn (2 апреля 2025). Дата обращения: 8 апреля 2026.
- ↑ Установщик NiceOSInstaller. НАЙС.ОС. Дата обращения: 8 апреля 2026.
- ↑ NiceOS Linux Server Свободная ОС / проект "Z". НАЙС ОС Z. Дата обращения: 8 апреля 2026.
- ↑ Photon and dnf (англ.). rpm-ecosystem mailing list (20 апреля 2015). Дата обращения: 8 апреля 2026.
- ↑ Package Management in Photon OS with 'tdnf' (англ.). Photon OS Documentation. Дата обращения: 8 апреля 2026.
- ↑ tdnf/COPYING (англ.). GitHub. Дата обращения: 8 апреля 2026.
- ↑ photon/SPECS/tdnf/tdnf.spec (англ.). GitHub. Дата обращения: 8 апреля 2026.
- ↑ tdnf Commands (англ.). Photon OS Documentation. Дата обращения: 8 апреля 2026.
- ↑ tdnf Commands (англ.). Photon OS Documentation. Дата обращения: 8 апреля 2026.
- ↑ tdnf-automatic (англ.). Photon OS Documentation. Дата обращения: 8 апреля 2026.
- ↑ Package Management (англ.). VMware Photon OS 3.0 Documentation. Дата обращения: 8 апреля 2026.
- ↑ Package Management in Photon OS with 'tdnf' (англ.). Photon OS Documentation. Дата обращения: 8 апреля 2026.
- ↑ Troubleshoot common issues for Azure Linux Container Host for AKS (англ.). Microsoft Learn (2 апреля 2025). Дата обращения: 8 апреля 2026.
- ↑ Install the Azure CLI on Linux (англ.). Microsoft Learn (3 марта 2026). Дата обращения: 8 апреля 2026.
- ↑ Установщик NiceOSInstaller. НАЙС.ОС. Дата обращения: 8 апреля 2026.
- ↑ NiceOS Linux Server Свободная ОС / проект "Z". НАЙС ОС Z. Дата обращения: 8 апреля 2026.
- ↑ Пакет для NiceOS > tdnf. НАЙС.ОС. Дата обращения: 8 апреля 2026.
- ↑ Пакет для NiceOS > tdnf-automatic. НАЙС.ОС. Дата обращения: 8 апреля 2026.
- ↑ Review: VMware's Photon OS Linux shines for Docker containers. InfoWorld (англ.). 28 августа 2017. Дата обращения: 8 апреля 2026.
- ↑ Salt 3003 Release Notes - Codename Aluminium (англ.). Salt Project Documentation. Дата обращения: 8 апреля 2026.
- ↑ tdnf Commands (англ.). Photon OS Documentation. Дата обращения: 8 апреля 2026.
Ссылки
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.