Самоучитель Гончарова
ALT Linux в офисе
WWW.TEKCT.RU | Содержание книги | Предыдущий раздел | Следующий раздел

2.6. Установка программ. Графическая оболочка Synaptic

Первоначально для установки программ (пакетов) использовался текстовый режим. Классикой этого жанра является программа rpm (RedHat Package Manager), которая использовалась в RedHat и Fedora. Именно поэтому большинство пакетов имеют расширение .rpm. Если у нас есть некий пакет, то для его установки можно дать команду:

# rpm -ihv имя_файла_пакета.rpm

Чтобы не набирать имя файла, которое бывает весьма длинным, удобно перейти в нужную папку с помощью Midnight Commander (MC), который запускается командой:

# mc

После этого путь указывать уже не надо. Для ввода имени файла в командную строку файл надо выбрать и нажать комбинацию клавиш Alt+Enter. Чтобы свернуть MC в текстовом режиме и посмотреть, что сообщила программа rpm, используйте комбинацию клавиш Ctrl+O.

Самая распространенная проблема, которая появляется на этом этапе — неудовлетворенные зависимости (failed dependencies). Это означает, что для установки пакета не хватает каких-то файлов (обычно библиотек). Такой вариант показан на рис. 2.11. При попытке установить драйвер принтера Canon Pixma iP3500 выяснилось, что нет библиотеки libtiff.so.3.

Рис. 2.11. Сообщение об ошибке программы rpm

На самом деле библиотека такая в ALT Linux есть, но более поздней версии. Сейчас мы касаемся, наверное, самой большой проблемы Linux.

Отдельно libtiff.so.3 найти не удастся. Это довольно специфическая библиотека для обработки графической информации. Она часто используется, но хорошо «запрятана» внутри других пакетов. После достаточно долгих поисков можно найти ее, в репозитории Sisyphus. Файл libtiff-3.5.7-alt4.i586.rpm. Как видите, догадаться сразу, что это именно то, что вам нужно, непросто. Приходится внимательно изучать сопроводительные тексты. Напомню: нам нужна библиотека одной определенной версии.

Установить ее можно командой:

# rpm -ihv --oldpackage libtiff-3.5.7-alt4.i586.rpm

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

Но после этого из-за установки старой библиотеки:

1. Не будет работать компилятор C++;

2. Программа Synaptic при открытии будет выдавать предупреждающее сообщение (фактически, сообщение об ошибке).

Разумеется, возможны и другие проблемы с другими программами, но кто их может предугадать?

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

Теоретически считается, что подключение к репозиториям в Интернете решает эту проблему (зависимости должны удовлетворяться автоматически). На практике, конечно, это не так. Именно поэтому примерно раз в год выходят новые версии Linux — где все увязано и сбалансировано.

А как обстоит дело в мире Windows? Очень похоже. Многие пользователи Windows XP после установки оной оставляли режим автоматического обновления, потом горько жалели об этом. Система после очередного обновления становилась неработоспособной, и была необходима полная переустановка.

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

Не согласны? А как быть с этим? 22 апреля 2010 года компьютерный мир потрясло. Вот как рассказывает об этом портал INFOX.ru:

«Антивирус парализовал тысячи компьютеров по всему миру. В течение последних суток тысячи пользователей операционной системы Windows XP SP 3 по всему миру столкнулись с необычной проблемой – их компьютеры стали показывать знаменитые «синие экраны смерти», а затем уходили в бесконечную перезагрузку.

Как выяснилось, причиной массового выхода из строя стал «баг» в обновлении антивируса McAfee, которое было автоматически установлено на засбоившие машины. Программа по ошибке начинала блокировать системный процесс svchost.exe, считая его опасным, после чего операционная система прекращала свою работу, переходя к повторной загрузке. Странное поведение антивируса наблюдалось только на компьютерах с Microsoft Windows XP Service Pack 3, а машины под управлением Windows Vista и Windows 7 продолжали работать в обычном режиме.

Как сообщает ресурс PC World, число пострадавших по вине McAfee было настолько велико, что форумы клиентской поддержки антивирусной компании стали недоступны буквально через несколько часов после выхода обновления – ее сервера попросту не справлялись с нагрузкой, создаваемой разгневанными пользователями.»

«Которое было автоматически установлено»!!! От себя добавлю, что «в бесконечную перезагрузку» уходили лишь компьютеры нерадивых пользователей, которые поленились после установки системы снять в настройках галочку Выполнить автоматическую перезагрузку (в случае сбоя). А может, они не знали, что существует такая галочка (не читали моих книг).

Разумеется, не с каждым пакетом возникают сложности. Многие пакеты устанавливаются просто и быстро.

Вернемся к программе rpm. Она имеет много полезных ключей.

Если вместо установки требуется обновление пакета, вместо ключа -i используется ключ -U (лучше, конечно, с проверкой зависимостей -Uhv).

Если требуется получить описание пакета, используйте команду (рис. 2.12):

# rpm -qpi имя_файла_пакета.rpm

Рис. 2.12. Получение информации о пакете

Для получения списка файлов, входящих в пакет:

# rpm -qpl имя_файла_пакета.rpm

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

# rpm --checksig имя_файла_пакета.rpm

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

# rpm -Va > /home/alexey/Desktop/errors.txt

В этом списке будут указаны разные файлы. Если мы захотим узнать, какому пакету принадлежит файл, то дадим такую команду:

# rpm -qf полное_имя_файла

Можно также создать текстовый файл со списком установленных пакетов:

#rpm -qa > /home/alexey/Desktop/installed.txt

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

# rpm -e имя_файла_пакета.rpm

Другая система управления пакетами была создана в Debian. Она носит название apt — Advanced Packaging Tool. Программа же называется apt-get.

В главе 1, когда я рассказывал о способах установки ALT Linux, упомянул о создании локального репозитория — дистрибутивах, переписанных с Install DVD. Для этого и нужна apt-get. Разберем по порядку, как ей пользоваться.

Во-первых, мы должны создать список репозиториев. Он может находится в двух местах:

1. В файле /etc/apt/sources.list

2. В папке /etc/apt/sources.list.d/

Что туда надо записать, мы уже знаем.

Для того чтобы включить репозитории в систему, надо дать команду

# apt-get update

После этого установить пакет можно командой:

# apt-get install имя_пакета

В отличие от rpm, здесь имена задаются упрощенно, например, установка компактной версии KDE:

# apt-get install kde-mini

Можно c помощью apt-get установить и одиночный пакет, не включенный в репозиторий (тут все, как и в случае с rpm):

# apt-get install имя_файла_пакета.rpm

Если при установке возникают проблемы, можно попробовать повторить установку, добавив в командную строку ключ -f.

Переустанвить пакет можно командой:

# apt-get --reinstall install имя_пакета

Удаление пакета:

# apt-get remove имя_пакета

Удаление пакета с очисткой файлов настроек:

# apt-get --purge remove имя_пакета

Какая программа лучше: rpm или apt-get? Если вы скачиваете из Интернета пакет и хотите его установить, — однозначно apt-get. Она гораздо лучше в автоматическом режиме разберется с зависимостями — установит дополнительные пакеты. С rpm это придется делать вручную.

Но для работы с пакетами, включенными в дистрибутив ОС, часто бывает удобнее использовать графическую оболочку для apt-get. Она запускается командой К — Система — Менеджер пакетов. Пока программа Synaptic (рис. 2.13) запущена, использовать командную строку вы не сможете.

Рис. 2.13. Программа Synaptic

В Synaptic список пакетов отсортирован по алфавиту и по группам (назначению). Но количество пакетов исчисляется тысячами, поэтому при необходимости надо использовать функцию поиска (искать можно по части имени пакета). Полезно, конечно, пройтись по списку и почитать описания пакетов — в другом месте вы этой информации не найдете. А среди пакетов попадаются довольно интересные.

И ситуация здесь довольно интересная. Бесплатная ОС поставляется с тысячами дополнительных программ, но что это за программы, в полном объеме, наверное, знает только несколько человек из команды разработчиков ALT Linux. О нужном пакете можно узнать случайно на каком-нибудь форуме Интернета. Но такого изобилия, естественно, нет в Windows.

Те пакеты, которые вы установите самостоятельно, тоже попадут в список Synaptic. Их можно будет удалить без использования командной строки.

В целом функции Synaptic сводятся к следующим:

1. Добавление информации о новых репозиториях.

2. Обновление базы данных пакетов. Если вы вручную правили списки репозиториев, нажмите в Synaptic комбинацию клавиш Ctrl+R (это аналог команды # apt-get update).

3. Установка и удаление пакетов.

Для установки пакетов надо выполнить ряд действий:

1. Щелкнуть правой кнопкой мыши на названии пакета, выбрать команду Отметить для установки, нажать в открывшемся окне кнопку Применить.

2. Отметить так все необходимые пакеты.

3. Нажать кнопку Применить на панели инструментов.

4. Отреагировать на окна диалога.

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

Напомню, что выше рассматривался еще один способ установки и удаления пакетов — с помощью Центра управления системой.

WWW.TEKCT.RU | Содержание книги | Предыдущий раздел | Следующий раздел

© Алексей Гончаров, 2010

Рейтинг@Mail.ru Rambler's Top100