Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:репозиторий [2012/06/04 17:27] ppa link |
wiki:репозиторий [2019/01/06 19:58] (текущий) [Защита репозиториев] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Репозитории ====== | ====== Репозитории ====== | ||
- | Программы и обновления в Ubuntu устанавливаются преимущественно из репозиториев. В данной статье объясняется, что такое репозиторий, зачем он нужен, как устроен и как пользоваться репозиториями и устанавливать из них программы. | + | Программы и обновления в [[Ubuntu]] устанавливаются преимущественно из репозиториев. В данной статье объясняется, что такое репозиторий, зачем он нужен, как устроен и как пользоваться репозиториями и устанавливать из них программы. |
===== Введение ===== | ===== Введение ===== | ||
Строка 9: | Строка 9: | ||
Большая часть ПО в Ubuntu запакована в специальные .deb файлы, в которых содержатся программы и необходимые библиотеки. Эти файлы Вы можете найти в интернете, на CD/DVD (например установочный СD Ubuntu содержит много .deb файлов). | Большая часть ПО в Ubuntu запакована в специальные .deb файлы, в которых содержатся программы и необходимые библиотеки. Эти файлы Вы можете найти в интернете, на CD/DVD (например установочный СD Ubuntu содержит много .deb файлов). | ||
- | Репозитории — это специальные сервера-хранилища таких файлов. Их также можно назвать "Источниками приложений". Пользовательские компьютеры подключаются к репозиториям по сети или через интернет и при помощи специальных утилит (таких как Synaptic) позволяют Вам увидеть, какие пакеты у Вас установлены, какие доступны для установки. Большинство утилит поддерживают простой поиск по ключевым словам и способны разбивать группы пакетов по категориям. | + | Репозитории -- это специальные сервера-хранилища таких файлов. Их также можно назвать "Источниками приложений". Пользовательские компьютеры подключаются к репозиториям по сети или через интернет и при помощи специальных утилит (таких как [[Synaptic]]) позволяют Вам увидеть, какие пакеты у Вас установлены, какие доступны для установки. Большинство утилит поддерживают простой поиск по ключевым словам и способны разбивать группы пакетов по категориям. |
Использование связки репозиторий-утилита позволяет использовать простой, централизованный метод установки/удаления программ, а также предоставляет удобный способ выкладывания обновлений. | Использование связки репозиторий-утилита позволяет использовать простой, централизованный метод установки/удаления программ, а также предоставляет удобный способ выкладывания обновлений. | ||
Строка 22: | Строка 22: | ||
- Исходим из того, что у Вас есть некая задача, которую должна решить некая программа, при этом Вы не знаете существует ли она вообще и если существует — как она называется. Вероятно Вы можете назвать программы-аналоги из других ОС. | - Исходим из того, что у Вас есть некая задача, которую должна решить некая программа, при этом Вы не знаете существует ли она вообще и если существует — как она называется. Вероятно Вы можете назвать программы-аналоги из других ОС. | ||
- При помощи интернет-поисковика (например Google) Вы можете найти различные варианты желаемой программы. Например набрав «[название программы в Windows] для Ubuntu». | - При помощи интернет-поисковика (например Google) Вы можете найти различные варианты желаемой программы. Например набрав «[название программы в Windows] для Ubuntu». | ||
- | - Как правило вы найдёте несколько названий программ (их может быть достаточно много — отобрать лучшие можно по отзывам пользователей), у большинства из которых есть собственная веб-страничка, на которой можно узнать дополнительные характеристики программы или посмотреть скриншоты. | + | - Как правило вы найдёте несколько названий программ (их может быть достаточно много -- отобрать лучшие можно по отзывам пользователей), у большинства из которых есть собственная веб-страничка, на которой можно узнать дополнительные характеристики программы или посмотреть скриншоты. |
- | - Определившись с программой, просто запустите [[Synaptic]] (или аналог) и поищите ее по названию. Скорее всего вы сможете её найти и установить. | + | - Определившись с программой, просто запустите //Центр приложений Ubuntu// и поищите ее по названию. Скорее всего вы сможете её найти и установить. |
- Так же возможно что разработчики поддерживают свой репозиторий с пакетами для вашей версии Ubuntu на [[ppa|launchpad.net]] или на своём сайте, обычно в подобных репозиториях содержатся более свежие версии программ, поэтому если вы хотите получить самую последнюю версию - внимательно посмотрите на сайт программы и воспользуйтесь поиском по [[https://launchpad.net/|launchpad.net]] | - Так же возможно что разработчики поддерживают свой репозиторий с пакетами для вашей версии Ubuntu на [[ppa|launchpad.net]] или на своём сайте, обычно в подобных репозиториях содержатся более свежие версии программ, поэтому если вы хотите получить самую последнюю версию - внимательно посмотрите на сайт программы и воспользуйтесь поиском по [[https://launchpad.net/|launchpad.net]] | ||
- И только если Вы не нашли нужную программу в репозиториях стоит пробовать другие пути установки. | - И только если Вы не нашли нужную программу в репозиториях стоит пробовать другие пути установки. | ||
Строка 36: | Строка 36: | ||
Пакеты распределяются по компонентам таким образом: | Пакеты распределяются по компонентам таким образом: | ||
- | * **Main** — свободное ПО, официально поддерживаемое компанией Canonical. | + | * **Main** -- свободное ПО, официально поддерживаемое компанией Canonical. |
- | * **Restricted** — проприетарное ПО (в основном — драйверы устройств), официально поддерживаемое компанией Canonical. | + | * **Restricted** -- проприетарное ПО (в основном — драйверы устройств), официально поддерживаемое компанией Canonical. |
- | * **Universe** — свободное ПО, официально не поддерживаемое компанией Canonical (но поддерживаемое сообществом пользователей). | + | * **Universe** -- свободное ПО, официально не поддерживаемое компанией Canonical (но поддерживаемое сообществом пользователей). |
- | * **Multiverse** — проприетарное ПО, не поддерживаемое компанией Canonical. | + | * **Multiverse** -- проприетарное ПО, не поддерживаемое компанией Canonical. |
Существует четыре основных репозитория Ubuntu. | Существует четыре основных репозитория Ubuntu. | ||
- | * **$release**((под $release понимается кодовое имя текущей версии Ubuntu, например для 9.04 это jaunty)) — это пакеты на момент выхода релиза. | + | * **$release**((под $release понимается кодовое имя текущей версии Ubuntu, например для 12.04 это Precise)) -- это пакеты на момент выхода релиза. |
- | * **$release-security** — пакеты критических обновлений безопасности. | + | * **$release-security** -- пакеты критических обновлений безопасности. |
- | * **$release-updates** — пакеты обновления системы (т.е. более поздние версии ПО, вышедшие уже после релиза). | + | * **$release-updates** -- пакеты обновления системы (т.е. более поздние версии ПО, вышедшие уже после релиза). |
- | * **$release-backports** — [[http://ru.wikipedia.org/wiki/Бэкпорт|бэкпорты]] более новых версий некоторого ПО, которое доступно только в нестабильных версиях Ubuntu. | + | * **$release-backports** -- [[wpru>Бэкпорт|бэкпорты]] более новых версий некоторого ПО, которое доступно только в нестабильных версиях Ubuntu. |
+ | * **partner** -- репозиторий содержищий ПО компаний-партнеров Canonical. | ||
- | Кроме официальных, существует множество репозиториев от авторов программ и от тех, кто не поленился собрать из исходников пакет и поделиться им с другими. [[http://launchpad.net |Launchpad]] предлагает создавать PPA-репозитории — Personal Package Archive, обычно небольшой репозиторий, в который его хозяин складывает исходники, а пользователи на выходе получают уже готовый deb-пакет. | + | Кроме официальных, существует множество репозиториев от авторов программ и от тех, кто не поленился собрать из исходников пакет и поделиться им с другими. [[http://launchpad.net |Launchpad]] предлагает создавать PPA-репозитории — [[ppa|Personal Package Archive]], обычно небольшой репозиторий, в который его хозяин складывает исходники, а пользователи на выходе получают уже готовый deb-пакет. |
===== Подключение репозитория ===== | ===== Подключение репозитория ===== | ||
Строка 54: | Строка 55: | ||
Репозитории Ubuntu содержат большое количество программ, однако существуют программы, отсутствующие в репозиториях Ubuntu, и возможно, Вы хотели бы их использовать. Существует много сторонних репозиториев, подключив которые Вы получите доступ к дополнительному ПО. Сделать это можно как при помощи графического интерфейса, так и в консоли. | Репозитории Ubuntu содержат большое количество программ, однако существуют программы, отсутствующие в репозиториях Ubuntu, и возможно, Вы хотели бы их использовать. Существует много сторонних репозиториев, подключив которые Вы получите доступ к дополнительному ПО. Сделать это можно как при помощи графического интерфейса, так и в консоли. | ||
- | <note warning> Некоторые репозитории помимо нужных Вам пакетов могут содержать экспериментальные сборки различного системного ПО, в том числе и ядер linux. Т.к. версия этих экспериментальных пакетов как правило выше, чем установленная у Вас, Менеджер Обновлений может попытаться "обновить" систему с этих репозиториев, что в свою очередь может повредить Вашу систему. Поэтому внимательно читайте описание подключаемого репозитория и информацию в Менеджере Обновлений.</note> | + | <note warning> Некоторые репозитории помимо нужных Вам пакетов могут содержать экспериментальные сборки различного системного ПО, в том числе и ядер linux. Т.к. версия этих экспериментальных пакетов как правило выше, чем установленная у Вас, //Менеджер обновлений// может попытаться "обновить" систему с этих репозиториев, что в свою очередь может повредить Вашу систему. Поэтому внимательно читайте описание подключаемого репозитория и информацию в //Менеджере обновлений//.</note> |
==== При помощи графического интерфейса ==== | ==== При помощи графического интерфейса ==== | ||
- | Для подключения репозитория, перейдите: Система->Администрирование->Источники приложений. В появившемся окне выберите вкладку //«ПО сторонних производителей»//, нажмите кнопку //«Добавить»//. | + | Для подключения репозитория выполните следующие шаги. |
- | + | - Откройте //Центр приложений Ubuntu//. | |
- | {{ :wiki:repo_add_repo_1.png |"..нажмите кнопку Добавить"}} | + | - Откройте пункт меню //Правка->Источники приложений...// |
- | + | -- В появившемся окне выберите вкладку //«Другое ПО»//, нажмите кнопку //«Добавить»//. | |
- | В появившемся окне заполните поле //«Строка APT:»// и нажмите кнопку //«Добавить источник»//. | + | .. {{ :wiki:repo_add_repo_1.png |"..нажмите кнопку Добавить"}} |
- | + | -- В появившемся окне заполните поле //«Строка APT:»// и нажмите кнопку //«Добавить источник»//. | |
- | {{ :wiki:repo_add_repo_2.png |"..и нажмите кнопку Добавить источник"}} | + | .. {{ :wiki:repo_add_repo_2.png |"..и нажмите кнопку Добавить источник"}} |
- | + | -- Источник будет добавлен и включен, нажмите кнопку //«Закрыть»//. | |
- | Источник будет добавлен и включен, нажмите кнопку //«Закрыть»//. | + | .. {{ :wiki:repo_add_repo_3.png |"..нажмите кнопку Закрыть"}} |
- | + | ||
- | {{ :wiki:repo_add_repo_3.png |"..нажмите кнопку Закрыть"}} | + | |
Т.к. был подключен новый источник программного обеспечения, необходимо обновить информацию о пакетах. Появится окно, с предложением это сделать. Нажмите //«Обновить//». | Т.к. был подключен новый источник программного обеспечения, необходимо обновить информацию о пакетах. Появится окно, с предложением это сделать. Нажмите //«Обновить//». | ||
- | |||
{{ :wiki:repo_add_repo_4.png |"Нажмите Обновить"}} | {{ :wiki:repo_add_repo_4.png |"Нажмите Обновить"}} | ||
+ | После обновления информации о пакетах окно //"Источники приложений"// закроется, и скорее всего вы получите ошибку о неподписанном источнике приложений, тем не менее, вы сможете устанавливать пакеты, содержащиеся в свежеподключенном репозитории стандартными средствами. Для устранения ошибки неподписанного репозитория см. пункт про защиту репозиториев ниже. | ||
- | После обновления информации о пакетах окно //"Источники приложений"// закроется, и скорее всего вы получите ошибку о неподписанном источнике приложений, тем не менее, вы сможете устанавливать пакеты, содержащиеся в свежеподключенном репозитории стандартными средствами. Для устранения ошибки неподписанного репозитория см. пункт про защиту репозиториев ниже. | + | ==== При помощи консоли (рекомендуемый способ) ==== |
+ | Начиная с Ubuntu 10.04 добавлять репозиторий можно одной командой, вот пример для [[ppa]]-репозитория: | ||
+ | <code=bash>sudo apt-add-repository ppa:ripps818/coreavc</code> | ||
==== При помощи консоли ==== | ==== При помощи консоли ==== | ||
Системный список репозиториев содержится в файле //''/etc/apt/sources.list''//. Для того, чтобы добавить репозиторий - отредактируйте этот файл, например так: | Системный список репозиториев содержится в файле //''/etc/apt/sources.list''//. Для того, чтобы добавить репозиторий - отредактируйте этот файл, например так: | ||
- | <code> | + | <code=bash>sudo nano /etc/apt/sources.list</code> |
- | $ sudo nano /etc/apt/sources.list | + | |
- | </code> | + | |
и добавьте туда APT строку. Чем "выше" (т.е. ближе к началу файла) стоит строка, тем больший приоритет получит добавленный репозиторий. | и добавьте туда APT строку. Чем "выше" (т.е. ближе к началу файла) стоит строка, тем больший приоритет получит добавленный репозиторий. | ||
Должно получиться примерно так: | Должно получиться примерно так: | ||
Строка 143: | Строка 142: | ||
</file> | </file> | ||
где первой строкой идет добавляемый нами репозиторий.\\ | где первой строкой идет добавляемый нами репозиторий.\\ | ||
- | Сохраните файл и закройте редактор. Для //''nano''// нужно нажать <key>C-x</key>, подтвердить сохранение изменений - <key>y</key> и убедившись, что имя сохраняемого файла //''/etc/apt/sources.list''// нажать <key>enter</key>. | + | Сохраните файл и закройте редактор. Для //nano// нужно нажать <key>C-x</key>, подтвердить сохранение изменений - <key>y</key> и убедившись, что имя сохраняемого файла ///etc/apt/sources.list// нажать <key>enter</key>. |
Далее следует обновить список пакетов. Для этого выполните: | Далее следует обновить список пакетов. Для этого выполните: | ||
- | <code> | + | <code=bash>sudo apt-get update</code> |
- | $ sudo apt-get update | + | |
- | </code> | + | |
Теперь Вы можете устанавливать пакеты из нового репозитория, правда, для комфортной работы вам придётся так же импортировать в систему ключ репозитория, т.к. у вас постоянно будет появляться такое предупреждение: | Теперь Вы можете устанавливать пакеты из нового репозитория, правда, для комфортной работы вам придётся так же импортировать в систему ключ репозитория, т.к. у вас постоянно будет появляться такое предупреждение: | ||
+ | <file>W: Ошибка: http://site.com jaunty Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 1234567890ADBD</file> | ||
- | W: Ошибка: http://site.com jaunty Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 1234567890ADBD | + | Кроме того, при установке пакетов вам будут сообщать о том, что они являются ненадёжными. О подписывании репозиториев см. раздел [[репозиторий#защита_репозиториев|Защита репозиториев]]. |
- | + | ||
- | Кроме того, при установке пакетов вам будут сообщать о том, что они являются ненадёжными. О подписывании репозиториев см. ниже. | + | |
- | + | ||
- | ==== При помощи консоли — новый способ ==== | + | |
- | + | ||
- | Начиная с 10.04 добавлять репозиторий можно одной командой, вот пример для [[ppa]]-репозитория: | + | |
- | <code>sudo apt-add-repository ppa:ripps818/coreavc</code> | + | |
===== Устройство репозитория ===== | ===== Устройство репозитория ===== | ||
Строка 165: | Строка 156: | ||
Пакет (например *.deb файл) размещается на общедоступном интернет-ресурсе (например [[http://archive.ubuntu.com|archive.ubuntu.com]]). Затем информация о пакете заносится в файл Packages, который, в свою очередь, для удобства работы пакуется в Packages.gz | Пакет (например *.deb файл) размещается на общедоступном интернет-ресурсе (например [[http://archive.ubuntu.com|archive.ubuntu.com]]). Затем информация о пакете заносится в файл Packages, который, в свою очередь, для удобства работы пакуется в Packages.gz | ||
- | Пример записи в файле Packages для пакета abiword: | + | Пример записи в файле Packages для пакета ''abiword'': |
- | <code> | + | <file> |
Package: abiword | Package: abiword | ||
Priority: optional | Priority: optional | ||
Строка 217: | Строка 208: | ||
Origin: Ubuntu | Origin: Ubuntu | ||
Task: xubuntu-desktop | Task: xubuntu-desktop | ||
- | </code> | + | </file> |
Файлов Packages.gz может быть несколько (например, по одному для каждой архитектуры). Файл Release содержит описание репозитория в целом и ссылки на различные Packages.gz | Файлов Packages.gz может быть несколько (например, по одному для каждой архитектуры). Файл Release содержит описание репозитория в целом и ссылки на различные Packages.gz | ||
Общая же схема работы выглядит примерно так: | Общая же схема работы выглядит примерно так: | ||
- | - Пользовательский компьютер подключается к репозиторию, и при наличии защиты, проверяет его истинность (см. [[репозиторий#защита_репозиториев|главу "Защита репозиториев")]]. | + | - Пользовательский компьютер подключается к репозиторию, и при наличии защиты, проверяет его истинность (см. главу [[репозиторий#защита_репозиториев|Защита репозиториев]]). |
- Читает файл Release, находит и скачивает необходимые Packages.gz | - Читает файл Release, находит и скачивает необходимые Packages.gz | ||
- На основе скачанных Packages.gz обновляет локальную базу данных пакетов. | - На основе скачанных Packages.gz обновляет локальную базу данных пакетов. | ||
Строка 234: | Строка 225: | ||
При подключении репозитория, защищенного цифровой подписью Вам нужно скачать (обычно с ресурса, рассказывающего про этот репозиторий, или с сервера ключей, что является более предпочтительным в любом случае) открытый ключ и добавить его в систему. Иногда для скачивания предоставляется доступный для установки пакет, который в свою очередь при своей установке сам прописывает ключ репозитория. Если вы скачиваете ключ с сайта репозитория, то вы получите обычный файл с расширением .key, .gpg или другим. Добавить его в систему можно так: | При подключении репозитория, защищенного цифровой подписью Вам нужно скачать (обычно с ресурса, рассказывающего про этот репозиторий, или с сервера ключей, что является более предпочтительным в любом случае) открытый ключ и добавить его в систему. Иногда для скачивания предоставляется доступный для установки пакет, который в свою очередь при своей установке сам прописывает ключ репозитория. Если вы скачиваете ключ с сайта репозитория, то вы получите обычный файл с расширением .key, .gpg или другим. Добавить его в систему можно так: | ||
- | <code> | + | <code=bash>sudo apt-key add repo.key</code> |
- | $ sudo apt-key add repo.key | + | |
- | </code> | + | |
Где ''repo.key'' — полученный вами ключ репозитория. | Где ''repo.key'' — полученный вами ключ репозитория. | ||
Строка 244: | Строка 233: | ||
{{ :wiki:repo_add_key.png |Добавление ключа}} | {{ :wiki:repo_add_key.png |Добавление ключа}} | ||
- | Однако гораздо более предпочтительным является добавление ключа со специального защищённого сервера. Обычно, когда заходит речь о ключе, даётся его непонятный с первого взгляда буквенно-цифровой идентификатор вида 123ABCDEFG456 (строчка из произвольных цифр и букв латинского алфавита в верхнем регистре). Это - уникальное имя (идентификатор) ключа. Иногда ключ описывается строчкой вида 1024R/123ABCD, тогда идентификатором является часть после слеша. Так вот, ключи преимущественно хранятся на специальных серверах, откуда любой может их получить. Ключи для репозиториев Ubuntu принято хранить на keyserver.ubuntu.com. Для получения и импортирования в систему ключа с сервера необходимо выполнить команду: | + | Однако гораздо более предпочтительным является добавление ключа со специального защищённого сервера. Обычно, когда заходит речь о ключе, даётся его непонятный с первого взгляда буквенно-цифровой идентификатор вида 123ABCDEFG456 (строчка из произвольных цифр и букв латинского алфавита в верхнем регистре). Это - уникальное имя (идентификатор) ключа. Иногда ключ описывается строчкой вида 1024R/123ABCD, тогда идентификатором является часть после слеша. Так вот, ключи преимущественно хранятся на специальных серверах, откуда любой может их получить. Ключи для репозиториев Ubuntu принято хранить на [[http://keyserver.ubuntu.com|keyserver.ubuntu.com]]. Для получения и импортирования в систему ключа с сервера необходимо выполнить команду: |
- | + | <code=bash>sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0x12345678</code> | |
- | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 12345678 | + | |
Где вместо keyserver.ubuntu.com можно подставить адрес другого сервера ключей, а вместо 12345678 необходимо написать идентификатор нужного вам ключа. | Где вместо keyserver.ubuntu.com можно подставить адрес другого сервера ключей, а вместо 12345678 необходимо написать идентификатор нужного вам ключа. | ||
<note>**Совет**: для того, чтобы разом попытаться импортировать все недостающие ключи репозиториев, выполните в консоли: | <note>**Совет**: для того, чтобы разом попытаться импортировать все недостающие ключи репозиториев, выполните в консоли: | ||
- | <code>sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com `sudo aptitude update 2>&1 | grep -o '[0-9A-Z]\{16\}$' | xargs`</code></note> | + | <code=bash>sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com `sudo aptitude update 2>&1 | grep -o '[0-9A-Z]\{16\}$' | xargs`</code></note> |
+ | |||
+ | ===== Смотрите также ===== | ||
+ | |||
+ | * [[установка_программ#установка_из_репозиториев|Как установить программу из репозитория]] | ||
+ | * [[зеркала_репозиториев|Зеркала репозиториев]] | ||
+ | * [[apt-mirror|Создание зеркала репозиториев с помощью apt-mirror]] | ||
+ | * [[создание_зеркала_репозитория|Создание зеркала репозитория]] | ||
===== Ссылки ===== | ===== Ссылки ===== | ||
- | [[https://help.ubuntu.com/community/Repositories|Оригинальная статья на английском]]\\ | + | * [[https://help.ubuntu.com/community/Repositories|Оригинальная статья на английском]] |
- | [[http://www.ubuntologia.ru/find-repository-key|Как найти ключ к репозиторию]]\\ | + | * [[http://www.ubuntologia.ru/find-repository-key|Как найти ключ к репозиторию]] |
- | [[установка_программ#установка_из_репозиториев|Как установить программу из репозитория]]\\ | + | |
{{tag> Система Репозитории}} | {{tag> Система Репозитории}} |