rpm -ivh package_name-version.platform.rpm
(как “root”) Устанавливает пакет (параметр “i”, должен быть первой буквой после тире), сообщая подробности (параметр “v’=verbose) и печатая “зарубки” демонстрируя “прогресс” установки (параметр “h”). rpm означает “Redhat Package Manager (Менеджер пакетов)”.
rpm -Uvh package_name-version.platform.rpm
(как “root”) Обновить(Upgrade) (параметр “U”, должен быть первой буквой после тире) пакет, сообщая подробности (параметр “v”) и показывая зарубки (”h”).
rpm -ivh –force –nodep package_name-version.platform.rpm
(как “root”) Установить пакет, игнорируя предупреждения и ошибки взаимозависимости пакетов.
rpm -e package_name
(как “root”) Удаление (параметр “e”=erase) пакета package_name. Прошу отметить отсутствие “-version.platform.rpm” в конце имени пакета (Имя пакета – то же самое, что и имя файла *.rpm без черты, имени, версии, платформы и “rpm”).
rpm -qpi package_name-version.platform.rpm
Запрос (параметр “q”, должен быть первым после черты) уже деинсталлированного пакета (параметр “p”) для показа информации (параметр “i”) о его содержимом.
rpm -qpl package_name-version.platform.rpm
Запрос (параметр “q”, должен быть первым после черты) уже деинсталлированного пакета (параметр “p”) для показа списка (параметр “l”) всех файлов входящих в пакет.
rpm -qf a_file
Поиск пакета к которому приндлежит файл “a_file”. Полезно, если я случайно удалил файл и хочу узнать, из какого пакета я могу его переустановить.
rpm -qi package_name
Запрос к установленному пакету, для получения информации о нем. Прошу отметить отсутствие “-version.platform.rpm” в конце имени пакета.
rpm -qai | more
Запрос ко всем пакетам установленным в моей системе для получения информации о них. В моей простой системе ~600 пакетов, так что мне необходимо достаточное время для того, чтобы прочитать информацию о них. Для подчета количества пакетов, используйте:
rpm -qa | grep -c ”
Чтобы выбрать некоторые пакеты, используйте:
rpm -qa | grep -i Строка поиска
(Параметр -i дает grep указание игнорировать регистр символов, чтобы буквы верхнего и нижнего регистров совпадали.)
rpm -Va
Проверить (параметр “V”) все пакеты (параметр “a”), установленные в моей системе. Перечислит файлы, измененные со времени установки пакета. Примерно это вы получите на выходе:
. Test passed
c This is a configuration file
5 MD5 checksum failed
S File size is different
L Symbolic link has changed
T File modification time changed
D Device file is modified
U User that owns the file has changed
G Group that owns the file has changed
M File mode (permissions and/or file type) has been modified
Как проинсталлировать программу, которую я скачал из ИНТЕРНЕТА?
Ответ зависит от того, пакет какого типа вы скачали. Вы можете избежать головной боли от инсталляции, если вы скачали программу в виде бинарного пакета Red Hat *.rpm (это тот формат, которым я пользуюсь, если есть возможность).
ИНСТАЛЛЯЦИЯ БИНАРНЫХ ПАКЕТОВ REDHAT
Если программа, которую я хочу установить является бинарным пакетом RedHat (*.rpm), я могу использовать либо командную строку, либо приложение, предоставляющее мне графический интерфейс. Я предпочитаю использовать командную строку, поскольку это быстро и беспроблемно. Приложение для инсталляции пакетов RedHat называается rpm. Во-первых, я прочитываю информацию о пакете (необязательно):
rpm -qpi my_new_file.rpm
Эта команда запрашивает (ключ “q” должен быть первым после тире) информацию об ещё не установленном пакете (флаг “p”) и выводит информацию (флаг “i”), которая содержится в пакете. Если я хочу установить программу, я запускаю (с правами суперпользователя) команду:
rpm -ihv my_new_file.rpm
Эта команда выполняет работу по инсталляции. Она запускает программу rpm, указывая ей установить пакет (флаг “i” должен быть первым после тире) и выводить на дисплей больше информации чем обычно (флаг “h”= отобразить маркеры хода распаковки, флаг “v” = быть более информативным). Содержание пакета распределяется по соответствующим каталогам (rpm знает по каким). После установки программа готова к запуску, мне всего лишь нужно знать имя запускаемой программы и её местоположение. Если мне трудно найти запускаемую программу, следующая команда выводит список всех файлов, содержащихся в пакете, вместе с целевыми каталогами:
rpm -qpl my_new_file.rpm
Эта команда запрашивает (флаг “q”) ещё не установленный пакет (флаг “p”) и выводит на дисплей список всех файлов (флаг “l”).
Графическими фронтэндами к rpm являются: gnopro (старая версия, поставляемая с RH6.0 была глючной, но более новые версии гораздо лучше), kpackage (доступен только с более свежими дистрибутивами) и старый glint (очень медленный, поставлялся с RH5.2).
Работа с ошибками. Предполагается, что rpm – довольно интеллектуальная программа. В случае, если установка не завершилась успешно, я читаю сообщения об ошибках и могу попытаться придумать, что сделать:
(1) Установка провалилась, поскольку я уже имею установленной более раннюю версию пакета и эти две версии конфликтуют. Решение: не устанавливать, а модернизировать пакет.
rpm -Uvh my_new_file.rpm
(2) Установка провалилась поскольку необходимо сначала установить другой пакет. Я должен найти недостающий пакет и установить его, а затем повторить инсталляцию. В крайнем случае, я могу проигнорировать недостающие зависимоти (Я действительно должен знать, что я собираюсь делать, иначе программа может неправильно функционировать):
rpm -ivh –nodeps my_new_file.rpm
или, возможно, даже:
rmp -ivh –nodeps –force my_new_file.rpm
УСТАНОВКА ИЗ “ТАРБОЛОВ” С ИСХОДНЫМИ КОДАМИ
o В случае, если я скачал из сети исходные коды программы для Linux в виде сжатого “тарбола” (*.tar.gz или *.tgz), установка является более продолжительной и хлопотливой процедурой по сравнению с установкой из бинарного rpm. Обычно я устанавливаю программу как суперпользователь.
Во-первых, я меняю текущую рабочуюI директорию на /usr/local :
cd /usr/local
Во-вторых, я распаковываю скачанный из сети “тарбол”:
tar -xvzf /home/the_dir_where_the_tarball_is/my_tarball.tar.gz
Эта команда извлекает (флаг “x”) содержимое “тарбола” (*.tar.gz или *.tgz), “разиповывает” его (флаг “z”), во время выполнения предоставляет мне больше информации, чем обычно (флаг “v” = verbose). Пожалуйста, имейте в виду, что флаг “f” означает “file” (файл), так что имя файла должно сразу же следовать за буквой “f”. Содержимое “тарбола” извлекается в поддиректорию, которую программа tar создаёт в текущей рабочей директории. Обычно это /usr/local/ . “Тарбол” знает, как должна называться новая поддиректория.
Если “тарбол” не запакован (например, *.tar), я могу использовать команду:
tar -xvf /home/the_dir_where_the_tarball_is/my_tarball.tar
В-третьих, я должен иметь представление, как называется новая поддиректория и затем перейти в неё:
dir
cd the_new_program_subdir
Поскольку некоторые директории имеют длинные имена, я использую великолепную возможность автозаполнения для того, чтобы сэкономить на наборе текста — я просто набираю несколько первых букв и нажимаю клавишу <TAB> .
В-четвёртых, большинство компилируются запуском слкдующих трёх команд:
./configure
make
make install
Вышеприведённые команды требуют некоторого времени для авершения (1 минута? полчаса?). Если какая-либо из них не заершается успешно, возможно, имеет смысл почитать файлы README или INSTALL, или любую другую информацию, поставляемую вместе с программой. Некоторые программы требуют настройки окружения (например, определения путей) или установки какой-нибудь дополнительной библиотеки, или же чего-то ешё. Иногда это может быть хлопотноn. Очень простые программы могут не требовать шагов “./configure” и/или “make install”, тогда подойдёт одна лишь команда “make”.
В-пятых, Если всё идёт хорошо, я нахожу новую исполняемую программу, которую я только что скомпиллировал. Имя программы высвечивается зелёным при выполнении следующей команды:
ls –color
Теперь я могу запустить программу, напримерe:
./the_executable
Некоторые программы автоматически устанавливают исполняемые модули в /usr/local/bin, поэтому я могу попытаться выполнить команду:
/usr/local/bin/the_executable
В-шестых, если я планирую запускать программу достаточно часто, я создаю символическую ссылку к программе из директории /usr/local/bin :
cd /usr/local/bin
ln -s /usr/local/the_new_program_subdir/the_executable .
Таким образом, исполняемая программа (а в действительности, символическая ссылка на неё) находится в каталоге, перечисленном в переменной PATH и её можно запустить просто указав её имя (нет необходимости указывать полный путь к исполняемой программе). Некоторые программы установят исполняемые модули (или ссылки на них) в директорию “bin”, в этом случае последний шаг можно опустить.
УСТАНОВКА ИЗ ПАКЕТОВ RPM С ИСХОДНЫМИ КОДАМИ
o Есть также программы распространяемые в виде пакетов rpm с исходными кодами (source code rpm). Они требуют установки пакета *.rpm с помощью программы “rpm”, как было описано в первой части этой главы. Но, поскольку “rpm” устанавливает исходный код (обычно, написанный на языке С), затем я должен скомпиллировать исходный код выполняя последовательность “./configure ; make ; make install” – ту же самую, что и для исходных кодов, распространяемых в виде “тарболов” (см. предыдущий ответ).
Похожие записи
No user прокомментировали сообщение
Оставить комментарий