sadm.magnus.pp.ru Заметки крошки-админа

27 November 2007

Что бы мы делали без замечательной утилиты crle?

Filed under: Компьютеры и интернет — Tags: — Magnus @ 14:53

В процессе компилирования необходимого набора программ для 64 бит, я в очередной рад воспользовался замечательной утилитой crle, и снова отметил, насколько проще становится жизнь если её использовать.

В странице-руководстве (man crle) сказано вот что:

The crle utility provides for the creation and display of a runtime linking configuration file. The configuration file is read and interpreted by the runtime linker, ld.so.1(1), during process start-up.

И именно этим утилита и полезна - можно указать, где компоновщику следует искать необходимые библиотеки в первую очередь, и многие проблемы пропросту исчезнут.

Так что бы мы делали без этой замечательной утилиты? Всё очень просто:

1) указывали бы обязательно дополнительные параметры для компиляторов - пути к библиотекам с параметрами -L и -R
2) Пользовались бы старой и надёжной переменной LD_LIBRARY_PATH, которая так же позволяет указывать каталоги, откуда компоновщику стоит брать библиотеки.

Мало того, что это неудобно потому, что нужно тратить дополнительное время, так ещё и настройки эти годятся только для конкретного пользователя - и любой другой, кто захочет использовать скомпилированную с помощью подобных ухищрений программу, вынужден будет делать то же самое - устанавливать себе аналогичное значение LD_LIBRARY_PATH.

А с crle всё гораздо проще:

для просмотра текущих параметров работы компоновщика (списков каталогов), нужно просто запустить команду:

-bash-3.00$ crle
Default configuration file (/var/ld/ld.config) not found
Default Library Path (ELF): /lib:/usr/lib (system default)
Trusted Directories (ELF): /lib/secure:/usr/lib/secure (system default)

для просмотра конфигурации при работе компоновщика с 64-битными объектами, нужно указать соответствующий параметр:

-bash-3.00$ crle -64
Configuration file [version 4]: /var/ld/64/ld.config
Default Library Path (ELF): /lib/64:/usr/lib/64:/usr/sfw/lib/64
Trusted Directories (ELF): /lib/secure/64:/usr/lib/secure/64 (system default)

Command line:
crle -64 -c /var/ld/64/ld.config -l /lib/64:/usr/lib/64:/usr/sfw/lib/64

И как видно из примера, достаточно выполнить вот такую команду, чтобы добавить новый каталог к списку тех, где компоновщик будет искать библиотеки. Например, если я хочу добавить к списку свой собственный каталог /export/soft/lib/64, то сделать это можно вот так:

-bash-3.00$ crle -64 -c /var/ld/64/ld.config -l /lib/64:/usr/lib/64:/usr/sfw/lib/64:/export/soft/lib/64

Источник: http://solaris.reys.net/2006/04/crle

20 November 2007

Монтируем образы под Solaris

Filed under: Компьютеры и интернет — Tags: , — Magnus @ 20:13

1. Создаем loopback-устройство:

# lofiadm -a /path-to-image /dev/lofi/1

2. Монтируем:
.iso

# mount -F hsfs -o ro /dev/lofi/1 /mnt/cdrom

.img

# mount -F pcfs -o ro /dev/lofi/1 /mnt/floppy
« Newer Posts

Powered by WordPress