Найти тему
Николай Буренков

Развенчиваем страшные мифы о терминале в Линукс. Продолжение

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

Итак, обратимся к Вики: «Репозито́рий (англ. repository), хранилище — место, где хранятся и поддерживаются какие-либо данные. Чаще всего данные в репозитории хранятся в виде файлов, доступных для дальнейшего распространения по сети.» Говоря проще, Репозиторий – это место на сервере (который может находиться в любой точке мира, например, на Багамских островах), где хранятся программные пакеты. В Линуксе программный пакет представляет собой своего рода дистрибутив, содержащий набор всех необходимых для работы программы файлов. Программные пакеты в Линуксе упакованы в определённый формат. Что касаемо Windows, то в нем программы представлены исполняемыми файлами с расширением .exe. Эти файлы нужно найти и скачать из Интернета. Exe – это исполняемый для программ файл, который используется аж со времен родного DOS.

В Линуксе существуют два распространенных формата пакетов: DEB и RPM. Первый формат DEB используют такие дистрибутивы как Debian, Ubuntu (и ее производные) и некоторые другие. Формат RPM использует OpenSUSE, Fedora, Rosa Fresh и другие. Как я упоминал выше, программные пакеты располагаются в репозиториях. Репозитории же делятся на официально поддерживаемые разработчиками (или Основные) и Дополнительные, которые вы можете подключить по своему желанию. Например, когда нужное программное обеспечение не представлено в Основном репозитории. У дистрибутива обычно имеется несколько основных репозиториев. Ниже окно основных репозиториев на примере Kubuntu 19.10:

Графическое представление имеющихся и выбранных репозиториев
Графическое представление имеющихся и выбранных репозиториев

Официальные репозитории в Ububntu представлены следующими:

Main — Основной

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

Universe — Универсальный

Данный репозиторий также содержит бесплатное ПО с открытым исходным кодом. Но в нем разработчики Ubuntu не гарантируют регулярные обновления ПО. Все, что представлено в данном репозитории, поддерживается сообществом разработчиков Ubuntu. Он содержит большое количество программного обеспечения, доступного через менеджер пакетов apt. Попробуйте добавить данный репозиторий через терминал. Для это в терминале наберите следующую командную строку: sudo add-apt-repository universe

Multiverse — Мультиуниверсальный

В этом репозитории находится программное обеспечение, которое не является свободно распространяемым. Из-за лицензионных разногласий Ubuntu не может предоставлять исправления и обновления. Для добавления через терминал нужно набрать: sudo add-apt-repository multiverse.

Restricted — Ограниченный

Не всегда возможно предоставлять бесплатное программное обеспечение с открытым исходным кодом. Особенно это относится к поддержке аппаратного обеспечения. В данном репозитории находятся проприетарные драйвера. Для его добавления через терминал наберите: sudo add-apt-repository restricted

Partner — Партнерский

Данный репозиторий содержит ПО компаний-партнеров Canonical.

После добавления репозиториев через терминал необходимо выполнить команду sudo apt update для их обновления. Если вы хотите произвести удаление репозитория, в командной строке надо добавить -r. Пример: sudo add-apt-repository -r universe. Данная команда производит удаление репозитория Universe.

Выше был упомянут термин свободного программного обеспечения. Давайте немного расширим представление об идеологии свободного ПО, чтобы было понимание что это такое.

Понятие свободное ПО возникло благодаря Ричарду Столлману, который в 1983 году сформулировал идею о необходимости использования свободного ПО. Данная идея основывается на использовании программного обеспечения под любой свободной лицензией. То есть, владея копией такого ПО, вы имеете неограниченные права на установку, запуск, распространение, а также на любые изменения и усовершенствования. Программа является свободной, если соблюдается 4 принципа:

1. Свобода использования программы, любым способом и в любых целях

2. Свобода изменять программу под свои цели и нужды

3. Свобода распространения копий программ

4. Свобода распространять изменённые версии программ

После провозглашения этих четырех признаков, Ричард Столлман понял, что еще нужно какое-то документальное оформление своей концепции. Так и появилась лицензия GNU General Public License (Основная общественная лицензия GNU), или GNU GPL, или просто GPL. В этой лицензии Столлманом было оговорено важное условие, согласно которому ни один пользователь, сделавший в программе какие-либо изменения, не имеет право ее распространять, если он не соблюдает всех четырех принципов свободного ПО. Для отличия лицензии GNU GPL от других лицензий (называемых copyright), которые имеют ограничения на свободу распространения, ввели термин – copyleft (копилефт). Copyleft дает право свободного распространения программы, даже при наличии использования фрагмента исходного кода под лицензией GNU GPL. Соответственно, программа, использующая код GNU GPL, должна быть выпущена под той же лицензией. При этом программа, использующая в своем составе какую-либо часть свободного кода, становится автоматически свободной. Да, и хочу обратить внимание на то, что понятия «свободное» и «бесплатное» - совершенно разные понятия. Бесплатное ПО (или freeware) не имеет никакого отношения к свободному ПО.

Окончание следует…

Подписывайтесь на мой канал. Ставьте лайки. Всем отличного дня и хорошего настроения!