Команда apt в системе linux

Условия

Общественный договор Debian, впервые ратифицированный в 1997 году и обновлённый в 2004, определяет базовые принципы существования проекта и осуществления разработки, а также включает в себя критерии Debian по определению свободного программного обеспечения. Он позволяет утверждать, что Debian GNU/Linux является одной из наиболее свободных из популярных операционных систем. Впоследствии критерии Debian по определению свободного программного обеспечения были использованы в качестве основы определения Open Source.

Конституция Debian, впервые принятая в 1998 году и обновлённая несколько раз (в настоящее время актуальна версия 1.5, принятая 9 января 2015 года) определяет статусы разработчиков, лидера проекта, технического комитета, секретаря, а также имущественные отношения проекта Debian и стандартную процедуру принятия решений.

В 2014 году принят Кодекс поведения Debian, описывающий стандарты взаимоотношений между участниками проекта. Кодекс предписывает быть уважительным, добросовестным, открытым, помогать остальным участникам проекта и пользователям.

Debian и FSF

Критерии Debian по определению свободности не полностью совпадают с критериями Фонда свободного ПО (Free Software Foundation, FSF). Например, в проекте Debian принято считать несвободными лицензию GNU FDL, если она используется с неизменяемыми разделами, и лицензию Free Art, которые FSF считает свободными лицензиями для документации и произведений искусства. В то же время Debian так же, как и OSI, считает свободной Artistic License 1.0, которую FSF считает неудачно написанной, и потому несвободной.

FSF не допускает значительной помощи в использовании собственнического ПО, а Debian предоставляет для пользователей несвободного ПО место на серверах, списки рассылки и др. В то же время FSF не требует полной свободы для нефункционального содержимого (например, графика в игре или политическая речь), а Debian помещает такое несвободное содержимое в раздел с остальными несвободными компонентами.

Иногда в Debian проводится голосование с целью решить, что делать с несвободными компонентами.

  • В 2004 году состоялось голосование о прекращении поддержки раздела с несвободным ПО к следующему выпуску, в результате раздел оставлен.
  • В 2006 году — о решении проблемы firmware без исходного кода (блоб) в ядре, и дате выпуска Etch — выпуск не отложен.
  • В 2008 году — о решении проблемы firmware без исходного кода и дате выпуска Lenny — считать блобы не нарушающими GPL, пока не доказано обратное.
  • В декабре 2010 года было объявлено, что firmware (отдельно под свободными и несвободными лицензиями) выделены из ядра в отдельные пакеты.

Из‐за этих различий некоторые приверженцы свободного ПО считают, что операционные системы Debian недостойны звания свободных и вместо них поддерживают gNewSense.


Семейство дистрибутивов, основанных на Debian

Разработчик и управление

Как я уже говорил выше, дистрибутив Debian не зависит ни от какой компании. Он разрабатывается сообществом в соответствии с принципами свободного программного обеспечения. У проекта есть лидер, а решения по поводу важных изменений и пути дальнейшего развития проекта принимаются в результате обсуждения сообществом. Над операционной системой работает большое количество программистов по всему миру.

Fedora тоже разрабатывается и поддерживается сообществом, но ее развитие активно спонсируется компанией Red Hat. Важные решения по развитию Fedora принимаются советом, в который входит Red Hat. На основе Fedora создается Red Hat Еnterprise Linux, а цель этого дистрибутива проверить все новые технологии, которые планируется использовать в следующей версии.

6.6 Что это за сценарии preinst, postinst, prerm и postrm?

Это выполняемые сценарии, которые автоматически запускаются перед или после
установки пакета. Вместе с файлом control, эти файлы являются
частью «управляющего» раздела архивного файла Debian.

Более подробно:

preinst

Данный сценарий выполняется перед тем, как пакет будет распакован из .deb
файла. Многие сценарии ‘preinst’ останавливают сервисы, которые будут
обновлены пакетом, до завершения установки или обновления.

postinst

Этот сценарий, обычно, завершает требуемую настройку пакета после того, как он
был извлечен из .deb файла. Часто, сценарий ‘postinst’ запрашивает у
пользователя различные параметры и/или предупреждает пользователя, что если он
примет значения по-умолчанию, то позже прийдется переконфигурировать пакет.
Многие сценарии также ‘postinst’ выполняют команды, необходимые для запуска или
перезапуска сервиса после установки или обновления пакета.

prerm

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

postrm

Этот сценарий, обычно изменяет ссылки или другие файлы, связанные с пакетом,
и/или удаляет файлы созданные пакетом. (См. также ).

В настоящее время все управляющие файлы можно найти в каталоге
/var/lib/dpkg/info. Файлы, относящиеся к пакету foo
имеют имя «foo» и расширения «preinst»,
«postinst» и т.д. Файл foo.list в этом каталоге
содержит список всех файлов установленных пакетом foo. (Заметим,
что местонахождение файлов определяется dpkg; вам не следует полагаться на
указанный каталог).

Выпуски

Выпуски Debian разделены на пять веток:

  • oldstable (oldstable), содержащую пакеты предыдущего стабильного дистрибутива; может одновременно являться неофициальным LTS;
  • стабильную (stable), содержащую пакеты, вошедшие в последний официальный дистрибутив (обновление пакетов в нём происходит только для устранения уязвимостей);
  • тестируемую (testing), из которой будет формироваться следующий стабильный дистрибутив;
  • нестабильную (unstable, sid), содержащую новые версии пакетов, которые готовятся к помещению в тестируемую ветку;
  • экспериментальную (experimental), не являющуюся полноценной веткой — в ней находятся пакеты, требующие тщательного тестирования или которые повлекут серьёзные изменения в дистрибутиве.

Стабильные и тестируемая версии операционной системы Debian называются именами персонажей мультфильма «История игрушек». Нестабильная версия дистрибутива Debian постоянно носит кодовое имя Сид (sid), по имени отрицательного персонажа из мультфильма, который ломал игрушки.

История выпусков Debian:

Версия Кодовое имя Количество поддерживаемых архитектур Количество пакетов Дата выхода Окончание срока поддержки Окончание срока длительной поддержки
Выпуск Текущая Оригинальное На русском
0.93R6 1 26 октября 1995 года
1.1 Buzz Базз 1 474 17 июня 1996 года 1996 год
1.2 Rex Рекс 1 848 12 декабря 1996 года 1996 год
1.3 Bo Бо 1 974 5 июня 1997 года 1997 год
2.0 Hamm Хэмм 2 ≈ 1500 24 июля 1998 года 1998 год
2.1 Slink Слинк 4 ≈ 2250 9 марта 1999 года декабрь 2000 года
2.2 Potato Потэйто 6 ≈ 3900 15 августа 2000 года апрель 2003 года
3.0 3.0_r6 Woody Вуди 11 ≈ 8500 19 июля 2002 года август 2006 года
3.1 3.1_r8 Sarge Сарж 11 ≈ 15400 6 июня 2005 года апрель 2008 года
4.0 4.0_r9 Etch Этч 11 ≈ 18000 8 апреля 2007 года февраль 2010 года
5.0 5.0.10 Lenny Ленни 12 ≈ 23000 14 февраля [[2009 года февраль 2012 года
6.0 6.0.10 Squeeze Сквиз 9+2 ≈ 29000 6 февраля 2011 года 31 мая 2014 года 29 февраля 2016 года
7.0 7.11 Wheezy Уизи 11+2 ≈ 37500 4 мая 2013 года февраль 2016 31 мая 2018 года
8.0 8.7.1 Jessie Джесси 10 > 43000 из ≈ 20100 исходных 25 апреля 2015 года май 2018 апрель/май 2020
9.0 Stretch Стрэтч 10 неизвестно будет объявлено позднее будет объявлено позднее будет объявлено позднее
10.0 Buster Бастер неизвестно неизвестно будет объявлено позднее будет объявлено позднее будет объявлено позднее
11.0 Bullseye Булзай неизвестно неизвестно будет объявлено позднее будет объявлено позднее будет объявлено позднее

Поддержка оборудования

Поддержка оборудования операционными системами Linux реализуется на уровне ядра, поэтому поддержка драйверов почти не зависит от дистрибутива, чтобы получить максимальную поддержку нужно использовать самую последнюю версию ядра. Но немного по-другому обстоят дела с архитектурами процессоров.

Debian поддерживает самое большое количество архитектур среди других дистрибутив Linux. Насчитывается 12 поддерживаемых архитектуры, среди которых i386, amd64, armel, armhf, powerpc, ia64, mipsel, mips, s390x, arm64, ppc64el. У Fedora список намного меньше, здесь поддерживаются только i386, amd64 и ARM.

6.4 Что это за управляющий (control) файл Debian?

Спецификации содержимого управляющего файла Debian приводятся в
«Руководстве по пакетам Debian» (Debian Packaging manual), глава 4,
см. .

Короткий пример файла control для пакета Debian hello приведен ниже:

     Package: hello
     Priority: optional
     Section: devel
     Installed-Size: 45
     Maintainer: Adam Heath <[email protected]>
     Architecture: i386
     Version: 1.3-16
     Depends: libc6 (>= 2.1)
     Description: The classic greeting, and a good example
      The GNU hello program produces a familiar, friendly greeting.  It
      allows nonprogrammers to use a classic computer science tool which
      would otherwise be unavailable to them.
      .
      Seriously, though: this is an example of how to do a Debian package.
      It is the Debian version of the GNU Project's `hello world' program
      (which is itself an example for the GNU Project).

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

Поле Version определяет версию разработчика и (в последнем компоненте) номер
ревизии пакета данной программы как раскрыто в .

Поле Architecture определяет тип процессора для которого был скомпилирован
данный пакет.

Поле Depends содержит список пакетов, которые должны быть установлены для
успешной установки данного пакета.

Installed-Size показывает сколько дискового пространства займет установленный
пакет. Этот параметр может использоваться программами установки для
определения остающегося дискового пространства.

Строка Section определяет «раздел», в котором хранится пакет Debian
на FTP сервере. Это имя подкаталога (в одном из основных каталогов, см. ) в котором хранится пакет.

Поле Priority показывает насколько важным является пакет для установки;
некоторые программы, напр., dselect или console-apt могут сортировать пакеты по
категориям. См. .

В поле Description дается краткое описание возможностей, предоставляемых
пакетом.

Для более подробной информации о полях, которые может иметь пакет, смотрите
главу 4 Руководства по пакетам Debian, «Управляющие файлы и их поля.»

6.10 Что означает слово Pre-Depends (Пред-Зависимости)?

«Pre-Depends» это специальная форма зависимости. Большинство пакетов
будут извлечены dpkg из архивных файлов независимо от того,
существуют ли файлы от которых они зависят или нет. Проще говоря,
dpkg извлекает файлы пакета из архива и помещает их на положенные
места. Если пакет зависит от существования других пакетов, то
dpkg откажется завершать установку (выполняя конфигурацию) до
установки необходимых пакетов.

Однако, для некоторых пакетов, dpkg откажется даже распаковывать
файлы до разрешения зависимостей. Такие пакеты указывают, что они
«Pre-depend» от наличия других пакетов. Проект Debian обеспечивает
механизм для безопасного обновления системы с формата a.out на
формат ELF, где критичен порядок, в котором пакеты будут
распакованы. Существуют и другие ситуации, когда может применяться этот метод.

Более подробная информация может быть найдена в Руководстве по пакетам.

6.11 Что означают слова неизвестно/установить/удалить/очистить/удерживать (unknown/install/remove/purge/hold) в статусе пакета?

Эти флаги определяют, что пользователь хочет сделать с пакетом (что
определяется либо действиями пользователя при работе в разделе
«Выбор» («Select») программы dselect, либо
непосредственными обращениями пользователя к dpkg).

Их значения:

неизвестно (unknown) — пользователь никогда не проявлял интереса к пакету.

установить (install) — пользователь хочет, чтобы пакет был установлен или
обновлен.

удалить (remove) — пользователь хочет, чтобы пакет был удален, но не хочет
удалять какие-либо из его файлов конфигурации.

очистить (purge) — пользователь хочет, чтобы пакет был удален полностью,
включая его файлы конфигурации.

захватить (hold) — пользователь хочет, чтобы над пакетом не совершалось никаких
действий, т.е., он хочет сохранить текущую версию пакета в том состоянии в
котором она находится, какими бы они ни были.

Утилита apt-get

apt-get — это консольная утилита управления пакетами, которая широко используется в системах на базе Debian. Команда apt-get позволяет устанавливать, обновлять и удалять пакеты. Для поиска новых пакетов применяется команда apt-cache.

apt-get можно рассматривать как более низкоуровневую надстройку для APT.

Что не так с apt-get?

Утилита apt-get неэффективна и не имеет определенных функций, которые должны существовать в пакетном менеджере. Например, для установки приложения применяется команда , но когда вы хотите выполнить поиск нужного пакета, то не получится просто ввести . Необходимо использовать команду .

Аналогично, если вы хотите перечислить все пакеты, установленные в системе, команда будет совершенно другой — . Начинающий пользователь просто запутается в них и захочет уйти еще до того, как начнется его путешествие по изучению Linux.

Функционал команд, которые заменяет утилита apt, следующий:

   apt-get — используется для установки, обновления и удаления пакетов;

   apt-cache — используется для поиска пакетов;

   dpkg -l — используется для перечисления всех пакетов, установленных в системе.

Как apt решает эту проблему?

Утилита apt объединяет в одной команде функциональные возможности apt-get (включая apt-cache и dpkg), упрощая взаимодействие с APT.

Получается, apt-get устарел?

Нет никакой официальной информации о прекращении поддержки apt-get. И этого не произойдет в ближайшем будущем, т.к. apt-get по-прежнему предлагает больше функционала, чем apt.

Команда apt-get продолжит использоваться для выполнения всякого рода низкоуровневых операций, написания скриптов и пр. А команда apt просто является более удобной утилитой для конечного пользователя, упрощая взаимодействие с системой Linux.

Каковы основные различия?

Во-первых, Ubuntu и Debian в значительной степени похожи. Оба используют одну и ту же систему управления пакетами и вы часто найдете программное обеспечение, упакованное для обоих. Однако под поверхностью есть некоторые ключевые отличия, о которых следует помнить.

Не все программное обеспечение, доступное для Ubuntu, доступно для Debian из-за лицензионных ограничений в последнем. У Debian более сильная позиция в отношении свободного программного обеспечения. Это относится и к прошивкам, поэтому не все оборудование, которое работает с Ubuntu, будет работать с Debian.

В Ubuntu также есть личные архивы пакетов, обычно известные как PPA. Это позволяет легко устанавливать пакеты, недоступные в официальных репозиториях Ubuntu. Это значительно упрощает установку более широкого спектра программного обеспечения, чем в Debian.

Ограничения, налагаемые Debian, не такие строгие, как те, которые используются в некоторых других дистрибутивах, но об этом следует знать. Debian также имеет другой цикл выпуска, чем Ubuntu. Как это, так и различные лицензионные ограничения влияют на определенные варианты использования, как мы увидим позже.

Support

When it comes to open source software, community support may decide whether the project will be successful. Debian and Ubuntu are standing well with the community, and they have a reputation of popular operating systems.

Canonical is a company that stands behind Ubuntu and offers support for this OS. Apart from that, thousands of volunteers and enthusiasts also work on improving this operating system. Debian completely relies on the community and those willing to help, but that also works great.

Ubuntu’s support team can be hired, which can help you with installation, updating, and troubleshooting the system. Debian has no such support team and relies on a team of volunteers.

Debian and Ubuntu are well maintained and supported Linux distributions. One aims to provide a super solid distribution supported by a large community, the other provides the latest but stable software backed by a corporate, Canonical.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: