Из всех шеллов мне нравится bash. Это дело личных пристрастий. Кому-то нравится ksh, кому-то zsh, кому-то ещё что-то. Не важно. Но bash идёт в составе пэкаджей для Solaris’а и устанавливается по умолчанию. И меня это порадовало. Как говорится одной проблемой меньше.
Теперь пробуем добавить нового пользователя. А то всё время входить root’ом, как-то даже и не привычно. Я знаю два варианта как легко добавить пользователя в Solaris’е. Один через утилиту системного администрирования идущую в составе OpenWindow. Второй – командой useradd
. Ни каких «подводных камней» в обоих случаях я не встретил. Кроме этого, советую обратить внимание и на утилиту passmgmt
.
И вот всплыла неожиданная вещь. Когда я захожу обычным юзером, то все настройки, в том числе и установка переменной PATH
прописываются в ~/.bash_profile
. Но если я потом ввожу su
и получаю права суперюзера, то значение этой переменной сбрасывается. Что ж, это очень даже логично с точки зрения безопасности. Но немного не удобно. Долго я искал, как сделать так чтоб значение этой переменной при входе через su
было таким, каким нужно мне. И man su
мне таки помог: /etc/default/su
. В этом файле прописываете нужные вам пути в переменную SUPATH
и получаете удовольствие.
Следующим камнем преткновения оказалось отсутствие такой приятной командочки из FreeBSD как locate
. Пришлось сперва с помощью catman
собрать базу для apropos
, а уж затемс его помощью, найти аналог locate
: whereis
и его друга – which
.
Далее. Мне нужен любимый текстовый редактор joe
. И оказывается он есть на http://www.sunfreeware.com/indexintel10.html. Прекрасно! Выкачиваем его от-туда и ставим. Хм, а как установить пэкадж? Легко! man pkgadd
– классический ответ юниксоида. 🙂 Там чётко сказано, что надо сначала его разархивировать, а потом установить с помощью ключика –d
. Очень хорошо. Доставляю ещё несколько любимых программ. Кстати, pkginfo
очень даже полезная вещь. Особенно в комплекте с grep
’ом.
Кстати, Solaris по умолчанию ставит кучу gnu-программ. И устанавливает он их в директорию /usr/sfw/bin
.
Теперь надо бы скомпилировать какую-нибудь ба-а-альшую программу.
В одном из указанных выше источниках я прочитал, что идущий в составе Solaris’а gcc
несколько странный и мол надо его сразу пересобрать из исходников. Я поддался на уговоры и пересобрал его. По-моему, я зря это делал. Всё же надо было для начала проверить, как отработает «штатный», устанавливаемый при инсталляции. Тем не менее, если вы всё же пересобрали его, то перед установкой свежей версии желательно не забыть удалить (pkgrm
) старый вместе со всеми сопутствующими библиотеками.
Переходим непосредственно к компиляции. И вот тут настали первые грабли.
По началу, на небольших программах, всё шло хорошо. Но когда дело дошло до postgres
’а, то тут всё и застопорилось. Конфигурационный скрипт ругался, что, мол, у него явно какие-то проблемы с путями к нужным библиотекам. Ну, такое мы проходили, и ldconfig
нам поможет. А вот и нет! Не помогло. Нет такой программы. Зато нашлась другая – crle
. И после прописывания необходимых путей всё заработало. У меня дефолтовый путь к библиотекам выглядит так: /lib:/usr/lib:/local/lib:
.
/usr/local/lib:/usr/local/pgsql/lib:/usr/sfw/lib
Следующими граблями оказался perl
. Собственно, не сам per
l, а то, что некоторые системные утилиты заточены под использование штатного perl 5.6.1
. А собранный и установленный мной 5.8.7
не содержит кое-каких библиотек специфичных для Solaris’а. И, например, kstat
просто отказался работать. Мне пока не удалось переустановить нужные библиотеки под новый perl
. Но в этом случае помогает, то, что многие утилиты содержат явную ссылку на запуск интерпретатора perl
’а из определённой директории: /usr/perl5/bin
. Я просто слинковал в неё нужную версию perl
’а и всё заработало. Понятно, что нормальной такую ситуацию назвать нельзя, но пока отложим её до лучших времён.