Искусственный интеллект для поиска и установки программ в linux

Что делает пользователь Windows, когда ему нужна какая-то программа? Чаще всего, примерно следующее:

а) Идет на сайт поисковой системы
б) Набирает в поиске имя программы
в) Ищет, откуда бы ее можно скачать:
1. Первый сайт в результатах поисковика – так, описание программы есть, скачать неоткуда, окей идем дальше..
2. Второй сайт – ура, ссылка на скачивание программы. Блин, не качается, пишут файл не найден. Что ж, далее…
3. Третий сайт – снова ссылка на скачивание, качаем. Рапидшаааре.., ограниченная скорость, а файлик-то размером 100мб. Придется ждать. Ну как же мееееедленно :( Эх… Скачалось, ну наконец-то! Вот ведь, а! Она платная! Триал-версия на 30 суток! Блин. Платить куда-то за границу непонятной валютой.., мда это не для меня… Идем искать кряк..
4. Четвертый сайт – кряк скачался, но не подошел.
5. Пятый сайт – качаем кряк… ААААААА, там вирус! Хоть бы не испортило ничего. Проверяем компьютер. Вот зараза, успел на создавать своих файлов по всей ситеме.., ничего, я тебя вычищу.
6. Шестой сайт…
7. Седьмой…
8. …

Эх. Вот если бы не нужно было ничего искать, ничего платить, а просто взять и сказать компьютеру – мне нужна такая-то программа, компьютер бы ответил “не вопрос – сделаем” и сразу можно было бы начинать пользоваться программой.
Эх..
Мечты? Фантастика? Нет – реальность. Но только для пользователей linux :)

Содержание страницы

Речь пойдет о менеджерах пакетов для Linux. Под “пакетами” здесь подразумеваются программы.
Разрешите представить:
yum, apt-get и emerge. Эти ребята способны найти и установить нужную вам программу по одной лишь вашей команде.
yum – менеджер пакетов для Linux Red Hat и совместимых ОС (таких как Fedora Core, CentOS и т.п.).
apt-get – менеджер пакетов для Linux Debian и совместимых ОС (таких как Ubuntu).
emerge – данный менеджер пакетов используется в ОС Linux Gentoo, в которой система управления пакетами считается одной из лучших в мире.

А теперь по порядку, о каждом из них.

YUM

YUM, расшифровывается как “Yellow dog Updater, Modified“. Не будем вникать, почему его так назвали, гораздо интереснее, что он умеет делать, как его установить и использовать.
В linux, как известно, большая часть управления системой происходит через терминал (консоль), с помощью “командной строки”.
Примечание: Если вы совсем не знаете, что это такое, то представьте: когда, для того что бы попасть на сайт, вам нужно набрать его адрес в адресной строке браузера – это командная строка. А если для этого достаточно нажать на ссылку или выбрать сайт в закладках – это ярлыки.

Так вот, что бы установить программу с помощью yum, вам не нужно ходить по сайтам, не нужно искать откуда скачать эту программу и вообще не нужно ничего, кроме одного – знать имя программы.
Допустим мы хотим установить игру SuperTUX.

Открываем консоль. Логинимся как root, для этого набираем в ней:

su –

Вводим пароль рута, теперь мы имеем доступ к yum и можем спросить его о программе, командой:

yum search supertux

И видим примерно такую картину:

root@reserv [~]# yum search supertux
Excluding Packages in global exclude list
Finished
supertux.i386 : Jump'n run like game similar to Mario Bros
supertuxkart.i386 : Kids 3D go-kart racing game featuring Tux
supertux.i386 : Jump'n run like game similar to Mario Bros
supertux.i386 : Jump'n run like game similar to Mario Bros
root@reserv [~]# 

Как видим, yum эту программу знает и готов ее установить. Также, мы узнали точное имя пакета – “supertux”. Более того, доступна для установки еще и игра supertuxkart. Ну., мы хотели поиграть в марио-пингвина, поэтому набираем:

yum install supertux

После этого, yum сам скачает и установит программу. Остается дождаться завершения процесса, о чем yum вполне понятно напишет и можно запускать игру. Все – никаких поисков, никаких мучений.
Итак выделим три момента – что необходимо, для того что бы найти, скачать и установить программу.
1. Сначала необходимо знать название программы.
2. Далее необходимо узнать точное имя пакета, для этого набираем в консоли yum search имяпрограммы
3. Если yum знает такую программу – он выведет точное имя пакета, после этого остается набрать в консоли yum install имяпакета и дождаться завершения установки.

Возникает вопрос – а будет ли знать yum именно про ту программу, которую захочется установить?
Что же, вопрос резонный, попробую ответить так – в одной из моих серверных систем, на момент написания этой статьи, yum знает 8945 программ. Все эти программы доступны для установки в любой момент. И это на системе предназначенной для удаленного сервера. А дома, можно настроить yum так, что он будет знать гораздо больше программ. Мало ли это, 9000 программ? Вероятность, что среди них окажется нужная вам (если она конечно создана для ОС Linux) очень высока.

Что еще умеет yum:

yum install package – установка пакета package
yum install package1 package2 package3 – установка пакетов package1 package2 package3 (установка множества пакетов одновременно)
yum update package – обновление пакета package
yum update – обновление всех пакетов установленных в ситеме (полное обновление системы)
yum check-update – проверка наличия доступных обновлений
yum list package – вывести информацию о пакете package
yum remove package – удалить пакет package

yum умеет не только это, но эти опции являются наиболее важными.

А если, при наборе команды yum мне сказали, что команда не найдена (comand not found) ?
Это значит, что yum не установлен и его нужно установить.
Делается это достаточно просто – необходимо найти подходящий для вашей системы rpm-пакет. Он может называться примерно так:
yum_версия.rpm
Попытаться найти пакет можно в поисковой системе, либо, например, на rpmfind.
После того как пакет найдет, скачиваем его и набираем в командной строке:

rpm -Uvh yum_версия.rpm

Чаще всего, этого будет достаточно для того, что бы начать пользоваться yum’ом, поскольку вместе с пакетом, обычно устанавливаются дефолтные настройки, подходящие для работы в вашей системе.
Если yum работать отказался, значит его необходимо настроить – о настройке yum я напишу в одной из следующих статей.

apt-get

apt-get работает в debian-совместимых ОС и выполняет в них те же функции, что yum в RedHat. Команды управления apt-get схожи с yum, но имеют отличия, как и сам apt-get.
Главное отличие:
yum, по умолчанию не хранит локально сведения, о доступных для установке программах. Каждый раз, когда вы просите yum установить (или найти) программу – yum соединяется через интернет с сайтами-хранилищами (репозиториями) и получает с них списки доступных программ, после чего находит в списке нужную программу и устанавливает (если нашел).
Преимущество такого метода заключается в том, что данные имеющиеся у yum всегда актуальны. Недостаток в том, что на подключение к репозиториям и получение списков программ занимает время.
apt-get, напротив, обычно хранит сведения о программах локально. Т.е. когда вы просите apt-get установить программу, он просматривает локальный список и начинает качать программу из места, указанного в локальном списке. Преимущество такого метода в том, что apt-get е тратит время на получение списков программ и в большинстве случаев работает быстрее. Недостаток заключается в том, что данные хранящиеся в локальном списке могут устареть, поэтому эти данные необходимо время от времени обновлять.
Обновляются эти данные командой

apt-get update

Выполнив эту команду, вы заставите apt-get соединиться с сайтами-хранилищами и получить свежие списки доступных программ (и их версий). Т.е., в отличи от yum (где опция update без дополнительных параметров означает полное обновление системы), в apt-get опция update – это лишь получение свежего списка доступных пакетов.

Основные команды apt-get:

apt-get update – обновление списка доступных пакетов
apt-get install package – установка пакета package
apt-get install package1 package2 – установка пакетов package1 и package2 (установка нескольких пакетов)
apt-get remove package – удаление пакета package
apt-get upgrade – обновление всех установленных пакетов (полное обновление системы)

Обратите внимание – перед установкой новой программы желательно выполнить команду apt-get update, а перед обновлением системы, эту команду выполнять обязательно.

emerge

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

Синтаксис и принципы работы у emerge так же сильно отличаются.
Основные команды emerge:

emerge --sync – обновить дерево Portage (список пакетов)
emerge -s word – поиск пакета по слову word
emerge -pv package – вывод информации о том, с какими параметрами будет установлен пакет package, какие пакеты будут установлены дополнительно по зависимостям, а так же общий размер скачиваемых пакетов, без самой установки.
emerge package – установить пакета package
emerge --unmerge package – удалить пакет package

Это далеко не полный список всех возможностей и тонкостей emerge, здесь перечислены лишь основные команды. Более подробную информацию, вы можете получить в настольной книге Gentoo


Автор: Виктор Симон
www.man-linux.ru
Права копирования
Опубликовано 25 августа 2008 - информация могла устареть.

Ответить