Концепция установки программного обеспечения в Linux очень сильно отличается от Windows. Здесь тоже можно скачать программу на просторах интернета и просто запустить, ничего не устанавливая, но никто так не делает. Программы устанавливаются из надежных источников - официальных репозиториев поддерживаемых и обновляемых разработчиками дистрибутива или сообществом пользователей. Если в двух словах, то репозитории - это такие большие сборники программ, в котором они хранятся в специальном формате и могут быть автоматически скачены и установлены менеджером пакетов.
В одной из своих предыдущих статей я рассмотрел список полезных репозиториев для Ubuntu. В этой статье мы рассмотрим репозитории в Ubuntu более глобально, будет рассмотрена настройка репозиториев Ubuntu, поговорим какими они бывают, где хранятся, как добавлять и удалять репозитории.
Содержание статьи
Репозитории в Ubuntu
В основном репозитории Ubuntu можно поделить на два типа - официальные и репозитории сторонних разработчиков. В официальных репозиториях находятся только стабильные программы, причем их версии не будут обновляться, они могут получать только обновления безопасности. Сторонние репозитории ubuntu могут создаваться кем угодно и их автор может обновлять и добавлять программное обеспечение в репозиторий когда нужно. PPA репозитории Ubuntu созданы с целью упростить процесс создания сторонних репозиториев.
Каждый репозиторий поддерживает несколько веток. Первая группа веток - это версия дистрибутива. Для каждой версии дистрибутива - отдельное программное обеспечение.
Вторая группа веток более интересная. Дело в том что в Ubuntu есть несколько веток для различного рода программного обеспечения:
- Main - основная ветка - стабильное официально поддерживаемое Canonical ПО
- Restricted - официально поддерживаемое ПО распространяемое не под лицензией GPL
- Universe - программы, поддерживаемые сообществом Ubuntu
- Multiverse - ветка проприетарного программного обеспечения
Такой структуры придерживаются официальные репозитории, сторонние ppa могут же иметь другую структуру или просто ветку main.
Также репозитории можно поделить еще на два типа - репозитории с бинарными файлами - готовыми собранными пакетами, и репозитории исходного кода, откуда можно скачать исходный код программ и собрать его на своем компьютере.
Настройка репозиториев в Ubuntu
Настройки репозиториев Ubuntu находятся в нескольких файлах в каталоге /etc/apt.
Все официальные репозитории записываются в файл репозиториев Ubuntu - /etc/apt/sources.list. Для каждого PPA репозитория создается отдельный файл в каталоге /etc/apt/sources.list.d/*
Таким образом, вы уже знаете как примитивным способом посмотреть список репозиториев в Ubuntu. По сути, уже можно открыть этот файл и добавить репозиторий Ubuntu прямо туда в конец файла, но для таких действий в системе есть специальные инструменты и далее мы их рассмотрим.
Настройка репозиториев в GUI
Управление репозиториями можно осуществлять с помощью утилиты настроек системы. Запустите Настройки системы, затем откройте Программы и обновления или сразу же запустите Программы и обновления из меню Dash:
На первой вкладке вы можете включить или отключить ветки официальных репозиториев (main, restricted ...), а также выбрать ближайшее к вам зеркало:
Для добавления репозитория в Ubuntu перейдите на вкладку другое ПО на этой вкладке вы можете видеть весь список репозиториев Ubuntu которые были подключены к системе:
Чтобы иметь доступ к дополнительным программам рекомендуется подключить сторонний репозиторий партнеров Canonical. Для этого просто поставьте напротив него галочку.
Для добавления репозитория Ubuntu нажмите кнопку Добавить:
Здесь в единственном поле нужно ввести apt строку репозитория и нажать кнопку добавить источник.
Apt строка репозитория имеет такой синтаксис:
deb http://адрес_репозитория версия_дистрибутива ветки
Например:
Первая строка - официальный репозиторий, вторая - PPA репозиторий ubuntu. Как видите, выглядят они одинаково. С версией дистрибутива все понятно, это кодовое имя, с веткой тоже - это main. А вот где брать адрес? Это уже ваше дело, вы можете искать репозитории где угодно, на форумах, в поисковых системах или в нашей статье, где собран список лучших репозиториев.
Установка репозитория Ubuntu завершена и он появился в списке. Чтобы его отключить достаточно просто снять галочку. А чтобы удалить репозиторий Ubuntu нажмите кнопку удалить:
Для сторонних репозиториев необходимо импортировать GPG ключ для правильной работы в системе, если ключ не добавить, то во время обновления репозиториев Ubuntu apt выдаст ошибку проверки подписи. Это делается, чтобы никто не мог подменить пакеты и вы не установили вирусов. Перейдите на вкладку Аутентификация, затем выберите импортировать ключ из файла:
Как правило, в описании репозитория, если для него требуется ключ, указана ссылка где его можно скачать. Скачать ключ можно с помощью браузера, или консольной утилитой wget, например:
wget http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0xFC6D7D9D009ED615
Удалять ключи также можно кнопкой удалить:
Если вы запутались и не знаете как вернуть состояние по умолчанию можно просто нажать кнопку восстановить чтобы восстановить репозитории Ubuntu:
Если были добавлены новые репозитории, при выходе программа предложит выполнить обновление репозиториев Ubuntu, это нужно чтобы загрузить списки пакетов из только что подключенных источников. Также обновление можно выполнить через терминал, но об этом ниже.
Настройка репозиториев Ubuntu PPA
PPA репозитории Ubuntu находятся на сайте, созданном Canonical - launchpad.net. Ubuntu способна автоматически различать, находить apt строку и скачивать GPG ключи для таких репозиториев. Достаточно указать адрес ppa вместо apt сроки при добавлении репозитория в Ubuntu, например:
На самом деле PPA репозитории такие, же как и обычные репозитории. Если вы хотите добавить репозиторий вручную, вы можете узнать apt строку и ключ, раскрыв спойлер Technical details about this PPA на странице описания репозитория:
Теперь его можно добавить в систему, так же как описано выше.
Добавление репозиториев в Ubuntu из терминала
Во многих инструкциях мы видим команды для подключения репозитория в Ubuntu через терминал. Действительно, это немного удобнее чем запускать утилиту, загружать ключи и делать все мышкой. Чтобы добавить репозиторий Ubuntu через терминал используйте команду: apt-add-repository:
sudo apt-add-repository "deb http://ppa.launchpad.net/shutter/ppa/ubuntu wily main"
В кавычках указана apt строка репозитория. Также можно просто добавить строчку в /etc/apt/sources.list:
echo "deb http://ppa.launchpad.net/shutter/ppa/ubuntu wily main" >> /etc/apt/sources.list
Для добавления ключей безопасности GPG существует команда apt-key. Вы можете добавить ключ из файла, или скачать ключ с помощью curl и перенаправить ее вывод и apt-key:
curl -L http://debian.datastax.com/debian/repo_key | sudo apt-key add
Добавить репозиторий в Ubuntu через терминал намного проще чем в графическом интерфейсе.
Как удалить репозиторий в Ubuntu
Удалить репозиторий Ubuntu через терминал можно той же командой с опцией --remove:
sudo apt-add-repository --remove "deb http://ppa.launchpad.net/shutter/ppa/ubuntu wily main"
Или же просто закомментировать deb строку в файле /etc/apt/sources.list или в одном из файлов /etc/apt/sources.list.d/*.
Добавление репозитория PPA в Ubuntu
Добавить репозиторий PPA в Ubuntu можно той же командой. Как я уже говорил система автоматически распознает репозиторий и скачает нужные ключи. Формат записи такой:
sudo apt-add-repository ppa:репозиторий/ppa
Например:
sudo apt-add-repository ppa:shutter/ppa
Как удалить репозиторий PPA в Ubuntu
Удалить репозиторий в Ubuntu можно такой же командой, как и в предыдущем примере:
sudo add-apt-repository --remove ppa:репозиторий/ppa
Полностью удалить PPA из системы можно командой:
sudo ppa-purge ppa:репозиторий/ppa
Возможно, утилиту ppa-purge необходимо будет установить командой:
sudo apt-get install ppa-purge
После настройки репозиториев Ubuntu не забывайте обновить списки пакетов, чтобы скачать метаданные новых репозиториев на компьютер и apt смогла с ними работать. Для этого выполните команду:
sudo apt-get update
Выводы
Вот и все, настройка репозиториев в Ubuntu завершена. Вы узнали все возможные методы и теперь любая команда подключения репозитория Ubuntu не вызовет у вас недоумения. Теперь вы знаете все что нужно чтобы правильно использовать репозитории в вашей системе. Только будьте осторожны, не переусердствуйте со сторонними репозиториями из-за них могут возникнуть проблемы с обновлением. И вообще, это не очень хороший тон, иметь в системе много репозиториев. Если у вас остались вопросы, задавайте в комментариях!
А почему в официальных репозиториях не обновляют софт? Для меня, как человека только пришедшего в линукс (2 месяца только) вся эта возня с репозиториями сущий ад. Всё настолько завязано на интернет, что win/mac способ распространения дистрибутивов программ кажется наиболее логичным.
Такая концепция, в официальных репозиториях Ubuntu только стабильный софт добавленный и хорошо протестированный во время подготовки к релизу дистрибутива. Но есть много дистрибутивов, которые работают немного по другому, обновляя софт по мере выхода новых версий тот же ArchLinux или OpenSUSE.
Понятно, спасибо за ответ. Хочу попросить сделать статью о том, как можно внедрить программы по выбору в Live дистрибутив Ubuntu, чтобы всегда их иметь с собой и при необходимости установить на любой компьютер с тем набором софта, который нужен. Думаю подобная статья многим будет интересна.
Да, думаю сделаю чуть позже такую статью.
sudo apt-add-repository --repository "deb http://ppa.launchpad.net/shutter/ppa/ubuntu wily main"
В строке где после apt-add-repository. нужно написать --remove, а не --repository, или я не прав?
Да, опечатка. И можно просто через ppa:имя
"Здесь тоже можно скачать программу на просторах интернета и просто запустить, ничего не устанавливая, но никто так не делает"
Не надо говорить за всех.
"Никто так не делает. Программы устанавливаются из надежных источников - официальных репозиториев"
Будем говорить откровенно, под Linux не то что в официальных репозиториях, но и на просторах интернета нужного софта кот наплакал. Факт. Поэтому ограничиваться только официальными источниками глупо.
Будем говорить откровенно - так и говорите откровенно, а не откровенно врите )))
Безопасно ли использовать зеркала репозиториев, а не основной репозиторий?
При поих как пытке установки репозитариев, так GNUSH, Lightspark, Swfdec, не смогли подтвердить источник.
Так как источник непроверенный решено было не загружать данные пакеты. Напрямую на UBUNTU.RU войти мы не можем, чтобы скачать эти обновления.
Так как компьютер старый. Подскажите пожалуйста как быть в данной ситуации? Спасибо!
После попытки установить браузер Pale moon в Debian 11 (на сайте браузера есть инструкчия как его устанавливать) браузер не установился, а в терминале, при обновлении вылазит W: Ошибка GPG: http://download.opensuse.org/repositories/home:/stevenpusser/Debian_10 InRelease: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 0FAD31CA8719FCE4 .
Как это исправить???
Добавьте, пожалуйста в статью, более подробное описание веток.
Можно ли версии писать цифрами? И какие версии можно указывать.
Эти моменты довольно плохо везде освещают.
Например тут чуть больше информации: https://sysadminium.ru/adm_serv_linux-repositories/?ysclid=lal1jcysb8693199495
Ух уж это вся: Рогатая свобода!!!
Скажи мне какой у тебя репозиторий и я скажу, кто ты!!))
P.S. .... и да, хочу заметить: кнопка "ВОСТАНОВИТЬ" есть толко в этой минюхе - эт просто рубрика: no comments