Рано или поздно нам приходится устанавливать программное обеспечение не из официальных репозиториев. Там есть далеко не все пакеты, и не всегда есть самые новые версии, только что вышедших программ. Очень часто разработчики размещают на своем официальном сайте пакеты для самых популярных дистрибутивов. Обычно это deb и rpm. Последний встречается немного реже, но если вы используете дистрибутив на базе Red Hat, вам нужен именно этот формат пакетов. Также в сети часто можно найти библиотеки и другие компоненты, которых нет в репозиториях в виде пакетов.

Раньше мы уже рассматривали установку deb пакетов в Ubuntu. А в этой статье будет подробно разобрана установка rpm пакетов в linux.

RPM или RPM Package Manager - это пакетный менеджер, используемый в дистрибутивах Linux, основанных на Red Hat. Такое же название имеет формат файлов этого пакетного менеджера.

Этот формат не очень сильно отличается от того же самого Deb. Вы можете посмотреть их детальное сравнение в статье что . Здесь же, только отмечу, что файл rpm - это обычный cpio архив, в котором содержатся сами файлы программы, а также метаданные, описывающие куда их нужно устанавливать. База всех установленных пакетов находится в каталоге /var/lib/rpm. Из особенностей можно отметить, что rpm не поддерживает рекомендованные пакеты, а также зависимости формата или-или.

Для управления пакетами, так же как и в Debian-системах, здесь существует консольная, низкоуровневая утилита с одноименным названием - rpm. Ее мы и будем рассматривать дальше в статье. В разных системах используются разные пакетные менеджеры, например в Red Hat используется Yum, в Fedora - DNF, а в OpenSUSE - zypper, но во всех этих системах будет работать утилита rpm.

Установка RPM пакетов в Linux

Давайте сначала рассмотрим синтаксис самой утилиты rpm:

$ rpm -режим опции пакет

Утилита может работать в одном из режимов:

  • -q - запрос, получение информации;
  • -i - установка;
  • -V - проверка пакетов;
  • -U - обновление;
  • -e - удаление.

Рассмотрим только самые интересные опции программы, которые понадобятся нам в этой статье:

  • -v - показать подробную информацию;
  • -h - выводить статус-бар;
  • --force - выполнять действие принудительно;
  • --nodeps - не проверять зависимости;
  • --replacefiles - заменять все старые файлы на новые без предупреждений;
  • -i - получить информацию о пакете;
  • -l - список файлов пакета;

Теперь, когда вы уже имеете представление как работать с этой утилитой, может быть рассмотрена установка rpm пакета в Linux. Самая простая команда установки будет выглядеть вот так:

sudo rpm -i имя_пакета.rpm

Для работы с командной текущей директорией должна быть папка с пакетом. Здесь мы устанавливаем режим установки и передаем файл пакета. При успешной установке утилита не выведет ничего, если произойдет ошибка, вы об этом узнаете.

Для того чтобы посмотреть более подробную информацию в процессе установки используйте опцию -v:

sudo rpm -iv имя_пакета.rpm

Также вы можете включить отображение статус бара в процессе установки:

sudo rpm -ivh имя_пакета.rpm

Чтобы проверить установлен ли пакет, нам уже нужно использовать режим запроса:

sudo rpm -q имя_пакета

Также сразу можно удалить пакет, если он не нужен:

sudo rpm -e имя_пакета

Но у rpm так же как и у dpkg, есть один существенный недостаток. Программа не может разрешать зависимости. В случае отсутствия нужного пакета в системе, вы просто получите сообщение об ошибке и пакет не установится.

Для автоматической загрузки зависимостей во время выполнения установки rpm linux нужно использовать пакетный менеджер дистрибутива. Рассмотрим несколько команд для самых популярных RPM дистрибутивов. В RedHat и других дистрибутивах, использующих Yum используйте такую команду:

sudo yum --nogpgcheck localinstall имя_пакета.rpm

Первая опция отключает проверку GPG ключа, а вторая говорит, что мы будем выполнять установку локального пакета. В Fedora, с помощью dnf все делается еще проще:

sudo dnf install имя_пакета.rpm

Пакетный менеджер Zypper и OpenSUSE справляются не хуже:

sudo zypper install имя_пакета.rpm

Вот так очень просто выполняется установка rpm с зависимостями. Но не всем нравится работать в консоли, многие новые пользователи хотят использовать графический интерфейс для решения всех задач, в том числе и этой. Дальше мы рассмотрим несколько таких утилит.

Установка RPM файла в GUI

Если вы используете OpenSUSE, то это делается очень просто. Универсальный конфигуратор системы YaST, кроме всего прочего позволяет установить rpm пакеты. Вы можете сделать это с помощью файлового менеджера, выбрав пункт контекстного меню для файла открыть с помощью Yast или выполнив команду:

yast2 -i имя_пакета.rpm

В Fedora для тех же целей вы можете использовать менеджер приложений дистрибутива. Раньше было еще несколько универсальных утилит для решения этой задачи, но сейчас они уже все устарели.

Выводы

Теперь вы знаете как выполняется установка rpm файла в Linux. На самом деле это очень просто и даже существует не только один способ, а целых несколько. Хотя графических утилит здесь немного меньше чем в Ubuntu. Но консольных утилит полностью хватает. Если у вас остались вопросы, спрашивайте в комментариях!

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

[Соколов Роман (romanso AT rt.mipt.ru)]

Установка программных пакетов в Linux для начинающих

Два способа установки ПО.

Необходимость в установке новых программных пакетов под LINUX возникает в двух основных случаях:
  • когда появляется новая версия одного из уже установленных у Вас пакетов;
  • когда возникает необходимость использования какой-то пакета, еще не установленного в системе.
Во втором случае это может быть один из пакетов, имеющихся на Вашем установочном диске, но не установленный в процессе инсталляции. Однако чаще всего новое ПО Вы будете находить в Интернет, тем более, что значительная часть этого ПО бесплатное или условно бесплатное. Как бы то ни было, но рано или поздно Вы все равно окажетесь перед необходимостью установить новый пакет.

Существует две основных формы распространения ПО для LINUX: в исходных текстах и в виде исполняемых модулей. И в том и в другом случае пакет ПО может поставляться либо в виде tar-gz архива, либо в виде rpm-пакета.

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

Программа rpm.

Название этой программы (или команды) является аббревиатурой от Redhat Package Manager. Такая расшифровка дается в большинстве книг и руководств по Линукс и кажется мне более правильной и логичной, хотя в главе 6 "The Official Red Hat Linux Reference Guide" говорится: "The RPM Package Manager (RPM), is an open packaging system available for any-one to use, and works on Red Hat Linux as well as other Linux and UNIX systems".

Программа rpm в некотором смысле аналогична программам типа setup wizard для MS Windows. Преимуществом использования этой программы по сравнению с установкой tar-gz архивов является то, что она автоматически проделает все необходимые действия по установке ПО: создаст необходимые каталоги, распределит по ним файлы, создаст ссылки. Кроме того, она может быть использована не только для установки нового пакета, но и для обновления версий ПО, получения перечней установленного ПО и проверки установки, а также для деинсталляции отдельных пакетов (например, если после периода пробной работы с программой Вы решили отказаться от ее дальнейшего использования). С помощью той же программы rpm можно самому создать пакет формата rpm, однако для начинающих лучше, наверное, этим не заниматься, а воспользоваться готовыми rpm-пакетами.

rpm-пакеты - это специальным образом подготовленные архивы, предназначенные для обработки программой rpm. Название rpm-пакетов оканчивается на суффикс.rpm, например, xzip-180-1.i386.rpm или xzip-180-1.src.rpm. Как видите, перед суффиксом.rpm стоит еще один суффикс. Если это.i386 или.i586, то в пакете находятся исполняемые файлы, а если этот суффикс.src, - то в пакете исходные тексты, которые после установки еще надо скомпилировать. Обычно и на установочных компакт-дисках и в Интернет-каталогах rpm-пакеты с исполняемыми файлами располагаются в каталогах с названием RPMS, а rpm-пакеты с исходными текстами - в подкаталогах SRPMS.

В Интернет rpm-пакеты можно найти на различных серверах. По моему опыту наиболее удобным сервером в Интернет для поиска rpm-архивов является сервер http://rufus.w3.org . На нем установлена поисковая система, которая позволяет упорядочивать список пакетов наиболее удобным для Вас способом:

  • по именам пакетов;
  • по дистрибутивам;
  • по группам приложений;
  • по датам;
  • по поставщикам (производителям) ПО.
Общий объем архива rpm-пакетов на этом сервере составляет более 66 Гигабайт. Очень богатые архивы хранят также два ftp-сервера в России: ftp://ftp.chg.ru/pub/Linux и ftp://ftp.nc.orc.ru/

Необходимо только заметить, что если для перекачки пакетов из Интернет Вы используете компьютер, работающий под Windows, то все имена пакетов у Вас будут, скорее всего, искажены. Дело в том, что Windows "не любит" имена, в которых несколько точек (например, glib-1.0.6-3.i386.rpm и заменит "лишние", по его мнению, точки на подчеркивания - glib-1_0_6-3_i386.rpm). Так что после получения пакета (при переносе его на ПК с ОС Linux) надо эти "исправления" устранить, вернувшись к UNIX-вым именам.

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

Rpm -i имя_rpm-архива Если у Вас была установлена предыдущая версия пакета, то в простейшем случае надо дать команду следующего формата: rpm -U --force имя_rpm-архива Здесь параметр -U говорит программе, что надо произвести обновление (upgrade) пакета, а опция --force требует безусловно (и без лишних вопросов) обновить все входящие в пакет файлы. Заметьте, что это очень сильное требование, и в некоторых случаях может быть лучше сохранить какие-то (например, конфигурационные) файлы от предыдущей версии. Если установка проходит нормально, и никаких дополнительных сообщений не появляется, то после завершения работы программы (после появления приглашения shell) Вы можете пользоваться вновь установленным пакетом.

К сожалению не всегда все так просто. Приведу конкретный пример. У меня был установлен RedHat Linux версии 5.2, причем программа Midnight Commander (mc) была версии 4.1.36. На ftp-сервере я увидел версию 4.5.30 этой программы (пакет mc-4.5.30-12.i386.rpm) и, естественно, решил ее поставить. Однако оказалось, что для этого необходимо, чтобы были установлены еще 4 других пакета, о чем rpm мне и сообщила:

Ошибка: неудовлетворенные зависимости: redhat-logos нужен для mc-4.5.30-12 libglib-1.2.so .0 нужен для mc-4.5.30-12 libc.so.6(GLIBC_2.1) нужен для mc-4.5.30-12 libc.so.6(GLIBC_2.0) нужен для mc-4.5.30-12 Это и не удивительно, если Вы вспомните, что и при первоначальной установке Linux программа инсталляции тоже проверяла взаимозависимости пакетов и предлагала установить недостающие. Однако в случае инсталляции все необходимые пакеты находятся на том же диске, а здесь мне пришлось вначале поискать нужные пакеты. Два пакета (redhat-logos-1.0.5-1.noarch.rpm и glibc-2.1.1-6.i386.rpm) я нашел без труда, после чего rpm перестала просить и GLIBC_2.0. А вот с libglib.so .1 вышло сложнее. Во-первых я никак не мог найти пакета с таким названием. Как оказалось, такого пакета и не существует, файл libglib.so .1 входит в состав пакета glib-1.0.6-3.i386.rpm. Пока я это выяснил, я узнал также, что чтобы выяснить, какие файлы установит тот или иной пакет, надо дать команду rpm -qpl имя_rpm-архива а для получения информации о пакете - команду rpm -qpi имя_rpm-архива Дело в том, что файлы RPM кроме собственно архива файлов содержат информацию о пакете, включая имя, версию и краткое описание. С помощью той же программы rpm Вы можете просмотреть эту дополнительную информацию. Например, для пакета glib-1.0.6-3.i386.rpm получим следующие результаты: rpm -qpi glib-1.0.6-3.i386.rpm Вывод будет примерно таким: Name: glib Relocations: (not relocateable) Version: 1.0.6 Vendor: Red Hat Software Release: 3 Build Date: Суб 10 Окт 1998 04:49:03 Install date: (not installed) Build Host: porky.redhat.com Group: Libraries Source RPM: glib-1.0.6-3.i386.rpm Size: 55305 Packager: Red Hat Software < [email protected] > Summary: Handy library of utility functions Description: Handy library of utility functions. Development libs and headers are in gtk+-devel. Если дать команду: rpm -qpl glib-1.0.6-3.i386.rpm будет выдан список входящих в пакет файлов с указанием того, куда они будут установлены: /usr/lib/libglib.so.1 /usr/lib/libglib.so.1.0.6 RPM также предоставляет мощную систему запросов по установленным в системе пакетам. По команде rpm -qа Вы получите перечень всех установленных в системе пакетов (перечень будет очень большим, так что лучше сразу направить вывод в фильтр more). Вы можете искать информацию об отдельном пакете или об отдельных файлах. Например, Вы можете легко найти, какому пакету принадлежит файл и откуда появился: rpm -qf /etc/bashrc bash-1.14.7-16. Если Вы беспокоитесь о том, что случайно удалили важный файл из установленного пакета, просто проверьте это: rpm -Va Вы будете оповещены об любых аномалиях. Потом можно переустановить пакет, если это необходимо. Любые конфигурационные файлы будут сохранены.

RPM это очень полезная утилита, и, как Вы видите, имеет различные опции. Я привел только несколько примеров. Всего rpm имеет 16 основных режимов работы, которые имеет смысл объединить в 6 групп (после двоеточия приводится формат команды для соответствующего режима):

Запросы: Запрос: rpm [--query] Показать метки запросов (Querytags) : rpm [--querytags] Установка и поддержка установленных пакетов: Установка: rpm [--install] + Обновление: rpm [--freshen|-F] + Деинсталляция: rpm [--uninstall|-e] + Проверка: rpm [--verify|-V] + Подписи (пакеты подписываются электронной цифровой подписью в формате PGP, с целью обеспечения неизменяемости и сохранения авторства пакетов): Проверка подписи: rpm [--verify|-V] + Переподписывание: rpm [--resign] + Добавление подписи: rpm [--addsign] + Работа с базой: Инициализация базы: rpm -i [--initdb] Rebuild Database: rpm -i [--rebuilddb] Создание rpm-пакетов: Создать пакет: rpm [-b|t] + Перекомпилировать пакет: rpm [--rebuild] + Build Package from Tarball: rpm [--tarbuild] + Разное: Показать конфигурацию программы rpm: rpm [--showrc] Задать пользователей: rpm [--setperms] + Задать группы: rpm [--setgids] + Более подробное описание команды rpm Вы можете найти в RPM-HOWTO, страницах man и info. Здесь оно не приводится, в основном потому, что в графических режимах существуют несколько более удобные и "человечные" программы для управления установленным в системе ПО и процессами его обновления, которые и будут рассмотрены в следующих подразделах.

Примечание:

Я пользовался третьей версией RPM. В настоящее время существует уже версия 4, однако в списке рассылки blackcat-list промелькнуло такое сообщение:

> Кто-либо имеет опыт установки rpm 4.x? > Хотелось бы установить пакеты из состава дистрибутива Red Hat 7.0. Сам пан Каневский;-) не советовал ставить 4.х rpm-3.0.5-9.6x понимает структуру 4.х и ставит 4.х пакеты

Установка ПО из исходных текстов

В некоторых случаях исполняемые модули приложений могут поставляться и в виде tar-gz-архивов. В таком случае установка приложения только немного сложнее, чем в случае установки из rpm-пакета: необходимо просто развернуть архив и чаще всего можно уже запускать полученное приложение. Немного сложнее установить приложение, если оно поставляется в исходных текстах. Этот случай и рассмотрим в настоящем разделе.

Необходимые сведения о программировании на языке Си

Начать стоит с того, что операционная система UNIX родилась на свет одновременно с языком программирования C (Си). Более того, язык C был создан специально для разработки этой ОС, значительная часть UNIX была написана на языке С. ОС Linux тоже написана на Си. Поэтому, а также в соответствии с принципом свободного распространения исходных кодов, многие приложения для Линукс распространяются в виде текстов на С. Естественно, что для того, чтобы такое приложение установить в систему и запустить на исполнение, его необходимо скомпилировать. Для выполнения процедур компиляции обычно используется программа gcc (хотя существуют и некоторые альтернативные разработки).

GNU-компилятор с языка С gcc, содержит в себе 4 основных компонента, соответствующие четырем этапам преобразования исходного кода в исполняемую программу. Первый компонент - это препроцессор, который модифицирует исходный код программы перед компиляцией в соответствии с командами препроцессора, содержащимися в С-программе. В соответствии с этими командами выполняются простые подстановки текста. Второй - собственно компилятор, который обрабатывает исходный код и преобразует его в код на языке ассемблера. Третий компонент - ассемблер, который генерирует объектный код. И, наконец, четвертый компонент - компоновщик, который собирает исполняемый файл из файлов объектного кода. Дело в том, что большие программы обычно пишутся по-частям, в виде множества отдельных файлов, содержащих исходный код соответствующей части. Компилятор обрабатывает каждый такой файл отдельно и создает отдельные объектные модули (файлы таких модулей обычно имеют расширение.o). Создание единой исполняемой программы из таких модулей и является задачей компоновщика. При таком подходе, если в какой-то модуль программист вносит исправление, нет необходимости заново компилировать всю программу: достаточно откомпилировать исправленный модуль и заново запустить компоновщик.

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

Библиотеки бывают статическими, разделяемыми и динамическими. Статическая библиотека - это библиотека, код которой встраивается в программу при компиляции. Код разделяемой библиотеки не встраивается в программу, а загружается в память одновременно с программой и программа получает доступ к функциям этой библиотеки. Динамические библиотеки - разновидность разделяемых, только библиотечные функции загружаются в память только тогда, когда из программы поступит вызов соответствующей функции. В процессе выполнения программы они могут выгружаться и заменяться другими функциями из той же или другой библиотеки. Имена статических библиотек обычно имеют суффикс.a, а имена разделяемых библиотек - суффикс.so, за которым следует старший и младший номера версии. Имя может быть любой строкой, которая однозначно характеризует библиотеку. Обычно имена библиотек начинаются с lib. Примеры: libm.so.5 - общая математическая библиотека, libX11.so .6 - библиотека для работы с системой X Window. Библиотека libc.so.5 компонуется автоматически, в то время как большинство других библиотек необходимо явно указывать в командной строке при вызове программы gcc. Это делается через опцию -l за которой следует уникальная часть имени библиотеки, например, для вызова математической библиотеки достаточно указать -lm.

Многие системные библиотеки располагаются в системных каталогах, например, в /usr/lib/ и /lib/, но некоторые могут располагаться и в других каталогах. Список этих каталогов помещается в файл /etc/ld.so.conf. Каждый раз, когда разделяемая библиотека изменяется или инсталлируется вновь, нужно выполнять команду ldconfig, чтобы обновить файл /etc/ld.so.conf, а также ссылки на него. Если библиотека инсталлируется из RPM-пакета, это обычно делается автоматически, хотя и не всегда.

При компиляции больших программ, использующих фрагменты исходного кода, расположенные в разных файлах, бывает очень трудно отследить, какие файлы нужно перекомпилировать, а какие только компоновать. В таких случаях очень помогает утилита make, которая автоматически определяет, следует ли компилировать файл исходного кода, по дате его последней модификации. Утилита make оперирует файлами, исходя из их зависимости друг от друга. Эти зависимости определяются файлом с именем makefile. Строка файла makefile состоит из трех частей: имени целевого файла, списка файлов, от которых он зависит, и команды. Если какой-либо файл из списка изменился после целевого файла, то выполняется указанная в строке команда. В строке может быть указано несколько команд. Обычно команда - это вызов компилятора для компиляции файла исходного кода или компоновки файлов объектного кода. Строки, определяющие зависимости, отделяются друг от друга пустой строкой.

Инсталляция пакетов ПО из исходных текстов

Теперь, когда мы получили первое впечатление о том, как осуществляется компиляция программ на языке С, можно перейти к рассмотрению того, как обращаться с пакетами программ, распространяемыми в виде исходных кодов. Первое, что надо сказать в этой связи, это то, что для установки таких пакетов Вы, естественно, должны иметь в своей системе утилиты gcc и make.

Непосредственно процесс инсталляции пакета состоит из следующих шагов:

  1. Перейти (с помощью команды `cd") в каталог, содержащий исходные коды устанавливаемого пакета.
  2. Выполнить команду `./configure", которая осуществляет конфигурирование пакета в соответствии с Вашей системой. Процесс выполнения этой команды занимает довольно длительное время, причем команда выдает на экран сообщения, сообщающие, какие именно особенности системы испытываются.
  3. Выполнить команду `make", для того, чтобы скомпилировать пакет.
  4. После этого можно выполнить (это шаг не является обязательным) команду `make check", которая вызывает запуск процедур самотестирования, которые поставляются с пакетом.
  5. Выполнить команду `make install" для установки программ, а также файлов данных и документации.
  6. Заключительный этап состоит в выполнении команды `make clean", которая удаляет промежуточные объектные и двоичные файлы из каталога с исходными кодами. Для удаления временных файлов, которые создала команда `configure" (после чего пакет можно компилировать для другого типа компьютеров), надо выполнить команду `make distclean".
В большинстве случаев выполнение этой последовательности команд достаточно для установки нового пакета.

Сколько осталось места на диске

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

Программа rpm позволяет определить, сколько места потребуется для установки пакета: для этого надо дать запрос вида rpm -qpi имя_пакета и в строке Size будет выдано, сколько байт займет пакет. Осталось узнать, есть ли столько свободного места на диске.

Для определения обьема свободного пространства на диске Вы можете воспользоваться командой df. Если дать эту команду без аргументов, то она сообщит каков объем дискового пространства во всех смонтированных файловых системах, сколько используется и сколько еще свободно. Единицей измерения при этом служит 1 килобайтный блок. Если Вы хотите получить сведения об объеме свободного пространства в более привычных мегабайтах, дайте команду с параметром -h:

Df -h Сведения о количестве свободного пространства на конкретном диске можно получить, если задать в качестве параметра имя файла устройства: df -h /dev/hda2 Если вместо имени файла устройства указать полное (с указанием пути) имя произвольного файла или каталога, то Вы получите данные о количестве используемого и свободного места в файловой системе, содержащей указанный файл (каталог).

Если место еще есть, то можно перейти к установке пакета. Хуже владельцам компьютеров с дисками маленького объема: тут каждый раз надо думать, как бы освободить место для новой программы, другими словами, что уже можно с диска удалить. Удалять можно отдельные файлы, но, конечно, с точки зрения освобождения пространства, эффективнее удалять целыми каталогами или пакетами.

Файлы (каталоги) удаляются в том случае, если они (размещенные в них файлы) Вам более не нужны. Естественно, что для удаления выбираются каталоги (или файлы) самого большого обьема и тут оказывается полезной команда du (disc usage).

Команда du позволяет узнать, сколько места занимает конкретный файл или подкаталог. Для этого надо дать команду следующего формата (в примере мы узнаем объем каталога /usr/lib)

Du -ks /usr/lib Результатом выполнения данной команды будет примерно такая строка 91418 /usr/lib которая означает, что каталог /usr/lib занимает 91418 килобайт (опция k указывает, что объем должен выдаваться в килобайтах). Опция s задана для того, чтобы выводился только суммарный объем каталога. Если Вы ее опустите, то получите данные об объеме каждого подкаталога и файла в указанном каталоге, а это очень много информации. Впрочем, последней строкой все равно будет выведен суммарный объем каталога, так что если Вас завораживает мелькание строк на экране, можете доставить себе это маленькое удовольствие.

Если маленькую s заменить на большую S, то выводиться будет только информация об объеме подкаталогов (но не файлов), что иногда тоже полезно. О других опциях указанных команд Вы можете узнать на соответствующих man-страницах или по команде info.

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

Освобождение дискового пространства

Однажды мне пришлось устанавливать Линукс (Black Cat 6.0) на 486-ой компьютер с жестким диском объемом 350 Мбайт. Хотя при установке я старался выбрать минимально возможную конфигурацию ПО, все равно после завершения установки диск оказался заполнен более чем на 90 %. Перечислю вкратце те действия, которые позволили мне освободить достаточно места на диске для установки новых пакетов.
  1. Первым делом стоит подумать об удалении части пакетов ПО, установленных при инсталляции системы. Для того, чтобы решить, какой пакет или пакеты можно удалить, дайте команду: >rpm -qa --queryformat "%15{SIZE} %{NAME}\n" | sort -nr %rpm -q -a > packages Полученный файл packages будет содержать список всех установленных в системе пакетов ПО. Этот список можно проанализировать с целью выявления ненужных Вам пакетов и удалить таковые с помощью команды rpm с параметром -e. При этом будут удалены все созданные при инсталляции пакета файлы и каталоги. Этот способ самый безопасный, поскольку программа rpm предварительно проверит, не используется ли данный пакет какой-либо другой программой, и при наличии такой зависимости выдаст соответствующее предупреждение, а удалять что-либо откажется.

    У меня, например, в полученном таким образом файле packages встретилось упоминание пакета AfterStep-APPS-990329-2. Выполнив команду:

    % rpm -qi AfterStep-APPS выяснил, что этот пакет содержит некие апплеты к оконному менеджеру AfterStep. Поскольку такой менеджер не использовал, удалил этот пакет, а также и сам пакет AfterStep, с помощью команд: % rpm -e AfterStep % rpm -e AfterStep-APPS Это освободило около 5800 Кбайт (отмечу только, что удаление пакетов надо выполнять с правами root-а). Воспользовавшись таким приемом Вы можете удалить все пакеты, которые не используете. Я, например, удалил такие пакеты, как gnome-core, gnome-libs, gnome-audio, поскольку в качестве графической среды использую не Gnome, а KDE. Отмечу, что когда я попытался удалить gnome-core, rpm отказалась это сделать, сообщив, что часть этого пакета используется пакетом xmms-gnome. Еще больше неудовлетворенных зависимостей образуется при попытке удалить gnome-libs. Однако поскольку все упоминавшиеся в этих сообщениях пакеты так или иначе были связаны с Gnome, я рискнул удалить их все, а также другие пакеты, которые были с ними связаны. В результате освободилось около 7800 Кбайт дискового пространства.

  2. Заглянув в каталог /usr/man, я обнаружил два подкаталога со страницами руководства man на французском и испанском языках. После их удаления освободилось около 100 Кбайт.
  3. В каталоге /usr/lib/kbd/keymaps можно, по-видимому, удалить подкаталоги, в которых хранятся таблицы раскладок клавиатуры, предназначенные для других типов микропроцессоров, а в /usr/lib/kbd/keymaps/i386 -подкаталоги для раскладок, отличных от qwerty.

    Аналогичным образом удаляются раскладки клавиатуры для различных языков, которыми Вы не пользуетесь (зачем мне китайский или тайский, я не знаю на них ни одного слова!). Эти шрифты расположены в каталоге /usr/lib/kbd/keymaps/i386/qwerty.

    Можно попробовать удалить ненужные фонты из /usr/lib/kbd/consolefonts, однако если в начале таблицы раскладки клавиатуры указывается, для какого языка она служит, то о назначении файла фонта приходиться судить по его названию.

    Поскольку по умолчанию в системе устанавливаются средства локализации для различных стран (которые Вам, по-видимому, не потребуются), то можно удалить из каталога /usr/share/locale все подкаталоги, соответствующие не нужным Вам языкам. Всего там около 16 мегабайт, так что удаление ненужного может дать около 15 мегабайт освобожденного пространства. Еще более 2 мегабайт может дать очистка каталогов /usr/share/i18n/locales и /usr/share/i18n/charmaps

  4. В каталоге /usr/share/doc/HTML/ имеются подкаталоги с документацией на разных языках, значительная часть которой Вам, по-видимому, не нужна. Я оставил в этом каталоге только три подкаталога en, ru default, причем последний является просто ссылкой на подкаталог en, так что фактически там только 2 подкаталога осталось. Удаление этой документации освободило около 500 Кбайт.

RPM (RedHat Package Manager) - самая популярная утилита управления пакетами для систем на базе RedHat , таких как RHEL , CentOS , Fedora . Инструмент позволяет системным администраторам и пользователям устанавливать, обновлять, удалять, запрашивать, проверять и управлять пакетами системного программного обеспечения в операционных системах Unix/Linux . Менеджер пакетов RPM хранит информацию об установленных в системе приложениях в свой базе данных /var/lib/rpm . Сами.rpm файлы содержат скомпилированные версии программного обеспечения, библиотеки необходимые для их работы, а так-же актуальную информацию об источниках пакетов, версиях и зависимостях. RPM не может управлять программным обеспечением скомпилированным и установленным из исходных кодов.

По сути RPM работает в нескольких режимах. Запросы и проверки:

  • rpm {-q|--query}
  • rpm {-V|--verify}
Установка, обновление, удаление пакетов:
  • rpm {-i|--install} PACKAGE_FILE ...
  • rpm {-U|--upgrade} PACKAGE_FILE ...
  • rpm {-F|--freshen} PACKAGE_FILE ...
  • rpm {-e|--erase} [--allmatches] [--justdb] [--nodeps] [--noscripts][--notriggers] [--test] PACKAGE_NAME ...

1. Проверить gpg подпись rpm пакета

Желательно всегда проверять gpg подпись пакета перед его установкой что-бы удостовериться в его подлинности. # rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK

2. Установка rpm пакета

Для установки rpm пакета используется ключ -i : # rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm Preparing... ########################################### 1:pidgin ########################################### -i : Установить пакет -v : показать отладочную информацию -h : выводить хэш-меток при установке

3. Проверить зависимости rpm пакета перед установкой

Посмотреть список зависимостей пакета можно так: # rpm -qpR htop-2.0.2-2.fc26.aarch64.rpm ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.17)(64bit) libncursesw.so.6()(64bit) libtinfo.so.6()(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 rtld(GNU_HASH) -q : выполнить запрос -p | --package : запросить информацию -R : опция режима query, список зависимостей пакета

4. Rpm, установка пакетов без зависимостей

Если вы уверены что все необходимые зависимости установлены, а rpm ругается и не дает установить пакет, можно игнорировать установку зависимостей с помощью флага --nodeps : # rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm Preparing... ########################################### 1:BitTorrent ########################################### Вышеприведенная команда принудительно установит пакет, не смотря на ошибки rpm . Учтите, что если окажется что зависимости все таки отсутствуют в системе, установленная программа работать не будет и нужно будет отдельно установить необходимые зависимости.

5. Rpm, проверить установленный пакет

Что-бы проверить установлен пакет или нет, нужно выполнить запрос нужного пакета: пакет htop установлен # rpm -q htop htop-2.0.2-1.el7.x86_64 пакет fake не установлен # rpm -q fake package fake is not installed

6. Rpm, список файлов установленного пакета

Список файлов установленного пакета можно получить запросом -ql (query list ): # rpm -ql htop /usr/bin/htop /usr/share/doc/htop-2.0.2 /usr/share/doc/htop-2.0.2/AUTHORS /usr/share/doc/htop-2.0.2/COPYING /usr/share/doc/htop-2.0.2/ChangeLog /usr/share/doc/htop-2.0.2/README /usr/share/man/man1/htop.1.gz /usr/share/pixmaps/htop.png

7. Rpm, список последних установленных пакетов

# rpm -qa --last htop-2.0.2-1.el7.x86_64 Sat 03 Jun 2017 06:20:07 PM MSK

8. Rpm, вывести список всех установленных пакетов

Что-бы получить список всех установленных в системе пакетов, нужно выполнить запрос -qa без дополнительных параметров # rpm -qa perl-HTML-Parser-3.71-4.el7.x86_64 dracut-network-033-463.el7.x86_64 filesystem-3.2-21.el7.x86_64 ..................... список пакетов будет довольно большим, для постраничного вывода можно использовать такие утилиты как more или less : # rpm -qa | more

9. Обновление rpm пакета

Для обновления любого rpm пакета используется опция -U (upgrade ). Данная опция не только делает обновление любого пакета до последней версии, но и создает резервную копию старой версии пакета. Если после обновления что-то пойдет не так и программное обеспечение не заработает, можно будет вернуться на ранее установленную и заведомо рабочую версию. # rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm Preparing... ########################################### 1:nx ###########################################

10. Удаление rpm пакета

Для удаления пакета предназначена опция -e (erase ), опция vv используется для более подробного вывода отладочных сообщений: # rpm -evv nx

11. Удаление rpm пакета без зависимостей

Параметр --nodeps принудительно удаляет пакет rpm из системы. Имейте в виду, что удаление определенного пакета может нарушить работу других рабочих приложений. # rpm -ev --nodeps htop

12. Rpm, запросить файл принадлежащий пакету

Если понадобилось узнать какому пакету принадлежит конкретный файл, используется опция -qf (query file ): # rpm -qf /etc/my.cnf mariadb-libs-5.5.52-1.el7.x86_64

13. Rpm, получить информацию об установленном пакете

Что-бы получить развернутую информацию об установленном пакете, используется опция -qi (query info ): # rpm -qi htop Name: htop Version: 2.0.2 Release: 1.el7 Architecture: x86_64 Install Date: Sun 04 Jun 2017 10:20:51 AM MSK Group: Applications/System Size: 212139 License: GPL+ Signature: RSA/SHA256, Sun 24 Jul 2016 09:22:13 PM MSK, Key ID 6a2faea2352c64e5 Source RPM: htop-2.0.2-1.el7.src.rpm Build Date: Sun 24 Jul 2016 01:01:34 PM MSK Build Host: buildvm-26.phx2.fedoraproject.org Relocations: (not relocatable) Packager: Fedora Project Vendor: Fedora Project URL: http://hisham.hm/htop/ Summary: Interactive process viewer Description: htop is an interactive text-mode process viewer for Linux, similar to top(1).

14. Rpm, получить информацию о пакета который еще не установлен

Что-бы получить информацию о пакете который уже скачан, но еще не установлен, можно запросом -qip (query info package ): rpm -qip ./pachage_name.rpm

15. Rpm, посмотреть файлы документации определенного пакета

Запрос -qdf (query document file ) выведет список всех файлов документации пакета: # rpm -qdf /usr/bin/htop /usr/share/doc/htop-2.0.2/AUTHORS /usr/share/doc/htop-2.0.2/COPYING /usr/share/doc/htop-2.0.2/ChangeLog /usr/share/doc/htop-2.0.2/README /usr/share/man/man1/htop.1.gz

16. Проверка определенного rpm пакета

При проверке пакета сравнивается информацию об установленных файлах пакета с базой данных rpm . # rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf

17. Проверка всех rpm пакетов

# rpm -Va S.5....T. c /etc/rc.d/rc.local .......T. c /etc/dnsmasq.conf .......T. /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf

18. Импорт GPG ключа

Для проверки пакетов RHEL/CentOS/Fedora , нужно импортировать GPG ключ. Для этого выполните следующую команду: # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

19. Rpm, посмотреть все импортированные ключи

# rpm -qa gpg-pubkey* gpg-pubkey-7bd9bf62-5762b5f8 gpg-pubkey-352c64e5-52ae6884 gpg-pubkey-f4a80eb5-53a7ff4b gpg-pubkey-810f8996-552b1d92

20. Перестроить поврежденную базу данных rpm

Иногда база данных rpm может быть повреждена, при этом rpm не может нормально функционировать. Если подобное случилось, нужно перестроить базу данных rpm : # cd /var/lib/rpm # rm -f __db.* # rpm --rebuilddb Ну и как обычно: # man rpm Удачи

*.RPM - файлы, аналогичны SFX-архивам Windows и программам-инсталляторам.
Как правило, содержат в себе собранные исходные тексты программ, которые легко поддаются редактированию.
Исходный код самого пакета по команде пользователя собирается с расширением.SRPM.

Операции с пакетами из консоли производится командой RPM.
Напоминаю:
справку по ней можно получить, набрав "rpm --help" или "rpm -?"; а подробный мануал - "man rpm"
(чтобы выйти из мануала и вернуться в терминал, нужно нажать "q" ).

Здесь предложено ознакомиться сначала с описанием самих программ по установке пакетов
(главная из них - rpm), а затем - со списком команд и параметров для этой программы.

Установка программного обеспечения в Linux.

В операционной системе Linux существуют три способа установки программного обеспечения:

  • Традиционный.
  • Из пакетов RPM.
  • Из пакетов, содержащих исходный код.

Рассмотрим по порядку все три способа.

Этот способ заключается в том, что программа распространяется не в собранном виде, а в виде исходных текстов. Данный способ называется традиционным, потому что он был первым способом установки программ до появления менеджера RPM или аналогичных ему (apt-get).

1. Традиционный способ установки - установка из исходных текстов.

Как правило, исходный текст распространяется в архиве. Обычно файл, содержащий исходный текст, имеет двойное расширение: например, tar.gz или tar.bz2. Это означает, что данный файл сжат двумя архиваторами: сначала tar, а потом gzip.

Распаковывать архив нужно по принципу стека: сначала внешним архиватором, а потом внутренним. Предположим, что prg-2.00.tar.gz - это имя файла нашего архива. Для его распаковки нужно ввести команды:

gunzip prg-2.00.tar.gz
tar xvf prg-2.00.tar

Первая команда распакует файл prg-2.00.tar, который мы укажем в качестве одного их аргументов во второй команде. Параметр х программы tar означает, что нам нужно выполнить извлечение файлов из архива (параметр с - создание). Параметр v можете указывать по собственному усмотрению, он обеспечивает большую информативность при работе программы.
Последний параметр f является обязательным при работе с файлами.
Первоначально программа tar была предназначена для работы с пленками стримеров, поэтому нужно использовать параметр f, чтобы сказать программе, что нам нужно работать с файлами.
Если внешнее расширение не gz, a bz или bz2, то вместо первой команды вам нужно ввести команды (соответственно):

bunzip prg-2.00.tar.bz
bunzip2 prg-2.00.tar.bz2


Затем, как и в первом случае, нужно выполнить команду tar (с такими же параметрами).

Иногда файлы исходных текстов имеют всего одно расширение tgz. В этом случае вам нужно ввести всего одну команду:

tar xzf prg-2.00.tgz


Параметр z означает извлечение файлов с использованием распаковщика gzunzip. Обычно такое расширение имеют файлы архивов, созданные с помощью программы tar и пропущенные через фильтр архиватора gzip.

Следующий этап - это непосредственная установка программы. После успешного завершения первого этапа(распаковки) перейдите в каталог, содержащий исходные тексты. Обычно это каталог <имя_программы-версия>:

cd prg-2.00

. /configure
make
make install

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

Обычно такое случается, когда в вашей системе не установлена одна из необходимых новой программе библиотек. Для продолжения установки необходимо установить требуемую библиотеку и попытаться заново ввести команду./configure. После успешного завершения работы программы./configure будет создан файл Makefile, в котором будут указаны необходимые параметры (пути к библиотекам, путь для установки программы) для программы make.

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

Третья команда - make install - устанавливает программу и файлы справочной системы в соответствующие каталоги. Обычно программы устанавливаются в каталог /usr/bin, но это зависит от содержимого конфигурационного файла Makefile.

После успешной установки программы вы можете ее запустить, предварительно прочитав документацию по этой программе.

2.Установка программа из пакета RPM.

Установка программного обеспечения в дистрибутивах Red Hat и Mandrake производится с помощью программы rpm. RPM (Red Hat Package Manager) - это менеджер пакетов Red Hat. Несмотря на то, что в названии присутствует «Red Hat», он полностью предназначен работать как открытая пакетная система, доступная для использования кем угодно. Она позволяет пользователям брать исходный код для нового программного обеспечения и упаковывать его в форме исходного и двоичного кода, так что двоичные файлы могут быть легко установлены и отслежены, а исходный код легко
построен. Эта система также сопровождает базу данных всех пакетов и их файлов, что может быть использовано для проверки пакетов и запроса информации о файлах и/или пакетах.

В отличие от привычных мастеров InstallShield, которые используются для установки программ для Windows, пакеты RPM (файлы с расширением.rpm) не являются выполняемыми файлами, то есть программами. В пакетах содержатся файлы (как в архиве), которые нужно установить, а также различная информация об этом пакете: какой пакет необходим для работы этого пакета, с каким пакетом конфликтует, информация о разработчике, а также информация, указывающая, какие действия нужно выполнять при установке этого пакета, например, какие каталоги нужно создать. Менеджер пакетов RPM используется во многих дистрибутивах Linux (Red Hat, Mandrake, ASP, Black Cat) и является довольно легкой и гибкой в использовании системой, что обусловливает его популярность.

Например, для пакета software-1.0-I.i386.rpm имеют место: software - название;

1.0 - версия программы;
1 - выпуск пакета;
i386 - платформа Intel 386.

Обычно в имени файла пакета указываются его название, версия, выпуск, платформа. Последние четыре символа - «.rpm» - признак того, что данный файл является пакетом. В Linux отсутствует такое понятие как расширение или тип файла.

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

С названием и версией программы, я думаю, все ясно. А вот с архитектурой немного сложнее. Самыми «универсальными» пакетами являются пакеты, рассчитанные на архитектуру Intel 386. Данная программа должна
работать на любом процессоре Intel, начиная с 80386DX (или совместимого с ним). А вот если у вас процессор 80486, пакет, рассчитанный для работы с архитектурой 80586 (Pentium), скорее всего, не установится в вашей системе.
Обычно для процессоров архитектуры CISC (с набором команд х86) используются следующие обозначения:

i386 - Intel 80368DX;
i586 - Intel Pentium (MMX), AMD K5 (K6);
i686 - Intel PPro, Celeron, PII, РШ, PIV.

В простейшем случае команда установки пакета выглядит так:

rpm -i <пакет>

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

Если нужен дополнительный пакет, просто установите его. А вот если программа конфликтует с уже установленным пакетом, то вам нужно будет выбрать, какой пакет вам больше нужен: уже установленный или новый.

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

rpm -ihv software-1.0-1.i386.rpm

Установку можно производить не только с локального диска, но и по протоколу FTP:

Для удаления пакета используется команда:

rpm -e <пакет>

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

Для пропуска проверки зависимостей нужно использовать параметр --nodeps.
Это бывает иногда полезно. Например, у вас установлена программа postfix, а вам нужно установить программу sendmail. Обе программы используются для отправки почты.

Однако для работы многих почтовых программ необходим агент МТА (Mail Transfer Agent) - программа для отправки почты (postfix или sendmail).
Поэтому с помощью параметра -е удалить программу postfix вы не сможете.
Установить программу sendmail без удаления программы postfix вы также не сможете, потому что пакеты конфликтуют друг с другом. В этом случае вам поможет команда:

rpm -e -nodeps postfix

После такого удаления нормальная работа других программ, которым необходим МТА, невозможна, поэтому вам сразу же нужно установить программу sendmail (или другой МТА). Устанавливать программу в таком случае нужно, как обычно, с помощью параметра -i.

Для обновления программ используется параметр -U. Я рекомендую использовать его и при установке программ, потому что, если устанавливаемый пакет уже был установлен, то будет произведено его обновление, а если нет, то будет просто установлен новый пакет. Для того, чтобы видеть текстовый индикатор при установке пакетов, используйте опцию h. Команда для обновления пакета:

rpm -Uhv <пакет>

Например:

rpm -Uhv software-1.1-4.i386.rpm

Текстовый индикатор будет отображен в виде символов #. Просмотреть все установленные пакеты можно с помощью команды:

rpm -qa I less

Если вам требуется узнать, установлен ли определенный пакет, выполните команду:

rpm -qa | grep название_пакета

Просмотреть общую информацию о пакете можно с помощью команды:

rpm -qi пакет

а информацию о файлах, которые входят в состав пакета:

rpm -ql пакет

Программы gnorpm, kpackage, apt.

Менеджер пакетов RPM является мощным средством для произведения операций над пакетами - создания, установкя, обновления, удаления. Однако интерфейс командной строки может понравиться далеко не всем, а особенно начинающему администратору. Существуют и графические (под X Window) реализации менеджера пакетов - например, kpackage из KDE, gnorpm и другие.
Я рекомендую использовать программу gnorpm, которая обладает интуитивным графическим интерфейсом. RPM больше подходит для создания новых пакетов, а также для обновления большого числа пакетов. Для установки одного-двух пакетов лучше и удобнее использовать gnorpm.

Функции программы gnorpm:

Установка пакетов.
Удаление пакетов.
Получения сведений о пакете.
Проверка пакета.
Поиск пакета в базе RPM.

Для установки какого-либо пакета нажмите на кнопку «Установить». Если в приводе CD-ROM находится инсталляционный CD, то в появившемся окне вы увидите список еще не установленных в системе пакетов.

Если пакета нет в списке или вы хотите установить пакет, который не входит в состав дистрибутива, нажмите на кнопку «Добавить» и добавьте в список пакеты, которые вы хотите установить. Нажмите на кнопку «Запрос» для получения сведений о пакете.

Если пакет еще не установлен и у вас достаточно места на диске для его установки, нажмите на кнопку «Установка». После этого будет выполнена проверка пакета на предмет удовлетворения зависимостей: не требует ли этот пакет наличия какого-нибудь неустановленного пакета и не конфликтует ли он с уже установленными пакетами. Если все в порядке, вы увидите окно состояния установки пакета.

Найти пакет вы можете с помощью операции Поиск. Для этого нажмите на кнопку «Поиск» на панели инструментов gnorpm или выполните команду меню Операции -> Поиск. В открывшемся окне вы можете установить критерии поиска и нажать на кнопку «Поиск».

В состав KDE входит программа с графическим интерфейсом пользователя, управляющая пакетами - kpackage. По своим функциям она аналогична программе gnorpm. Какую из этих программ использовать - дело вкуса и привычки.

Также стоит упомянуть о программе APT. Программа APT - это система управления пакетами программного обеспечения. Первоначально система APT была разработана для Debian Linux. Сейчас входит в состав некоторых Red Hat совместимых
дистрибутивов (например, apt-get и входит в состав AltLinux, но ее вы не найдете в Red Hat Linux). Для управления пакетами используется программа apt-get. Формат вызова программы apt-get такой:

apt-get [опции] [команды] [пакет. . .]


В дистрибутив Linux Mandrake входит собственное средство управления пакетами - rpmdrake. К десятой версии дистрибутива оно немного видоизменилось. Теперь оно состоит из трех частей:

/usr/sbin/edit-urpm-media - менеджер источников пакетов (что такое источники, я уже сказал, поэтому останавливаться на этом не будем);
rpmdrake - менеджер установки пакетов;
rpmdrake-remove - менеджер удаления пакетов.
Запустить любую из частей можно из меню К: Система| Настройка | Пакеты.

Установка из пакетов, содержащих исходный код.

Иногда в пакетах RPM находятся не откомпилированные версии программ, а их исходный код. Признаком этого является слово src вместо названия архитектуры. Для установки такого пакета введите:

rpm --rebuild software-2.00-1.src.rpm

Разумеется, вместо software-2.00-l.src.rpm нужно указать реальное имя файла. Перед установкой программы ее исходный текст будет откомпилирован, и потом программа будет установлена.

ОБЩИЕ ОПЦИИ.

Эти опции могут быть использованы во всех режимах работы.

"-vv" Выводить много отладочной информации.

"--quiet" Выводить как можно меньше сообщений - как правило, выводятся только сообщения об ошибках.

"--help" Вывести более детальную, чем обычно, справку об использовании rpm.

"--version" Вывести одну строку, содержащую номер версии используемого rpm.

"--rcfile <список-файлов>" Каждый из файлов из разделенного двоеточиями <списка-файлов> последовательно читается rpm на предмет конфигурационной информации.
По умолчанию <список-файлов> выглядит как /usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc.
В этом списке обязана существовать только первая строка; все тильды будут заменены значением $HOME.

"--root <каталог>" Использовать для всех операций файловую систему с корнем в <каталог>.
Обратите внимание, что это значит, что база данных также будет читаться и модифицироваться под <каталог>,и все pre и post скрипты будут исполняться после chroot() в <каталог>.

"--dbpath <путь>" Использовать базу данных RPM в <путь>.

"--justdb" Обновить только базу данных, не файловую систему.

"--ftpproxy , --httpproxy " Использовать как FTP или HTTP прокси.

"--ftpport <порт>, --httpport <порт>" Использовать <порт> как FTP или HTTP порт прокси-сервера.

"--pipe " Перенаправляет вывод rpm на вход команды .

Обслуживание базы данных:

rpm -i [--initdb]

rpm -i [--rebuilddb]

ОПЦИИ ПЕРЕСТРОЕНИЯ БАЗЫ ДАННЫХ.

Общая форма команды перестроения базы данных RPM выглядит так:
rpm --rebuilddb
Для построения новой базы данных:
rpm --initdb
Этот режим поддерживает только две опции, --dbpath и --root.

Запуск
rpm --showrc
выводит значения, которые rpm будет использовать для всех опций, которыемогут быть установлены в файлах rpmrc.

Сборка:
rpm [-b|t] +
rpm [--rebuild] +
rpm [--tarbuild] +

ОПЦИИ СБОРКИ (ПОСТРОЕНИЯ) ПАКЕТОВ.

Общая форма команды построения пакета rpm выглядит так:
rpm -O [опции-сборки] +
Аргумент -bfR применяется в том случае, если для сборки пакета используется spec-файл. Если же rpmfR должен извлечь этот файл из архива gzip (или compress), используется аргумент -tfR. После первого аргумента указывается следующий (OfR), указывающий какие этапы сборки и упаковки должны быть выполнены. Это один из:

"-bp" Исполнить стадию "%prep" spec-файла. Обычно это включает в себя распаковку исходников и прикладывание к ним патчей.

"-bl" Произвести "list check". В секции "%files" spec-файла производится расширение макросов и проверка перечисленных файлов на существование.

"-bc" Исполнить стадию "%build" spec-файла (предварительно исполнив стадию %prep). Обычно это сводится к исполнению некого эквивалента "make".

"-bi" Исполнить стадию "%install" spec-файла (предварительно исполнив стадии %prep и %build). Обычно это сводится к исполнению некого эквивалента
"make install".

"-bb" Собрать бинарный пакет (предварительно исполнив стадии %prep, %build и %install).

"-bs" Собрать только исходный пакет (предварительно исполнив стадии %prep, %build и %install).

"-ba" Собрать бинарный (RPM) и исходный (SRPM) пакеты (предварительно исполнив стадии %prep, %build и %install).

Также могут быть использованы следующие опции:

"--short-circuit" Исполнить непосредственно указанную стадию, пропустив предшествующие. Может быть использована только с -bc и -bi.

"--timecheck" Установить возраст для "timecheck" (0 чтобы запретить). Это значение также может быть установлено путем определения макроса "_timecheck".
Значение timecheck определяет максимальный возраст (в секундах) пакуемых в пакет файлов. Для всех файлов, которые старше этоговозраста, будет выводиться предупреждение.

"--clean" Удалить дерево, использованное для сборки, после того, как построены пакеты.

"--rmsource" Удалить исходники и spec-файл после сборки (может быть использовано отдельно, например "rpm --rmsource foo.spec").

"--test" Не исполнять никаких стадий сборки. Полезно для тестирования spec-файлов.

"--sign" Встроить в пакет PGP-подпись. Эта подпись может быть использована для проверки целостности и источника происхождения пакета. См. секцию
ПОДПИСИ PGP на предмет опций PGP.

"--builroot <каталог>" Использовать каталог <каталог> как корневой для сборки пакетов.

"--target <платформа>" При сборке пакета интерпретировать <платформа> как arch-vendor-os
и соответственно установить макросы _target, _target_arch и _target_os.

"--buildarch " Собрать пакет для архитектуры не обращая внимания на архитектуру
системы, на которой производится сборка. Эта опция устарела, в RPM 3.0 вместо нее следует использовать опцию --target.

"--buildos " Собрать пакет для операционной системы не обращая внимания на
архитектуру системы, на которой производится сборка. Эта опция устарела, в RPM 3.0 вместо нее следует использовать опцию --target.

ОПЦИИ ПЕРЕСБОРКИ И ПЕРЕКОМПИЛЛЯЦИИ.

Существуют еще два способа запуска rpm:

rpm --recompile <файл_исходного_пакета>+"

rpm --rebuild <файл_исходного_пакета>+"

Будучи вызванным таким способом, rpm устанавливает указанный исходный пакет и исполняет %prep, %build и %install. Кроме того, --rebuild собирает новый бинарный пакет. После того, как сборка закончена, удаляется дерево, использованное для сборки (как с опцией --clean), сами исходники и spec-файл.

ПОДПИСЬ СУЩЕСТВУЮЩЕГО RPM.

rpm --resign <файл_бинарного_пакета>+ Эта опция генерирует и вставляет новые подписи в указанные пакеты.
Все существующие подписи из пакетов удаляются.

rpm --addsign <файл_бинарного_пакета>+ Эта опция генерирует и добавляет новые подписи в указанные пакеты.
Все существующие подписи пакетов при этом сохраняются.

ПОДПИСИ PGP.

Для того, чтобы использовать возможность подписи, rpm должен быть настроен для запуска PGP и должен быть способен найти public key ring с ключом RPM в нем. По умолчанию rpm для поиска keyrings использует умолчания PGP (соблюдая PGPPATH).
Если ваlи key rings расположены не там, где их ожидает найти PGP, вы должны настроить макрос "_pgp_path" на каталог, содержащий ваlи key rings.

Если вы хотите иметь возможность подписи создаваемых вами пакетов, вам также необходимо создать свою собственную пару из публичного и секретного ключей (см. документацию PGP). Кроме выlеупомянутого макроса, вам также необходимо настроить макросы

"_signature" Тип подписи. В настоящее время поддерживается только pgp.

"_pgp_name" Имя "пользователя" , чьи ключи вы хотите использовать для подписи ваших пакетов.

При сборке пакетов вы добавляете к командной строке опцию --sign. У вас спросят пароль и ваш пакет будет собран и подписан.

Например, для того чтобы использовать PGP для подписи пакетов от имени пользователя "John Doe " из key rings, находящихся в /etc/rpm/.pgp, вы должны включить

"%_signature"
pgp
"%_pgp_name"
/etc/rpm/.pgp
"%_pgp_name"
John Doe "

В файл конфигурации макросов. Используйте /etc/rpm/macros для общесистемной и ~/.rpmmacros для пользовательской конфигурации.

Обслуживание установленных пакетов:

rpm [--install] [опции-установки] [файл-пакета]+
rpm [--eshen|-F] [опции-установки] [файл-пакета]+
rpm [--uninstall|-e] [опции-удаления] [пакет]+
rpm [--verify|-V] [опции-верификации] [пакет]+

ОПЦИИ УСТАНОВКИ И ОБНОВЛЕНИЯ.

Общая форма команды установки rpm выглядит так:
rpm -i [опции-установки] <файл_пакета>+
Такая команда устанавливает новые пакеты.

Общая форма команды обновления rpm выглядит так:
rpm -U [опции-установки] <файл_пакета>+
Такая команда производит обновление установленных пакетов. Работа этой команды полностью аналогична работе команды установки за исключением того, что все остальные версии пакетов удаляются из системы.

rpm [-F|--eshen] [опции-установки] <файл_пакета>+
Такая команда производит обновление пакетов, но только если в системе существуют более ранние версии этих пакетов.
Допускается задание <файл_пакета> в виде ftp или http style URL. В этом случае перед установкой файл будет получен с cервера, указанного в URL.

"--force" То же, что и комбинация --replacepkgs, --replacefiles и --oldpackage.

"-h, --hash" Выводить 50 знаков "#" по мере распаковки архива с пакетом. Используется с -v для красивости.

"--oldpackage" Позволяет заменить новый пакет на более старый при обновлении (откатиться назад).

"--percent" Выводить процент готовности по мере распаковки архива с пакетом. Задумано для облегчения использования rpm из других утилит.

"--replacefiles" Устанавливать пакеты даже если они перепиlут файлы из других, уже установленных пакетов.

"--replacepkgs" Устанавливать пакеты даже если некоторые из них уже установлены в системе.

"--allfiles" Устанавливать или обновлять все файлы, определенные как "missingok", даже если они уже существуют.

"--nodeps" Не проверять зависимости перед установкой или обновлением пакета.

"--noscripts" Не исполнять пре- и постустановочных скриптов.

"--notriggers" Не исполнять триггер-скриптов, взведенных на установку данного пакета.

"--ignoresize" Не проверять файловую систему на наличие достаточного свободного места перед установкой этого пакета.

"--excludepath <путь>" Не устанавливать файлы, чьи имена начинаются с <путь>.

"--excludedocs" Не устанавливать никаких файлов, отмеченных как файлы документации (включает мануалы и документы texinfo).

"--includedocs" Устанавливать файлы документации. Это поведение по умолчанию.

"--test" Не устанавливать пакет, просто проверить возможность установки и сообщить о возможных проблемах.

"--ignorearch" Произвести установку или обновление даже если архитектуры бинарного RPM и машины не совпадают.

"--ignoreos" Произвести установку или обновление даже если операционные системы бинарного RPM и машины не совпадают.

"--prefix <путь>" Установить префикс установки в <путь> для переместимых пакетов.

"--relocate <старый_путь>=<новый_путь>" Для переместимых пакетов: преобразовывает файлы, которые должны были бы быть установлены в <старый_путь> в <новый_путь>.

"--badreloc" Для использования вместе с --relocate. Производит перемещение даже если пакет не переместимый.

"--noorder" Не переупорядочивать список устанавливаемых пакетов. Обычно список переупорядочивается для удовлетворения зависимостей.

Запрос:
rpm [--query] [опции-запроса]
rpm [--querytags]

ОПЦИИ ЗАПРОСА.

Общая форма команды запроса(инспекции) rpm выглядит так:
rpm -q [опции-запроса]
Можно задать формат, в котором будут выводиться информация о пакете. Для этого используется опция --queryformat с последующей строкой формата.

Форматы запроса представляют собой модифицированную версию стандартного форматирования printf(3). Формат состоит из статических строк (которые могут включать стандартные escape-последовательности C для переводов строки, табуляций и других специальных символов) и форматов по типу используемых в printf(3). Так как rpm уже знает типы данных, подлежащих выводу, спецификаторы типов должны быть опущены и заменены именами тэгов(ключей) хедеров, подлежащих выводу, заключенными в {}. Часть имени тэга RPMTAG_ может быть опущена.

Альтернативные форматы вывода могут быть заданы путем добавления к имени тэга:typetag. В настоящее время поддерживаютсяследующие типы: octal, date, shescape, perms, fflags и depflags.

Например, для вывода только названий запраlиваемых пакетов, можно использовать в качестве строки формата %{NAME}. Для вывода названий пакетов и информации о дистрибутиве в две колонки можно использовать %-30{NAME}%{DISTRIBUTION}.

Будучи запущенным с аргументом --querytags, rpm выведет список всех тэгов, о которых он знает.

Есть два набора опций для запроса - выбор пакетов и выбор информации.

Опции выбора пакетов:

"<название_пакета>" Запрос установленного пакета, называющегося <название_пакета>.

"-a, --all" Запрос всех установленных пакетов.

"--whatrequires " Запрос всех пакетов, требующих для правильного функционирования.

"--whatprovides " Запрос всех пакетов, предоставляющих сервис.

"-f <файл>, --file <файл>" Запрос пакета, которому принадлежит файл <файл>.

"-g <группа>, --group <группа>" Запрос пакетов из группы <группа>.

"-p <файл_пакета>" Запрос (неинсталлированого) пакета <файл_пакета>.
Файл <файл_пакета> может быть задан как ftp или http style URL; в этом случае хедер пакета будет получен с указанного сервера.

"--specfile " Разбор и запрос так, как если бы это был пакет. Хотя не вся информация (например, списки файлов) доступна, этот тип запроса позволяет использовать rpm для извлечения информации из spec-файлов без необходимости написания парсера spec-файлов.

"--querybynumber " Запросить непосредственно запись базы данных номер . Полезно для отладочных целей.

"--triggeredby <имя_пакета>" Запрос всех пакетов, содержащих триггер-скрипты, активизируемые пакетом <имя_пакета>.

Опции выбора информации:

"-i"
Выводит информацию о пакете, включая название, версию и описание. Использует --queryformat если таковой задан.

"-R, --requires" Выводит список пакетов, от которых зависит данный пакет.

"--provides" Выводит список сервисов и библиотек, предоставляемых данным пакетом.

"--changelog" Выводит протокол изменений данного пакета.

"-l, --list" Выводит список файлов, входящих в данный пакет.

"-s, --state" Выводит состояние файлов в пакете (подразумевает -l).

Каждый файл может находиться в одном из следующих состояний: нормальный, не установлен или заменен.

"-d, --docfiles" Вывести список только файлов документации (подразумевает -l).

"-c, --configfiles" Вывести список только конфигурационных файлов (подразумевает -l).

"--scripts" Вывести специфические для данного пакета скрипты, используемые как часть процессов инсталляции/деинсталляции, если таковые есть.

"--triggers, --triggerscripts" Показать все триггер-скрипты, если таковые имеются, содержащиеся в пакете.

"--dump" Вывести информацию о файлах следующим образом: path size mtime md5sum mode owner group isconfig isdoc rdev symlink.
Эта опция должна использоваться в сочетании с по меньшей мере одной из -l, -c, -d.

"--last" Упорядочивает список пакетов по времени установки таким образом, что наиболее свежие пакеты находятся в верху списка.

"--filesbypkg" Показывает все файлы в каждом пакете.

"--triggerscripts" Показывает все триггер-скрипты для выбранных пакетов.

ОПЦИИ ВЕРИФИКАЦИИ.

Общая форма команды верификации rpm выглядит так:
rpm -V|-y|--verify [опции-верификации]
В процессе верификации пакета информация об инсталлированых файлах пакета сравнивается с информацией из оригинального пакета и из базы данных RPM. В числе прочих, верификация проверяет размер, контрольную сумму MD5, права доступа, тип, хозяина и группу каждого файла. Все несоответствия докладываются. Опции выбора пакетов такие же, как и для запроса(инспекции) пакетов.

Файлы, которые не устанавливались из пакета (например, файлы документации, которые были исключены из процесса инсталляции при помощи опции "--excludedocs" ) молча игнорируются.

Опции, которые могут быть использованы в процессе верификации:

"--nofiles" Игнорировать отсутствующие файлы.

"--nomd5" Игнорировать ошибки контрольной суммы MD5.
"--nopgp" Игнорировать ошибки подписи PGP.

Форматом вывода является строка из восьми символов, возможное "c", указывающее на конфигурационный файл, и имя файла. Каждый из восьми символов показывает результат сравнения одного из атрибутов файла со значением, записанным в базе данных RPM. Точка обозначает, что тест проlел. Следующие символы говорят об ошибках некоторых тестов:

"5" Контрольная сумма MD5.

"S" Размер файла.

"L" Симлинк.

"T" Время модификации.

"D" Устройство.

"U" Хозяин.

"G" Группа.

"M" Права доступа (включает права доступа и тип файла).

ПРОВЕРКА ПОДПИСИ

Общая форма команды проверки подписи RPM выглядит так:
rpm --checksig <файл_с_пакетом>+
Эта команда проверяет PGP-подпись, встроенную в пакет, для подтверждения целостности и источника происхождения пакета.
Информация о конфигурации PGP читается из конфигурационных файлов. Более детально см. секцию ПОДПИСИ PGP.

ОПЦИИ УДАЛЕНИЯ (ДЕИНСТАЛЛЯЦИИ)

Общая форма команды удаления (деинсталляции) rpm выглядит так:
rpm -e <название_пакета>+

"--allmatches" Удалить все версии пакета, отвечающие <название_пакета> Обычно, если <название_пакета> отвечает нескольким пакетам, выдается
сообщение об оlибке и удаление не производится.

"--noscripts" Не исполнять пре- и постустановочные скрипты.

"--notriggers" Не исполнять триггер-скриптов, взведенных на удаление данного пакета.

"--nodeps" Не проверять зависимостей перед удалением пакетов.

"--test" Не производить удаления, только сделать вид что:) Полезна в сочетании с опцией -vv.

Разное:
rpm [--showrc]
rpm [--setperms] [пакет]+
rpm [--setgids] [пакет]+

ОПЦИИ FTP/HTTP.

rpm содержит простые клиенты FTP и HTTP для упрощения установки и изучения пакетов, доступных через Интернет. Файлы пакетов для установки,
обновления и запроса могут быть указаны как ftp или http style URL:
ftp://:@hostname:/path/to/package.rpm
Если часть Опущена, пароль будет запроlен (по одному разу для каждой пары user/hostname). Если ни , ни Не указаны, будет использован anonymous ftp. Во всех случаях используется пассивная (PASV) пересылка по FTP.

Rpm позволяет использовать с ftp URL следующие опции:

"--ftpproxy " Система будет использована как прокси-сервер для всех пересылок, что позволяет производить FTP-соединения через firewall, использующий прокси для выхода во внеlний мир. Эта опция может быть задана также настройкой макроса _ftpproxy.

"--ftpport " Задает номер TCP-порта, используемого для FTP-соединений вместо порта по умолчанию.
Эта опция может быть также задана настройкой макроса _ftpport.

Rpm позволяет использовать с http URL следующие опции:

"--httpproxy " Система будет использована как прокси-сервер для всех пересылок, что позволяет производить HTTP-соединения через firewall, использующий прокси для выхода во внеlний мир. Эта опция может быть задана также настройкой макроса _httpproxy.

"--httpport " Задает номер TCP-порта, используемого для HTTP-соединений вместо порта по умолчанию.
Эта опция может быть также задана настройкой макроса _httpport.

Подготовил Dvoe4nik85

Для большинства программ разработчикам нет необходимости писать собственный сценарий установки. Дело в том, что компания RedHat разработала универсальный формат для дистрибутивов дополнительных программ, и этот формат стал стандартом в мире Linux. Такой формат называется RPM (аббревиатура Redhat Pocket Manager , то есть «Обработчик пакетов» компании RedHat). Теперь в любом дистрибутиве Linux есть своя программа Менеджер пакетов, которая устанавливает программы для компьютера . Для ее запуска выберите в стартовом меню пункт Системные и далее Менеджер пакетов. Кроме того, программа автоматически запускается, если щелкнуть кнопкой мыши на имени RPM-файла. Таким образом, процесс установки программы практически упростился до двух щелчков мышью.

Окно программы Менеджер пакетов, управляющей установкой дополнительных программ, показано на рисунке ниже.

Чтобы выбрать программный пакет формата RPM для установки, нажмите сочетание клавиш Ctrl-O. Выберите нужный файл. Откроется окно установки показанное на рисунке.

Здесь в левой части окна имеется пять флажков, влияющих на процесс установки:

  • Upgrade (обновить) - если возможно, обновить более старую версию той же программы;
  • Replace files (заменить файлы) - если этот флажок установлен и при установке пакета некоторые файлы совпадут с уже имеющимися, они будут заменены на новые;
  • Replace packages (заменить пакеты) - если в системе имеется более старая версия того же пакета, удалить файлы этой версии;
  • Check dependenciens (проверять зависимости) - очень важный флажок. Как уже говорилось выше, некоторые программы могут использовать библиотеки других программ. Таким образом, если гипотетическая программа ААА использует библиотеки из программы ВВВ, то ее бессмысленно устанавливать, если не установлена программа ВВВ — она все равно не будет работать. Надо сначала установить программу ВВВ. В таких случаях говорят, что программа ААА зависит от программы ВВВ. Флажок Проверять зависимости указывает системе проверить, не зависит ли устанавливаемая программа от какой-либо другой программы, которая в системе не установлена. Кроме того, система проверит, не удалит ли устанавливаемая программа какие-либо файлы, от которых зависят другие программы. Если такая нарушенная зависимость будет найдена, новая программа не будет установлена;
  • Test (тест) - если установить этот флажок, то будет проведена только проверка пакета, а его установка реально произведена не будет.

Чтобы начать установку, нажмите кнопку Установить (Install). При этом в правой части окна будут отображаться сообщения системы, в том числе сообщения об ошибках, если таковые произойдут. И тут возникает вопрос, может ли этот процесс привести к kernel panic (паника ядра). Потому тут следует заметить, что в Linux возникновению паники ядра зачастую предшествует состояние под названием oops. Oops - отклонение от нормальной работы Linux. Когда ядро замечает проблему, на экран выводится сообщение об ошибке. Это сообщение используется разработчиками для исправления программного кода ядра. После oops’а некоторые ресурсы системы могут быть недоступны. Kernel panic чаще всего возникает, когда система пытается использовать несуществующие ресурсы.

Если установка пройдет нормально, новый пакет появится в списке установленных программных пакетов в основном окне программы Менеджер пакетов.

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

Итак, чтобы установить программу, полученную в формате RPM, достаточно открыть RPM — файл в программе Менеджер пакетов и нажать кнопку Установить. Остальное система сделает сама.