Видео #28. Пакеты, репозитории и другие термины

Опубликовано: 12 сентября 2015

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

Итак, все операционные системы семейства Linux организованы по пакетному принципу. Это означает что каждый пакет представляет собой некоторую завершенную часть программы и совокупность пакетов представляет собой операционную систему или дополнительное приложение. То есть как операционную систему Линукс, так и программы, предназначенные для работы в этой операционной системе, можно разделить на отдельные составные части — пакеты.

Термин «пакет» может иметь два смысла. Во-первых, пакетом могут называть набор исходных текстов программы, который создали разработчики. То есть это сам код программы, написанный на некотором языке программирования и такие тексты называют исходниками. Но для того чтобы программа заработала ее нужно скомпилировать, то есть превратить исходный текст в исполняемый файл (файлы). Такие пакеты называют бинарниками и этот термин можно услышать тоже очень часто. Работая с Линукс мы будем иметь дело именно с такими пакетами.

Бинарные пакеты могут иметь разные форматы и могут отличаться для разных дистрибутивов Linux. В Linux Mint используется формат deb и пакеты, предназначенные для Linux Mint в большинстве случаев совместимы с пакетами дистрибутивов Ubuntu и Debian.

Дистрибутив операционной системы Linux или какой-либо программы представляет собой комплект скомпилированных из исходников исполняемых и всех дополнительных файлов, собранных по определенным принципам. Этот процесс сборки пакетов логично называется «сборкой» или от английского «майнтейном», а людей, которые это делают называют, соответственно, майнтайнерами.

Дополнительные файлы или пакеты, необходимые для работы основного пакета, называют зависимостями. Объяснить это важное понятие можно так. Поскольку лицензия использования Linux подразумевает открытость исходных кодов, то при написании программы разработчик опирается на функционал созданного ранее другим разработчиком пакета. В результате для работы вновь созданного пакета, требуется наличие пакета другого разработчика (или созданного ранее пакета). В свою очередь второй пакет для своей работы может требовать наличие еще каких-то пакетов, и так далее.

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

Еще один термин, который можно часто встретить — библиотеки. Это некоторые программные «кусочки», которые не могут быть использованы автономно, то есть самостоятельно, но включаются в различные программы, в которых выполняют некоторые стандартные функции.

Библиотеки для нас, как для обычных пользователей, не представляют никакого интереса. Зато они очень сильно помогают разработчикам программ. Дело в том, что есть масса стандартных, типовых действий, которые свойственны всем или большинству программ. Например, открытие/закрытие файла, его сохранение, отрисовка окна программы и его графических элементов и так далее… Эти действия и элементы в плане программирования ничем не отличаются и нет смысла их создавать каждый раз для каждой отдельной программы. Все эти участки программного кода вынесены в специальные программные модули, которые и называются библиотеками. Именно это позволяет программистам не дублировать одно и то же в своих программах, а пользоваться одной единственной библиотекой на всех. Достаточно чтобы такая библиотека была установлена в системе и все программы для своей работы будут использовать ее.

Пакеты могут быть созданы под конкретный дистрибутив Линукс, а значит будут отличаться и могут не работать в других дистрибутивах или работать с ошибками.

Для хранения пакетов существуют специальные хранилища — репозитории. Репозитории, как я уже упоминал в одном из предыдущих видео, ориентированы на конкретные дистрибутивы, а для некоторых дистрибутивов Линукс можно использовать репозитории других дистрибутивов, так как пакеты этих дистрибутивов совместимы. Так, например, обстоит дело в случае с Linux Mint и Ubuntu.

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

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

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

Установщиков существует множество и об одном из них (Менеджере программ) речь шла в прошлом видео. Менеджер программ Linux Mint является очень простой утилитой для работы с пакетами. В следующем видео я расскажу о более функциональном менеджере пакетов Synaptic.





Не упустите возможность сделать доброе дело:

нажмите на кнопку социальной сети, в которой вы зарегистрированы, чтобы другие люди тоже получили пользу от этого материала. СПАСИБО!

  • http://vk.com/id172273721 Евгений Бойко

    Спасибо за уроки! Но от Linux мне наверное прийдётся отказаться (второй раз так думаю). Причина низкая скорость скачки с интернета. Если кому интересно напишу поподробнее. Может кто поможет решить буду должен!

    Мой провайдер когда услышал, что я хочу выяснить вопрос почему низкая скорость скачки у меня узнав, что на компьютер я поставил Linux предложил пойти мне в …. Короче предложил поставить Windows и не заниматься ерундой. А как будут проблемы на Windows тогда мы их будем решать.

    Собственно проблема.

    Тип подключения к интернету VPN конкретнее PPTP.

    Я ставил себе на компьютер операционные системы Linux трёх видов Mint, Rosa, Ubuntu. Все образы дисков качал с официальных сайтов, проверял контрольные суммы скачанных образов и всё совпадало. Везде после установки делал обновления системы, всё проходило успешно.

    На всех трёх операционных системах Linux — Mint, Rosa, Ubuntu была низкая скорость скачки, конкретно в 4-10 раз! Мерял на www.speedtest.net/ru/ но и конечно замеры делал торрент клиентом. Скорость отдачи нормальная по тарифу!

    На сайте www.speedtest.net/ru/ если мерять скорость из под Windows 7 всё у меня нормально и отдача и приём, всё по тарифу. В начале замера всегда скорость даже выше тарифной-заявленной (у меня 60Мбит/с). Эта картина в любое время суток, проверял в течении 10 дней .

    А вот на Linux всех мастей Mint, Rosa, Ubuntu скорость скачки идёт когда меряю рывками в 4-10 раз меньше. Так же и скачиваются файлы в торрент-клиенте.

    Эта картина на всех трёх системах Linux если их запускать с виртуальной машины, с Live Linux дистрибутива, конкретно носитель был флешка, или если на компьютер поставить операционку.

    Я так понял с моей стороны проблемы нет. Тут либо провайдеру надо что-то делать (а что не так я не в курсе, я же не специалист, что бы вести диалог с ними по этому вопросу). Либо вопрос тут в настройках самого Linux.

    Заранее спасибо за ответ!

  • http://vk.com/id172273721 Евгений Бойко

    Проблему с вебкой что писал ранее спец мне решил. Что делал так падло и не сказал. Но факт остаётся фактом скайп работает!!!

  • http://vk.com/id172273721 Евгений Бойко

    Хоть убейте меня, но про вебку мою там ни слова не нашёл. (-

  • https://plus.google.com/106400843759835113648 БОГДАНА ИВАНОВА

    Благодарю!

  • https://plus.google.com/106400843759835113648 БОГДАНА ИВАНОВА

    СПАСИБО! УДАЧИ!! Майя

  • https://plus.google.com/110094759435049828621 Дмитрий Халяпин

    Очень хорошо, что в преддверии урока о Synaptic, вы сделали этот вводный урок о пакетах.

  • ваня огурцов

    Спасибо за, как всегда, простое и понятное объяснение. Хотелось бы побольше теории, ведь именно она помогает понять суть, а не просто тупо кликать по иконкам . А Вы умеете делать её лёгкой и доступной для понимания, как никто другой.

    С уважением, Ваня.

  • https://plus.google.com/117271996938671485291 Virginijus Tamonis

    Эта вебка хорошо работает в linux вот здесь почитай compizomania.blogspot.com...na-cinnamon.html

  • http://pcsecrets.ru Андрей Сухов

    думаю что проблема не в скайпе, а в драйверах веб-камеры

  • http://www.odnoklassniki.ru/profile/553936125172 Станислав Мельник

    Спасибо Андрей.

  • http://vk.com/id172273721 Евгений Бойко

    Спасибо за видео. Но видать из-за одного скайпа не работающего прийдётся назад на Windows 7 слезть. Может поможите настроить Skyre. Нет в нём видео. Ставил Linux Ubunt, Mint, Rosy и везде одно и тоже. Грешил на системы, но нет понял не в системах дело. Контрольные суммы скачанного образа диска совпадали с контрольными суммами с оф.сайта. Есть 6 USB портов Sata2, 3 USB порта Sata3 куда не тыкал вебку ничего не давало. Вебка Logitech HD Webcam C270

  • http://www.odnoklassniki.ru/profile/537120896054 Дмитрий Мартынов

    Спасибо!

Vkitter

Okitter