Эта подробная статья расскажет вам о различных репозиториях, таких какuniverse, multiverse в Ubuntu и о том, как включить или отключить их.
Итак, вы пытаетесь по учебнику из Интернета устанаовить программное обеспечение с помощью команды apt-get, и оно выдает ошибку:
E: Unable to locate package xyz
Вы удивлены, потому что другие пакеты должны быть доступны.
Вы выполняете поиск в Интернете и сталкиваетесь с решением, для которого вам нужно включить репозиторий Universe или Multiverse для установки этого пакета.
Вы можете включить эти репозитории в Ubuntu, используя следующие команды:
sudo add-apt-repository universe multiverse sudo apt update
Вы установили их, но знаете ли вы, что это за хранилища?
Какую они играют роль в установке пакетов? Почему есть несколько репозиториев?
Я объясню все эти вопросы.
Концепция репозиториев в Ubuntu
Итак, вы уже знаете, что для установки программного обеспечения в Ubuntu вы можете использовать команду apt.
Это тот же менеджер пакетов APT, который Ubuntu Software Center использует для установки программ.
Таким образом, все программное обеспечение (кроме пакетов Snap), которое вы видите в Центре программного обеспечения, в основном от 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: 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 не может включить этот репозиторий по умолчанию и не может предоставлять исправления и обновления.
Вам решать, хотите ли вы использовать этот репозиторий и проверить, имеете ли вы право на использование программного обеспечения.
Restricted
Ubuntu старается предоставлять только бесплатное программное обеспечение с открытым исходным кодом, но это не всегда возможно, особенно когда речь идет о поддержке аппаратного обеспечения.
Ограниченные репозитории состоят из проприетарных драйверов.
Partner
Сторонние репозитории и PPA (не предоставляются Ubuntu)
Вышеупомянутые пять репозиториев предоставлены Ubuntu.
Вы также можете добавить сторонние репозитории (это зависит от вас), чтобы получить доступ к большему количеству программного обеспечения или к более новой версии программного обеспечения (так как Ubuntu может предоставить старую версию того же программного обеспечения).
Например, если вы добавите репозиторий, предоставленный VirtualBox, вы можете получить последнюю версию.
Это добавит новую запись в ваш sources.list.
Вы также можете установить дополнительное приложение, используя PPA (Personal Package Archive).
Попробуйте НЕ добавлять ничего, кроме репозиториев Ubuntu, в свой файл sources.list. Вы должны держать этот файл в идеальном состоянии, потому что, если вы испортите его, вы не сможете обновить свою систему или (иногда) даже установить новые пакеты.
Добавление Universe, Multiverse и других репозиториев
Как я упоминал ранее, только репозиторий main включается по умолчанию при установке Ubuntu.
Чтобы получить доступ к большему количеству программного обеспечения, вы можете добавить дополнительные репозитории.
Позвольте мне сначала показать вам, как это сделать в командной строке, а затем я покажу вам и способы GUI.
Чтобы включить репозиторий Universe, используйте:
sudo add-apt-repository universe
Чтобы включить репозиторий Restricted, используйте:
sudo add-apt-repository restricted
Чтобы включить репозиторий Multiverse, используйте эту команду:
sudo add-apt-repository multiverse
Вы должны использовать команду sudo apt update после добавления репозитория, чтобы ваша система создала локальный кеш с информацией о пакетах.
Если вы хотите удалить репозиторий, просто добавьте -r, т.е. sudo add-apt-repository -r universe.
Графически, перейдите на страницу Программы и обновления и вы можете включить репозитории здесь:
На вкладке Другое программное обеспечение вы найдете возможность включить репозиторий партнера.
Чтобы отключить репозиторий, просто снимите флажок.