APT (программное обеспечение)

Бесплатная система управления пакетами программного обеспечения
Расширенный инструмент для работы с пакетами
Разработчик(и)Проект Debian
Первоначальный выпуск31 марта 1998 г .; 26 лет назад [1] ( 1998-03-31 )
Стабильный релиз
2.9.23 [2]  / 17 января 2025 г. ; 16 дней назад ( 17 января 2025 г. )
Репозиторий
  • salsa.debian.org/apt-team/apt.git
Написано вC++, [3] скрипт оболочки, [3] XML, [3] CMake, [3] C, [3] Perl [3] 
Операционная системаUnix-подобный
ТипМенеджер пакетов
ЛицензияGPLv2+
Веб-сайтwiki.debian.org/AptCLI

Advanced Package Tool ( APT ) — это бесплатный программный пользовательский интерфейс , который работает с основными библиотеками для управления установкой и удалением программного обеспечения в Debian и дистрибутивах Linux на основе Debian . [4] APT упрощает процесс управления программным обеспечением в Unix-подобных компьютерных системах, автоматизируя извлечение, настройку и установку программных пакетов либо из предварительно скомпилированных файлов, либо путем компиляции исходного кода. [4]

Использование

APT — это набор инструментов, распространяемых в пакете с именем apt . Значительная часть APT определена в библиотеке функций C++apt ; APT также включает программы командной строки для работы с пакетами, которые используют эту библиотеку. Три такие программы — , apt-getи apt-cache. Они обычно используются в примерах, поскольку они просты и вездесущи. Пакет apt имеет « важный » приоритет во всех текущих выпусках Debian и поэтому включен в установку Debian по умолчанию. APT можно считать интерфейсом для , dpkgболее дружественным, чем старый dselectинтерфейс. Выполняя dpkgдействия над отдельными пакетами, APT управляет отношениями (особенно зависимостями) между ними, а также поиском и управлением решениями по управлению версиями более высокого уровня (отслеживание выпусков и закрепление версий).

APT часто называют одной из лучших функций Debian, [ кем? ] [5] [6] [7] [8] что разработчики Debian связывают со строгим контролем качества в политике Debian. [9] [10]

Главной особенностью APT является способ вызова dpkg— он выполняет топологическую сортировку списка пакетов для установки или удаления и вызывает dpkgв наилучшей возможной последовательности. В некоторых случаях он использует опции --force. dpkgОднако он делает это только тогда, когда не может вычислить, как избежать причины, dpkgтребующей принудительного выполнения действия.

Установка программного обеспечения

Пользователь указывает один или несколько пакетов для установки. Каждое имя пакета формулируется как часть имени пакета, а не как полное имя файла (например, в системе Debian libc6аргументом будет , а не libc6_1.9.6-2.deb). Примечательно, что APT автоматически получает и устанавливает пакеты, от которых зависит указанный пакет (при необходимости). Это было изначальной отличительной характеристикой систем управления пакетами на основе APT, поскольку это позволяло избежать сбоя установки из-за отсутствующих зависимостей, типа ада зависимостей .

Другим отличием является извлечение пакетов из удаленных репозиториев. APT использует файл конфигурации местоположения ( /etc/apt/sources.list) для поиска нужных пакетов, которые могут быть доступны в сети или на съемном носителе, например, и извлечения их, а также получения информации о доступных (но не установленных) пакетах.

APT предоставляет другие параметры команд для переопределения решений, принятых системой разрешения конфликтов apt-get. Один из вариантов — принудительное использование определенной версии пакета. Это может понизить версию пакета и сделать зависимое программное обеспечение неработоспособным, поэтому пользователь должен быть осторожен.

Наконец, apt_preferencesмеханизм позволяет пользователю создавать альтернативную политику установки для отдельных пакетов.

Пользователь может указывать пакеты, используя регулярное выражение POSIX .

APT просматривает кэшированный список пакетов и выводит список зависимостей, которые необходимо установить или обновить.

APT автоматически извлекает, настраивает и устанавливает зависимости.

Триггеры — это обработка отложенных действий.

Обновление, модернизация и dist-upgrade

Режимы использования apt, apt-getоблегчающие обновление установленных пакетов, включают:

  • updateиспользуется для повторной синхронизации файлов индекса пакетов из их источников. Списки доступных пакетов извлекаются из расположения(й), указанного в /etc/apt/sources.list. Например, при использовании архива Debian эта команда извлекает и сканирует Packages.gzфайлы, чтобы была доступна информация о новых и обновленных пакетах.
  • upgradeиспользуется для установки новейших версий всех пакетов, установленных в системе в данный момент, из источников, перечисленных в /etc/apt/sources.list. Текущие установленные пакеты с доступными новыми версиями извлекаются и обновляются; ни при каких обстоятельствах текущие установленные пакеты не удаляются, а пакеты, которые еще не установлены, не извлекаются и не устанавливаются. Новые версии текущих установленных пакетов, которые не могут быть обновлены без изменения статуса установки другого пакета, будут оставлены в их текущей версии.
  • full-upgrade( apt) и dist-upgrade( apt-get), в дополнение к выполнению функции upgrade, также разумно обрабатывает изменяющиеся зависимости с новыми версиями пакетов; aptи apt-getимеет «умную» систему разрешения конфликтов, и будет пытаться обновить наиболее важные пакеты за счет менее важных, если это необходимо. Файл /etc/apt/sources.listсодержит список мест, из которых можно получить нужные файлы пакетов. [4] aptitude имеет более умную dist-upgradeфункцию, называемую full-upgrade. [11]

Конфигурация и файлы

/etc/aptсодержит папки и файлы конфигурации APT.

apt-configэто программа APT Configuration Query. [12] apt-config dump показывает конфигурацию. [13]

Файлы

  • /etc/apt/sources.list: [14] Места, откуда можно получить посылки.
  • /etc/apt/sources.list.d/: Дополнительные фрагменты списка источников.
  • /etc/apt/apt.conf: Файл конфигурации APT.
  • /etc/apt/apt.conf.d/: Фрагменты файла конфигурации APT.
  • /etc/apt/preferences.d/: Каталог с файлами настроек версии. Здесь указывается "закрепление", т.е. предпочтение получать определенные пакеты из отдельного источника или из другой версии дистрибутива.
  • /var/cache/apt/archives/: Область хранения извлеченных файлов пакетов.
  • /var/cache/apt/archives/partial/: Место хранения файлов пакетов, находящихся в пути.
  • /var/lib/apt/lists/: Область хранения информации о состоянии для каждого ресурса пакета, указанного вsources.list
  • /var/lib/apt/lists/partial/: Место хранения государственной информации, находящейся в пути.

Источники

APT опирается на концепцию репозиториев для поиска программного обеспечения и разрешения зависимостей. Для APT репозиторий — это каталог, содержащий пакеты вместе с файлом индекса. Его можно указать как сетевое или CD-ROM- расположение. По состоянию на 14 августа 2021 года [обновлять]проект Debian хранит центральный репозиторий из более чем 50 000 пакетов программного обеспечения, готовых к загрузке и установке. [15]

Любое количество дополнительных репозиториев может быть добавлено в файл конфигурации APT sources.list/etc/apt/sources.list ( ) и затем запрошено APT. Графические интерфейсы часто позволяют вносить изменения sources.listпроще ( apt-setup). После указания репозитория пакетов (например, во время установки системы) пакеты в этом репозитории могут быть установлены без указания источника и будут автоматически обновляться.

В дополнение к сетевым репозиториям можно использовать компакт-диски и другие носители информации (USB-ключи, жесткие диски...), используя apt-cdrom[16] или добавив file:/URI [17] в файл списка источников. apt-cdromможно указать папку, отличную от CD-ROM, используя -dопцию (т. е. жесткий диск или USB-ключ). Доступные для загрузки компакт-диски Debian содержат репозитории Debian. Это позволяет обновлять несетевые машины. Можно также использовать apt-zip.

Проблемы могут возникнуть, когда несколько источников предлагают один и тот же пакет(ы). Системы, которые имеют такие потенциально конфликтующие источники, могут использовать APT pinning для управления тем, какие источники должны быть предпочтительными.

APT-закрепление

Функция закрепления APT позволяет пользователям заставлять APT выбирать определенные версии пакетов, которые могут быть доступны в разных версиях из разных репозиториев. Это позволяет администраторам гарантировать, что пакеты не будут обновлены до версий, которые могут конфликтовать с другими пакетами в системе или которые не были достаточно протестированы на нежелательные изменения.

Для этого необходимо изменить контакты в файле настроек APT ( ), [18] хотя графические интерфейсы часто упрощают процесс закрепления./etc/apt/preferences

Передние части

Synaptic Package Manager — один из интерфейсов, доступных для APT.

Существуют несколько других интерфейсов APT, которые предоставляют более продвинутые функции установки и более интуитивные интерфейсы. К ним относятся:

  • Synaptic , графический пользовательский интерфейс GTK
  • Ubuntu Software Center графический пользовательский интерфейс GTK , разработанный проектом Ubuntu
  • aptitude , консольный клиент с CLI и TUI -интерфейсамина основе ncurses
  • KPackage , часть KDE
  • Менеджер пакетов Adept , графический пользовательский интерфейс для KDE (deb, rpm, bsd)
  • PackageKit интерфейс D-Bus , поддерживаемый freedesktop.org , который лежит в основе программного обеспечения GNOME и KDE Discover.
  • GDebi — инструмент на основе GTK, разработанный для Ubuntu. (Существует также версия Qt, доступная в репозиториях Ubuntu как gdebi-kde.)
  • apt-cdrom , способ добавить новый CDROM в список доступных репозиториев APT (sources.lists). Необходимо использовать apt-cdrom для добавления CD в систему APT, вручную это сделать нельзя.
  • apt-zip — способ использования apt со сменными носителями , в частности с USB-флеш-накопителями .
  • aptURL , программный пакет Ubuntu, позволяющий конечному пользователю устанавливать приложения одним щелчком мыши через браузер. [19] [20]
  • Cydia — менеджер пакетов для взломанной iOS на основе APT (портирован на iOS в рамках проекта Telesphoreo). [21] [22]
  • Sileo , как и Cydia , менеджер пакетов для взломанной iOS на основе новых версий APT (портирован на iOS командой Electra)
  • gnome-apt , графический интерфейс на основе виджетов GTK/ GNOME . Разработан Havoc Pennington [23]
  • Muon discover (ранее Muon software center) , графический пользовательский интерфейс на основе Qt
  • Менеджер приложений Hildon (приложение Maemo) , интерфейс Maemo
  • apticron — служба, предназначенная для запуска через cron для отправки по электронной почте уведомлений об ожидающих обновлениях системному администратору (sysadmin).
  • APT Daemon — интерфейс, работающий как служба , позволяющая пользователям устанавливать программное обеспечение через PolicyKit, и, в свою очередь, являющийся фреймворком, используемым центром программного обеспечения Ubuntu (вместе с менеджером программного обеспечения Linux Mint ).
  • Установщик пакетов , часть MX Linux.
  • Apt-offline : Удобный способ внести любые доступные неконтейнерные изменения в любую установку Linux типа Debian без использования прямого подключения к Интернету. Однако может потребоваться временное прямое подключение, например, для установки Apt-offline на некоторые соответствующие типы Linux и для добавления PPA в список источников.

Интерфейсы APT могут:

  • поиск новых пакетов;
  • пакеты обновлений;
  • устанавливать или удалять пакеты и
  • обновить всю систему до новой версии.

Интерфейсы APT могут выводить список зависимостей устанавливаемых или обновляемых пакетов, спрашивать администратора, следует ли также устанавливать пакеты, рекомендованные или предложенные недавно установленными пакетами, автоматически устанавливать зависимости и выполнять другие операции в системе, такие как удаление устаревших файлов и пакетов.

История

Первоначальные усилия, которые привели к apt-getпрограмме, были dselectпроектом замены, известным под кодовым названием Deity . [24] Этот проект был заказан в 1997 году Брайаном Уайтом, менеджером по выпуску Debian в то время. Первая функциональная версия apt-getназывалась dpkg-getи была предназначена только для того, чтобы быть тестовой программой для основных библиотечных функций, которые должны были лечь в основу нового пользовательского интерфейса (UI). [25]

Большая часть первоначальной разработки APT была сделана в интернет-чате (IRC), поэтому записи были утеряны. Архивы почтовой рассылки 'Deity creation team' содержат только основные моменты.

Название «Божество» было отклонено как официальное название проекта из-за опасений по поводу религиозной природы названия. Название APT было окончательно решено после значительного внутреннего и публичного обсуждения. В конечном итоге название было предложено на IRC, принято и затем окончательно утверждено в списках рассылки. [26]

APT был представлен в 1998 году, и оригинальные тестовые сборки распространялись по IRC. Первой версией Debian, включавшей его, была Debian 2.1, выпущенная 9 марта 1999 года. [27]

В конце концов, первоначальная цель проекта Deity по замене dselectпользовательского интерфейса оказалась неудачной. Работа над частью проекта, посвященной пользовательскому интерфейсу, была прекращена (каталоги пользовательского интерфейса были удалены из системы параллельных версий ) после первого публичного выпуска apt-get. Отклик на APT как на dselectметод и утилиту командной строки был настолько большим и позитивным, что все усилия по разработке были сосредоточены на поддержании и улучшении инструмента. Лишь гораздо позже несколько независимых людей создали пользовательские интерфейсы поверх libapt-pkg.

В конце концов, новая команда подхватила проект, начала разрабатывать новые функции и выпустила версию 0.6 APT, в которой была представлена ​​функция Secure APT, использующая надежную криптографическую подпись для аутентификации репозиториев пакетов. [28]

Варианты

APT изначально был разработан как front-end для dpkg для работы с пакетами Debian .deb. Версия APT, модифицированная для работы с системой RPM Package Manager, была выпущена как APT-RPM . [29] Проект Fink перенес APT на Mac OS X для некоторых собственных задач по управлению пакетами, [30] и APT также доступен в OpenSolaris .

apt-файл

apt-file — это команда, упакованная отдельно от APT, позволяющая найти, какой пакет включает определенный файл, или составить список всех файлов, включенных в пакет в удаленных репозиториях. [31]

Смотрите также

Ссылки

  1. ^ "Первоначальный выпуск". apt package changelog . Проект Debian. 31 марта 1998 г. Получено 18 декабря 2021 г.
  2. ^ "2.9.23". 17 января 2025 г. Получено 17 января 2025 г.
  3. ^ abcdef "Проект apt - Advanced Package Tool с открытым исходным кодом на Open Hub: страница языков". Open Hub . Получено 2 мая 2024 г. .
  4. ^ abc "apt-get(8)". Debian Manpages . Получено 18 декабря 2021 г. .
  5. ^ Байфилд, Брюс (9 декабря 2004 г.). "An apt-get primer" . Получено 18 декабря 2021 г. .
  6. ^ "Из архивов: лучшие дистрибутивы 2000 года". Tux radar. Архивировано из оригинала 26 июля 2020 года.
  7. ^ Дорган, Дэвид (19 января 2004 г.). «Переход на Debian». linux.ie. Архивировано из оригинала 13 мая 2006 г.
  8. ^ "Разработка мобильного Linux с Familiar и минимальным Debian". Mobile Tux. Архивировано из оригинала 15 сентября 2008 г.
  9. ^ "Почему Debian" . Получено 18 декабря 2021 г. .
  10. ^ "Руководство по политике Debian" . Получено 18 декабря 2021 г. .
  11. ^ "Обсуждение dist-upgrade vs. full-upgrade" . Получено 18 декабря 2021 г. .
  12. ^ "apt-config(8)". Debian Manpages . Получено 18 декабря 2021 г. .
  13. ^ "Запрос конфигурации APT с помощью apt-config - Debian admin". 2 декабря 2006 г. Получено 18 декабря 2021 г.
  14. ^ "SourcesList". Debian Wiki . Получено 18 декабря 2021 г.
  15. ^ "Debian 11 "bullseye" выпущен". www.debian.org . Получено 2022-05-11 .
  16. ^ "apt-cdrom(8)". Debian Manpages . Получено 27 декабря 2021 г. .
  17. ^ например deb file:/mnt/install stable main contrib non-free.{{citation}}: CS1 maint: постскриптум ( ссылка )
  18. ^ "AptConfiguration". Debian Wiki . Получено 2020-05-18 .
  19. ^ "AptURL". Ubuntu Wiki . Получено 27 декабря 2021 г.
  20. ^ «Как установить программное обеспечение в Ubuntu Linux: полное руководство для новичков». 17 июня 2018 г. Получено 27 декабря 2021 г.
  21. ^ Юрик, Дэвид (2009). Взлом iPhone: выход iPhone и iPod touch за пределы их возможностей. O'Reilly Media, Inc. стр. 20. ISBN 9780596516642. Получено 27 декабря 2021 г. .
  22. ^ Адхикари, Ричард (20 марта 2008 г.). «Android, Schmandroid: Linux на iPhone». LinuxInsider . Получено 27 декабря 2021 г.
  23. ^ Малликин, Гленн (декабрь 2001 г.). "Эволюция систем управления пакетами Debian". AUUGN . Том 22, № 4. стр. 50. ISSN  1035-7521. gnome-apt был написан Havoc Pennington
  24. Уайт, Брайан С. (11 апреля 1997 г.). "Проект замены "dselect" ("deity")". deity@lists.debian.org (Список рассылки).
  25. Ганторп, Джейсон (2 марта 1998 г.). «Это работает». deity@lists.debian.org (список рассылки).
  26. ^ Ганторп, Джейсон (19 марта 1998 г.). "Re: 2 things (!)". deity@lists.debian.org (список рассылки).
  27. ^ "Краткая история Debian". debian.org. Архивировано из оригинала 24 августа 2003 г.
  28. ^ "Secure APT". Debian Wiki . Получено 27 декабря 2021 г.
  29. ^ "APT-RPM". apt-rpm.org. Архивировано из оригинала 21 апреля 2008 г. Получено 27 декабря 2021 г.
  30. ^ "Fink - About". www.finkproject.org. Архивировано из оригинала 11 мая 2008 года . Получено 27 декабря 2021 года .
  31. ^ "Проверка и извлечение содержимого пакета Debian". Блог Packagecloud . 13 октября 2015 г. Получено 27 декабря 2021 г.
  • apt(8) –  Руководство по командам обслуживания Debian
  • APT HOWTO Архивировано 09.03.2021 на Wayback Machine
  • Apt Учебник
  • Глава 2. Управление пакетами Debian - Справочник Debian
Взято с "https://en.wikipedia.org/w/index.php?title=APT_(software)&oldid=1273508609"