Ubuntu 10. Краткое руководство пользователя
Шрифт:
Зависимости могут быть и обратного характера, т. е. требовать не установить, а удалить определенный пакет. Это случается, когда одна программа конфликтует с другой, и пользователю нужно выбрать, какую программу использовать. Например, в системе может быть установлен только один почтовый сервер. Но в Интернете можно найти несколько почтовых серверов, а вот установить только один — поскольку если установить оба, то они будут мешать друг другу работать.
Но пакет пакету рознь. Сейчас в мире Linux существуют два основных формата пакетов: RPM и DEB. RPM-пакеты устанавливаются в системах, совместимых с дистрибутивами типа Red Hat. Ubuntu к числу
9.1.2. Архивы
В архиве программы распространяются редко, но иногда такое случается. Может быть, разработчикам программы было лень собирать пакет, может, была и какая-нибудь другая причина. Но в большинстве случаев в архивах распространяется исходный код программы, следовательно, после распаковки архива программу требуется откомпилировать. У вас, как у начинающего пользователя Ubuntu, такой необходимости не будет — практически все программное обеспечение для Ubuntu распространяется в виде DEB-пакетов, т. е. не нуждается в компиляции.
9.2. Программа dpkg: управление DEB-пакетами
Программа dpkg используется для установки, удаления и управления пакетами Debian/Ubuntu. Программа dpkg вызывается из командной строки. Формат вызова ее следующий:
dpkg [ключи] действие
Для запуска dpkg нужно обладать полномочиями root, получить которые можно с помощью команды sudo.
Предположим, у нас есть пакет package.deb. Для его установки откройте терминал (Приложения | Стандартные | Терминал) и введите команду:
sudo dpkg — i /путь/package.deb
Как видите, ничего сложного тут нет. Интересующимся поясню, что процесс установки пакета состоит из следующих шагов:
1. Извлечение управляющих файлов из пакета.
2. Если уже была установлена старая версия этого пакета, тогда из старого пакета запускается сценарий prerm, который подготавливает систему к удалению старой версии пакета. Другими словами, если нужно, то обновление пакета выполняется автоматически.
3. Выполняется сценарий preinst, если он есть в данном пакете.
4. Распаковываются остальные файлы из пакета. При этом если был установлен старый пакет, то его файлы не удаляются, а сохраняются в другом месте, чтобы их можно было восстановить, если что-то пойдет не так.
5. Если была установлена старая версия пакета, то выполняется сценарий postrm (действия после удаления) из старого пакета. Данный сценарий запускается сразу после выполнения сценария preinst нового пакета, поскольку старые файлы удаляются во время записи новых файлов.
6. Выполняется настройка пакета:
• распаковываются новые конфигурационные файлы, а старые сохраняются, если нужно будет их восстановить в случае ошибки во время установки нового пакета;
• запускается сценарий postinst, если он есть в данном пакете.
Удалить пакет тоже просто:
sudo dpkg — r package
Обратите внимание — при удалении пакета не нужно указывать путь к пакету и расширение имени файла.
Установка и удаление пакетов — это далеко не все действия, которые можно выполнить с помощью программы dpkg. Другие действия программы dpkg, которые могут быть интересны каждому пользователю Ubuntu, представлены в табл. 9.1.
Если вы хотите получить более подробную информацию о программе dpkg, причем на русском языке, введите команду:
man dpkg
9.3. Программа apt-get
Предположим, у вас есть пакет package.deb. При его установке обнаружилось, что он требует наличия пакета lib.deb, который у вас не установлен. Что ж, вы находите в Интернете отсутствующий пакет, устанавливаете его способом, описанным в разд. 9.2 (то есть применяя команду dpkg), а затем тем же способом устанавливаете пакет package.deb. Не очень удобно, правда?
Намного проще выполнить команду:
sudo apt-get install package
Эта программа сначала просматривает файл /etc/apt/sources.list — в нем перечислены источники (репозитории) DEB-пакетов (в качестве источника обычно выступает сервер в Интернете). Программа находит там указанный пакет, читает служебную информацию о нем, затем разрешает зависимости (т. е. устанавливает все необходимые для работы программы пакеты) и, наконец, устанавливает нужный нам пакет.
9.3.1. Файл /etc/apt/sources.list и репозитории пакетов
Откройте файл /etc/apt/sources.list (рис. 9.2):
gksudo gedit /etc/apt/sources.list
Найдите и раскомментируйте следующую строку:
deblucid-backports main restricted universe multiverse
Эта строка подключает репозиторий backports, содержащий много полезных программ.
Не все программы, содержащиеся в репозитории backports, бесплатны, и не все поддерживаются командой Ubuntu.
Также можно раскомментировать строку, подключающую репозиторий партнеров Canonical (компании-разработчика Ubuntu):
deblucid partner
Разберемся теперь, какие программы содержатся в том или ином репозитории:
в репозитории main содержатся основные программы, они распространяются свободно и регулярно поддерживаются (обновляются);
в репозитории restricted содержатся программы, которые распространяются по несвободным лицензиям, а также имеют ограниченную поддержку;