что такое репозитории в линукс
Репозитории, пакеты, менеджеры пакетов и зависимости в Linux
Приветствую, дорогие друзья, знакомые и прочие личности.
Как и в случае со статьей «Графические оболочки в Linux [основы основ, работа в KDE]», всё, в общем-то, просто, но необходимо по ходу чтения несколько напрячь мозг, дабы не запутаться в хитросплетении терминов и несколько скомканном повествовании. В общем, следите за мыслью 🙂 При необходимости прочитайте статью дважды 😉
Поехали. Все программы в дистрибутивах Linux это отдельные проекты, которые развиваются сами по себе. Вы должны представить себе некую цепочку: есть отдельные пакеты (программное обеспечение), есть зависимости (ниже мы более подробно рассмотрим эти понятия). Цель же всего этого – собрать все эти программы, с их зависящими друг от друга библиотеками вместе, да не просто собрать, а сделать так, чтобы все это работало в комплексе.
У каждого дистрибутива есть свои разработчики (майнтейнеры). Эти люди занимаются тестированием различных пакетов на их нормальное функционирование, взаимную совместимость, а также часто добавляют собственные усовершенствования или не успевшие войти в официальную сборку и, в конечном итоге, отвечающие за включение пакета в дистрибутив патчи. Т.е. разработчики берут программы из открытых исходных кодов и начинают подгонять их друг к другу, упаковывая в пакеты и соблюдая все зависимости, тестируя и удаляя ошибки из этих самых программ. Представили? Тогда, думаю, Вы понимаете, что это непростое занятие. Так вот, все эти подогнанные друг к другу программы, библиотеки и нескучные обои, упакованные в пакеты со всеми зависимостями, – это и есть репозиторий Вашего дистрибутива, откуда программы и устанавливаются на Ваш компьютер.
О репозиториях в Linux. Что это и зачем нужно
Для чего создаются репозитории? Ответ прост – для централизованного управления обновлением пакетов. Представим на секунду, что у нас нет репозиториев, и Вы установили Linux с диска с определенными (стандартными) программами. Однако время не стоит на месте, все программы обновляются и всё такое прочее. Как же тогда узнать – есть ли обновление для Вашей программы или нет? Естественно, придется посещать сайт разработчиков программы, чтобы выяснить это, что, согласитесь, не совсем удобно, особенно, если программ у Вас установлено очень много. Ну и понеслось, Вы раз проверили, два проверили наличие обновлений, в третий раз забыли, а потом и вообще надоело каждый раз смотреть, вышло там обновление или нет. И тут раз..
Вспоминаем, для чего у нас существуют обновления? А для того, чтобы не просто иметь новый (и улучшенный старый) функционал в оных программах, но еще и залатывать дыры, которые нередко приводят к различным неприятностям, начиная от глюков программы/системы и заканчивая проблемами с безопасностью (я, например, очень не люблю «терять» пароль, скажем, от почты по вине дыр в софте). Поэтому-то разработчики Linux и создали репозитории, с помощью которых можно быстро и удобно отслеживать обновления тех или иных пакетов (да и вообще обновления всей системы в целом), устанавливать новые и обновленные и всё такое прочее. Кстати, почему для Windows оным еще не озадачились, решительно непонятно (хотя там частично спасают программы для обновления программ, пусть это и не совсем то).
О пакетах и менеджерах пакетов в Linux. Что это и зачем нужно
Обычно менеджер пакетов является сердцем дистрибутива, обеспечивая полный контроль целостности и работоспособности всей системы, и он же обеспечивает пользователю интерфейс для автоматизированного получения пакета, его зависимостей и его установку. Пакеты, как уже говорилось, собираются в репозитории, т.е. всё это можно сложить в одну цепочку: пользователь запрашивает установку пакета – менеджер пакетов отслеживает зависимости – он же получает необходимые пакеты из репозитория(ев) – и он же устанавливает зависимости и требуемый пакет. Практически каждый дистрибутив Linux имеет свои репозитории, зачастую несовместимые с другими дистрибутивами. Менеджер же пакетов – консольная утилита, однако обычно для нее существуют многочисленные графические оболочки, которые легко отыскать в каждом дистрибутиве, введя в поиск « Установка/удаление программ ».
Пакетные менеджеры бывают разные. Для управления пакетами в разных дистрибутивах используются разные программы. В общем-то, их не так уж и мало, а посему выделим «основные», которые «умеют» разрешать зависимости. Фраза «умеют разрешать зависимости» означает следующее – если при установке пакета будет обнаружено, что для корректной его установки нужны дополнительные пакеты, то менеджер пакетов установит их сам, т.е. Вам не придется искать дополнительные пакеты в репозиториях. Те менеджеры пакетов, которые не обладают такой функцией (умением разрешать зависимости), мы рассматривать не будем, ибо оные только сообщат Вам, что пакет установить невозможно и выведут весь список файлов (именно файлов, а не пакетов), которые нужны для установки данного пакета. А уж какой файл в каком пакете находится, Вы будете догадываться и искать самостоятельно.
Вот небольшой список:
К слову, пакетные менеджеры не просто ищут желаемые Вами программы по описаниям, но прежде нам нужно ввести еще один не раз уже упомянутый термин и объяснить его.
О зависимостях в Linux. Что это и зачем нужно
Несколько слов о нюансах
Напоследок все-таки хочется сказать, что какой бы Linux не была устойчивой, стабильной и неубиваемой, всё же пользователь должен придерживаться определенной осторожности. Например:
Например, при установке операционной системы Fedora по умолчанию сразу подключены два репозитория:
Послесловие
Как и всегда, если есть какие-то вопросы, дополнения и всё такое прочее, то буду рад видеть их в комментариях к этому материалу.
Репозитории
Содержание
Программы и обновления в Ubuntu устанавливаются преимущественно из репозиториев. В данной статье объясняется, что такое репозиторий, зачем он нужен, как устроен и как пользоваться репозиториями и устанавливать из них программы.
Введение
Репозитории – это специальные сервера-хранилища таких файлов. Их также можно назвать «Источниками приложений». Пользовательские компьютеры подключаются к репозиториям по сети или через интернет и при помощи специальных утилит (таких как Synaptic) позволяют Вам увидеть, какие пакеты у Вас установлены, какие доступны для установки. Большинство утилит поддерживают простой поиск по ключевым словам и способны разбивать группы пакетов по категориям.
Использование связки репозиторий-утилита позволяет использовать простой, централизованный метод установки/удаления программ, а также предоставляет удобный способ выкладывания обновлений.
В свежеустановленной Ubuntu уже подключены необходимые репозитории, однако никто не запрещает Вам использовать другие, сторонние репозитории.
Зачастую, версии ПО, доступные через репозитории, не всегда самые свежие, однако эти версии как правило лучше интегрированы в Ubuntu и в некоторых случаях более стабильны.
Репозитории Ubuntu
В Ubuntu всё программное обеспечение делится на четыре секции, называемые компонентами, чтобы отразить разницу в лицензии и уровне доступной поддержки.
Пакеты распределяются по компонентам таким образом:
Существует четыре основных репозитория Ubuntu.
Кроме официальных, существует множество репозиториев от авторов программ и от тех, кто не поленился собрать из исходников пакет и поделиться им с другими. Launchpad предлагает создавать PPA-репозитории — Personal Package Archive, обычно небольшой репозиторий, в который его хозяин складывает исходники, а пользователи на выходе получают уже готовый deb-пакет.
Подключение репозитория
Репозитории Ubuntu содержат большое количество программ, однако существуют программы, отсутствующие в репозиториях Ubuntu, и возможно, Вы хотели бы их использовать. Существует много сторонних репозиториев, подключив которые Вы получите доступ к дополнительному ПО. Сделать это можно как при помощи графического интерфейса, так и в консоли.
При помощи графического интерфейса
Для подключения репозитория выполните следующие шаги.
В появившемся окне выберите вкладку «Другое ПО», нажмите кнопку «Добавить».
В появившемся окне заполните поле «Строка APT:» и нажмите кнопку «Добавить источник».
Источник будет добавлен и включен, нажмите кнопку «Закрыть».
Т.к. был подключен новый источник программного обеспечения, необходимо обновить информацию о пакетах. Появится окно, с предложением это сделать. Нажмите «Обновить». После обновления информации о пакетах окно «Источники приложений» закроется, и скорее всего вы получите ошибку о неподписанном источнике приложений, тем не менее, вы сможете устанавливать пакеты, содержащиеся в свежеподключенном репозитории стандартными средствами. Для устранения ошибки неподписанного репозитория см. пункт про защиту репозиториев ниже.
При помощи консоли (рекомендуемый способ)
Начиная с Ubuntu 10.04 добавлять репозиторий можно одной командой, вот пример для ppa-репозитория:
При помощи консоли
и добавьте туда APT строку. Чем «выше» (т.е. ближе к началу файла) стоит строка, тем больший приоритет получит добавленный репозиторий. Должно получиться примерно так:
Далее следует обновить список пакетов. Для этого выполните:
Теперь Вы можете устанавливать пакеты из нового репозитория, правда, для комфортной работы вам придётся так же импортировать в систему ключ репозитория, т.к. у вас постоянно будет появляться такое предупреждение:
Устройство репозитория
Пакет (например *.deb файл) размещается на общедоступном интернет-ресурсе (например archive.ubuntu.com). Затем информация о пакете заносится в файл Packages, который, в свою очередь, для удобства работы пакуется в Packages.gz
Пример записи в файле Packages для пакета abiword :
Файлов Packages.gz может быть несколько (например, по одному для каждой архитектуры). Файл Release содержит описание репозитория в целом и ссылки на различные Packages.gz
Общая же схема работы выглядит примерно так:
Защита репозиториев
Поскольку репозитории большей частью расположены в интернете, существует вероятность подмены репозитория злоумышленником на свой, содержащий модифицированные пакеты. Таким образом, пользователь может установить себе модифицированный пакет и тем самым поставить безопасность своей системы под угрозу. Многие репозитории имеют защиту от подмены. Такая защита реализована при помощи сверки цифровых подписей репозитория и клиента. В случае, когда репозиторий имеет цифровую подпись, а пользовательский компьютер содержит открытый ключ для этого репозитория — такой репозиторий считается доверенным.
В Ubuntu по умолчанию доверенными являются репозитории на установочных дисках и основные интернет репозитории — archive.ubuntu.com. При наличие на пользовательском компьютере нескольких подключенных репозиториев, предпочтение отдается доверенным.
Где repo.key — полученный вами ключ репозитория.
Что такое репозитории в Linux – подробное описание для начинающих
Всем привет! Сегодня я расскажу о том, что такое репозитории в Linux, для чего они нужны, какие виды репозиториев бывают, а также покажу, как работать с этими репозиториями, и какие инструменты для этого используются.
Чтобы понять, что такое репозитории в Linux и для чего они нужны, нужно немного разобраться в архитектуре самой операционной системы Linux, в частности, как устанавливаются программы (пакеты).
Углубляться в дебри мы не будем, но саму концепцию рассмотрим.
На заметку! Новичкам рекомендую почитать мою книгу «Linux для обычных пользователей» – в ней я подробно рассказываю про основы операционной системы Linux и как пользоваться этой системой без командной строки
Давайте обо всем по порядку.
Что такое пакет в Linux?
В Windows программы обычно распространяются в виде exe файлов или в каком-нибудь специально упакованном формате. В Linux программы распространяются в виде пакетов.
Пакет в Linux – это своего рода дистрибутив программы, набор необходимых файлов, которые необходимы для работы этой программы, упакованный в специальный формат.
Существуют два популярных формата пакетов:
Как устанавливаются программы в Linux?
Все программы, а точнее пакеты, устанавливаются в систему с использованием централизованного метода, т.е. из единой точки, такой точкой может быть либо инструмент с графическим интерфейсом, часто его называют «Менеджер приложений», либо традиционный для Linux способ, утилиты командной строки (терминала).
Процесс установки программ с использованием такого подхода предполагает простой выбор программы, которую необходимо установить, и ее установка одним кликом, все остальное сделает менеджер приложений.
Ярким примером использования такой концепции представлен на всех смартфонах (ведь Android это Linux!), где для установки приложения Вы просто открываете менеджер программ (например, Play Маркет), находите нужную программу, и нажимаете установить и все!
Таким образом, в большинстве случаев для установки программ в Linux не требуется предварительно искать и скачивать с интернета дистрибутив программы, как например в Windows, достаточно запустить менеджер приложений, найти интересующее приложение и запустить установку.
Что такое репозиторий в Linux?
Если нам не нужно самостоятельно скачивать дистрибутивы программ с интернета, то как тогда они попадают на компьютер?
И чтобы сразу внести ясность, на компьютерах пакеты программ не хранятся, менеджер скачивает их автоматически во время установки.
А откуда тогда менеджер скачивает все эти пакеты? А скачивает он их со специальных серверов в интернете (поэтому для установки программ в Linux требуется интернет), которые называются – репозиториями.
Репозитории – это сервера в интернете, на которых хранятся файлы пакетов приложений Linux и другая сопутствующая информация.
Практически у каждого дистрибутива Linux есть свой репозиторий, который содержит только совместимые и поддерживаемые конкретным дистрибутивом пакеты, соответственно, при установке приложений из официальных репозиториев Вы всегда устанавливаете только проверенные и стабильные версии программ.
Официальный репозиторий дистрибутива по умолчанию подключен, и когда Вы пытаетесь найти и установить программу, «Менеджер приложений» считывает информацию о доступных пакетах в репозитории и выдает ее Вам.
Таким образом, когда открываете менеджер приложений, он обращается к репозитоирию, узнает, какие пакеты есть, и выдает этот список Вам, а Вы, соответственно, выбираете и нажимаете кнопку установить, а все остальное делает менеджер.
Существуют, конечно, и нюансы при работе с таким подходом установки программ, например, что программа, которая Вас интересует, должна находиться в репозиториях конкретного дистрибутива Linux, который установлен на компьютере, в противном случае ее придётся искать в интернете, иными словами, делать ровно то же самое, что и в Windows. Однако популярные дистрибутивы Linux содержат в своих стандартных репозиториях тысячи программ на любой вкус, которые могут удовлетворить потребности даже продвинутого пользователя Linux, не говоря уж о начинающем.
Какие бывают репозитории в Linux?
Репозитории бывают как основные, т.е. официально поддерживаемые, так и дополнительные, которые можно подключить в случае возникновения необходимости (например, программы, которую Вы искали, нет в официальном репозитории).
Обычно у дистрибутива несколько официальных репозиториев, в каждом из которых хранятся пакеты, в зависимости от определенных свойств, так, например, в Ubuntu есть следующие типы официальных репозиториев:
Если программы, которую Вы искали, нет в официальном репозитории, то Вы можете подключить дополнительный, в котором есть нужная Вам программа.
Например, дополнительные репозитории в 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. Подписывайтесь, и Вы не пропустите выход нового материала!
На сегодня это все, надеюсь, материал был Вам полезен и интересен, удачи Вам, пока!
Школа Linux
Что такое репозиторий. Установка программ из репозитория и добавление новых репозиториев в Linux Ubuntu.
В командной строке вводим:
После ввода этой команды в консоли, Ubuntu произведет соединение с репозиторием, найдет пакет mc, получит информацию об этом пакете, определит необходимые зависимоти (если они есть) и спросит согласны ли Вы установить этот пакет, на что необходимо будет ответить вводом команды y или русской буквой д, что означает yes или да. После того, как Вы согласитесь с установкой система начнет закачку этого пакета на Ваш компьютер (время закачки будет зависить от скорости Вашего соединения с сетью). Далее произведет все необходимые манипуляции (распаковывание пакета, его установку и т.д.) и завершит установку.
Теперь мы можем удостовериться, что пакет mc у нас установлен. Вводим в консоли mc и вуаля, у нас запустился консольный файловый менеджер.
Далее мы научимся удалять установленные программы. Давайте рассмотрим пример на том же самом mc. Для удаления этого пакета необходимо набрать в консоли команду:
После выполнения этой команды также будет необходимо ввести пароль и согласиться или отказаться от удаления этого пакета. Вот и все! Я думаю вы заметили что заменилась только команда install на команду remove, то-есть удаление.
Проверяем удаление пакета командой mc.
Все мы научились устанавливать или удалять пакеты из системы.
Но иногда нам программ из репозитрия, используемого по умолчанию в Ubuntu и других дистрибутивов линукс, недостаточно. Для этого нам необходимо будет добавить репозиторий. Сейчас рассмотрим как это сделать на примере любимой нами Ubuntu. Для начала открываем конфигурационный файлс помощью програмым gedit:
Репозитории в linux: как добавить и установить в Линукс минт
Что такое репозитории в Linux? Репозиторий — место для хранения и поддержки данных.
В большинстве случаев данные хранятся в репозитории и доступны к передаче по сети интернет.
Какие бывают репозитории в Linux?
Существует 2 типа репозиториев: официальные и неофициальные.
Как правило, дистрибутив имеет несколько официальных репозиториев, в которых содержатся пакеты. Которые в свою очередь различаются по свойствам.
В Убунту, например, есть официальные репозитории, такие как:
Причем, все 3 типа, кроме Multiverse, официально поддерживаются дистрибутивом, а Universe поддерживается сообществом дистрибутива.
При необходимости, если вы не нашли нужную программы в официальном репозитории, то можете воспользоваться дополнительным, и найти программу там.
Например, в Ubuntu дополнительными служат PPA-репозитории.
PPA (Personal Package Archive) – это персональное место хранения разработчика, в котором собраны пакеты их программ, которые еще не добавлены в основной.
КАК ДОБАВИТЬ РЕПОЗИТОРИЙ
Для этого приведем самый простой способ — воспользоваться утилитой mintsources. Данная утилита имеет графический интерфейс и располагается
по адресу: Меню → Система → Источники приложений. Далее подробно разберем настройку как официальных, так и посторонних репозиториев.
1. вариант — НАСТРОЙКА ОФИЦИАЛЬНЫХ РЕПОЗИТОРИЕВ
— Сначала нажимаем по названию зеркала репозитория;
— Перед нами откроется полный список официальных адресов;
— Дожидаемся подгрузки данных о скорости отдачи файлов;
— Далее выбираем зеркало. Целесообразнее выбрать тот, что с наиболее высокой скоростью, нажимаем ОК;
— Если вы пропустили предыдущий шаг, то не кэш АРТ не обновится, и будут применены старые настройки.
Также следует ознакомиться с настройками дополнительных источников: Часто они не используются, но знать, что они из себя представляют, желательно знать.
Эти настройки находятся в Официальные репозитории:
Полезно! Если вы случайно изменили настройки, но хотите обратно вернуть, то ничего страшного. Легко можно вернуть все настройки к предыдущему состоянию воспользовавшись опцией Восстановить стандартные настройки.
2 Вариант — НАСТРОЙКА PPA-РЕПОЗИТОРИЕВ
В начале список дополнительных репозиториев пустой.
— Добавляем репозиторий в Linux Mint с помощью кнопки Добавить.
— В появившимся окне нужно указать адрес репозитория.
— рассмотрим на примере программы Grub Customizer (данная программа позволяет изменить настройки менеджера загрузки Линукс, а также еговнешний вид)
— Адрес выбранной программы имеет следующий вид: ppa:danielrichter2007/grub-customizer. Вводим его в поле для ввода — и нажмём ОК.
— Далее появится окно с информацией от разработчика. Нажимаем Ок
— Завершающий этап – система снова просит нажать кнопку ОК, после чего обновится индекс пакета apt.
Мы рассмотрели, как добавить новый linux репозиторий. Теперь у вас появилась возможность добавлять любые репозитории самостоятельно
Как установить программу из пакета?
Установка приложений в Linux Mint осуществляется с помощью графического менеджера программ. Пользователи Линукс встречаются с проблемой, что обновление пакетов в официальных репозиториях происходит крайне редко.
На заметку! В случае, если вам важно получать последние обновления, советуем установить со сторонних источников, например, PPA.
Для этого их нужно добавить в систему.
Аналогично, вы сможете в дальнейшем устанавливать любые программы из пакета самостоятельно.
Мы сегодня рассмотрели, что такое репозитории, их виды, способы добавления репозиториев для официальных и дополнительных типов. А также пошагово разобрали, как установить программу из пакета. Надеюсь статья была Вам максимально полезна. Удачи!