Как добавить репозиторий в linux?

Добавление репозитория из терминала Debian

Вы можете добавить репозиторий пакетов в Debian двумя способами из командной консоли: вручную или с помощью apt. Информация о репозитории пакетов хранится в названном файле . А также может храниться в любом файле внутри каталога .

Добавления репозитория вручную

Чтобы добавить репозиторий вручную, вам нужно отредактировать файл со списком /etc/apt/sources. Записи в этом файле имеют следующий синтаксис:

Archive Type — Первым словом строки может быть или . Deb указывает, что в архиве хранятся пакеты .deb, а deb-src указывает, что в архиве есть исходные пакеты.

Repository URL  — Эта запись является URL адресом репозитория, из которого должен будет загружен пакет.

Distribution — это может быть либо кодовое имя выпуска, псевдоним (например, «bullseye«), либо класс выпуска (oldstable, stable, testing, unstable) соответственно.

Component —  может быть main, contrib или non-free. Разберем все по порядку:

  • содержит пакет, совместимый с DFSG, часть дистрибутива Debian.
  • содержит пакет, совместимый с DFSG, который имеет зависимости, отсутствующие в .
  • Содержит пакеты, которые не соответствуют требованиям DFSG.

Давайте например добавим репозиторий VirtualBox в Debian Bullseye. Сначала откройте файл списка для редактирования /etc/apt/sources.

Теперь вы можете добавить строку репозитория пакетов.

Ниже показан файл /etc/apt/sources из моей системы Debian 11. Он содержит часть официального репозитория Debian, который был добавлен во время установки Debian. Здесь же вы можете наблюдать недавно добавленный репозиторий.

Добавления репозитория вручную в Debian 11

После добавления репозитория apt не забудьте обновить индекс пакета. Делается это всеми известной командой

Добавление репозитория с помощью add-apt-repository

add-apt-repository — это скрипт на Python, используемый для добавления репозитория APT или PPA. Эта утилита входит в комплект поставки .

Синтаксис выглядит следующим образом:

Например, вам нужно установить Docker из официального репозитория. Сначала обновите индекс пакета и установите все зависимости.

Импорт ключа GPG репозитория:

Теперь добавьте репозиторий Docker с помощью add-apt-repository:

Это добавит информацию о репозитории в файл etc/apt/sources.

Затем обновите индекс пакета, а далее можно установить пакет docker.

Чтобы удалить добавленное хранилище, введите:

add-apt-repository также позволяет добавлять репозиторий PPA. PPA означает личный архив пакетов, который позволяет разработчикам создавать свои собственные хранилища.

Например, чтобы добавить репозиторий PPA для libreoffice, введите:

После добавления PPA вы можете установить соответствующий пакет с помощью apt.

Adding Repositories

Adding the Universe and Multiverse Repositories

Additional software repositories such as can be enabled by uncommenting the corresponding apt lines (i.e. delete the ‘#’ at the beginning of the line). For Universe, uncomment those lines:

deb http://us.archive.ubuntu.com/ubuntu/ saucy universe
deb-src http://us.archive.ubuntu.com/ubuntu/ saucy universe
deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe

There are four similar lines for ‘multiverse’.

OR you may use the add-apt-repository command. If your release is ‘saucy’:

sudo add-apt-repository «deb http://us.archive.ubuntu.com/ubuntu/ saucy universe multiverse»
sudo add-apt-repository «deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe multiverse»

Depending on your location, you should replace ‘us.’ by another country code, referring to a mirror server in your region. Check sources.list to see what is used!

Type lsb_release -sc to find out your release. You may repeat the commands with «deb-src» instead of «deb» in order to install the source files.

Don’t forget to retrieve the updated package lists:

sudo apt-get update

Adding Partner Repositories

You can add the partner repositories by uncommenting the following lines in your /etc/apt/sources.list file:

deb http://archive.canonical.com/ubuntu saucy partner
deb-src http://archive.canonical.com/ubuntu saucy partner

Then update as before:

sudo apt-get update
Be aware that the software contained within this repository is NOT open source.

Adding Other Repositories

There are some reasons for which you might want to add non-Ubuntu repositories to your list of software sources. Caution: To avoid trouble with your sytem, only add repositories that are trustworthy and that are known to work on Ubuntu systems!

  • You can add custom software repositories by adding the apt repository line of your software source to the end of the sources.list file. It should look something like this:

    deb http://mirror3.ubuntulinux.nl/ hardy-seveas freenx
  • Don’t forget to make apt aware of your changes:
    sudo apt-get update

Adding Launchpad PPA Repositories

Adding Launchpad PPA (Personal Package Archive) is possible conveniently via the command: add-apt-repository. This command is similar to «addrepo» on Debian.

  • The command updates your sources.list file or adds/edits files under sources.list.d/. Type man add-apt-repository for detailed help.

  • If a public key is required and available it is automatically downloaded and registered.
  • Should be installed by default. On older or minimal Ubuntu releases, you may have to install software-properties-common and/or python-software-properties first (sudo apt-get install python-software-properties)

    sudo add-apt-repository ppa:<repository-name>

    Example: sudo add-apt-repository ppa:nhandler/ppa

Добавить Universe, Multiverse и другие репозитории

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

Позвольте мне сначала показать вам, как это сделать в командной строке, а затем я покажу вам и способы GUI.

Чтобы включить репозиторий Universe, используйте:

Чтобы включить ограниченный репозиторий, используйте:

Чтобы включить хранилище Multiverse, используйте эту команду:

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

Если вы хотите удалить репозиторий, просто добавьте , например:

Графически, перейдите на страницу Software & Updates, и вы можете включить репозитории здесь:

На вкладке Другое программное обеспечение вы найдете возможность включить репозиторий партнера.

Чтобы отключить хранилище, просто снимите флажок.

Использование графических утилит

В данном случае добавление репозиториев происходит далеко не так быстро, как в консоли. Но для новичков и малоопытных пользователей данный способ гораздо более прост и нагляден. В Ubuntu существуют различные менеджеры пакетов, такие как Muon (в основном для KDE), Synaptic (для любых окружений рабочего стола), а также стандартная графическая утилита «Программы и обновления» для окружения Unity. Все перечисленные инструменты объединяет наличие в главном меню пункта для настройки «Источников ПО» или «Другого ПО». Например, для Muon это выглядит так:

Рис. 2: Доступ к редактированию списка репозиториев в Muon для KDE

Редактирование списка репозиториев в Muon:

Рис. 3: Диалог для редактирования списка репозиториев в Muon.

То же самое, но с использованием Synaptic. Доступ к редактированию репозиториев осуществляется через меню «Настройки» и далее, пункт «Репозитории»:

Рис. 4: Диалог управления репозиториями в Synaptic.

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

Adding Extra Repositories

There are times when you might want to add extra repositories to your system’s software sources (that is, in addition to the repositories provided by Canonical). For example, there is at least one repository that «caters to the Ubuntu gamer».

Make sure that any repositories that you add have been tested and are known to work on Ubuntu systems. Repositories that are not designed to work with your version of Ubuntu can introduce inconsistencies in your system and might force you to re-install.

In order to add a repository you need its «location» and the «key command» (the command that will add the repository’s key to your system). For an explanation of the format of the «location», see the section below.

To add a repository to your system’s software sources:

  • Navigate to Ubuntu Software Centre > Edit > Software Sources > Other Software.

  • Click Add.

  • Enter the repository’s location.
  • Click Add Source.

  • Enter your password.
  • Click Authenticate.

  • Click Close.

  • If you are asked if you want to reload the information about available software, click Reload.

  • In a terminal enter the «key command».

You have now added the repository and can install packages from it.

Install updates from:

  • «Important security updates (…)». Updates that fix security vulnerabilities. They are managed by the Ubuntu Security Team and are designed to change the behavior of the package as little as possible — in fact, the minimum required to resolve the security problem. As a result, they tend to be very low-risk to apply and all users are urged to apply security updates.
  • «Recommended updates (…)». Updates for serious bugs other than security vulnerabilities.
  • «Unsupported updates (…)». New versions of packages which have been backported to an older release. Packages may contain new features, may introduce new interfaces, and bugs. Such updates are not supported by Canonical on the release they have been backported to but they have been tested by members of the Ubuntu community. For more information on backports, visit UbuntuBackports

Репозитории 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 через этот репозиторий.

Как добавить репозитории в Debian

Новички часто сталкиваются с проблемой, что после установки новой системы пакетный менеджер не может найти ни одного пакета. Это связано с тем, что по умолчанию основные репозитории Debian в систему не добавлены, там есть только репозитории из DVD дисков с помощью которых вы устанавливали систему. Эта проблема очень просто решается. Системные репозитории находятся в файле /etc/apt/sources.list. Давайте сначала посмотрим на содержимое этого файла по умолчанию:

Синтаксис строки репозитория такой:

тип адрес дистрибутив ветка_1 ветка_2

Типов репозиториев может быть два. Это deb и deb-src. Первый — для бинарных файлов, второй — для файлов исходных кодов. Дистрибутив указывает кодовое имя дистрибутива, например, для Debian 10 — это buster, для девятой версии stretch. Для стабильных обновлений есть еще один репозиторий, где вместе с кодовым именем дистрибутива указывается слово updates, например: buster-updates.

Веток есть всего три, вот они:

  • main — полностью свободные пакеты, это основа дистрибутива Debian;
  • contrib — свободные пакеты, которые могут зависеть от несвободных;
  • non-free — все остальные несвободные пакеты.

Основы разобрали, теперь давайте посмотрим как добавить репозитории.

1. Файл /etc/apt/sources.list

Именно в этот файл репозиториев Debian надо добавлять системные репозитории. Чтобы получить доступ ко всем системным пакетам надо добавить репозиторий stable, со стабильной версией Debian, и репозиторий стабильных обновлений. Вот так будут выглядеть их строчки:

Просто добавьте их в конец файла /etc/apt/sources.list. Вы уже знаете какая часть за что отвечает и сможете разобраться. Если вы захотите добавить репозиторий Backports или Testing, то вам тоже следует использовать этот файл.

2. Папка /etc/apt/sources.list.d/

Сторонние репозитории тоже можно добавить в основной системный файл, но этого делать не следует, чтобы не засорять его лишними строками. Для сторонних репозиториев была придумана директория /etc/apt/sources.list.d/. В ней надо создать файл с именем репозитория и расширением .list, а затем добавить в неё репозиторий, как это делалось с основным конфигурационным файлом. Например, для браузера Chrome:

Касательно сторонних репозиториев, есть ещё один момент. По умолчанию система не может им доверять, и для того чтобы это исправить нужно импортировать ключ репозитория. Обычно ключи можно найти на сайте, где вы нашли сам репозиторий, для того же Google Chrome ключ можно импортировать командой:

После добавления репозитория, прежде чем вы сможете установить пакет, необходимо обновить списки пакетов. Для этого выполните:

3. Команда apt-add-repository

Эта команда делает то же самое, что мы делали вручную на первом шаге. Она добавляет репозиторий в /etc/apt/sources.list. Отлично подходит для добавления системных репозиториев. Для сторонних репозиториев её можно использовать не всегда, поскольку она добавляет кодовое имя дистрибутива в строку репозитория, а это может её сломать, если владельцами репозитория такое явно не было задумано. Например, с помощью этой команды вы можете добавить testing репозиторий:

А потом удалить, если он больше не нужен:

Installing the add-repository Package

The solution here is really simple. All you have to do is to install the package called “add-repository” in your Ubuntu or Linux Mint system. Here’s how to do it:

  1. Open up a Terminal.
  2. Afterward, enter the following commands:
    sudo apt update && sudo apt-upgrade
    sudo apt install add-repository
    Or
    sudo apt update && sudo apt-upgrade
    sudo apt-get install add-repository
  3. If you get the error that “add-repository package not found”, then you might have outdated mirrors on your system and you need to fix them first.
  4. The best way to do it on Ubuntu (versions above 12.04) is to run the following command from the terminal:
    sudo software-properties-gtk
  5. A window of software settings and sources will open. There you need to change the download server location which is found on the Software tab (first tab) and select the best server.
  6. To do that, click on the Download from the drop-down menu and select “Other”.
  7. Then, you need to click on “Select Best Server”. Now, Ubuntu will take some time choosing the best and updated mirror for you. After that, you can exit the software.
  8. There you are, your mirrors should have been fixed by doing that.
  9. Finally, you need to run the above commands again and hopefully, you will be able to install the “add-repository” package.
  10. After it is installed, you won’t get the error “add-repository command not found” anymore.

Подходящие источники

В Ubuntu и всех других дистрибутивах на основе Debian программные репозитории apt определяются в файле /etc/apt/sources.list или в отдельных файлах в каталоге /etc/apt/sources.list.d/.

Имена файлов репозитория внутри каталога /etc/apt/sources.list.d/ должны заканчиваться на .list.

Общий синтаксис файла /etc/apt/sources.list принимает следующий формат:

deb http://repo.tld/ubuntu distro component...
  • Первая запись в строке определяет тип архива. Тип архива может быть как deb, таки deb-src. Deb подразумевает, что репозиторий содержит .debпакеты, а deb-src подразумевает пакеты с исходным кодом.
  • Вторая запись – это URL хранилища.
  • Третья запись указывает кодовое имя дистрибутива, например beaver, xenial и так далее.
  • Последние записи являются компонентами или категориями репозитория. Репозитории Ubuntu по умолчанию разделены на четыре компонента – основной, ограниченный, юниверс и мультиверс. Как правило, сторонние репозитории имеют только одну категорию.

Формат файлов в каталоге  /etc/apt/sources.list.d/ такой же, как и для обычного файла sources.list.

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

Чтобы иметь возможность добавить или удалить хранилище, вы должны войти в систему как пользователь с доступом sudo или root.

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

Какие бывают репозитории в Linux?

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

Обычно у дистрибутива несколько официальных репозиториев, в каждом из которых хранятся пакеты, в зависимости от определенных свойств, так, например, в Ubuntu есть следующие типы официальных репозиториев:

  • Main – здесь расположено основное, полностью бесплатное программное обеспечение;
  • Restricted – проприетарное программное обеспечение, официально поддерживаемое дистрибутивом;
  • Universe – бесплатное программное обеспечение, официально поддерживаемое сообществом дистрибутива;
  • Multiverse – проприетарное программное обеспечение, не поддерживаемое дистрибутивом.

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

Например, дополнительные репозитории в Ubuntu и основанных на нем дистрибутивах называются PPA-репозитории.

Установка файлов deb из командной строки

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

Установка файлов deb с помощью

— это утилита командной строки для установки, обновления, удаления и иного управления пакетами deb в Ubuntu, Debian и связанных дистрибутивах Linux. Он был представлен в Ubuntu 14.04 и сочетает в себе наиболее часто используемые команды из и .

Чтобы установить локальные пакеты deb с помощью вам необходимо указать полный путь к файлу deb. Если файл находится в вашем текущем рабочем каталоге, вместо того, чтобы вводить абсолютный путь, вы можете добавить перед именем пакета. В противном случае попытается получить и установить пакет из репозиториев Ubuntu.

Вам будет предложено ввести чтобы продолжить:

Менеджер пакетов разрешит и установит все зависимости пакетов.

Установка файлов deb с помощью

— это инструмент для установки локальных пакетов deb. По умолчанию он не установлен в Ubuntu, но вы можете установить его с помощью следующей команды:

Чтобы установить пакет deb с помощью введите:

При появлении запроса и разрешит и установит пакет deb и все его зависимости за вас.

Установка файлов deb с помощью

— это низкоуровневый менеджер пакетов для систем на базе Debian. Используйте параметр (или ) для установки пакетов deb с .

В отличие от и , не разрешает зависимости. Если при установке пакетов deb вы получаете какие-либо ошибки зависимостей, вы можете использовать следующую команду для разрешения и установки всех зависимостей пакетов:

Sources List Generator (генератор списка репозиториев)

В интернете есть сервисы, которые автоматически формируют sources.list на основе ваших потребностей. Вы можете использовать как свой генератор, так и воспользоваться готовым.

Пример такого генератора, который вы можете установить себе и настроить для использования — debgen. Исходники раньше были на github, но потом пропали. А вот его готовая реализация с наполнением — https://debgen.simplylinux.ch/.

Я не знаю, кто ведет подобные List Generator и можно ли им доверять. Всегда проверяйте список репозиториев, который будет сгенерирован для вас. По сути, это обычный текстовый файл, который вы скопируете себе.

К примеру, я указал в List Generator, что мне надо подготовить список репозиториев со следующими параметрами:

  1. Репозиторий Stable
  2. Ветка main (просто отключил ветки contrib и non-free)
  3. Mirror — Russia
  4. Включить репозитории Security и Updates
  5. Добавить repo для софта — Docker, MariaDB, Nginx, NodeJS, Php, Webmin

В итоге получил вот такой sources.list

#------------------------------------------------------------------------------#
#                   OFFICIAL DEBIAN REPOS                    
#------------------------------------------------------------------------------#

###### Debian Main Repos
deb http://ftp.ru.debian.org/debian/ stable main

deb http://ftp.ru.debian.org/debian/ stable-updates main

deb http://security.debian.org/ stable-security main

#------------------------------------------------------------------------------#
#                      UNOFFICIAL  REPOS                       
#------------------------------------------------------------------------------#

###### 3rd Party Binary Repos
###Docker CE
deb  https://download.docker.com/linux/debian bullseye stable

###MariaDB
deb  http://mirror.23media.de/mariadb/repo/10.6/debian bullseye main
deb-src  http://mirror.23media.de/mariadb/repo/10.6/debian bullseye main

###nginx
deb  http://nginx.org/packages/debian/ bullseye nginx
deb-src  http://nginx.org/packages/debian/ bullseye nginx

###NodeJs
deb https://deb.nodesource.com/node_12.x bullseye main
deb-src https://deb.nodesource.com/node_12.x bullseye main

###PHP
deb https://packages.sury.org/php/ bullseye main

###Webmin
deb http://download.webmin.com/download/repository sarge contrib

К нему еще список gpg ключей для импорта. В принципе, к списку у меня претензий нет. Все по делу. Нужно только проверить php и mariadb repository. Мне предложенные не знакомы.

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

Добавление репозиториев вручную

Если вы хотите лучше контролировать организацию ваших источников, вы можете вручную отредактировать файл /etc/apt/sources.list и добавить в него строку хранилища apt.

Для демонстрации мы включим репозиторий CouchDB и установим программное обеспечение. CouchDB – это бесплатная отказоустойчивая база данных NoSQL с открытым исходным кодом, поддерживаемая Apache Software Foundation.

Чтобы добавить репозиторий, откройте файл sources.list в текстовом редакторе :

Добавьте строку хранилища в конец файла:

Вместо того, чтобы редактировать файл в текстовом редакторе, вы можете использовать следующую команду для добавления строки репозитория к файлу sources.list:

$(lsb_release -cs) напечатает кодовое имя Ubuntu. Например, если у вас Ubuntu версии 18.04, команда напечатает bionic.

Другой вариант – создать новый файл репозитория в каталоге /etc/apt/sources.list.d/.

При ручной настройке хранилища вам также необходимо вручную импортировать открытый ключ хранилища в вашу систему. Для этого можно использовать либо wget или curl:

Команда выше должна вывести OK, что означает, что ключ GPG был успешно импортирован, и пакеты из этого хранилища будут считаться доверенными.

Перед установкой пакетов из недавно добавленного репозитория вы должны обновить индекс пакетов:

После обновления индекса пакета вы можете установить пакеты из недавно добавленного репозитория:

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

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