Установка ПО в 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
    Некоторые наиболее часто используемые параметры
     -h, --hash                        выводить "#" по мере установки пакета
     -i, --install                     установить пакет(ы)
     -U, --upgrade                     обновить пакет(ы)
     -v, --verbose                     выводить более детальные сообщения
    Параметры (иначе “ключи”) можно использовать сгруппировав, например, так:

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

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

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

    yum [ПАРАМЕТРЫ] КОМАНДА ПАКЕТ1 [ПАКЕТ2…]
    Некоторые наиболее часто используемые команды
    clean          Удаление кэшированных данных
    deplist        Отображение зависимостей пакета
    distribution-synchronization Обновить установленные пакеты до новейших доступных версий
    erase          Удаление пакета(ов) из системы
    groups         Отображать и использовать данные о коллекциях
    info           Отобразить информацию о пакете или о коллекции пакетов
    install        Установка пакета(ов) в систему
    update         Обновление пакета(ов) в системе
    upgrade        Обновить пакеты, учитывая недействительные
    Пример использования:

    # yum install krusader
    

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

    # yum grouplist
    Вывод в Fedora 20:
    Maybe run: yum groups mark convert (see man yum)
    Available environment groups:
       Рабочая среда GNOME
       KDE Plasma Workspaces
       Рабочая среда Xfce
       Рабочая среда LXDE
       Рабочая среда Cinnamon
       Рабочая среда MATE
       Графическое окружение Sugar
       Рабочая станция для разработки и творчества
       Веб-сервер
       Сервер инфраструктуры
       Базовая среда рабочего стола
       Минимальная установка
    Доступные коллекции:
       3D Печать
       D Development Tools and Libraries
       Fedora Eclipse
       FreeIPA Server
       LibreOffice
       Milkymist
       Звук и видео
       Игры и развлечения
       Инструменты для разработки RPM
       Инфраструктура для облаков
       Книги и руководства
       Комплект программ дизайнера
       Лаборатория безопасности
       Медицинские приложения
       Научные и инженерные
       Оконные менеджеры
       Офисные приложения
       Подготовка публикаций
       Развивающие программы
       Разработка робототехники
       Редакторы
       Сетевые серверы
       Системные средства
       Средства администрирования
       Средства программирования
       Средства разработки на C и библиотеки
       Текстовый Интернет
       Электронная лаборатория
    Примеры использования:

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

    Дополнительные ресурсы:
    Изучаем 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
    Некоторые наиболее часто используемые параметры
    -i|--install         Установка
    -r|--remove          Удаление
    -l| [маска]          Список установленных пакетов
    Бэк-энд 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…]
    
    Некоторые наиболее часто используемые команды
    update -  получить новые списки пакетов
    upgrade - выполнить обновление
    install - установить новые пакеты
    remove -  удалить пакеты
    autoremove - автоматически удалить все неиспользуемые пакеты
    purge -   удалить пакеты вместе с их файлами настройки
    
    В конце справки по программе находится смешная надпись: “В APT есть коровья СУПЕРСИЛА.” В чем легко убедиться, введя команду:

    $ apt-get moo
    
    Пасхальное яйцо (параметр moo)
             (__) 
             (oo) 
       /------\/ 
      / |    ||   
     *  /\---/\ 
        ~~   ~~   
    ...."Have you mooed today?"...
    Пример использования:

    $ 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
      -d, --to-deb              Generate a Debian deb package (default).
      -r, --to-rpm              Generate a Red Hat rpm package.
      -i, --install             Install generated package.
      -k, --keep-version        Do not change version of generated package.
          --bump=number         Increment package version by this number.
      -h, --help                Display this help message.
    
    Дополнительные ресурсы:
    Основы управления пакетами: apt, yum, dnf, pkg
    Полезные команды Linux

DeltaRPM и DEBDelta

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

Print Friendly, PDF & Email

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