add initial packages section

This commit is contained in:
Artem Zolochevskiy 2011-01-14 16:02:54 +02:00
parent c712475025
commit a7cdd62a4e
2 changed files with 459 additions and 0 deletions

View File

@ -22,4 +22,6 @@ include::rescue/index.txt[]
include::system-management/index.txt[]
include::packages/index.txt[]
include::support/index.txt[]

457
packages/index.txt Normal file
View File

@ -0,0 +1,457 @@
= Установка дополнительного программного обеспечения =
== Введение ==
При первом запуске ALT Linux после его установки вам доступен тот или иной
набор _программного обеспечения_ (ПО). Количество предустановленных программ
может сильно отличаться в зависимости от конкретного дистрибутива либо от того
выбора набора программ, который был сделан при установке системы. В том случае,
если вы не обнаружили в своей системе интересующие вас программы, вы имеете
возможность доустановить их из разных источников, где они находятся в виде
подготовленных для установки _пакетов_.
Дополнительное программное обеспечение может находися как на установочном
диске, так и в специальных хранилищах (репозиториях) в сети интернет.
[[INSTALL_PACKAGES_FROM_DVD_GUI]]
== Установка дополнительного ПО с установочного диска ==
Воспользуйтесь одной из предлагаемых программ для установки дополнительного ПО:
* Центр управления системой
+
Центр управления системой содержит модуль установки дополнительных пакетов:
Программное обеспечение -> Установка программ. Для облегчения поиска доступные
для установки программы разделены на группы, выводимые в левой части окна
программы. Справа расположен список самих программ с указанием их текущего
состояния:
** зелёная метка — пакет уже установлен;
** белая — неустановленный пакет.
+
Объяснение всех обозначений можно увидеть, отметив пункт «Показать статистику».
+
Для начала установки отметьте в правой половине окна неустановленный пакет
двойным щелчком мыши и нажмите «Применить». При необходимости менеджер пакетов
попросит вставить установочный диск.
* Программа управления пакетами Synaptic
+
Программа находится в меню Приложения -> Системные -> Программа управления
пакетами Synaptic.
+
Установка программ в Synaptic очень схожа с описанной выше. За детальной
информацией можно обратиться к руководству Synaptic.
[WARNING]
Не пользуйтесь двумя менеджерами пакетов одновременно. Если вы используете
модуль установки пакетов, входящий в Центр управления системой, то для того,
чтобы воспользоваться другим менеджером пакетов (например Synaptic), необходимо
полностью завершить работу Центра управления системой.
== Установка дополнительного ПО из внешних репозиториев ==
Программы, подготовленные для установки в ваш дистрибутив в виде пакетов, могут
располагаться не только на установочном диске, но и в дополнительных
репозиториях (хранилищах, банках программ), расположенных в сети Интернет или в
локальной сети.
Для указания конкретных репозиториев рекомендуем использовать Центр управления
системой (модуль Программное обеспечение -> Источники для установки ПО). На
выбор предлагаются репозитории, совместимые с вашим дистрибутивом. Для
использования репозитория нужно выбрать в выпадающем списке один из
предлагаемых адресов и нажать кнопку «Изменить». Рекомендуется выбирать тот
сервер, который расположен наиболее близко к вам. Если затрудняетесь в выборе,
выберите +ftp://ftp.altlinux.org/+.
[IMPORTANT]
После добавления репозиториев необходимо получить сведения о находящихся в них
пакетах. В противном случае список доступных для установки программ останется
прежним.
- Центр управления системой:
+
Модуль: Программное обеспечение -> Установка программ -> Обновить.
- Программа управления пакетами Synaptic:
+
Меню: Редактирование → Получить сведения о пакетах.
Непосредственная установка пакетов из репозиториев ничем не отличается от
описанной в <<INSTALL_PACKAGES_FROM_DVD_GUI>>.
== Установка пакетов для опытных пользователей ==
Установка дополнительного ПО возможна не только при использовании графических
приложений, описанных выше. Опытные пользователи могут использовать для
установки пакетов утилиты командной строки.
=== Введение: пакеты, зависимости и репозитории ===
В современных системах на базе Linux существует огромное число общих ресурсов,
которыми пользуются сразу несколько программ: разделяемых библиотек, содержащих
стандартные функции, исполняемых файлов, сценариев и стандартных утилит и т. д.
Удаление или изменение версии одного из составляющих систему компонентов может
повлечь неработоспособность других, связанных с ним компонентов, или даже
вывести из строя всю систему. В контексте системного администрирования проблемы
такого рода называют нарушением _целостности системы_. Задача администратора —
обеспечить наличие в системе согласованных версий всех необходимых программных
компонентов (обеспечение целостности системы).
Для установки, удаления и обновления программ и поддержания целостности системы
в Linux в первую очередь стали использоваться _менеджеры пакетов_ (например,
такие, как rpm). С точки зрения менеджера пакетов программное обеспечение
представляет собой набор компонентов -- программных _пакетов_. Такие компоненты
содержат в себе набор исполняемых программ и вспомогательных файлов,
необходимых для корректной работы программного обеспечения. Менеджеры пакетов
облегчают установку программ: они позволяют проверить наличие необходимых для
работы устанавливаемой программы компонент подходящей версии непосредственно в
момент установки, а также производят необходимые процедуры для регистрации
программы во всех операционных средах пользователя: cразу после установки
программа может быть доступна пользователю из командной строки и -- если это
педусмотрено -- появляется в меню всех графических оболочек.
Часто компоненты, используемые различными программами, выделяют в отдельные
пакеты и помечают, что для работы ПО, предоставляемого пакетом A, необходимо
установить пакет B. В таком случае говорят, что пакет A _зависит_ от пакета B
или что между пакетами A и B существует _зависимость_.
Отслеживание зависимостей между такими пакетами представляет собой серьёзную
задачу для любого дистрибутива -- некоторые компоненты могут быть
взаимозаменяемыми: может обнаружиться несколько пакетов, предлагающих
затребованный ресурс.
Задача контроля целостности и непротиворечивости установленного в системе ПО
ещё сложнее. Представим, что некие программы A и B требуют наличия в системе
компоненты C версии 1.0. Обновление версии пакета A, требующее обновления
компоненты C до новой, использующей новый интерфейс доступа, версии (скажем, до
версии 2.0), влечёт за собой обязательное обновление и программы B.
Однако менеджеры пакетов оказались неспособны предотвратить все возможные
коллизии при установке или удалении программ, а тем более эффективно устранить
нарушения целостности системы. Особенно сильно этот недостаток сказывается при
обновлении систем из централизованного репозитория пакетов, в котором последние
могут непрерывно обновляться, дробиться на более мелкие и т. п. Этот недостаток
и стимулировал создание систем управления программными пакетами и поддержания
целостности системы.
Для автоматизации этого процесса и применяется Усовершенствованная система
управления программными пакетами APT (от англ. Advanced Packaging Tool). Такая
автоматизация достигается созданием одного или нескольких внешних
_репозиториев_, в которых хранятся пакеты программ и относительно которых
производится сверка пакетов, установленных в системе. Репозитории могут
содержать как официальную версию дистрибутива, обновляемую его разработчиками
по мере выхода новых версий программ, так и локальные наработки, например,
пакеты, разработанные внутри компании.
Таким образом, в распоряжении APT находятся две базы данных: одна описывает
установленные в системе пакеты, вторая -- внешний репозиторий. APT отслеживает
целостность установленной системы и, в случае обнаружения противоречий в
зависимостях пакетов, руководствуется сведениями о внешнем репозитории для
разрешения конфликтов и поиска корректного пути их устранения.
Система APT состоит из нескольких утилит. Чаще всего используется утилита
управления пакетами *apt-get*: она автоматически определяет зависимости между
пакетами и строго следит за их соблюдением при выполнении любой из следующих
операций: установка, удаление или обновление пакетов.
=== Источники программ (репозитории) ===
_Репозитории_, с которыми работает APT, отличаются от обычного набора пакетов
наличием метаинформации -- индексов пакетов, содержащихся в репозитории, и
сведений о них. Поэтому, чтобы получить всю информацию о репозитории, APT
достаточно получить его индексы.
APT может работать с любым количеством репозиториев одновременно, формируя
единую информационную базу обо всех содержащихся в них пакетах. При установке
пакетов APT обращает внимание только на название пакета, его версию и
зависимости, а расположение в том или ином репозитории не имеет значения. Если
потребуется, APT в рамках одной операции установки группы пакетов может
пользоваться несколькими репозиториями.
[IMPORTANT]
Подключая одновременно несколько репозиториев, нужно следить за тем, чтобы они
были совместимы друг с другом по пакетной базе, т. е. отражали один
определённый этап разработки. Смешение среди источников APT репозиториев,
относящихся к разным дистрибутивам, или смешение стабильного репозитория с
нестабильной веткой разработки (Sisyphus) чревато различными неожиданными
трудностями при обновлении пакетов.
APT позволяет взаимодействовать с репозиторием с помощью различных протоколов
доступа. Наиболее популярные -- HTTP и FTP, однако существуют и некоторые
дополнительные методы.
Для того, чтобы APT мог использовать тот или иной репозиторий, информацию о нём
необходимо поместить в файл +/etc/apt/sources.list+, либо в любой файл .list
(например, +mysources.list+) в каталоге +/etc/apt/sources.list.d/+ Описания
репозиториев заносятся в эти файлы в следующем виде:
------------------------------------------
rpm [подпись] метод:путь база название
rpm-src [подпись] метод:путь база название
------------------------------------------
rpm или rpm-src::
Тип репозитория (скомпилированные программы или исходные тексты).
[подпись]::
Необязательная строка-указатель на электронную подпись разработчиков. Наличие
этого поля подразумевает, что каждый пакет из данного репозитория должен быть
подписан соответствующей электронной подписью. Подписи описываются в файле
+/etc/apt/vendor.list+.
метод::
Способ доступа к репозиторию: ftp, http, file, rsh, ssh, cdrom, copy, rpm-dir.
путь::
Путь к репозиторию в терминах выбранного метода.
база::
Относительный путь к базе данных репозитория.
название::
Название репозитория.
Для добавления в +sources.list+ репозитория на компакт-диске в APT даже
предусмотрена специальная утилита -- *apt-cdrom*. Чтобы добавить запись о
репозитории на компакт-диске, достаточно вставить диск в привод и выполнить
команду *apt-cdrom add*. После этого в +sources.list+ появится запись о
подключённом диске примерно такого вида:
-------------------------------------------------------------------------
rpm cdrom:[ALT Linux 4.0 Desktop DVD (Ajuga)]/ ALTLinux base contrib disk
-------------------------------------------------------------------------
После того как отредактирован список репозиториев в +sources.list+, необходимо
обновить локальную базу данных APT о доступных пакетах. Это делается командой
*apt-get update*.
Если в +sources.list+ присутствует репозиторий, содержимое которого может
изменяться (как происходит с любым постоянно разрабатываемым репозиторием, в
частности, обновлений по безопасности, то прежде чем работать с APT, необходимо
синхронизировать локальную базу данных с удалённым сервером командой *apt-get
update*. Локальная база данных создаётся заново каждый раз, когда в репозитории
происходит изменение: добавление, удаление или переименование пакета. Для
репозиториев, находящихся на компакт-дисках и подключённых командой *apt-cdrom
add*, синхронизация производится единожды в момент подключения.
При выборе пакетов для установки, APT руководствуется _всеми_ доступными
репозиториями вне зависимости от способа доступа к ним. Так, если в
репозитории, доступном по сети Интернет, обнаружена более новая версия
программы, чем на компакт-диске, то APT начнёт загружать данный пакет из
Интернет. Поэтому если подключение к Интернет отсутствует или ограничено низкой
пропускной способностью канала или выской стоимостью, то следует
закомментировать те строчки в +/etc/apt/sources.list+, в которых говорится о
ресурсах, доступных по Интернет.
=== Репозитории ALT Linux ===
Все дистрибутивы ALT Linux выпускаются на основе репозитория Sisyphus команды
ALT Linux Team (http://www.altlinux.org/ALT_Linux_Team[ALT Linux Team]).
Следует иметь в виду, что Sisyphus не является самостоятельным дистрибутивом, а
отражает текущее состояние разработки и может содержать нестабильные версии
пакетов. Периодически на базе этого проекта выпускаются отдельные
оттестированные «срезы» -- дистрибутивы.
В отличие от Sisyphus, ежедневно обновляемого разработчиками, такие срезы
являются «замороженными» -- разработка в них не ведётся, и сами срезы
сохраняются в целях обеспечения целостности среды дистрибутива.
Непосредственно после установки дистрибутива ALT Linux в
+/etc/apt/sources.list+, а таже в файлах +/etc/apt/sources.list.d/*.list+
обычно указывается несколько репозиториев:
- репозиторий с установочного диска дистрибутива;
- совместимый с дистрибутивом Интернет-репозиторий, на котором основывается
дистрибутив.
=== Поиск пакетов ===
Если вы не знаете точного названия пакета, для его поиска можно воспользоваться
утилитой *apt-cache*, которая позволяет искать не только по имени пакета, но и по
его описанию.
Команда *apt-cache search _подстрока_* позволяет найти все пакеты, в именах или
описании которых присутствует указанная подстрока. Например:
----------------------------------------------------------------------------
$ apt-cache search dictionary
stardict-wn - GCIDE - The Collaborative International Dictionary of English
firefox-ru - Russian (RU) Language Pack for Firefox
gnome-dictionary-applet - GNOME panel applet for gnome-dictionary
gnome-utils - Utilities for the GNOME 2.0 desktop
libgdict - GNOME Dictionary Library.
stardict-mueller7 - V.K. Mueller English-Russian Dictionary, 7 Edition: stardict format
stardict-slovnyk_be-en - Dictionary: Slovnyk Belarusian-English
stardict-slovnyk_be-ru - Dictionary: Slovnyk Belarusian-Russian
stardict-slovnyk_be-uk - Dictionary: Slovnyk Belarusian-Ukrainian
stardict-slovnyk_cs-ru - Dictionary: Slovnyk Czech-Russian
stardict-slovnyk_en-be - Dictionary: Slovnyk English-Belarusian
stardict-slovnyk_en-ru - Dictionary: Slovnyk English-Russian
stardict-slovnyk_en-uk - Dictionary: Slovnyk English-Ukrainian
stardict-slovnyk_es-ru - Dictionary: Slovnyk Spanish-Russian
stardict-slovnyk_ru-be - Dictionary: Slovnyk Russian-Belarusian
stardict-slovnyk_ru-cs - Dictionary: Slovnyk Russian-Czech
stardict-slovnyk_ru-en - Dictionary: Slovnyk Russian-English
stardict-slovnyk_ru-es - Dictionary: Slovnyk Russian-Spanish
stardict-slovnyk_ru-uk - Dictionary: Slovnyk Russian-Ukrainian
stardict-slovnyk_uk-be - Dictionary: Slovnyk Ukrainian-Belarusian
stardict-slovnyk_uk-en - Dictionary: Slovnyk Ukrainian-English
stardict-slovnyk_uk-ru - Dictionary: Slovnyk Ukrainian-Russian
words - A dictionary of English words for the /usr/share/dict directory
----------------------------------------------------------------------------
Для того, чтобы подробнее узнать о каждом из найденных пакетов и прочитать его
описание, можно воспользоваться командой *apt-cache show*, которая покажет
информацию о пакете из репозитория:
----------------------------
$ apt-cache show stardict-mueller7
Package: stardict-mueller7
Section: Text tools
Installed Size: 3095255
Maintainer: Anton V. Boyarshinov <boyarsh@altlinux.ru>
Version: 1.0-alt7
Pre-Depends: rpmlib(PayloadIsLzma)
Depends: stardict (>= 2.4.2)
Provides: stardict-mueller7 (= 1.0-alt7)
Architecture: noarch
Size: 3135276
MD5Sum: ea95c67ca323350b454fbc26533c3548
Filename: stardict-mueller7-1.0-alt7.noarch.rpm
Description: V.K. Mueller English-Russian Dictionary, 7 Edition: stardict format
Electronic version of V.K. Mueller English-Russian Dictionary, 7 Edition
in stardict format. You can use it with stardict client.
----------------------------
*apt-cache* позволяет осуществлять поиск и по русскому слову, однако в этом
случае будут найдены только те пакеты, у которых помимо английского есть ещё и
описание на русском языке. К сожалению, русское описание на настоящий момент
есть не у всех пакетов, хотя описания наиболее актуальных для пользователя
пакетов переведены.
=== Установка или обновление пакета ===
Установка пакета с помощью APT выполняется командой:
----------------------------
# apt-get install имя_пакета
----------------------------
[IMPORTANT]
Обратите внимание на то, что для установки пакетов требуются привелегии
администратора.
*apt-get* позволяет устанавливать в систему пакеты, требующие для работы
другие, пока ещё не установленные. В этом случае он определяет, какие пакеты
необходимо установить, и устанавливает их, пользуясь всеми доступными
репозиториями.
Установка пакета +stardict-mueller7+ командой *apt-get install
stardict-mueller7* приведёт к следующему диалогу с APT:
-----------------------------------
# apt-get install stardict-mueller7
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие НОВЫЕ пакеты будут установлены:
stardict-mueller7
0 будет обновлено, 1 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B/3135kB архивов.
После распаковки потребуется дополнительно 3095kB дискового пространства.
Совершаем изменения...
Preparing... ####################### [100%]
1: stardict-mueller7 ####################### [100%]
Running /usr/lib/rpm/posttrans-filetriggers
Завершено.
-----------------------------------
Команда *apt-get install _имя_пакета_* используется и для обновления уже
установленного пакета или группы пакетов. В этом случае *apt-get* дополнительно
проверяет, не обновилась ли версия пакета в репозитории по сравнению с
установленным в системе.
При помощи APT можно установить и отдельный бинарный rpm-пакет, не входящий ни
в один из репозиториев (например, полученный из Интернет). Для этого достаточно
выполнить команду *apt-get install _путь_к_файлу.rpm_*. При этом APT проведёт
стандартную процедуру проверки зависимостей и конфликтов с уже установленными
пакетами.
Иногда, в результате операций с пакетами без использования APT, целостность
системы нарушается, и *apt-get* отказывается выполнять операции установки,
удаления или обновления. В этом случае необходимо повторить операцию, задав
опцию +-f+, заставляющую *apt-get* исправить нарушенные зависимости, удалить
или заменить конфликтующие пакеты. В этом случае необходимо внимательно следить
за сообщениями, выдаваемыми *apt-get*. Любые действия в этом режиме обязательно
требуют подтверждения со стороны пользователя.
=== Удаление установленного пакета ===
Для удаления пакета используется команда *apt-get remove _имя_пакета_*. Для
того, чтобы не нарушать целостность системы, будут удалены и все пакеты,
зависящие от удаляемого: если отсутствует необходимый для работы приложения
компонент (например, библиотека), то само приложение становится бесполезным. В
случае удаления пакета, который относится к базовым компонентам системы,
*apt-get* потребует дополнительного подтверждения производимой операции с целью
предотвратить возможную случайную ошибку.
[IMPORTANT]
Обратите внимание на то, что для удаления пакетов требуются привелегии
администратора.
Если вы попробуете при помощи *apt-get* удалить базовый компонент системы, вы
увидите такой запрос на подтверждение операции
----------------------------
# apt-get remove filesystem
Обработка файловых зависимостей... Завершено
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут УДАЛЕНЫ:
basesystem filesystem ppp sudo
Внимание: следующие базовые пакеты будут удалены:
В обычных условиях этого не должно было произойти, надеемся, вы точно
представляете, чего требуете!
basesystem filesystem (по причине basesystem)
0 пакетов будет обновлено, 0 будет добавлено новых, 4 будет
удалено(заменено) и 0 не будет обновлено.
Необходимо получить 0B архивов. После распаковки 588kБ будет
освобождено.
Вы собираетесь совершить потенциально вредоносное действие
Для продолжения, наберите по-английски 'Yes, I understand this may be
bad'
(Да, я понимаю, что это может быть плохо).
----------------------------
Каждую ситуацию, в которой APT выдаёт такое сообщение, необходимо рассматривать
отдельно. Однако, вероятность того, что после выполнения этой команды система
окажется неработоспособной, очень велика.
=== Обновление всех установленных пакетов ===
Для обновления всех установленных пакетов используется команда *apt-get
upgrade*. Она позволяет обновить те и только те установленные пакеты, для
которых в репозиториях, перечисленных в +/etc/apt/sources.list+, имеются новые
версии; при этом из системы не будут удалены никакие другие пакеты. Этот способ
полезен при работе со стабильными пакетами приложений, относительно которых
известно, что они при смене версии изменяются несущественно.
Иногда, однако, происходит изменение в именовании пакетов или изменение их
зависимостей. Такие ситуации не обрабатываются командой *apt-get upgrade*, в
результате чего происходит нарушение целостности системы: появляются
неудовлетворённые зависимости. Например, переименование пакета +MySQL-shared+,
содержащего динамически загружаемые библиотеки для работы с СУБД MySQL, в
+libMySQL+ (отражающая общую тенденцию к наименованию библиотек в дистрибутиве)
не приводит к тому, что установка обновлённой версии +libMySQL+ требует
удаления старой версии +MySQL-shared+. Для разрешения этой проблемы существует
режим обновления в масштабе дистрибутива -- *apt-get dist-upgrade*.
В случае обновления всего дистрибутива APT проведёт сравнение системы с
репозиторием и удалит устаревшие пакеты, установит новые версии присутствующих
в системе пакетов, а также отследит ситуации с переименованиями пакетов или
изменения зависимостей между старыми и новыми версиями программ. Всё, что
потребуется поставить (или удалить) дополнительно к уже имеющемуся в системе,
будет указано в отчёте *apt-get*, которым APT предварит само обновление.
При работе с Sisyphus для обновления системы рекомендуется использовать команду
*apt-get dist-upgrade*.