RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Установка и удаление программ в *nix - это не намного более сложное занятие, чем в Windows, но тут имеется некоторое количество тонкостей, о которых мы и поговорим прямо сейчас. Особенно это будет полезно тому, кто только начинает общаться с *nix-системами.
В *nix-системах существует два основных способа распространения и инсталляции программного обеспечения. Первый – это стандартные bzip-, gzip- и tar-архивы, второй – rpm-пакеты. В первом случае программа после распаковки предстанет перед тобой как набор исходников (обычно на языке С/C++), который нужно компилировать при установке и указывать различные опции установки, а во втором – как бинарный самоустанавливающийся дистрибутив, не требующий компиляции и уходящий своими корнями в дистрибутив Red Hat (RPM – Red Hat Package Manager). Есть еще один вариант - это установка запуском одного файла (например install.sh или setup.sh), в котором уже прописан установочный скрипт. Такие программы или просто сразу ставятся ничего не спрашивая у тебя, или выдают какие-то свои установочные меню, или задают пользователю вопросы. Конечно, встречаются программы, не требующие установки. Поэтому прочитай прилагаемые к программе текстовые файлы, а если их нет, поищи документы на сайте разработчика или в форумах линуксоидов. Конечно, в разных программах могут быть свои тонкости вроде дополнительных опций, конфигурационных меню, но в общем и целом принцип и набор действий остается одним и тем же.
BZip, GZip и Tar
Это обычные архивы, аналогичные zip и rar для Win-систем. Работать с ними в *nix можно также двумя способами. Способ первый – из командной строки. В зависимости от типа файла (gz/gz2 или bz/bz2) командами для них соответственно будут gunzip,gunzip2, bunzip, bunzip2 и название архива через пробел.
Например:
gunzip myfile.gz
Учти, что исходный архивный файл по умолчанию удаляется после распаковки, а программа распаковывается в тот же каталог, в котором лежит исходный файл, если только ты не указал какой-нибудь другой путь. Архивы tar распаковывают следующей командой:
tar xvf myfile.tar
(где myfile.tar - имя файла архива). Но так как tar не сжимает файлы, а лишь упаковывает несколько файлов в один для удобства его передачи через сеть, то чаще применяется одновременное использование архиваторов BZip/GZip и tar. Файл при этом выглядит так: myfile.tar.gz или myfile.tgz. Такие файлы распаковываются следующим образом:
tar zxvf myfile.tar.gz
Вместо gunzip подставляем команду, соответствующую архиватору, которым был упакован файл. Это первый способ. Стоит отметить, что он будет актуален только если кроме консоли в твоем распоряжении ничего нет. Так было в древние времена, когда в *nix не было никакого GUI, и так делают сейчас, например, при удаленном доступе через терминал. Но знать команды *nix никогда не помешает.
Второй способ проще. Если у тебя есть доступ к какому-нибудь файл-менеджеру, например, к знаменитому и незаменимому Midnight Commander (MC), то можно просто войти в упакованный файл, как в обычный каталог, и скопировать оттуда все содержимое в другой каталог, из которого и будешь ставить программу. При разархивировании могут возникнуть проблемы, если, например, в системе не установлен какой-нибудь архиватор, которым запакован архив. Обычно все существующие компиляторы идут вместе с дистрибутивом, но при установке программы какой-то из них может отсутствовать в системе. Или программа может оказаться запакованной какой-нибудь редкостной экзотикой. На этот случай ищи архиваторы или на установочном диске, или в интернете. Исходники программы лучше всего разархивировать в домашнюю директорию или в /tmp. Наконец, программа, а именно ее исходники, распакованы, и можно приступать к ее компиляции и установке.
Компилирование исходников и установка софта
Здесь все обычно идет по накатанным рельсам. Программы, поставляемые в исходниках, а следовательно, с открытым кодом, удобны тем, что их всегда можно настроить и изменить по своему вкусу вплоть до мелочей. Естественно, при условии, что ты разбираешься в программировании. С каждой программой поставляется свой readme-файл, который следует прочитать, так как при установке могут быть обнаружены новые тонкости. При установке программы из исходников должен быть общий алгоритм действий, который встречается чаще всего. Повторюсь: внимательно читай прилагающиеся текстовые файлы. Еще раз повторюсь: чтобы установить программу, надо обладать правами root. Итак, переходим в корневой каталог с исходниками программы, в которых обычно имеются файлы makefile и readme; набираем команду ./configure. Ждем, пока она выполнится (иногда ждать приходится долго – все зависит от объема программы); после этого набираем make, иногда make all, make config или другие "цели" (цель – это то, что указывается после make); сверься с readme для уточнения. Дальше набирай make install и жди окончания инсталляции. Программа обычно ставится по умолчанию в /usr/local/ или в /usr/X11R6/, но в установочных скриптах может быть установлен и другой путь (особенно если тебе попалось какое-нибудь обновление). Чтобы не возникло путаницы, путь можно указать вручную в самом начале:
./configure --prefix=путь установки
Сверься с readme на всякий случай. Возможно, программа по умолчанию ставится "туда, куда надо". Это общий и нехитрый набор действий для установки программы из исходников.
Установка из RPM
С этим все проще. В графической среде rpm пакеты должны ставится просто по клику по ним. А из командной строки это можно сделать с помощью команды:
rpm Uvh myfile.rpm (myfile.rpm – имя файла установочного пакета)
По умолчанию пакеты rpm также могут ставиться по тем же путям, что и программы в исходниках, но в них может быть прописан другой путь, предусмотренный разработчиком. При использовании rpm учти еще одну особенность: при установке информация о программе записывается в базу данных Linux, а при следующих установках или удалениях какого-либо rpm-пакета происходит проверка того, был или не был установлен раньше этот пакет, какие другие установленные пакеты от него зависят, и от каких зависит он сам. Соответственно, пакет может не устанавливаться из-за нарушений в зависимостях и не удаляться (об удалении программ - чуть поздней). Если все зависимые и зависящие пакеты установлены, а программа все равно не ставится, ругается на их отсутствие, то все равно поставить такой нужный тебе софт можно - проигнорируй предупреждения и ошибки:
rpm –i --nodeps myfile.rpm
Но лучше убедиться в наличии всех необходимых пакетов и поставить их при отсутствии, иначе установленная таким образом программа откажется работать совсем или будет работать как угодно, но только не правильно.
Удаление программ
Ты наставил софта, а как теперь удалишь ненужные и занимающие лишнее место программы? Все это несложно. В случае с программным обеспечением, установленным из исходников, его можно удалить вручную (впрочем, иногда присутствует цель make deinstall): надо только точно знать, куда она устанавливалась. С rpm немного сложней, так как и здесь все зависит от пакета. Если тот пакет, который ты попытаешься удалить, связан с работой других программ, то ее удаление чревато неприятностями в системе. Rpm-пакет удаляется командой rpm –e myfile.rpm. Надо только помнить, как назывался пакет. Чтобы удалить что-нибудь обойдя предупреждения, так же, как и при установке, используй:
rem --nodeps –e myfile.rpm.
Вот и все премудрости. И никогда не забывай команду man.