В Linux. 2 Приобретение и инсталляция Linux. 3 Учебник по Linux 4 Администрирование системы. 5 The X window System. 6 Работа в сети

Вид материалаУчебник

Содержание


4.9.3 Установка модуля драйвера устройства.
4.9.4 Обновление библиотек.
Важное замечание!
Подобный материал:
1   ...   56   57   58   59   60   61   62   63   ...   73

4.9.3 Установка модуля драйвера устройства.


  Выше описано резервирование на стриммер. Linux поддерживает много типов стриммеров с интерфейсами IDE, SCSI и дисковода для гибких дискет. Linux поддерживает драйвер ftape как модуль.

На момент написания данного документа, последняя версия ftape была 3.04d. Вы можете получить дистрибутив с FTP архива sunsite.unc.edu (см. инструкции в приложении B). Архив ftape находится в /pub/Linux/kernel/tapes. Посмотрите, какая версия там наиболее свежая. На момент написания данного документа, последняя версия ftape лежала в файле ftape-3.04d.tar.gz.

После распаковки архива ftape в каталог /usr/src, наберите make install в каталоге верхнего уровня дистрибутива ftape для компиляции модуля драйвера ftape и утилит. Если Вы испытываете проблемы совместимости с дистрибутивными файлами ftape вашего ядра системы или библиотеки, выполните команды make clean и make install, которые гарантируют, что модули компилируются для вашей системы.

Чтобы использовать эту версию ftape драйвера, Вы должны иметь поддержку модулей, компилируемую в ядро, и поддержку демона ядра kerneld. Однако, Вы не должны включать код ftape, как опцию ядра при его настройке, поскольку более современный ftape модуль полностью заменяет этот код.

make install установит драйвер устройства в правильный каталог. На стандартных Linux системах, модули лежат в каталоге /lib/modules/kernel-version. Если у Вас ядро версии 2.0.30, модули лежат в каталоге /lib/modules/2.0.30. Шаг установки make install также обеспечивает, чтобы эти модули было можно найти, добавляя соответствующие инструкции в файл modules.dep, размещенному в верхнем каталоге файлов модулей, в данном случае /lib/modules/2.0.30. Установка ftape добавляет следующие модули к вашей системе (в этом примере использована версия ядра 2.0.30):


/lib/modules-2.0.30/misc/ftape.o

/lib/modules-2.0.30/misc/zft-compressor.o

/lib/modules-2.0.30/misc/zftape.o


Команды для загрузки модуля должны быть добавлены к системному файлу конфигурации модулей. Во многих системах он называется /etc/conf.modules. Чтобы автоматически загружать ftape модули по требованию, добавьте следующие строки к файлу /etc/conf.modules:


alias char-major-27 zftape

pre-install ftape /sbin/swapout 5


Первая инструкция загружает все связанные с ftape модули в случае необходимости, когда к устройству со старшим номером 27 (ftape устройство) обращается ядро. Поскольку поддержка модуля zftape (который обеспечивает автоматическое сжатие данных для стриммера) требует поддержки других ftape модулей, все они грузятся по требованию ядра. Вторая строка определяет параметры загрузки для модулей. В данном случае утилита /sbin/swapout, которая обеспечивается пакетом ftape, гарантирует, что для ftape драйвера доступно достаточное количество DMA-памяти.

Чтобы обращаться к ftape устройству, Вы должны сначала поместить отформатированную ленту в стриммер. Команды для форматирования лент и операций с ними даны в разделе 4.8.3.

4.9.4 Обновление библиотек.


   Как упомянуто выше, многие программы откомпилированы для использования разделяемых библиотек, которые хранят общий программный код, используемый разными программами.

Если Вы получили сообщение:


Incompatible library version


при попытке выполнить программу, вам необходимо модернизировать версию ваших библиотек, которые использует программа. Библиотеки совместимы в обратном направлении, то есть программа, откомпилированная для использования с более ранней версией библиотек, должна работать с новой версией библиотек. А обратное не справедливо.

Самая последняя версия библиотек может быть найдена FTP-серверах Linux. На sunsite.unc.edu они расположены в /pub/Linux/GCC. Файлы "версии" (``release'') должны описывать, какие файлы вам необходимо скачать, и как их инсталлировать. Кратко, вы должны иметь файлы image-version.tar.gz и inc-version.tar.gz, где версия указывает версию инсталлируемых библиотек, например 4.4.1. Это tar-файлы, сжатые gzip. Файлы образов содержат образы инсталлируемых библиотек в /lib и /usr/lib. Файл inc содержит include-файлы для инсталляции в /usr/include.

Файл release-version.tar.gz объясняет инсталляционную процедуру в деталях (конкретные инструкции для конкретных версий отличаются). В общем случае вы должны инсталлировать библиотечные .a и .sa файлы в /usr/lib. Эти библиотеки используются на этапе компиляции.

Дополнительно, разделяемая библиотека образов файлов libc.so.version инсталлируется в /lib. Это разделяемые библиотеки образов загружаются во время выполнения использующими их программами. Каждая библиотека имеет символическую связь, использующую старшее число версии библиотеки в /lib.

Например, библиотека libc версия 4.4.1 имеет старшую цифру версии 4. Файл, содержащий библиотеку - libc.so.4.4.1. Символическая связь с именем libc.so.4, указывающая на этот файл, также в /lib. Вы должны изменить эту символическую связь, когда модифицируете библиотеки. Например, когда идет смена версий, вы должны изменить символическую связь файла libc.so.4 на новую версию.

Важное замечание! Надо менять символическую связь за один шаг, как показано ниже. Если вы каким-то образом удалили символическую связь libc.so.4 тогда программы, которые зависят от этой связи (включая базовые утилиты вроде ls и cat) перестанут работать. Используйте следующую команду для обновления символической связи libc.so.4, чтобы она указывала на файл libc.so.4.4.1:


# In -sf /lib/libc.so.4.4.1 /lib/libc.so.4


Вы должны также изменить символическую связь libm.so.version таким же манером. Если вы переходите на отличную (от прежней) версию библиотек, замените имена вышеупомянутых файлов. Пояснения к версии библиотеки должны прояснить детали. Дополнительную информацию про символические связи смотрите здесь.