Резюме
Резюме¶
В этой главе было рассмотрено управление программным обеспечением в системе 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.