Установка ПО в Linux

Предисловие

Имеется несколько способов установки программного обеспечения в системе Linux. Основные:

  1. Компиляция программ из исходных кодов
  2. Установка бинарных пакетов программ с помощью менеджера установки, контроля зависимости, версий и архитектуры
  3. Установка программ (обычно, программных скриптов готовых к работе, не требующих компиляции, но требующих наличия соответствующих интерпретируемых сред) с помощью shell-скриптов. (Иногда, подобным способом, устанавливаются и бинарные пакеты)

Рассмотрим второй способ, предназначенный для рядовых пользователей. Установка пакетов в дистрибутивах Fedora и Mint различна, ввиду использования несовместимых менеджеров пакетов. Для Fedora — это пакетный менеджер RPM (расширение файлов пакетов .rpm), для Mint — это пакетный менеджер DPKG (расширение файлов пакетов .deb). Что такое пакет? Пакет — это архив, в котором содержаться необходимые для работы программы компоненты: бинарные файлы программ, библиотеки и прочий контент необходимый для работы программы. Зачастую пакет программы связан с компонентами пакетов других программ. Такое состояние называется зависимостью пакетов друг от друга. Причины зависимости заключаются в том, что разработчики ПО используют/заимствуют программный код или уже имеющиеся библиотечные файлы в других разработках. Это облегчает создание приложений, избавляет разработчиков от написания повторяющихся алгоритмов и позволяет писать программы взаимодействующие в единой среде. Различные дистрибутивы Linux обладают собственным хранилищем пакетов программного обеспечения — репозиторием. Каждый пакет используется для определенной версии дистрибутива, а хранилище гарантирует совместимость всех зависимых пакетов. Но менеджеры пакетов — back-end’ы RPM и DPKG не способны работать с репозиториями соответствующих версий своих дистрибутивов. При попытке установить пакет (используя консоль), в большинстве случаев, будет выдана информация о наличии неудовлетворенных зависимостей. (Однако, некоторые пакеты могут быть всё же установлены, если в системе все необходимые зависимости будут разрешены.)
В обоих дистрибутивах имеются front-end’ы, надстройки пакетных менеджеров, которые способны производить установку пакетов и призваны решать следующие задачи:

  • поиск пакетов в репозиториях;
  • установка пакетов из репозиториев с удовлетворением зависимостей;
  • обновление системы;
  • удаление ненужных пакетов

и некоторых других. Такой оболочкой в Fedora (и других дистрибутивах, семейства RedHat) является YUM (Yellow dog Updater, Modified), а в Mint (и других дистрибутивах, семейства Debian) — это APT (advanced packaging tool).
Дополнительные ресурсы:
Fedora: управление пакетами. Репозитории

Теперь по порядку.

    YUM и RPM

    При работе с пакетами чрезвычайно удобна командная строка. Поэтому, вначале, мы рассмотрим работу с пакетным менеджером в командной строке, а затем высокоуровневые графические интерфейсы. Для пользователя Windows, привыкшего использовать для инсталляций только графические интерфейсы, работа в командной строке может показаться в диковинку . Но работа с консолью — полезный навык, который поможет сократить время выполнения множества рутинных операций по установке ПО, изучить внутреннее устройство Linux и применять полученные знания, в дальнейшем, при администрировании системы!

  • Консольные команды RPM
  • Полная справка: $ rpm --help
    Обращаю внимание, что установка пакетов производится в root-режиме! Переход в режим суперпользователя осуществляется командой:

    $ su
    [ПАРОЛЬ СУПЕРПОЛЬЗОВАТЕЛЯ]
    # rpm ...

    Формат команд RPM:

    rpm [ПАРАМЕТР...] [ПУТЬ К ФАЙЛУ].rpm
    Некоторые наиболее часто используемые параметры
    Параметры (иначе «ключи») можно использовать сгруппировав, например, так:

    # rpm -ihv FlightGear-2.8.0-1.fc18.i686.rpm
    

    Следующей командой будут установлены все RPM-пакеты в текущей директории:

    # rpm -ihv *.rpm
    
  • Консольные команды YUM
  • Полная справка по командам YUM # yum --help
    Использование команды:

    yum [ПАРАМЕТРЫ] КОМАНДА ПАКЕТ1 [ПАКЕТ2…]
    Некоторые наиболее часто используемые команды
    Пример использования:

    # yum install krusader
    

    Обратите внимание на то, что после команды указывается имя пакета, а не файла! Замечательной особенностью YUM является установка не отдельных пакетов, а целой группы пакетов специального назначения всего одной командой! Такая необходимость возникает, например, после установки дистрибутива. Для того, чтобы увидеть список доступных для установки групп, необходимо ввести следующую команду:

    # yum grouplist
    Вывод в Fedora 20:
    Примеры использования:

    # yum install @mate-desktop-environment
    # yum groupinstall "KDE Plasma Workspaces"
    
    Yum поддерживает следующие команды для работы с группами

    Дополнительные ресурсы:
    Изучаем Linux, 101: Управление пакетами с помощью RPM и YUM
    Yum, шпаргалка

  • Графические фронт-энды Fedora 20 KDE
  • Прежде чем перейти к графическим менеджерам, скажем несколько слов о PackageKit. PackageKit — это набор приложений, который обеспечивает высокоуровневый интерфейс для различных пакетных менеджеров. Это позволяет использовать PackageKit в различных дистрибутивах, как макро-пакетный менеджер. На его основе созданы графические пакетные менеджеры для таких мощных окружений рабочего стола как GNOME и KDE. В среде KDE используется Аpper, а в среде GNOME gnome-packagekit.
    Apper является частью среды управления KDE, поэтому запуск осуществляется через меню: Меню запуска приложений > Компьютер > Параметры системы > Системное администрирование > Менеджер программ. С Аpper связан виджет «Обновление программ», находящийся в системном лотке (этот виджет не удаляется с панели). Apper сильно зависит от состояния YUM. Он не обладает набором полезного инструментария для работы с пакетами. Если система имеет незавершенные операции, Аpper выдаст ошибку и не сможет работать с пакетами. (Если вы столкнулись с такой проблемой опробуйте выполнить команду: yum-complete-transaction). С помощью Apper можно устанавливать и локальные пакеты. Если кликнуть на файле пакета с расширением .rpm появится примитивный диалог предоставляющий пользователю сделать выбор «Продолжить» или «Отменить». В случае продолжения будут установлены зависимые пакеты, а если операция потерпит неудачу — будет выведено сообщение о причинах сбоя.
    Внешний вид приложения.
    снимок1
    снимок7
    Yum Extender (Yumex)
    Yumex идеальное решение для тех, кто не хочет использовать консоль для работы с пакетами. Yumex простое в использовании приложение, которое, в отличие от Apper, не имеет зависимости от packagekit и является графическим окружением исключительно для YUM. Yumex не является частью сред GNOME, KDE или какой-либо другой, поэтому данное приложение не входит в официальную сборку дистрибутива Fedora. Приложение можно установить следующей командой:

    # yum install yumex

    После установки программа будет доступна в меню: Приложения > Система. В Fedora 20 Yumex научился встраиваться в системный лоток. Этот менеджер может устанавливать и локальные пакеты: вызовите из контекстного меню Открыть с помощью > Yum Package Installer. Если Yumex находится в процессе обработки пакетов, другие пакетные менеджеры, основанные на packagekit, будут блокированы на время окончания операции (равно и наоборот). На сайте Yumex’а (http://www.yumex.dk/) можно увидеть как будет выглядеть приложение в перспективе. В Fedora 20 приложение работает стабильно и быстро, использовать его чрезвычайно удобно. Внешний вид приложения.
    снимок3
    снимок4
    Все перечисленные менеджеры требуют в работе root-привилегий.

    DPKG и APT

    В дистрибутивах основанных на пакетах DEB (далее речь идет о Linux Mint) наблюдается подобная разноуровневая работа с пакетами, как и в Fedora. Так аналогом RPM будет DPKG, а YUM — APT. Рассмотрим установку пакетов в Linux Mint в той же последовательности — сначала консольные, а затем и графические.

  • Утилита sudo
  • Для работы в суперпользовательском режиме в Linux Mint используется утилита sudo. sudo предоставляет пользователю привилегии root для выполнения административных операций в соответствии со своими настройками. По умолчанию, при установке Linux Mint, первому пользователю предоставляются полные права на использование sudo и административные полномочия равные root. Использование:

    sudo <команда>
    [ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ]
    

    Дополнительные ресурсы:
    Администратор в Ubuntu, или что такое sudo
    su или sudo?

  • Консольные команды DPKG
  • Полная справка $ dpkg --help
    Формат команд DPKG:

    dpkg [ПАРАМЕТР...] [ПУТЬ К ФАЙЛУ].deb
    Некоторые наиболее часто используемые параметры
    Бэк-энд dpkg сравним с rpm и использовать его для полноценной работы с пакетами не представляется возможным. Для этого создан APT (advanced packaging tool). APT значительно упрощает процесс установки программ в командном режиме. Так же как и YUM, APT может разрешать зависимости пакетов.

  • Консольные команды APT
  • Полная справка по командам APT # apt-get
    Использование команды:

    apt-get [ПАРАМЕТРЫ] КОМАНДА
    apt-get [ПАРАМЕТРЫ] install|remove ПАКЕТ1 [ПАКЕТ2…]
    apt-get [ПАРАМЕТРЫ] source ПАКЕТ1 [ПАКЕТ2…]
    
    Некоторые наиболее часто используемые команды
    В конце справки по программе находится смешная надпись: «В APT есть коровья СУПЕРСИЛА.» В чем легко убедиться, введя команду:

    $ apt-get moo
    
    Пасхальное яйцо (параметр moo)
    Пример использования:

    $ sudo apt-get install unace p7zip-rar sharutils rar arj lunzip lzip
    

    (Будет установлено семь пакетов).
    Дополнительные ресурсы:
    Управление пакетами в Debian

  • Графические фронт-энды Linux Mint в окружении Cinnamon
  • Основным графическим менеджером пакетов в окружении Cinnamon дистрибутива Mint является mintinstall. Запуск осуществляется в меню (кнопка «Менеджер программ» в сайд-баре). Идейно, он мало чем отличается от Apper, за исключением того, что менеджеры программ и обновлений разделены (последний находится в системном лотке). Внешний вид приложения.
    Снимок экрана от 2014-07-09 19:04:47
    Снимок экрана от 2014-07-09 19:05:06
    Для установки локальных пакетов используется менеджер GDebi, который может определять и устанавливать зависимые пакеты. Внешний вид приложения.
    Снимок экрана от 2014-07-09 19:50:13
    Но самой знатной утилитой для работы с пакетами в Mint является Synaptic. Synaptic — это графический интерфейсс пакетного менеджера APT. Находится: Меню > Администрирование > Менеджер пакетов Synaptic. Synaptic обладает мощным инструментарием по работе с пакетами: гибкий поиск, фильтрация, работа с локальными пакетами, создание сценариев загрузки, подробное описание, список изменений, зависимости. Интерфейс программы интуитивно понятен, но требует определенного навыка работы с пакетами deb. Внешний вид приложения.
    Снимок экрана от 2014-07-09 19:47:05
    Все перечисленные менеджеры требуют в работе администраторских привилегий.

    Утилита Alien

    Что делать, если необходимо установить в Fedora 20 пакет .deb которого нет в дистрибутиве? Или наоборот: как в Linux Mint установить rpm-пакет? На помощь приходит утилита alien. Alien способна преобразовывать пакет одного формата в другой, например rpm <-> deb. Утилита работает не только с пакетами rpm и ded, но мы ограничимся только этими форматами. Рассмотрим практический пример. На сайте программы XMind (которая будет использоваться на уроках, адрес страницы загрузки) разработчики выложили для скачивания только deb-пакет. Нам не остается ничего другого, как установить в Fedora пакет, сконвертированный из deb-пакета. Скачиваем файл пакета (~84Мб). Далее, переходим в консоль и выполняем последовательно следующие команды:

    # yum install alien
    # alien -r ./xmind-linux-3.4.1.201401221918_i386.deb
    # rpm -i xmind-3.4.1-2.i386.rpm
    

    Первая команда установит пакет alien в Fedora Linux.
    Вторая команда, собственно, запустит процесс преобразования deb -> rpm. В результате пакет xmind-linux-3.4.1.201401221918_i386.deb будет преобразован в пакет xmind-3.4.1-2.i386.rpm.
    Третья команда инсталлирует новый пакет в системе Fedora.

    Некоторые параметры команд alien
    Дополнительные ресурсы:
    Основы управления пакетами: apt, yum, dnf, pkg
    Полезные команды Linux

DeltaRPM и DEBDelta

Наше повествование будет неполным, если мы не упомянем технологию Delta. По существу Delta-пакет — это патч, внесение изменений в существующий пакет. Поскольку сумма изменений меньше (а в некоторых случаях значительно меньше) объема оригинального пакета — происходит существенная экономия трафика и увеличивается скорость обновления системы. Существуют версии Delta для систем основанных на RPM и Deb: DeltaRPM и debdelta, соответственно. При обновлении пакетов вначале определяется база Delta, затем не имеющих Delta и их зависимости, создается общий сценарий установки, руководимый пакетным менеджером. Delta-пакеты используются исключительно для обновления системы и не распространяются с дистрибутивом. Дистрибуция содержит только оригинальные пакеты.

Добавить комментарий