Перейти к содержанию

Резюме

Резюме

В этой главе было рассмотрено управление программным обеспечением в системе Linux. Сначала было отмечено, что для управления программным обеспечением можно использовать как графические, так и командные утилиты. Подчёркивалось, что хороший администратор Linux не должен зависеть от графических инструментов — он обязан уметь работать и с инструментами командной строки. Кроме того, не всё программное обеспечение можно установить с помощью графических утилит. Экзамен LPIC-1/Linux+ ориентирован исключительно на утилиты командной строки.

Сначала было рассмотрено управление пакетами RPM. Менеджер пакетов RPM (Red Hat Package Manager) хранит сведения об установленных пакетах в файле базы данных RPM (/var/lib/rpm). Были перечислены ресурсы для получения программного обеспечения Linux:

  • установочный компакт-диск или DVD;
  • веб-сайты проектов с открытым исходным кодом;
  • www.rpmfind.net;
  • www.sourceforge.net;
  • linux.tucows.com;
  • www.freshmeat.net;
  • www.linux.org.

Рекомендуется проверять загруженные файлы с помощью контрольных сумм (checksums). Для этого используется команда sum — она вычисляет контрольную сумму скачанного файла, которую затем нужно сравнить со значением, указанным на сайте, откуда был получен файл.

Для управления пакетами RPM применяется менеджер пакетов. Пакеты RPM — это предварительно скомпилированные программные пакеты, которые менеджер пакетов может установить в систему. Поскольку пакеты скомпилированы заранее, перед установкой необходимо убедиться в совместимости конкретного пакета с системой. Имя файла пакета содержит следующую информацию:

  • имя пакета;
  • номер версии;
  • номер выпуска;
  • совместимый дистрибутив (необязательно);
  • тип архитектуры.

Для проверки цифровой подписи RPM-пакета перед установкой используется команда rpm --checksig. Установка пакета выполняется командой rpm -i. Многие пакеты RPM зависят от других пакетов, установленных в системе. Утилита rpm автоматически проверяет наличие зависимостей перед установкой нового пакета. Для предварительной проверки зависимостей можно также использовать rpm --test.

Для удаления пакета RPM применяется команда rpm -e. Обновление существующего пакета до новой версии выполняется командой rpm -U. Для запроса информации о пакете используется параметр -q, для проверки пакета — параметр -V. Если пакет повреждён, его можно переустановить командой rpm -U --replacepkgs.

Далее была рассмотрена утилита yum как альтернатива rpm. Команда yum позволяет загрузить и установить пакет со всеми его зависимостями одной командой. Для установки пакета используется yum install имя_пакета, для удаления — yum remove имя_пакета. Если нужно только загрузить файл без установки, применяется команда yumdownloader. Конфигурационный файл yum.conf определяет URL репозиториев, каталог кеша (cachedir) и путь к файлу журнала (logfile). Сведения о репозиториях могут храниться как в yum.conf, так и в отдельных файлах вида имя_файла.repo в каталоге /etc/yum.repos.d.

Затем был рассмотрен процесс установки программного обеспечения из исходного кода (source code). Большинство программ, устанавливаемых таким способом, распространяются в формате tarball-архива. После загрузки файла содержимое архива извлекается командой tar -zxvf. Затем нужно перейти в созданный каталог и запустить ./configure — этот сценарий проверяет систему и создаёт файл Makefile. После этого команда make компилирует двоичный исполняемый файл из исходного кода согласно инструкциям в Makefile. Установка выполняется командой make install. Для удаления программы, установленной из исходного кода, используется сценарий удаления из исходных файлов или цель UNINSTALL в Makefile, вызываемая командой make uninstall.

Была также рассмотрена работа с пакетами Debian. Дистрибутивы на основе Debian используют менеджер пакетов Debian (dpkg). Пакеты Debian используют соглашение об именовании, аналогичное RPM: имя_пакета_версия_архитектура.deb. Как и пакеты RPM, пакеты Debian содержат сведения о зависимостях.

Для установки, удаления, запроса информации и проверки пакетов Debian используется команда dpkg. Команда apt-cache позволяет запрашивать информацию из базы данных пакетов Debian (называемой кешем пакетов). Команда apt-get — аналог yum для систем на базе Debian — автоматически загружает и устанавливает пакеты вместе со всеми зависимостями. Файл /etc/apt/sources.list задаёт репозитории, из которых apt-get устанавливает пакеты. Утилита aptitude предоставляет текстовый интерфейс с меню для управления пакетами Debian.

В конце главы было рассмотрено управление разделяемыми библиотеками (shared libraries). Приложения могут совместно использовать элементы кода в виде разделяемых библиотек, что избавляет разработчиков от необходимости повторно реализовывать одни и те же функции в каждой новой программе. Приложения Linux могут использовать как динамические, так и статические разделяемые библиотеки. Конфигурационный файл динамических библиотек — /etc/ld.so.conf — содержит список путей в файловой системе, где хранятся файлы библиотек. Для просмотра списка всех разделяемых библиотек системы используется команда ldconfig -p.

Чтобы узнать, какие разделяемые библиотеки требуются конкретному приложению, используется команда ldd: синтаксис — ldd -v имя_исполняемого_файла. Кеш библиотек — /etc/ld.so.cache — содержит список всех системных библиотек и обновляется при загрузке системы. Если файлы библиотек добавлены в каталог, не указанный в /etc/ld.so.conf, необходимо добавить путь в этот файл и вручную перестроить кеш командой ldconfig. Альтернативный способ — добавить путь в переменную окружения LD_LIBRARY_PATH.

Ускоренное повторение

  • Для управления программным обеспечением Linux можно использовать как графические, так и командные утилиты.
  • Хороший администратор Linux умеет работать с любым типом утилит.
  • Большой объём программного обеспечения доступен для Linux бесплатно.
  • Установочный носитель дистрибутива (компакт-диски или DVD) — удобный источник программного обеспечения.
  • Загружать программное обеспечение для Linux можно с различных веб-сайтов.
  • По возможности следует проверять загрузки, сравнивая контрольную сумму, полученную командой sum, со значением, указанным на сайте-источнике.
  • Пакеты RPM устанавливаются с помощью менеджера пакетов Red Hat (rpm).
  • Пакеты RPM скомпилированы для определённой архитектуры, а иногда и для конкретного дистрибутива Linux.
  • Тип архитектуры, для которой предназначен пакет, определяется по имени файла, которое содержит:
    • имя пакета;
    • номер версии;
    • номер выпуска;
    • совместимый дистрибутив (необязательно);
    • тип архитектуры.
  • Для проверки цифровой подписи пакета RPM перед установкой вводится rpm --checksig.
  • Для установки пакета вводится rpm -i.
  • Для удаления пакета RPM используется команда rpm -e.
  • Для обновления существующего пакета до новой версии используется команда rpm -U.
  • Для запроса информации о пакете используется параметр -q команды rpm.
  • Для проверки пакета используется параметр -V команды rpm.
  • Если пакет повреждён, его можно переустановить командой rpm -U --replacepkgs.
  • Утилита yum позволяет загрузить и установить пакет со всеми зависимостями одной командой.
  • Команда yum install имя_пакета устанавливает пакет.
  • Команда yum remove имя_пакета удаляет пакет.
  • Файл yum.conf является конфигурационным файлом yum.
  • Файл yum.conf определяет URL репозиториев, каталог кеша (cachedir) и путь к файлу журнала (logfile).
  • Сведения о репозиториях могут храниться в yum.conf или в отдельных файлах вида имя_файла.repo в каталоге /etc/yum.repos.d.
  • Для установки из исходного кода сначала загружается и распаковывается tarball-архив.
  • В каталоге установки последовательно выполняются ./configure, make и make install.
  • Команда ./configure проверяет совместимость системы и создаёт файл Makefile.
  • Команда make компилирует двоичный исполняемый файл из исходного кода согласно инструкциям в Makefile.
  • Команда make install устанавливает скомпилированный исполняемый файл.
  • Команда make uninstall обычно используется для удаления программы, установленной из исходного кода.
  • Дистрибутивы на основе Debian используют менеджер пакетов Debian (dpkg).
  • Пакеты Debian используют соглашение об именовании, аналогичное пакетам RPM.
  • Пакеты Debian содержат сведения о зависимостях.
  • Команда dpkg используется для установки, удаления, запроса информации и проверки пакетов Debian — аналогично команде rpm.
  • Команда apt-cache служит для запроса информации из базы данных пакетов Debian (кеша пакетов).
  • Команда apt-get автоматически загружает и устанавливает пакеты вместе со всеми зависимостями.
  • Утилита aptitude предоставляет текстовый интерфейс с меню для управления пакетами Debian.
  • Приложения в системе Linux могут совместно использовать элементы кода, называемые разделяемыми библиотеками.
  • Приложения Linux могут использовать как динамические, так и статические разделяемые библиотеки.
  • Конфигурационный файл динамических разделяемых библиотек — /etc/ld.so.conf.
  • Файл /etc/ld.so.conf содержит список путей в файловой системе, где хранятся файлы библиотек.
  • Для просмотра списка всех разделяемых библиотек системы вводится ldconfig -p.
  • Для просмотра разделяемых библиотек, требуемых конкретному приложению, вводится ldd -v имя_исполняемого_файла.
  • Кеш библиотек — /etc/ld.so.cache.
  • Файл ld.so.cache содержит список всех системных библиотек и обновляется при начальной загрузке системы.
  • Если файлы библиотек добавлены в каталог, не указанный в /etc/ld.so.conf, необходимо добавить путь в этот файл и перестроить кеш вручную командой ldconfig.
  • Новый путь к файлам библиотек можно также добавить в переменную окружения LD_LIBRARY_PATH.