Приступая к реальной установке программ, необходимо учесть
следующее. В системе Linux
используются различные форматы программных пакетов, но два из них, RPM и DEB, встречаются чаще других. RPM применяется в системах типа
RedHat (RedHatPackageManager), FedoraCore, SUSE и д.р. DEB ориентирован на системы Debian, K/Ubuntu, Linspire,
Xandros и т.д.
Необходимо представлять себе работу обоих форматов, но ориентироваться,
естественно, на системы, соответствующие вашей версии Linux.
Инсталляция
программных пакетов в RPM-системах
rpm –ihv [пакет]
rpm –Uhv [пакет]
Рассмотрим в качестве примера сканер портов nmap. После того как пакет
окажется в вашей системе, вам достаточно будет вызвать rpm, задав три опции: -i (install), -h
(для отображения хода процесса инсталляции) и –v (verbose, т.е. вывод подробной информации о выполняемых
действиях). Данная команда должна быть вызвана от имени root.
rpm –ihvnmap-4.01-1.i386.rpm
Однако эту команду нельзя рекомендовать для использования.
Гораздо лучше установить набор опций –Uhv, где U
– сокращение от upgrade.
Почему же –U лучше, чем
–i? Дело в том, что –i задает только инсталляцию,
а –U – обновление и
инсталляцию. Если пакет уже инсталлирован в системе и вы хотите установить его
новый вариант, опция –U
лишь дополнит его до новой версии. Если же пакет отсутствует, то опция –U приведет его к инсталляции.
Таким образом, лучше всего задавать опцию –U.
Если нужно инсталлировать несколько RPM-пакетов, то их имена надо разделить
пробелами.
Если же число пакетов
велико, лучше всего использовать символы групповых операций. Например, нужно
инсталлировать 20 rpm-пакетов
из папки software, то:
rpm –Uhvsoftware/*.rpm
Внимание!
Опции –U следует отдавать предпочтение всегда, за
исключением установки ядра. В этом случае надо задавать опцию –i. Если вы выполните обновление с помощью –U и новое ядро не будет работать, вы столкнетесь с
серьезными проблемами. С другой стороны, если вы зададите опцию –i, то старое ядро останется на вашей машине в
качестве резервной копии. Если новое ядро не будет работать, вы сможете
воспользоваться старым.
Удаление программных пакетов из RPM-систем
rpm –e [пакет]
Удалить инсталлированный
пакет RPM проще, чем установить его.
rpm –enmap
Инсталляция зависимых
программных пакетов в RPM-системах
yuminstall [пакет]
Рано или поздно вы столкнетесь с проблемой установки
зависимых пакетов. Для того чтобы установить пакет А, вам также надо
скопировать и инсталлировать пакеты В и С, но чтобы инсталлировать С,
необходимо скопировать и установить пакеты D и E, а
чтобы установить пакет E
… и т.д. Данная проблема была решена давно путем использования программы apt. Эта программа может быть применена и в RPM-системах, но гораздо чаще
используется сравнительно новый инструмент yum.
Команда yum
инсталлирует, обновляет и удаляет программные пакеты, действуя как оболочка для
rpm, кроме того, она
автоматически отслеживает зависимости. Например, если вы пытаетесь установить
пакет А, о котором шла речь в начале данного раздела, yum скопирует и инсталлирует А, В и С.
Если впоследствии вы решите, что пакет А вам не нужен, yum удалит не только его, но также В и С
(при условии, что другие программные пакеты не используют их).
Удаление зависимых
программных пакетов из RPM-систем
yumremove [пакет]
Программа yum
обладает важной положительной особенностью: ее система команд дружественна по
отношению к пользователю. Хотите инсталлировать пакеты? Введите yuminstall. Хотите удалить его?
Введите yumremove.
Обновление программных пакетов из RPM-системах
yumupdate
Обычно в системе Linux установлены сотни, а то и тысячи программных
пакетов. То один, то другой приходится постоянно обновлять. Если бы вам
пришлось вручную отслеживать появление новых версий программ и устанавливать
необходимые дополнения, это заняло бы все ваше время. К счастью, есть средства,
позволяющие упростить этот процесс. Простая команда yumupdate говорит программе yum о том, что необходимо искать обновления к
управляемым ею программам. Если новые пакеты доступны, программа yum оповещает вас о появившихся возможностях и
запрашивает подтверждение на продолжение инсталляции.
Поиск пакетов,
готовых к копированию на RPM-системы
yum search [строка]
yum list
available
Теперь вы знаете, как инсталлировать и удалять программное
обеспечение с помощью программы yum,
но как найти его? Предположим, что вас интересует пакет для работы с
изображениями GIMP. Вы
хотите знать, есть ли пакеты, имеющие отношения к GIMP, готовые к инсталляции посредством
программы yum. Можно
выполнить команду
yumsearchgimp,
но это далеко не идеальное решение. Данная команда будет искать соответствие
условиям поиска в именах всех пакетов, в аннотациях и даже в списках имен
программы для работы с пакетами. В результате вы получите список, включающий
чуть ли не все программы, известные в мире.
Лучшим решением будет
запросить список пакетов, доступных посредством программы yum (размеры списка и в этом случае будут невероятно
большими), а затем средствами конвейерной обработки передать результаты для
обработки программе grep.
yumlistavailable | grepgimp(в данном промере я получил 11 результатов – вполне
приемлемое количество)
Если вы действительно
хотите выполнить полномасштабный поиск, применяйте команду yumsearch, в противном случае используйте yumlistavailable и программу grep.
Инсталляция программных пакетов в Debian
dpkg –i [пакет]
В системе Debian используется программа apt – самый мощный и простой в применении инструмент
установки программ. Эта программа предоставляет богатые возможности, но
большинство из них она реализует, выступая в роли оболочки вокруг dpkg (подобно тому, как yum является оболочкой для rpm).
Рассмотрим пример. Установим программу Skype (например skype_1.2.0.18-1_i386.deb).
После того как пакет будет скопирован в систему, надо
инсталлировать его. Прежде всего с помощью команды cdсделайте текущим каталог, содержащий пакет, а затем
инсталлируйте его посредством программы dpkg.
dpkg –i skype_1.2.0.18-1_i386.deb
Вот и все. Команда dpkg отличается краткостью и сообщает вам только
самые важные сведения и ничего сверх этого.
Примечание:
В K/Ubuntu и других sudo-системах выражение в
консоли должно иметь такой вид:
sudo dpkg –i skype_1.2.0.18-1_i386.deb
Удаление программных пакетов из системы Debian
dpkg –r [пакет]
Опция –i, используется для инсталляции ПО на машины под
управлением Debian, означает install. Аналогично, опция –r,
удаляющая программы, означает remove. Если вам больше не нужна программа Skype, вы можете легко удалить ее со своего
компьютера.
dpkg –r skype
Когда вы инсталлировали
программу, вам надо было указать имя файла, иначе dpkg не смогла бы узнать, где находятся данные для
инсталляции. При удалении ПО надо ввести имя пакета. Программа dpkg распознает пакет по его имени, а не по имени
файла, так как файлы, использованные для инсталляции, уже могли давно удалить.
Инсталляция зависимых пакетов в системе Debian
apt-get install [пакет]
Команда dpkg
предоставляет большие возможности, но поработав с ней, вы рано или поздно
столкнетесь с проблемой установки зависимых пакетов. Для того чтобы установить
пакет А, вам также надо скопировать и инсталлировать пакеты В и С, но чтобы
инсталлировать С, необходимо скопировать и инсталлировать пакеты D и Е, а чтобы
установить Е... и т.д. Вам нужна программа apt!
Команда apt, как и
средства, рассмотренные ранее, позволяет инсталлировать, обновлять и удалять
программные пакеты, кроме того, она автоматически обрабатывает зависимые
пакеты. Например, если вы пытаетесь установить пакет А, о котором шла речь в
начале данного раздела, apt скопирует и инсталлирует А,В и С. Если впоследствии
вы решите, что пакет А вам не нуден, apt удалит не только его, но также В и С
(при условии, что другие программные пакеты не используют их).
Удаление зависимых
пакетов из системы Debian
apt-get remove
[пакет]
Если пакет больше не
нужен, команда apt позволяет без труда удалить его. Как и ранее, при вызове
команды надо задавать не имя файла, а имя пакета.
Следует заметить, что
процедура удаления пакета не затрагивает некоторые файлы, необходимые для его
работы. Так, например, в системе остаются конфигурационные файлы удаленных
пакетов. Если вы уверенны, что хотите удалить все элементы, вам надо задать
опцию --purge.
apt-get remove
--purge [пакет]
Опцию --purge при
удалении пакетов можно сравнить с символом звездочки при обычной операции с
файлами. Удаляются все элементы пакета, включая конфигурационные файлы.
Обновление зависимых
пакетов в Debian
apt-get upgrade
В современных системах
Linux присутствуют тысячи пакетов, и в любой момент можно поручиться, что по
крайней мере один нуждается в обновлении. Программа apt позволяет достаточно
просто следить за программными пакетами и обновлять их. Процедура обновления
выглядит следующим образом:
apt-get update
...
список пакетов
...
apt-get upgrade
...
cписок пакетов
...
Мы вызвали apt-get
update, чтобы привести информацию на компьютере в соответствие со списком на
сервере. Команда apt-get upgradeвыявляет различия между инсталлированным ПО и данными в хранилище. Если
такие различия имеют место, то команда apt отображает список всех пакетов,
которые надо скопировать и инсталлировать на компьютер. Реальное состояние
списка пакетов зависит от того, как давно обновлялись программные средства.
Поиск пакетов
доступных для копирования в систему Debian
apt-cache search
[имя_пакета]
Мы много говорили об
инсталляции системы с помощью команды apt, но как узнать о доступных
программных пакетах? Это также позволяет сделать команда apt, предоставляя
инструмент apt-cache search, который ищет списки доступных пакетов в хранилище.
Поиск, выполняемый
данной командой, имеет одну особенность. Команда ищет совпадение
последовательности символов, а не конкретных слов. И наконец, apt-cache search
просматривает весь список пакетов, как инсталлированных, так и удаленных,
поэтому не исключено, что отображаемый пакет уже установлен у вас.
Совет:
Существует продукт
Synaptic, предоставляющий собой графический пользовательский интерфейс для apt.
Он позволяет делать практически все, о чем шла речь выше, но вместо ввода
данных вам достаточно щелкать мышкой.
Удаление ненужных
инсталляционных пакетов из системы Debian
apt-get clean
Пакеты, скопированные на
локальный компьютер и инсталлированные на нем, система Debian сохраняет в каталоге
/var/cache/apt/archives/. Со временем ненужные инсталляционные пакеты начинают
занимать существенную часть дискового пространства.
Если по
каким-то причинам процесс копирования файлов будет прерван, скопированную часть
пакета вы найдете в каталоге /var/cache/apt/archives/partial/. Если вы знаете,
что все обновления и дополнения установленны, можете удалить содержимое данного
каталога.