Главная > Операционные системы > Unix/QNX >
Solaris on Intel - x86 FAQ. ПОСТУСТАНОВКА (НАСТРОЙКА)

Solaris on Intel - x86 FAQ


(6.0) ПОСТУСТАНОВКА (НАСТРОЙКА)

(6.1) Как добавить дополнительные устройства?

IDE/ATAPI и SCSI диски уже форматированы на низком уровне. Если Вы хотите отформатировать SCSI диск, Вы можете использовать утилиту "format", которая поставляется с OS Solaris. При добавлении второго диска нужно будет использовать "format".

  • Выберите диск
  • fdisk (выберите весь диск оли его часть для форматирования)
  • format
  • Запишите метку с помощью команды "label", проверьте расположение раздела
  • Выйдите из программы format
  • Создайте файловую систему на диске с помощью "newfs". Т.е. "newfs /dev/rdsk/c0t1d0s0" создаст файловую систему на всем диске с SCSI ID 1
  • Смонтируйте раздел в Вашу любимую mount point
  • Настройте Ваш /etc/vfstab

[Из Bob Palowoda's Solaris 2.4 x86 FAQ]


(6.2) Как добавить или сконфигурировать пользователей, принтеры, мат.обеспечение и т.д.?

Используйте admintool под X Windows. Для настройки клавиатуры, дисплея и мыши используйте kdmconfig.


(6.3) Как запретить печать титульного листа (banner page) на принтере?

Чтобы запретить печать титульного листа постоянно, проделайте следующие шаги:

  1. cd /usr/lib/lp/model
  2. cp standard standard-nobanner
  3. Используйте Ваш любимый редактор для редактирования файла standard-nobanner. Около строки 332, замените: nobanner="no" на: nobanner="yes"
  4. lpadmin -p PRINTERNAME -m standard-nobanner

Замечание: снятие отметки "Always print banner" в admintool или исполнение "lpadmin -p st -o nobanner" только позволит пользователям посылать запросы на печать без титульного листа (lp -onobanner filenamehere), но не запретит его печать по умолчанию.

[Спасибо Youri N. Podchosov и Rob Montjoy's Sun Computer Admin. FAQ]


(6.4) Как установить/настроить HP-совместимый принтер для печати PostScript файлов?

В сущности, установите GhostScript, затем используйте GhostScript (gs) в качестве фильтра для PostScript файлов при выводе на HP LaserJet-совместимые принтеры. Добавьте файл-фильтр в каталог /etc/lp/fd, чтобы вызвать GhostScript. Этот метод работает для любого принтера, который поддерживает GhostScript. Заметим, что лидирующие HP принтеры (LJ IV) также поддерживают печать PostScript непосредственно. Подробнее см. Alexander Panasyuk's GhostScript Solaris Printer HOWTO http://cfauvcs5.harvard.edu/SetGSprinter4Solaris.html

John Groenveld дает следующие инструкции:

Вот процедура, которой я придерживаюсь. Предполагается, что у Вас есть работающий ghostscript с драйвером для Вашего принтера и что он подсоединен к /dev/lp1. Между прочим, я видел проблему с Alexander Panasyuk's HOWTO. Он пишет прямо на device в своем фильтре. Я не задумываюсь о том, что фильтры должны делать, но это просто мое мнение.

# Test your driver:
/opt/gnu/bin/gs -q -dSAFER -dNOPAUSE -sDEVICE=laserjet -sOutputFile=/dev/lp1 \
        /opt/gnu/share/ghostscript/5.50/examples/alphabet.ps

# Create the printer:
lpadmin -p lj6l_ps -v /dev/lp1 -o nobanner

# Create the printer filter definition:
cat > /etc/lp/fd/laserjet.fd <<eof
Input types: postscript 
Output types: laserjet 
Printer types: any 
Printers: any 
Filter type: fast
Command: /opt/gnu/bin/gs -q -dSAFER -dNOPAUSE -sDEVICE=laserjet -sOutputFile=- -
eof

# Add the filter name to the filter table:
chown lp:lp /etc/lp/fd/laserjet.fd
chmod 664 /etc/lp/fd/laserjet.fd
lpfilter -f laserjet -F /etc/lp/fd/laserjet.fd

# Configure the printer to use the LaserJet filter:
lpadmin -p lj6l_ps -I laserjet

# Enable the printer to accept jobs:
enable lj6l_ps

# Test:
/usr/ucb/lpr -h /opt/gnu/share/ghostscript/5.50/examples/alphabet.ps

(6.5) Как улучшить производительность диска и графики?

Производительность диска (iozone)

Типичный тест iozone с последовательным файлом размера от 10 до 20Мб дает около 2Мб/сек. запись/чтение на 50МГц ESIA (? Serg) системе на Maxtor 540SL (8.5 ms) диске с контроллером Adaptec 2740. Вы получите немного большую производительность на системе Pentium 90МГц Полностью побежденная система будет записывать 1Мб/сек. Я заметил, что NCR 810/825 и т.п, дает немного бОльшую производительность, особенно на PCI шине.

ЗамечаниеЛ если Вы собираетесь использовать высокооборотные диски, 5400 или 7200 об/мин, в качестве загрузочных, Вы можете пожелать установить "set maxpgio=60" для дисков с 5400 об/мин в Вашем /etc/system файле, и "set maxpgio=80" для дисков с 7200 об/мин. Это сделает schedpaging более эффективным.

ISA SCSI являются очень плохим выбором (используйте PCI), но Вы можете пожелать увеличить "lotsfree" в Вашем /etc/system файле, если у Вас много памяти (32Мб или больше).

[Andrew Gabriel добавил для ATAPI/IDE: Читайте про drive0_block_factor и drive1_block_factor в /platform/i86pc/kernel/drv/ata.conf (man ata). Даже мои старые IDE диски поддерживают drive0_block_factor=0x10 без проблем.

Графическая производительность (xstone) Xstones is a little more of a subjective measurement of graphics performance. The comp.unix.x.i386 newsgroup keeps up on the latest xstone performance on graphics cards for PC's.

[Из Bob Palowoda's Solaris 2.4 x86 FAQ]



(6.6) Как "заставить" Solaris/x86 распознавать NE2000-совместимые сетевые адаптеры?

NEI - это имя драйвера для семейства Novell/Eagle 2000-совместимых сетевых карт. Драйвер выключен по-умолчанию, поскольку определение (пробирование) его вызывает проблемы с другими картами (иногда это блокирует систему). Таким образом, Вы должны модифицировать файл /kernel/drv/nei.conf чтобы включить I/O адреса, прерывания. Например:

name="nei" parent="isa" reg=0x1,0xf600,0x1f interrupts=11 ;

Где name, "nei," это символическое имя, которое будет фигурировать в каталоге /dev. Parent, "isa", означает тип шины. Вводящий в заблуждение термин ISA включает и PCI шину. Для OS Solaris это либо sysbus, системная шина SPARC, либо isa, что означает все, что угодно, кроме SPARC sysbus. Флаг "0x1" означает, что далее идет определение диапазона I/O портов, а не смещения в памяти, 0xf600 показывает начальный I/O адрес address, в шестнадцатиричном виде и 0x1f есть смещение (?) I/O диапазона от начала. "interrupts=11" показывает IRQ 11, в десятичном виде. Таким образом, я имею Realtek 8029 PCI NE2000-совместимую карту, установленную в диапазон I/O адресов 0xf600-0xf61f, IRQ 11.

Вы должны также создать файл /etc/hostname.nei0 с IP адресом или hostname внутри. Также добавьте в /etc/hosts строчку, например:

10.1.1.1	foo.bar.com

Далее, из-под root'а наберите "touch /reconfigure; reboot" После перезагрузки напечатайте "ifconfig nei0 plumb" чтобы иметь уверенность, что карта опознана. Она должна появиться в сообщениях от "prtconf". Если карта "Plug and Play," Вы должны отключить эту особенность и сконфигурировать ее вручную, если возможно. Подробнее см. Sun FAQ 1105-02 http://access1.Sun.COM/cgi-bin/rinfo2html?110502.faq

[Изменено из Iram Peerbhai]


(6.7) Как изменить IP адрес в Solaris/x86?

См. инструкции в "man sys-unconfig" В сущности, sys-unconfig расконфигурирует машину, чтобы сделать е готовной опять к конфигурации во время загрузки. Это намного легче и менее подвержено ошибкам, чем обычная дюжина так называемых шагов, требуемых для уничтожения старого IP адреса.

Любители приключений могут также делать это вручную редактируя следующие (или еще какие) файлы:

/etc/nodename            Имя машины (если изменяется)
/etc/hostname            Требует редактирования, если меняется имя машины.
/etc/hostname.le0        (или .hme0 или ?) Требует редактирования, 
                         если меняется имя машины.
/etc/hosts               Soft-linked на /etc/inet/hosts
/etc/nsswitch.conf       Редактируйте, если меняется порядок разрешения имен 
                         (files, NIS, DNS).
/etc/resolv.conf         Требует редактирования, если изменяется DNS.
/etc/defaultdomain       Установите domain name по-умолчанию, если изменилось.
/etc/defaultrouter       Установите IP адрес default router'а, если изменился.
/etc/inet/hosts          Проверьте, что Ваш IP адрес указан правильно в этом 
                         файле.
/etc/inet/netmasks       Установите номер Вашей сети и сетевую маску (netmask).
/etc/inet/networks       Установите имя сети, если изменилось.
/etc/net/ticlts/hosts    Для streams-level loopback interface.
/etc/net/ticots/hosts    Для streams-level loopback interface.
/etc/net/ticotsord/hosts Для streams-level loopback interface.

Чтобы проверить, что Вы изменили все необходимые файлы, наберите под root'ом: find /etc -type f -print|xargs grep `hostname`

[Спасибо Parthiv Shah, Vijay Brian Gupta, и Michael Wang]


(6.8) Как сконфигурировать второй последовательный порт, /dev/ttyb (COM2)?

По-умолчанию в OS Solaris разрешен только /dev/ttya. Но модем обычно подсоединяется к /dev/ttyb (или COM2), если у Вас есть еще мышь на последовательном порту. Если у Вас отсутствует файл /dev/ttyb, то Ваш второй последовательный порт не будет определен.

В OS Solaris 7 используйте для этих целей admintool и выберите "Serial Ports."

Ниже изложены инструкции для OS Solaris 2.6 и 2.5.1.

Чтобы добавить второй последовательный порт, выполните от root'а нижеследующее. Для других последовательных портов и внутренних модемов выполните те же шаги, но раскомментируйте соответствующие строчки в файле asy.conf.

Отредактируйте файл /platform/i86pc/kernel/drv/asy.conf следующим образом:

Solaris 2.6: Замените /platform/i86pc/kernel/drv/asy.conf следующим: (предварительно сохраните существующий asy.conf, скажем, как asy.conf.ori)

name="asy" class="sysbus" interrupts=12,4 reg=0x3f8,0,0 ioaddr=0x3f8;
ignore-hardware-nodes=1;
name="asy" class="sysbus" interrupts=12,3 reg=0x2f8,0,0 ioaddr=0x2f8;

Solaris 2.5.1: Удалите комментарий из следующей строки в файле /platform/i86pc/kernel/drv/asy.conf:

name="asy" class="sysbus" interrupts=12,3 reg=0x2f8,0,0 ioaddr=0x2f8;

  • Сохраните измененный файл asy.conf.
  • Перейдите в корневой каталог и, это важно, от root'а наберите "touch /reconfigure".
  • Наберите "sync" и затем "reboot", чтобы перезагрузить систему.
  • Если Вы получите сообщение "syncing file systems", после которого ничего не происходит, то Выключите машину и потом включите ее снова.
  • Проверьте, существует ли устройство командой "ls -l /dev/ttyb"
  • Более подробно, и по вопросам COM3 и COM4, смотрите http://access1.Sun.COM/cgi-bin/rinfo2html?228402.faq

[Изменено из Bruce Riddle's Solarisx86 2.5/Dialup PPP Configs FAQ]


(6.9) Как запретить проверку Бесперебойного Источника Питания (UPS) на COM2?

Это можно сделать следующей командой, исполненной от root'а

# eeprom com2-noprobe=true

Эта недокументированная опция команды eeprom запрещает проверку COM2 во время загрузки OS (вероятно сделано для обнаружения модемов). Команда eeprom изменяет boot сектор OS Solaris. Если UPS подсоединен к последовательному порту во время загрузки, то он может войти в режим самопроверки, выполнения shutdown или рекалибровки. Альтернативным решением является отсоединение кабеля последовательного порта на время загрузки. С очевидными поправками это также работает и для COM1. См. также BugID 4038351.

[Спасибо Andy I. McMullin и John D. Groenveld]


(6.10) Как установить/настроить протокол PPP?

"Жизнь слишком коротка для настройки плохого PPP." --Celeste Stokley

Установка PPP с помощью системного aspppd может быть упражнением в самобичевании. Это оттого, что он базируется на старом BNU/UUCP сетевом матобеспечении, которое само-по-себе отвратительно трудно для установки.

Конечно, аппаратура (модем и последовательный порт) также должны быть установлены правильно. Убедитесь, что разрешен hardware flow control.

Лучшая документация по этому вопросу - это Bruce Riddle's PPP Configuration for Solaris/x86 на http://www.riddleware.com/solx86/ppp-config.html Другое хорошее руководство - http://www.kempston.net/solaris/. У Philip Brown имеется скрипт для автоматизации настройки asppp на http://www.bolthole.com/solaris/configppp.sh

Ссылки на другие руководства приведены в Stokley's "Serial Port Resources" на http://www.stokely.com/unix.serial.port.resources/ Также смотрите Sun's "Expanding your Network with PPP" в TCP/IP и Data Communications Administration, at docs.Sun.COM and "SunService Tip Sheet for SunPPP" (InfoDoc ID 11976).

Вот несколько замечаний, которые также могут помочь Вам с Sun's aspppd:

1. Проверьте, что у Вас установлены пакеты "Basic Networking", в противном случае выполните pkgadd SUNWbnur и SUNWbnuu.

2. добавьте IP адреса/имена машин в таблицу /etc/hosts. Ваш провайдер должен дать Вам имена, либо Вы можете поискать их в сети.

3. Создайте /etc/resolv.conf, и добавьте строчки для domainname и nameserver. Ваш провайдер может предоставить domainname (возможно в виде name-of-your-isp.com, если только у них нет multi-location operation).

4. Отредактируйте /etc/mail/sendmail.cf, чтобы relay mailer был ether, и этот хост должен быть сервером smtp. Этот hostname должен быть верным.

5. Большинство программ для чтения новостей (наподобие xvnews и Netscape) используют переменную окружения NNTPSERVER, указывающую сервер NNTP. Установите ее в Вашем окружении перед запуском программы. Это можно сделать в Ваших файлах .profile, .cshrc, либо где-то еще, в зависимости от того, какой shell Вы используете.

6. Для непосредственно PPP соединения, единственное, на что следует обратить внимание - это машина, с которой Вы соединяетесь (в большинстве случаев вероятно gateway машина). Вы должны будете отредактировать /etc/uucp/{Systems, Dialers, Devices} в соответствии с Вашими предпочтениями для модемных настроек, ели Вас не устраивают настройки по-умолчанию (мне, например, они не нравятся), dialing настройки для gateway машины (note that our PPP is broken, and ignores the time-to-call field, disaster for a lot of us), и номер последовательного порта, к которому подключен Ваш модем. Затем отредактируйте файл /etc/asppp.cf, чтобы настроить интерфейс ipdptp0.

Замечания для примера:
Мой модем сконфигурирован таким образом, что при включении питания у него устанавливаются параметры необходимые для моей конфигурации PPP. ОТКЛЮЧЕН ВХОД НА МОДЕМНЫЙ ПОРТ. Я не использую "nameserver IP address" моего DNS, поэтому в /etc/resolv.conf стоит фиктивный адрес. Я также нашел, что необходимо вставить задержку в конце chat скрипта в /etc/uucp/Systems, или я не смогу соединиться. Loopback проблемы и config error проблемы создаются удаленной системой, все еще находящейся в режиме ответа на линии, когда моя машина стартует и посылает первые конфигурационные PPP пакеты. Также, я все еще должен найти 2.4 setup, где ttymon захватывает линию после того, как PPP отсоединяется по тайм-ауту (но перед тем, как модем распознает отключение DTR сигнала (моя гипотеза заключается в том, что наш streams stuff фактически не переводит DTR вниз)), по существу "подвешивая" линию. Чтобы избежать этого, не разрешайте ttymon на этом порту. Другими словами, в соответствии с древними традициями Sun, по-настоящему двунаправленные линии являются crapshoot на машинах Sun.

Примеры для моей домашней машины:

/etc/hosts:

165.154.15.142  MyPCNameGoesHere
165.154.1.1     my-isp
127.0.0.1       localhost

/etc/resolv.conf:

domainname hookup.net
nameserver 165.154.1.7

/etc/mail/sendmail.cf:

# (Stuff not included here for brevity) . . .
Dmether
# (Stuff not included here for brevity) . . .
DRmail.tor.hookup.net
CRmail.tor.hookup.net
# (Stuff not included here for brevity) . . .

/etc/uucp/Dialers:

wb144 =W-,    "" \dAT\r\c OK\r \EATDT\T\r\c CONNECT

/etc/uucp/Devices:

ACUWB cua/0 - Any wb144

/etc/uucp/Systems (line split for readability, change the phone #):

my-isp Any ACUWB 57600 555-2871 "" P_ZERO ogin: MyLoginNameGoesHere \
assword: MyPasswordGoesHere

/etc/asppp.cf:

ifconfig ipdptp0 plumb MyPCNameGoesHere my-isp netmask 0xffffff00 -trailers up
path
        inactivity_timeout 900
        interface ipdptp0
        peer_system_name my-isp
        debug_level 8
        default_route

[Спасибо Dennis (из Bob's Solaris 2.4 x86 FAQ) и Wyatt Wong)]


(6.11) Предыдущий ответ был пыткой! Имеются ли другие открытые источники PPP, более легкие для использования?

Да, как Вы можете видеть, aspppd, стандартный продукт для OS Solaris, труден в настройке и использовании ("отвратительный"). Частично проблема заключается в использовании старых BNU/UUCP программ и конфигурационных файлов, которые слишком общие и реально не предназначены для PPP.

К счастью, PPPD был портирован на Solaris и он более простой в настройке лучше работает и все еще бесплатный. Он доступен у Peter Marelas на http://www.phase-one.com.au/solaris-x86/pppd/

Я использую PPPD с OS Solaris 7. PPPD 2.3.5 также работает с OS Solaris 2.5.1 и 2.6. Этот продукт не предназначен для использования на SMP машинах.

Под Solaris 7 Вы можете использовать готовые пакеты, откомпилированные для OS Solaris 2.6 (но не для 2.5.1). Если Вы компилируете на OS Solaris 7, Вам понадобится модифицировать исходный файл common/zlib.c, чтобы он откомпилировался. Измените всюду переменную "u" на "u1". Она встречается 5 раз, в строчках 4215, 4290, 4329, 4337 и 4347. Например, измените "inflate_huft *u[BMAX];" на "inflate_huft *u1[BMAX];".

Кроме PPPD, упомянутого здесь, Andrew Gabriel упоминает также DP (для Dialup PPP). DP документация и исходные коды доступны на http://www.acn.purdue.edu/dp/ У меня нет опыта использования этого пакета.

Настройка PPPD

Установите chat скрипт, чтобы удовлетворить ISP диалогу и введите номер телефона и другие параметры в конфигурационный файл pppd. Мои примеры ниже (файлы находятся в /etc/ppp, пока не указано другое).

Я удалил файлы chap-secrets и pap-secrets, так как они мне не нужны. Файл connect-errors содержит сообщения об ошибках при плохом соединении.

Фаил /etc/ppp/ip-down:

#!/usr/bin/sh
# Turn off IP forwarding
/usr/sbin/ndd -set /dev/ip ip_forwarding 0

Файл /etc/ppp/ip-up:

#!/usr/bin/sh
# Turn on IP forwarding
/usr/sbin/ndd -set /dev/ip ip_forwarding 1

Файл /etc/ppp/ppp-on:

#!/usr/bin/sh
# Set up a PPP link
PEER=myisp
LOCKDEV=ppp0
if [ -f /etc/ppp/$LOCKDEV.pid ] ; then
    echo "PPP device $LOCKDEV is locked"
    exit 1
fi
/usr/local/sbin/pppd call $PEER
exit 0

Файл /etc/ppp/ppp-off:

#!/usr/bin/sh
# /etc/ppp/ppp-off
# Shutdown a PPP link
LOCKDEV=ppp0
# If the ppp pid file is present then the program is running. Stop it.
if [ -r /etc/ppp/$LOCKDEV.pid ] ; then
        kill -INT `cat /etc/ppp/$LOCKDEV.pid`
        # If unsuccessful, ensure that the pid file is removed.
        if [ ! "$?" = "0" ] ; then
                echo "removing stale /etc/ppp/$LOCKDEV.pid file."
                rm -f /etc/ppp/$LOCKDEV.pid
                exit 1
        fi
        # Success. Terminate with proper status.
        echo "ppp link $LOCKDEV terminated"
        exit 0
fi
echo "ppp link $LOCKDEV is not active"
exit 1

Файл etc/ppp/peers/myisp:

cua1           # modem is connected to /dev/cua1 (cua0 is usually the mouse)
115200         # bits per second (if too fast, use 38400 or 57600)
crtscts        # use hardware flow control
noauth         # don't require the ISP to authenticate itself
defaultroute   # use the ISP as our default route
204.94.88.94:  # our ip address:gateway address (both are optional)
connect '/usr/local/bin/chat -v  -f /etc/ppp/peers/chat-myisp'

Файл etc/ppp/peers/chat-myisp:

ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
ABORT "Username/Password Incorrect"
"" "ATZ"
OK "ATDT555-2871"
CONNECT "" 
"ogin:" "^Updan"
"ssword:" "\qaardvark"

Последние два файла требуют наибольших модификаций. Смотрите "man pppd" и "man chat", а также FAQ и SETUP файлы, поставляемые с pppd.

Сообщения пишутся в /var/adm/messages. Хороший PPP сеанс в журнале выглядит подобно этому:

Oct 24 22:47:49 dan.cts.com pppd[1439]: Connect: ppp0 <--> /dev/cua1
Oct 24 22:47:50 dan.cts.com pppd[1439]: local  IP address 204.94.88.94
Oct 24 22:47:50 dan.cts.com pppd[1439]: remote IP address 205.163.84.83
Oct 24 23:08:52 dan.cts.com pppd[1439]: Connection terminated.

"netstat -rn" должен показывать строчки, похожие на эти:

  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
205.163.84.83        204.94.88.94          UH       3      1  ppp0
default              205.163.84.83         UG       0      1  

Для отладки pppd, я добавляю в /etc/syslog.conf следующую строчку и перестартовываю syslogd (поля разделяются символом табуляции (TAB)):

daemon.*	/var/adm/messages

Тогда chat script будет сохранен, что поможет выявить проблему. Напечатайте и прочитайте документацию, упомянутую выше, если Вы имеете проблему.

Как только PPP заработал, Вы можете разрешить DNS следующим образом: Во-первых, модифицируйте соответствующую строчку в /etc/nsswitch.conf следующим образом:

hosts:      files dns

Во-вторых, добавьте строчки, подобные нижеследующим, в /etc/resolv.conf:

domain PutYourISPDomainNameHere.com
nameserver 192.188.72.18
nameserver 192.188.72.21

Если Вы используете PAP авторизацию, Вы также должны создать файл /etc/ppp/pap-secrets следующего вида (поля разделяются табуляторами):

# /etc/ppp/pap-secrets
# PPP User ID	Server	"Secret"	IP Addresses
MyUserIDGoesHere	*	"LetMeIn"

Измените MyUserIDGoesHere на Ваш PPP login ID, а LetMeIn (С двойными кавычками, "") - на Ваш PPP PAP password. Добавьте следующую строку в /etc/ppp/peers/myisp:

-chap name MyUserIDGoesHere

Где MyUserIDGoesHere - как и выше, а "-chap" запрещает Chap авторизацию.


(6.12) Имеются ли какие-либо коммерческие PPP, более легкие для использования?

Да. Sun продает свой "Solstice PPP" продукт вместе с сервером. Он требует лицензии для server side (обычно для провайдеров), не не для client-side (если Вы имеете только одно подсоединение). Однако, Вы должны иметь доступ к Solaris server CDROM, чтобы получить этот продукт. См. http://www.Sun.COM/solstice/server/PPPbrief.html

В основном, Вы будете использовать GUI программу pppinit для настройки PPP соединения. Запуск и останов PPP производится посредством "/etc/init.d/ppp start" (и stop), как и с aspppd, либо с помощью GUI программы ppptool. Solstice PPP документирован в Solstice PPP AnswerBook на http://docs.Sun.COM/ и более легок в установке, чем aspppd и pppd.

Progressive Systems, Inc. продает Morning Star PPP, по всей видимости, наиболее удачный коммерческий PPP продукт. Для OS Solaris/x86 (и некоторых других систем) имеется 15-дневная пробная версия http://www.progressive-systems.com/


(6.13) Помогите! Мой внутренний модем USRobotics не работает с PPP.

Если это WinModem, то Вам не повезло--Они работают только с MS Windoze и только со специальными драйверами. В них отсутствует критическое UART оборудование, которое эмулируется соответствующими программными и аппаратными интерфейсами. WinModem'ы (которые работают только в Windows) менее дорогие в производстве, поскольку они не содержат контроллер. Вместо этого они требуют специальных драйверов для Windows, которые переносят обработку на CPU. По каким-то причинам (расскажите мне, если Вы знаете), внутренние PCI модемы, похоже, являются WinModem'ами.

Если Вы используете aspppd, поставляемый с OS Solaris, Вы можете либо перейти на другой PPP продукт, который работает с USRobotics Internal Sportster модемами, такой, как Solaris PPP (не бесплатный) или PPPd (бесплатный, см. выше) либо попробовать это: (из Alan Orndorff's "Solaris x86 Resources," http://www.mindspring.com/~dwarfie/):

Модифицируйте Ваш /etc/uucp/Dialers файл следующим образом:

Добавьте P_ZERO в строку определения Вашего модема для установки его в "no parity." Т.е.,

hayes   =,-, ""   P_ZERO  ""  
\dA\pTE1V1X4Q0S2=255S12=255\r\c  OK\r    \EATDT\T\r\c  CONNECT 


(6.14) PPP работает черзвычайно медленно. Что не правильно?

OS Solaris 2.5.1 patch 101945-34+ дает плохую производительность TCP на медленных соединениях, включая PPP.

Патчи для этого, Bug ID 1233827, находятся здесь: http://soldc.Sun.COM/:

  • Solaris/x86 2.5.1: 103631 (IP) и 103581 (TCP)
  • Solaris/x86 2.5: 103170 (IP) и 103448 (TCP)
Оба этих патча входят в Recommended Patches set. Команда "showrev -p" показывает, какие патчи у Вас уже установлены. Подобные патчи суюествуют для SPARC, PowerPC, и Solaris 2.4.

[Из Bruce Riddle's Solarisx86 PPP FAQ и Casper Dik's Solaris 2 FAQ]


(6.15) Как настроить PPP с использованием динамических IP адресов (DHCP)?

Если Вы используете Solaris aspppd, Вам необходимо прописать имя 'void' в Вашем /etc/hosts файле. Просто добавьте следующую строчку:

0.0.0.1 void

(Замечание: для OS Solaris 2.4 используйте 0.0.0.0 вместо 0.0.0.1)

Измените строку ifconfig в /etc/asppp.cf, связав ее с именем void, а не с именем локальной машины в /etc/hosts. Затем добавьте "negotiate_address on" в Ваш /etc/asppp.cf файл.

Если Вы используете pppd из открытых источников, просто не задавайте IP адрес в конфигурационном файле pppd.

Если Вы используете коммерческий Solaris PPP, оставьте "none", что предлагается по-умолчанию, когда спрашивается IP адрес при исполнении pppinit. Отредактируйте файл /platform/i86pc/kernel/drv/asy.conf.

Чтобы использовать DHCP, либо: (1) Добавьте файл /etc/dhcp.ppp0 (где ppp0 - имя Вашего TCP интерфейса, показываемое командой ifconfig; обычно le0 для Ethernet) со следующей строчкой:

   wait 60

Или (2) Отредактируйте файлы /etc/hostname.ppp0 (где ppp0 - имя интерфейса) и /etc/nodename, чтобы оба были пустыми (нулевой длины), затем перезагрузите систему.

[Спасибо Bruce Riddle, Wyatt Wong, и Ed Ravin]


(6.16) Как сконфигурировать звуковую карту?

Для OS Solaris 2.6 и 7 (для 2.5.1 инструкции ниже):

Во-первых, попытайтесь от root'а: "touch /reconfigure; /usr/sbin/reboot". Вы должны увидеть два линка на /dev/sound и проиграйте .au файлы с помощью программы audiotool, если это работает. Если нет, то попробуйте следующую процедуру:

1. Исполните команду "prtconf -pv" чтобы посмотреть текущую конфигурацию системы:

        Node 0xf5a33500
            compatible: 'pnpCTL,00E4,0' + 'sbpro'
            dma-channels:  00000001.00000005
            interrupts:  00000005
            model:  'Audio'
            name:  'pnpCTL,0045'
            pnp-csn:  00000001
            reg:  8e8c00e4.19f815e8.00000000.00000001.00000220.00000010
		.00000001.00000330.00000002.00000001.00000388.00000004
            unit-address:  'pnpCTL,00E4,19f815e8'

ID устройства, которое я ищу - CTL0045. Оно появляется в строке "name: 'pnpCTL,0045'. Было показано множество других 'pnpXXX,DDDD' устройств. Но только одно было модели (строка 'model:') "Audio".

2. Согласно InfoDoc 15830, я использовал "CTL,0045" и отредактировал файл /platform/i86pc/boot/solaris/devicedb/master следующим образом:

< CSC0000|PNPB002|PNPB003|CTL0031|ESS1681 sbpro oth all sbpro.bef
 "Sound Blaster"
- ---
> CTL0045|CSC0000|PNPB002|PNPB003|CTL0031|ESS1681 sbpro oth all sbpro.bef
 "Sound Blaster"

3. Перезагрузил систему с обновлением devices.

# /usr/sbin/reboot -- -r

4. Я также исполнил Device Configuration Assistant (DCA) -- нажатием Escape во время загрузки -- просто проверьте, что Sound Blaster появляется в списке устройств. Он появляется, как "Sound Blaster." Поскольку я исполнял DCA загрузка в любом случае будет с ключом -r.

5. Когда система загрузилась, /dev/audio имел место быть. Да! Я только что слушал Sunday Blues real audio на http://www.sunday-blues.com/listen.html.

Если вышеизложенная процедура не дает эффекта для OS Solaris 2.6 или 7 (как я делал для себя), попробуйте процедуру для OS Solaris 2.5.1, приведенную ниже.

[Спасибо Park Byoung-Gi, Steve Krapp, Chris, Dave, и Norma]

Для OS Solaris 2.5.1:

Отредактируйте файл /platform/i86pc/kernel/drv/sbpro.conf, как рекомендовано внутри него (замечу, что рекомендации были удалены в OS Solaris 2.6 и выше!). Обычно это сводится к добавлению "dma-channels-1,5" в соответствующей строчке name="sbpro". Затем "touch /reconfigure" и "/usr/sbin/reboot"

Например, имеется SoundBlaster 16 или AWE32 со следующими спецификациями: IRQ 2, Audio I/O Address 0x220, и 8 & 16 bit DMA channels 1 & 5:

name="sbpro" class="sysbus"
    interrupts=5,2 reg="-1",9,0,1,0x220,0x14 type="SB16" dma-channels=1,5;

Для SoundBlaster PRO, это выглядит так (один каналe DMA: 1):

name="sbpro" class="sysbus"
    interrupts=5,2 dma-channels=1 reg="-1",1,0,1,0x220,0x14 type="SBPRO";

Остальные числа не трогайте. Убедитесь, что эти ресурсы сконфигурированы для карты и не используются другими устройствами. Например, NICs и параллельные порты часто используютen IRQ 5, а карты token ring часто используют IOA 0x220. Подробнее - "man sbpro."

Коммерческой альтернативой является использование 4Front Technologies' Open Sound System (OSS). Имеется тестовая 10-дневная версия. После истечения этого срока, она стоит $30, но хороша для экономии времени. Для более новых карт, нежели SoundBlaster 16/32/Pro, есть только следующий путь. Возьмите tar.Z файл с http://www.opensound.com/, распакуйте, и запустите процедуру инсталяции ./oss-install и пусть она сама распознает звуковую карту. Перезагрузите OS (или по-крайней мере выполните sync), затем исполните "soundon", чтобы включить драйвер вручную (см. файл oss/Readme, как разрешить автоматически).


(6.17) Как разрешить audio выход с CDROM на SBPRO карту?

Запустите audiocontrol, затем выберите "Record." Ха-ха, "Record" на самом деле означает "Sound Source ;-)." В record окне программы выберите "Internal CD" (другие меню - Microphone или Line in).

Программ audiocontrol должна быть запущена перед тем, как Вы стартуете программу для проигрывания CD. Я использую workman, но вы можете попробовать другие открытые программы, такие, как xmcd. Я не нашел графического CD player'а в OS Solaris. Какие еще? Robert Muir сообщает, что Вы можете воспользоваться этим не графическим приложением:
audiorecord -p internal-cd /dev/null &

[Спасибо Eugene Bobin и Robert Muir]


(6.18) Решена ли "проблема 2000 года" в Solaris/x86?

Да - при наличии установленных патчей. Solaris 7, 2.6, 2.5.1, 2.5, и 2.4 можно сделать Y2K-безопасными, установив комплект Y2K патчей. Их можно взять здесь: http://sunsolve.Sun.COM/

Y2k информация по OS Solaris/x86 доступна на http://www.Sun.COM/y2000/ Из всех Y2K патчей только make и sccs патчи имеются в Recommended Patches set.

Для OS Solaris/x86 Y2K рекомендованные патчи смотрите здесь: http://access1.Sun.COM/patch.y2k/

Полный Y2K patch cluster для каждой версии OS Solaris здесь: http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/y2k-patches. Последняя ссылка может быть доступна только для зарегистрированных или лицензированных пользователей. Хотя, конечно, я не платил никаких денег для доступа к ней (возможно, кроме лицензии на OS Solaris).

  • 7: имеется один Y2k патч, но он не достаточно серьезен, чтобы быть "рекомендованным".
  • 2.6: Имеются Y2k (4 штуки) патчи, но они также не серьезны.
  • 2.5.1: 18 рекомендованных патчей. Плюс еще 10 не рекомендованных.
  • 2.5: 17 рекомендованных патчей. Плюс еще 10 не рекомендованных.
  • 2.4: 17 рекомендованных патчей. Плюс еще 6 не рекомендованных.

Команда "showrev -p" показывает, какие патчи у Вас уже проставлены. Любой может получить рекомендованные патчи. Не рекомендованные патчи недостаточно важны и, как правило, требуют регистрации для доступа и скачивания.


(6.19) Можно ли использовать Solaris/x86 для установки "headless" сервера?

Да, это может быть сделано, но это зависит от BIOS, т.к. многие BIOS'ы не будут загружать систему без клавиатуры или видеоадаптера. Консоль может быть сконфигурирована для последовательного порта, как описано ниже.

1. Установите на последовательном порту сигнал Carrier Detect (CD) в состояние HIGH и (для Solaris 2.6 только) сигнал Data Set Ready (DSR) тоже в HIGH. Если Вы не сделали этого -- грузиться не будет. Это может быть сделано с помощью подсоединения типа NULL modem, либо либо по следующей схеме, соответственно для 25-и и 9-и-штырьковых разъемов:

     DTE A         DTE B
     25 (9)        25 (9)
     ------        ------
FG    1 (-) ------  1 (-) FG
TD*   2 (3) ------  3 (2) RD
RD    3 (2) ------  2 (3) TD*
CTS   5 (8) -+---- 20 (4) DTR*
DSR   6 (6) -|  +-  5 (8) CTS
CD    8 (1) -+  |-  6 (6) DSR
DTR* 20 (4) ----+-  8 (1) CD
SG    7 (5) ------  7 (5) SG
RTS*  4 (7)  (nc)   4 (7) RTS*
RI   22 (9)  (nc)  22 (9) RI
* DTE (terminal/computer) driven
(nc) = нет соединения

Если NULL modem не полный ("incomplete"), то процесс загрузки подвиснет вскоре после старта драйвера asy (после сообщения "asy0 is /isa/asy@1,3f8" или соответственно asy1/2f8).
Подробнее смотрите http://www.freebsd.org/handbook/hw-io.html

2. Установите Ваш терминал в (9600 bps,8 bits, No parity, 1 stop bit).

3. Для 2.6+ используйте команду eeprom, чтобы установить консоль (ttya, ttyb): eeprom input-device=ttya output-device=ttya (прям, как на SPARC'е? ;-)
Поправка: Andrew Schwabecher сообщает, что использование "ttya" не работает. Вместо этого он добавляет в /platform/i86pc/boot/solaris/bootenv.rc следующие строчки:

setprop output-device com1
setprop input-device com1
В Solaris 2.5.1 добавьте "set console = 1" в /etc/system.

[Спасибо John Weekley, Scott Wedel, Kenneth Wagner, Andy Spitzer, Kai O'Yang, Michael Wang, David Page, и Andrew Schwabecher]


(6.20) Можно ли получить Sun-style клавиатуру (Ctrl & Caps Lock reversed) для Solaris/x86?

Следующая информация взята у Don Christensen (6/1998):

Я нашел две возможности, Sun PC-style type 5 keyboard от Workstation Express, и Sun Unix-style type 5 keyboard от NCD. Обе клавиатуры выглядят много более солидно, нежели обычная клавиатура PC, причем NCD, по моему мнению, слегка лучше (если не считать, что она Unix-style).

С NCD клавиатурой есть небольшая проблема - три клавиши не "видятся" PC. Однако, имеется пять дополнительных клавиш, которые могут быть использованы вместо этих трех (пространство между клавишами курсоров, клавишами Insert, Del и т.д. заполнено пустыми клавишами). Немного усилий с xmodmap - и клавиатура будет функционировать отлично. Я не проверял, все ли клавиши "видны" на клавиатуре Workstation Express, но надеюсь, что она окажется такой же хорошей или даже лучше, чем NCD.

У меня было больше проблем с моей Toshiba Tecra 740CDT. Когда просто втыкаешь, ни одна клавиатура не работает. К моему великому удивлению, обе клавиатуры работали, когда их подсоединяешь через Y adaptor (так что я мог также втыкать их в разъем mouse). Однако, многие клавиши на NCD клавиатуре не были "видны". Меньшее количество клавиш было не "видно" на клавиатуре Workstation Express, но вполне достаточно, чтобы считать ее не работоспособной.

Служба поддержки NCD утверждает, что их клавиатура поддерживает "Scan Set 3", в то время как большинство клавиатур PC поддерживают "Scan Set 2". Я в действительности не знаком с аппаратной частью PC, но меня не удивляет, что контроллер клавиатуры был бы слишком "тупым", если бы не поддерживал любую клавиатуру. Это кажется весьма правдоподобным объяснением, по крайней мере для laptop'ов. Если я когда-нибудь найду прямой контакт с Toshiba, я надеюсь они смогли бы модернизировать BIOS, чтобы поддерживать эти клавиатуры (но я не затaиваю дыхания).

Я просил наш IT отдел заказать клавиатуру для меня, так что у меня нет точных цифр, но Kathy Fulton из NCD (650-919-2888) сказала мне, что клавиатура стоит около $116. Номер модели - N-123UX (мне сказали, что номер модели - SU192, но на обратной стороне ее было обозначено N-123UX). [См. http://www.ncd.com/ - D.A.]

У меня нет под рукой каталога Workstation Express. [Нет Web страницы! Звоните 1-800-844-5757. The part number is #DCA1905, with #DCA1645 (AT adapter) or #DCA1646 (PS/2). - D.A.]

Лично я только логически меняю местами клавиши Control_L и Caps_Lock. Создайте следующий файл $HOME/.xmodmaprc:

remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L
и добавьте "xmodmap $HOME/.xmodmaprc" в Ваш $HOME/.dtprofile файл.


(6.21) Поддерживается ли несколько терминалов на консоли Solaris/x86 аналогичных в Linux, FreeBSD, Interactive Unix, и SCO?

Да. Начиная с OS Solaris/x86 2.4, они больше не конфигурируются при инсталяции, но еще работают, если потом их сконфигурировать вручную. Sun исключил их, так они официально больше не поддерживаются и рекомендуется использовать CDE Workspace области для создания нескольких консольных экранов. К счастью, они не удалили функциональность из ядра, так что Вы можете сконфигурировать несколько виртуальных терминалов для себя следующим образом:

Во-первых, от root'а, проверьте device's major number с помощью grep:

    # grep -i chanmux /etc/name_to_major
    chanmux <number>

Во-вторых, проверьте, что имеются /dev/vt* (с помощью ls -l /dev/vt*). Если их нет, то создайте /dev элементы, подставляя в качестве <number> все, что вы получите с помощью grep'а:

    mknod /dev/vt01 c <number> 1
    mknod /dev/vt02 c <number> 2
    etc...

Скопируйте следующие строчки в /etc/inittab (после записи "co:"), и убедитесь, что каждая занимает одну строку:

v1:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT01 Login: " -T AT386 -d /dev/vt01 -l console
v2:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT02 Login: " -T AT386 -d /dev/vt02 -l console
v3:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT03 Login: " -T AT386 -d /dev/vt03 -l console
v4:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT04 Login: " -T AT386 -d /dev/vt04 -l console
v5:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT05 Login: " -T AT386 -d /dev/vt05 -l console
v6:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT06 Login: " -T AT386 -d /dev/vt06 -l console
v7:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT07 Login: " -T AT386 -d /dev/vt07 -l console

Чтобы заставить init перечитать inittab, либо перезагрузите систему, либо выполните команду: /usr/sbin/init q

Теперь, Alt-SysReq F1 переключает на VT01, Alt-SysReq F2 переключает на VT02, и т.д. Alt-SysReq P переключает на предыдущий экран. Alt-SysReq N переключает на следующий экран. Alt-SysReq H переключает на X console экран (не Alt-SysReq F8).

Это также документировано в Sun's FAQ 2245-02, http://access1.Sun.COM/cgi-bin/rinfo2html?244502.faq Sun's FAQ содержит три опечатки. В примере Step 2, замените вторую строчку "mknod /dev/vt01 c <num> 1" на "mknod /dev/vt02 c <num> 1" В Step 3, замените "co:" в FAQ с "v1:" на "v7:" и удалите перенос строки между "-T" и "AT386".

Если Вы используете XFree86, Вам необходимо оставить один открытый VT (обычно VT07); в противном случае XFree86 не будет работать.

[Изменено из Casper Dik's Solaris 2 FAQ; XFree86 info from Gantry Zettler]


(6.22) Как произвести апгрейд видеоадаптера?

Во-первых, посмотрите, инстлирован ли у Вас драйвер. Они перечисляются, когда вы исполняете kdmconfig. Если драйвер представлен, сконфигурируйте его с помощью kdmconfig. Если это новая видеокарта, посмотрите, имеется ли она в последнем "x86 Video Driver Update" (VDU) для Вашей версии OS Solaris на http://access1.Sun.COM/drivers/. Если есть, то инсталируйте VDU. kdmconfig исполняется автоматически по звершении инсталяции VDU. Перед заменой карты, выберите в kdmconfig адаптер 16-color 640x480 VGA, который является наименьшим общим знаменателем для VGA видеокарт. После замены карты и перезагрузки системы (проверьте, что VGA настройки работают с новой видеокартой) выберите лучшие настройки с помощью kdmconfig.

Подробнее смотрите Update Guide, который поставляется с VDU. Обычно, делается так: (предполагается, что имя архива, скачанного с access1.Sun.COM, vdu11image.Z и он лежит в /tmp), напечатайте от root'а:

    # cd /tmp
    # uncompress du11vid2.Z ; cat du11vid1.bin du11vid2 | cpio -icvdum
    # zcat vdu11image.Z | cpio -icvdumB
    # ./installdu.sh


(6.23) Как записать CD-R или CD-RW под OS Solaris/x86?

Используйте cdrecord (бесплатныеe) или коммерческие программы. SCSI CD-R (Record единожды) и CD-RW (Read-Write многократно) устройства поддерживаются лучше, чем ATAPI устройства. Подробнее смотрите Sun CD-ROM FAQ на http://saturn.tlug.org/suncdfaq/ и Jörg Schilling's cdrecord страницу на: http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html.


(6.24) Доступен ли IPv6 в Solaris/x86?

Да -- экспериментально. Он доступен, как апдейт для версий 2.5 и 2.5.1. См. http://playground.Sun.COM/pub/solaris2-ipv6/html/solaris2-ipv6.html. Они говорят, что нужно иметс OS Solaris без установленных патчей, но другие утверждают, что смогли установить апдейт на системах с установленными патчами (без гарантии!). Как сообщают, IPv6 также имеется (экспериментально) для OS Solaris 7. Я не знаю, требуется тот-же самый патч или какой другой. Если Вы хотите подключиться к 6bone, экспериментально, mostly tunneled IPv6 network, см. http://www.6bone.net/


(6.25) Имеется ли мультипроцессорная поддержка в Solaris/x86?

Да. OS Solaris x86 автоматически обнаруживает несколько процессоров (до 4). psrinfo(1M) печатает состояние Ваших процессоров, mpstat(1M) сообщает использование (usage) CPU, а psradm(1M) мажно использовать для вывода их в offline.

[Основано на ответе John Groenveld]


(6.26) Как установить XFree86 в OS Solaris/x86?

Почему Вы это хотите? Обычно из-за того, что стандартный сервер XSun не поддерживает Вашу графическую систему или не поддерживает диапазон цветов (глубину палитры) или разрешение, которое Вы хотите иметь. (Если это единственная проблема, рассмотрите вариант использования 3rd party драйверов из XiGraphics, http://www.xig.com/). Конечно, намного легче использовать стандартный сервер XSun, который имеется в составе Solaris CDE, если он работает с Вашей системой.

Ниже приводится опыт одного человека по установке XFree86. Другой, более детальный, набор инструкций от Gregory Lazzaro можно посмотреть здесь: http://www.geocities.com/~gregl/htm/Xfree86_setup_rev3.htm   В качестве последней рекомендации, доставайте и читайте HOWTOs и книги, которые были написаны для XFree86 на Linux.

Я окончательно решил свою проблему использованием XFree86 X сервера. Так как мне пришлось слегка настраивать некоторые вещи, чтобы это заработало, я привожу короткий how-to для людей, которые хотят использовать XFree86 X сервер и CDE на OS Solaris 2.6. [Я докладывал, что это также работает и с OS Solaris 7].

В OS Solaris 2.6, Sun изменил способ соединения X клиента с X сервером, когда оба, и клиент и сервер, находятся на одной машине (переменная DISPLAY установлена в ":0"). Кратко говоря, вместо использования /tmp/.X11-unix, клиент соединяется с X сервером, используя /tmp/.X11-pipe. Так как XFree86 не поддерживает /tmp/.X11-pipe, CDE просто так не будет работать на локальном дисплее по сервером XFree86.

Если Вы добавили виртуальные терминалы (см. 6.21), Вы должны оставить один из них открытым (обычно VT07); в противном случае XFree86 не будет запускаться.

После инсталяции и настройки XFree86 (исполнимые коды для OS Solaris можно взять на ftp.xfree86.org), /usr/dt/config/Xservers необходимо скопировать в /etc/dt/config/Xservers. Эта строка:

   :0   Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner
в файле /etc/dt/config/Xservers должна быть заменена на:
unix:0  Local local_uid@console root /usr/X11R6/bin/X :0 -bpp 16
Для 8-bit дисплеев, "-bpp 16" должно быть удалено, а для 24-битных заменено на "-bpp 24". После этого dtlogin будет устанавливать переменную DISPLAY для локальной сесси в значение "unix:0.0" вместо ":0.0" и CDE сможет соединяться с локальным X сервером.

Чтобы добавить фонты из каталога /usr/openwin/lib/X11/fonts в путь для фонтов по-умолчанию для сервера XFree86, отредактируйте файл /etc/XF86Config и добавьте эти строчки:

    FontPath "/usr/openwin/lib/X11/fonts/F3bitmaps/"
    FontPath "/usr/openwin/lib/X11/fonts/Type1/"
    FontPath "/usr/openwin/lib/X11/fonts/Speedo/"
    FontPath "/usr/openwin/lib/X11/fonts/misc/"
    FontPath "/usr/openwin/lib/X11/fonts/75dpi/"
    FontPath "/usr/openwin/lib/X11/fonts/100dpi/"

в секцию "Files". Синонимы (алиасы) для CDE фонтов находятся в каталог F3bitmaps так что по крайней мере эта строчка должна быть.

И это должно быть так.

Для тех, кто использует S3 Virge карты, кажется, что SVGA сервер (сервер по-умолчанию для Virge карт) имеет проблемы с некоторыми chipsets. Попробуйте вместо этого использовать старый S3V сервер. Также, кажется имеется проблема с переходом из графического режима в текстовый на всех трех серверах, которые я пробовал (Xsun, SVGA и S3V).

[Спасибо Aleksandar Milivojevic, by way of John Groenveld]


(6.27) Как сконфигурировать 64K цветов для CDE?

Kdmconfig в OS Solaris предлагает только 256 или 16M цветов для Вашей графической карты. Чтобы настроить X сервер на использование 16-битной палитры, сконфигурируйте карту с помощью kdmconfig на необходимое разрешение в 256-цветный режим. Найдите строчку 'board' в файле /etc/openwin/server/etc/OWconfig. Посмотрите в указанном в ней файле, в каталоге /usr/openwin/share/etc/devdata/SUNWaccel/boards, имеется ли там поддержка для 16битной палитры для Вашей карты.

Если Ваша карта упоминается там, отредактируйте файл /etc/openwin/server/etc/OWconfig и измените defdepth="8" на defdepth="16" в нем. Также, значения частот MaxPClk для некоторых карт слишком малы в 16-битном и 24-битном режимах в файле /usr/openwin/share/etc/devdata/SUNWaccel/boards. Но, если Bы хотите изменить их, Вы будете это делать на свой риск.

CDE эмблема, которая появляется после login'а представляет собой bit-mapped grayscale image(?!), но все еще долна выглядеть красиво.

[Спасибо Aleksandar Milivojevic, by way of John Groenveld]


(6.28) Поддерживаются ли в Solaris/x86 TrueType фонты?

Да, Xsun поддерживает их. Используйте Font Administrator GUI, /usr/dt/bin/sdtfontadm, чтобы добавить их в список фонтов сервера.

[Спасибо Tran Tran]


(6.29) Как разархивировать .gz файл?

С помощью "gzip -d" (или gunzip, который есть просто линк на gzip). Удивительно, в OS Solaris не входит gzip (в нем нет zip/unzip). Gzip доступен в виде исполнимого кода на http://www.sunfreeware.com/ (используйте pkgadd для установки), а также как tar-файл (для распаковки наберите "uncompress gzip*Z; tar xvf gzip*.tar") на ftp://ftp.netscape.com/pub/unsupported/gnu/gzip-1.2.4.x86-sun-solaris2.4.tar.Z


(6.30) Почему не работает /usr/bin/cc?

Потому что это просто "заглушка" для поставляемого за дополнительную цену компилятора C от Sun (SunPro C). Вы также можете получить бесплатный GNU C компилятор, gcc, из различных мест, включая http://www.sunfreeware.com/, в формате pkgadd. Если Вы устанавливаете gcc, я рекомендую Вам переименовать или заархивировать /usr/bin/cc и пролинковать (ln -s) /usr/bin/cc на /usr/local/bin/gcc (или куда Вы его разместили). По-умолчанию, Solaris поставляется со средствами поддержки (support tools), такими, как make и библиотеки, в /usr/ccs/bin, /usr/ccs/lib и usr/include. Если их нет, установите соответствующие пакеты. Подробнее смотрите раздел "Software Development" в Casper Dik's Solaris 2 FAQ.


(6.31) Как откомпилировать PGP 2.6.2 на Solaris/x86?

PGP, или Pretty-good Privacy, есть мощное криптографическое средство для шифрации, дешифрации и электронной подписи файлов и данных. Я бы посоветовал освободиться от PGP 5, так как он имеет проблемы совместимости.

Во-первых, проверьте, имеет ли Ваша версия PGP 2.6.2 ошибку. В файле src/crypto.c, function make_signature_certificate(), строка: "byte . . . outbuf[MAX_BYTE_PRECISION];" должна быть заменена на: "byte . . . outbuf[MAX_BYTE_PRECISION+2];"

Чтобы откомпилировать, измените makefile вблизи строки 116 следующим образом:
$(CPP) $(ASMDEF) 80386.S > _80386.s   на
$(CPP) $(ASMDEF) 80386.S | grep -v '^# ' > _80386.s
(Не потеряйте передний tab символ, cntl-i). Далее, наберите: cd rsaref/install/unix; make; cd ../../../src; make solx86gcc (если Вы используете Sun WorkShop компиляторы, замените "gcc" на "cc" и удалите "-traditional-cpp" в makefile).

В качестве напоминания, правительство Соединенных Штатов рассматривает PGP и другие сложные криптографические средства "военным имуществом" и запрещает экспорт подобного программного обеспечения не в США и Канаду без экспортной лицензии. Некоторые другие правительства (например, Франции?) даже запрещают иметь в собственность шифрующее программное обеспечение.

Чтобы использовать PGP, я настоятельно рекомендую почитать книгу Garfinkel'а, PGP: Pretty Good Privacy

[Makefile patch from Joe Shamblin]


(6.32) Как подключить Solaris/x86 к @Home?

Возьмите эту e-zine статью "xDSL and cable modems" с: http://www.zdjournals.com/sun/9905/sun9951.htm (Inside Solaris, May 1999) В этой статье приводятся инструкции по кабельному подключению к ISP в OS Solaris.

По крайней мере для East Brunswick, NJ, серверов, легче всего мне было с DHCP (не статической настройкой):

/etc/hosts:
       127.0.0.1    localhost    CCxxxxx-A  # где CCxxxxx-A имя Вашей машины
       24.x.x.x      CCxxxxx-A    loghost   # где 24.x.x.x Ваш IP

/etc/nsswitch.conf:
       hosts:        files dns

/etc/resolv.conf
       domain ebnsk1.nj.home.com
       nameserver 24.3.196.33
       nameserver 24.3.196.33

/etc/dhcp.elx0 (empty file)

/etc/hostname.elxl0 (empty file)
       ЗАМЕЧАНИЕ: замените "elxl0" именем драйвера для Вашего NIC устройства
Файлы /etc/defaultdomain, /etc/defaultrouter и /etc/netmasks не используются. Эти данные предоставляются DHCP. Перзагрузите систему и Вы соединитесь. Вот результаты моих (частично измененные) netstat -rn и ifconfig -a:
$ netstat -rn
Routing Table:
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
24.x.x.0               24.x.x.x            U      3      2     elxl0
224.0.0.0            24.x.x.x              U      3      0     elxl0
default              24.x.x.1              UG     0      44
127.0.0.1            127.0.0.1             UH     0     236      lo0

$ ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
        inet 127.0.0.1 netmask ff000000
elxl0: flags=4843<UP,BROADCAST,RUNNING,MULTICAST,DHCP> mtu 1500
        inet 24.x.x.x netmask ffffff00 broadcast 24.x.x.255

[Спасибо Alan Lucero.]


[Содержание]


Украинская Баннерная Сеть

Главная  Алфавитный индекс  Справка  Добавить FAQ  E-mail
Новости  Поиск по сайту

Copyright © 2002 УкрFAQ
Сайт создан в системе uCoz