- Что такое репозитории в Linux – подробное описание для начинающих
- Что такое пакет в Linux?
- Как устанавливаются программы в Linux?
- Что такое репозиторий в Linux?
- Какие бывают репозитории в Linux?
- Как работать с репозиториями в Linux?
- Что такое репозитории? Как их включать и отключать
- Концепция репозиториев в Ubuntu
- Репозитории Ubuntu: Main, Universe, Multiverse, Restricted и Partner
- Main – Основной
- Universe – Универсальный
- Multiverse – Мультиуниверсальный
- Restricted – Ограниченный
- Partner – Партнерский
- Сторонние репозитории и PPA (не предоставляются Ubuntu)
- Добавить Universe, Multiverse и другие репозитории
- Бонусный совет: Как узнать, к какому репозиторию принадлежит пакет?
- Заключение
Что такое репозитории в Linux – подробное описание для начинающих
Всем привет! Сегодня я расскажу о том, что такое репозитории в Linux, для чего они нужны, какие виды репозиториев бывают, а также покажу, как работать с этими репозиториями, и какие инструменты для этого используются.
Чтобы понять, что такое репозитории в Linux и для чего они нужны, нужно немного разобраться в архитектуре самой операционной системы Linux, в частности, как устанавливаются программы (пакеты).
Углубляться в дебри мы не будем, но саму концепцию рассмотрим.
На заметку! Новичкам рекомендую почитать мою книгу «Linux для обычных пользователей» – в ней я подробно рассказываю про основы операционной системы Linux и как пользоваться этой системой без командной строки
Давайте обо всем по порядку.
Что такое пакет в Linux?
В Windows программы обычно распространяются в виде exe файлов или в каком-нибудь специально упакованном формате. В Linux программы распространяются в виде пакетов.
Пакет в Linux – это своего рода дистрибутив программы, набор необходимых файлов, которые необходимы для работы этой программы, упакованный в специальный формат.
Существуют два популярных формата пакетов:
- DEB – формат файлов пакетов, использующихся в дистрибутиве Debian и во всех основанных на нем дистрибутивах, таких как: Ubuntu, Linux Mint и другие;
- RPM – менеджер пакетов, использующийся в дистрибутиве Red Hat, а также во многих других популярных дистрибутивах, таких как: openSUSE, CentOS, Mageia и других.
Как устанавливаются программы в Linux?
Все программы, а точнее пакеты, устанавливаются в систему с использованием централизованного метода, т.е. из единой точки, такой точкой может быть либо инструмент с графическим интерфейсом, часто его называют «Менеджер приложений», либо традиционный для Linux способ, утилиты командной строки (терминала).
Процесс установки программ с использованием такого подхода предполагает простой выбор программы, которую необходимо установить, и ее установка одним кликом, все остальное сделает менеджер приложений.
Ярким примером использования такой концепции представлен на всех смартфонах (ведь Android это Linux!), где для установки приложения Вы просто открываете менеджер программ (например, Play Маркет), находите нужную программу, и нажимаете установить и все!
Таким образом, в большинстве случаев для установки программ в Linux не требуется предварительно искать и скачивать с интернета дистрибутив программы, как например в Windows, достаточно запустить менеджер приложений, найти интересующее приложение и запустить установку.
Что такое репозиторий в Linux?
Если нам не нужно самостоятельно скачивать дистрибутивы программ с интернета, то как тогда они попадают на компьютер?
И чтобы сразу внести ясность, на компьютерах пакеты программ не хранятся, менеджер скачивает их автоматически во время установки.
А откуда тогда менеджер скачивает все эти пакеты? А скачивает он их со специальных серверов в интернете (поэтому для установки программ в Linux требуется интернет), которые называются – репозиториями.
Репозитории – это сервера в интернете, на которых хранятся файлы пакетов приложений Linux и другая сопутствующая информация.
Практически у каждого дистрибутива Linux есть свой репозиторий, который содержит только совместимые и поддерживаемые конкретным дистрибутивом пакеты, соответственно, при установке приложений из официальных репозиториев Вы всегда устанавливаете только проверенные и стабильные версии программ.
Официальный репозиторий дистрибутива по умолчанию подключен, и когда Вы пытаетесь найти и установить программу, «Менеджер приложений» считывает информацию о доступных пакетах в репозитории и выдает ее Вам.
Таким образом, когда открываете менеджер приложений, он обращается к репозитоирию, узнает, какие пакеты есть, и выдает этот список Вам, а Вы, соответственно, выбираете и нажимаете кнопку установить, а все остальное делает менеджер.
Существуют, конечно, и нюансы при работе с таким подходом установки программ, например, что программа, которая Вас интересует, должна находиться в репозиториях конкретного дистрибутива Linux, который установлен на компьютере, в противном случае ее придётся искать в интернете, иными словами, делать ровно то же самое, что и в Windows. Однако популярные дистрибутивы Linux содержат в своих стандартных репозиториях тысячи программ на любой вкус, которые могут удовлетворить потребности даже продвинутого пользователя Linux, не говоря уж о начинающем.
Какие бывают репозитории в Linux?
Репозитории бывают как основные, т.е. официально поддерживаемые, так и дополнительные, которые можно подключить в случае возникновения необходимости (например, программы, которую Вы искали, нет в официальном репозитории).
Обычно у дистрибутива несколько официальных репозиториев, в каждом из которых хранятся пакеты, в зависимости от определенных свойств, так, например, в Ubuntu есть следующие типы официальных репозиториев:
- Main – здесь расположено основное, полностью бесплатное программное обеспечение;
- Restricted – проприетарное программное обеспечение, официально поддерживаемое дистрибутивом;
- Universe – бесплатное программное обеспечение, официально поддерживаемое сообществом дистрибутива;
- Multiverse – проприетарное программное обеспечение, не поддерживаемое дистрибутивом.
Если программы, которую Вы искали, нет в официальном репозитории, то Вы можете подключить дополнительный, в котором есть нужная Вам программа.
Например, дополнительные репозитории в Ubuntu и основанных на нем дистрибутивах называются PPA-репозитории.
PPA (Personal Package Archive) – это персональный репозиторий разработчика конкретной программы, где он хранит пакеты своих программ, которые еще не включены в основной репозиторий дистрибутива.
Как работать с репозиториями в Linux?
Если репозиторий – это некий сервер в интернете, на котором хранятся программы, то, чтобы к нему обратиться за необходимой нам программой, мы должны знать адрес этого сервера. Один из самых удобных способов обращения к ресурсам в интернете – это использовать веб протоколы взаимодействия, таким образом, по факту адрес репозитория выглядит, как обычный URL-адрес сайта.
Для того чтобы система знала и помнила, куда обращаться за пакетами (программами), она хранит все адреса репозиториев в специальном файле sources.list, который расположен в каталоге в /etc/apt. И вся работа с репозиториями в Linux заключается в добавлении и удалении адресов репозиториев.
Таким образом, если обобщить весь этот процесс, то, когда мы пытаемся установить программу, система предварительно считывает список доступных пакетов во всех подключенных репозиториях. И если такая программа есть, система устанавливает ее, если нужного пакета нет, то, соответственно, не устанавливает. И нам в этом случае, если мы хотим установить программу, необходимо подключить нужный репозиторий, т.е. добавить адрес этого репозитория.
Работать с репозиториями в Linux можно несколькими способами, в частности новички могут использовать удобный графический интерфейс, а более продвинутые пользователи Linux обычно пользуются специальными командами в терминале Linux.
В любом случае весь процесс работы с репозиториями сводится к редактированию файла sources.list (а также созданию дополнительных подобных файлов), который, кстати, Вы можете отредактировать и обычными утилитами для работы с текстовыми файлами.
Обычно компонент с графическим интерфейсом для работы с репозиториями называется «Источники приложений», он доступен из основного меню операционной системы.
Например, в Linux Mint он выглядит следующим образом
Для управления репозиториями в терминале используется команда add-apt-repository, так, например, для добавления PPA-репозитория команда будет выглядеть следующим образом.
где, ppa:atareao/telegram – это PPA-репозиторий для установки программы Telegram.
Более подробно про то, как добавлять и удалять репозитории в Linux, я расскажу в следующих материалах. Поэтому следите за выходом новых статей в моих группах в социальных сетях: ВКонтакте, Facebook, Одноклассники, Twitter и Tumblr. Подписывайтесь, и Вы не пропустите выход нового материала!
На сегодня это все, надеюсь, материал был Вам полезен и интересен, удачи Вам, пока!
Источник
Что такое репозитории? Как их включать и отключать
В этой статье рассказывается о таких репозиториях как: Universe, Multiverse и других в Ubuntu. О том, как их включить или отключить.
Итак, вы пытаетесь следовать учебнику из интернета и устанавливаете программное обеспечение с помощью команды apt, apt-get и оно выдает ошибку:
E: Unable to locate package xyz
Вы удивлены, потому что другие пакеты должны быть доступны. Вы выполняете поиск в Интернете и сталкиваетесь с решением, для которого вам нужно включить репозиторий Universe или Multiverse для установки этого пакета.
Вы можете включить Universe и Multiverse репозитории в Ubuntu, используя следующие команды:
sudo add-apt-repository universe multiverse
sudo apt update
Вы установили Universe и Multiverse хранилище, но знаете ли вы, что это за хранилища? Как они играют роль в установке пакетов? Почему есть несколько репозиториев?
Я объясню все это более подробно.
Концепция репозиториев в Ubuntu
Итак, вы уже знаете, что для установки программного обеспечения в Ubuntu вы можете использовать команду apt. Это тот же диспетчер пакетов APT, который используется под Ubuntu Software Center. Таким образом, все программное обеспечение (кроме пакетов Snap), которое вы видите в Центре программного обеспечения, в основном от APT.
Вы когда-нибудь задумывались, откуда программа apt устанавливает программы? Как он узнает, какие пакеты доступны, а какие нет?
Apt в основном работает на хранилище. Хранилище – это не что иное, как сервер, содержащий набор программного обеспечения. Ubuntu предоставляет набор репозиториев, так что вам не придется искать в Интернете установочный файл различного программного обеспечения, которое вам нужно. Этот централизованный способ предоставления программного обеспечения является одним из основных преимуществ использования Linux.
Менеджер пакетов APT получает информацию о репозитории из файла /etc/apt/sources.list и файлов, перечисленных в каталоге /etc/apt/sources.list.d. Информация о репозитории обычно представлена в следующем формате:
deb http://us.archive.ubuntu.com/ubuntu/ bionic main
Фактически, вы можете перейти по указанному выше адресу сервера и посмотреть как устроен репозиторий.
Когда вы обновляете Ubuntu с помощью команды apt update, менеджер пакетов apt получает информацию о доступных пакетах (и их версии) из репозиториев и сохраняет их в локальном кэше. Вы можете увидеть это в каталоге /var/lib/apt/lists.
Хранение этой информации локально ускоряет процесс поиска, потому что вам не нужно проходить через сеть и искать в базе данных доступных пакетов, просто чтобы проверить, доступен ли определенный пакет или нет.
Теперь вы знаете, как хранилища играют важную роль, давайте посмотрим, почему в Ubuntu есть несколько хранилищ.
Репозитории Ubuntu: Main, Universe, Multiverse, Restricted и Partner
Программное обеспечение в репозитории Ubuntu подразделяется на пять категорий: Main, Universe, Multiverse, Restricted и Partner.
Почему Ubuntu это делает? Почему бы не поместить все программное обеспечение в один репозиторий? Чтобы ответить на этот вопрос, давайте посмотрим, что это за репозитории:
Main – Основной
Когда вы устанавливаете Ubuntu, это хранилище включается по умолчанию. Основной репозиторий состоит только из FOSS (бесплатное программное обеспечение с открытым исходным кодом), которое может распространяться свободно без каких-либо ограничений.
Программное обеспечение в этом хранилище полностью поддерживается разработчиками Ubuntu. Это то, что Ubuntu будет предоставлять обновления безопасности, пока ваша система не достигнет конца срока службы.
Universe – Универсальный
Этот репозиторий также состоит из бесплатного программного обеспечения с открытым исходным кодом, но Ubuntu не гарантирует регулярные обновления безопасности для программного обеспечения в этой категории.
Программное обеспечение в этой категории упаковано и поддерживается сообществом. В репозитории Universe имеется огромное количество программного обеспечения с открытым исходным кодом, что позволяет вам иметь доступ к огромному количеству программного обеспечения через менеджер пакетов apt.
Multiverse – Мультиуниверсальный
Multiverse содержит программное обеспечение, которое не является FOSS. Из-за лицензионных и юридических проблем Ubuntu не может включить этот репозиторий по умолчанию и не может предоставлять исправления и обновления.
Вам решать, хотите ли вы использовать Multiverse репозиторий и проверить, имеете ли вы право на использование программного обеспечения.
Restricted – Ограниченный
Ubuntu старается предоставлять только бесплатное программное обеспечение с открытым исходным кодом, но это не всегда возможно, особенно когда речь идет о поддержке аппаратного обеспечения.
Ограниченные репозитории состоят из проприетарных драйверов.
Partner – Партнерский
Этот репозиторий состоит из проприетарного программного обеспечения, упакованного Ubuntu для их партнеров. Ранее Ubuntu предоставляла Skype через этот репозиторий.
Сторонние репозитории и PPA (не предоставляются Ubuntu)
Вышеупомянутые пять репозиториев предоставлены Ubuntu. Вы также можете добавить сторонние репозитории (это зависит от вас, если вы хотите это сделать), чтобы получить доступ к большему количеству программного обеспечения или к более новой версии программного обеспечения (так как Ubuntu может предоставить старую версию того же программного обеспечения).
Например, если вы добавите репозиторий, предоставленный VirtualBox, вы можете получить последнюю версию VurtualBox. Это добавит новую запись в ваш sources.list.
Вы также можете установить дополнительное приложение, используя PPA (Personal Package Archive).
Совет. Попробуйте НЕ добавлять ничего, кроме репозиториев Ubuntu, в свой файл sources.list. Вы должны держать этот файл в идеальном состоянии, потому что, если вы испортите его, вы не сможете обновить свою систему или (иногда) даже установить новые пакеты.
Добавить Universe, Multiverse и другие репозитории
Как я упоминал ранее, только основной репозиторий включается по умолчанию при установке Ubuntu. Чтобы получить доступ к большему количеству программного обеспечения, вы можете добавить дополнительные репозитории.
Позвольте мне сначала показать вам, как это сделать в командной строке, а затем я покажу вам и способы GUI.
Чтобы включить репозиторий Universe, используйте:
sudo add-apt-repository universe
Чтобы включить ограниченный репозиторий, используйте:
sudo add-apt-repository restricted
Чтобы включить хранилище Multiverse, используйте эту команду:
sudo add-apt-repository multiverse
Вы должны использовать команду sudo apt update после добавления репозитория, чтобы ваша система создала локальный кеш с информацией о пакете.
Если вы хотите удалить репозиторий, просто добавьте -r , например:
sudo add-apt-repository -r universe
Графически, перейдите на страницу Software & Updates, и вы можете включить репозитории здесь:
Добавление репозиториев Universe, Restricted и Multiverse в Ubuntu 19.04
На вкладке Другое программное обеспечение вы найдете возможность включить репозиторий партнера.
Добавление партнерского репозитория в Ubuntu 19.04
Чтобы отключить хранилище, просто снимите флажок.
Бонусный совет: Как узнать, к какому репозиторию принадлежит пакет?
Ubuntu имеет специальный веб-сайт, который предоставляет вам информацию обо всех пакетах, доступных в архиве Ubuntu. Перейдите на веб-сайт поиска пакетов в Ubuntu – Ubuntu Packages.
Вы можете искать имя пакета в поле поиска. Вы можете выбрать, ищете ли вы конкретный выпуск Ubuntu или определенный репозиторий. Я предпочитаю использовать любой вариант в обоих полях.
Он покажет вам все соответствующие пакеты, выпуски Ubuntu и информацию о репозитории.
Как вы можете видеть выше, пакет vlc доступен в репозитории Universe для различных выпусков Ubuntu.
Заключение
Я надеюсь, что эта статья помогла вам понять концепцию репозиториев в Ubuntu.
Если у вас есть какие-либо вопросы или предложения, пожалуйста, не стесняйтесь оставлять комментарии ниже.
Источник