Есть совет по Solaris? Пришли его нам!
Советуем также почитать
Solaris x86 FAQ
1. Как попасть в LOM
2. Как сменить пароль LOM
3. Как загрузиться с CDROM
4. Как включить логирование сервера NFS
5. Как поменять редактор в crontab
6. Как автоматизировать соединения tip
7. Как создать таблицу разделов такую же как на другом диске
8. Как посмотреть пользователей без паролей
9. Как посмотреть информацию о драйвере сетевого интерфейса (для bge)
10. Как быстро скопировать данные с одной файловой системы на другую
11. Как сделать копию boot-диска в Solaris 10
12. Как поставить лимит на вывод служебных сообщений в консоли Solaris
13. Как удалить старые патчи
14. Как разобраться в разрешениях на файлы и директории
15. Как индексировать man-страницы
16. Как подмонтировать iso-образ
17. Как заставить DHCP-сервер выводить подробные логи
18. Как узнать есть ли утечки памяти
19. Как настроить сетевой принтер в Solaris 10
20. Как настроить ntp-клиента в Solaris 10
21. Как поднять зону в Solaris 10
22. Как пересоздать испорченный boot archive в Solaris 10
23. Как сгенерировать пароль с помощью /dev/random
24. Как изменить приоритет команды
25. Как узнать из какого пакета файл
26. Как выполнить операцию со списком файлов
Как попасть в LOM:
Подсоединиться терминалом к Serial Management Port, получить консоль сервера
Нажать последовательно '#.'
Набрав lom> break, получаем ok
Как сменить пароль LOM:
Подсоединиться терминалом к Serial Management Port для получения консоли сервера
Включить питание сервера. После POST-сообщений подождать 1-2 минуты до появления приглашения ok
Ниже пример вывода консоли:
Please login:
SC Alert: Host System has Reset
[wait one two minutes]
Serial line login timeout, returns to console stream.
ok
Загрузите Solaris
Командой scadm поменяйте пароль:
# cd /usr/platform/`uname -i`/sbin
# ./scadm userpassword admin
Набрав последовательно '#.', получите на консоли приглашение lom
Войдите в lom, используя новый пароль
Как загрузиться с CDROM:
В загруженном Solaris:
#reboot -- cdrom
или
#reboot -- cdrom -s (в single-mode)
или
#eeprom boot-device=cdrom
#init 6
или
# eeprom auto-boot?=false (если нужен выбор)
# init 6
В lom:
lom> reset
После перезагрузки вернитесь в lom, набрав '#.' и дайте команду lom> break чтобы получить ok
Теперь можно дать команду: ok boot cdrom или если вы хотите загрузиться в single-mode: ok boot cdrom -s
Как включить логирование сервера NFS
Необходимо добавить опцию -o log в команде share или прописать данную опцию в файле /etc/dfs/dfstab для необходимого ресурса, затем выполнить
и перезапустить сервер NFS (в Solaris 10 #svcadm restart svc:/network/nfs/server),
после этого смотрим лог файл в каталоге /var/nfs
Параметры логирования задаются в файле /etc/default/nfslogd
Как поменять редактор в crontab
По умочанию при вызове команды crontab -e используется своеобразный редактор ed.
Чтобы его поменять необходимо определить переменную EDITOR, например вот таким образом
Таким образом мы определяем удобный для нас редактор, для редактирования заданий сron
Как автоматизировать соединения tip
Прописать каждое соединение в /etc/remote. Например:
cisco::dv=/dev/ttya:br#9600:el=CSQU^D:ie=%$:oe=^D
где
cisco = имя соединения
dv = the device
br = baud rate
el = EOL marks
ie = input EOF marks
oe = output EOF string
Для соединения необходимо только набрать:
Как создать таблицу разделов такую же как на другом диске
Запускаем format (создаем на диске b такую же таблицу как на диске a):
format
select disk a (Выбираем нужный диск из списка)
partition
print (Смотрим таблицу разделов)
name
rootdisk (Имя по усмотрению, например rootdisk)
quit (Возвращаемся назад)
disk
select disk b (Выбираем диск b)
partition (Смотрим таблицу разделов перед изменениями)
select
--Pick rootdisk (Выбираем из меню имя)
label (Записываем таблицу)
quit (Выходим)
quit (Выходим из format)
Как посмотреть пользователей без паролей
Это можно сделать двумя способами
первый:
#logins -p
второй:
Это вывод команды #passwd -sa
где (PS) пароль установлен, пользователь блокирован (LK), пароль не установлен (NP), вход в систему запрещён (NL)
Как посмотреть информацию о драйвере сетевого интерфейса (для bge)
# prtconf -D | grep -i netw
network, instance #0 (driver name: bge)
network, instance #1 (driver name: bge)
network, instance #2 (driver name: bge)
network, instance #3 (driver name: bge)
Также:
# grep bge /etc/path_to_inst
"/pci@1f,700000/network@2" 0 "bge"
"/pci@1f,700000/network@2,1" 1 "bge"
"/pci@1d,700000/network@2" 2 "bge"
"/pci@1d,700000/network@2,1" 3 "bge"
И по загрузке:
# modinfo | grep bge
104 13f57b3 b123 202 1 bge (BCM579x driver v0.39)
Как быстро скопировать данные с одной файловой системы на другую
# mount /dev/dsk/md/d30 /mnt # монтируем новое зеркало
# ufsdump 0f - /dev/rdsk/c1t2d0s7 | ( cd /mnt; ufsrestore xf - )
# rm -f /mnt/restoresymtable
Как сделать копию boot-диска в Solaris 10
Если у вас только один раздел "/" на диске и это десятка,
можно:
#prtvtoc /dev/rdsk/c0t0d0s0 | fmthard -s - /dev/rdsk/c0t1d0s0
#newfs /dev/dsk/c0t1d0s0
#mount /dev/dsk/c0t1d0s0 /a
#cd /
#find . -mount | cpio -pmdv /a
#installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t1d0s0
#vi /a/etc/vfstab (меняем c0t0d0s0 на c1)
#mkdir /a/tmp
#mkdir /a/dev
#mkdir /a/proc
#touch /a/etc/mnttab
#mkdir /a/etc/svc/volatile
#mkdir /a/system/object
#mkdir /a/system/contract
#umount /a
#init 0
#boot otherdisk -r
И система загрузится с другого диска. Все это проделывать лучше в single mode
Как поставить лимит на вывод служебных сообщений в консоли Solaris
Если создать файл:
вы уменьшите объем служебной информации (число сообщений почты и т.д.), появляющейся на консоли при логине и дальнейшей работе.
Как удалить старые патчи
find /var/sadm/pkg -name obsolete.Z -exec rm {} +
Как разобраться в разрешениях на файлы и директории
r -- read (has value of 4)
w -- write (has value of 2)
x -- execute (has value of 1)
rwxrwxrwx chmod 777 filename
rw-rw-rw- chmod 666 filename
r--r--r-- chmod 444 filename
-w--w--w- chmod 020 filename
--x--x--x chmod 001 filename
--------- chmod 000 filename
Чтобы назначить разрешение рекурсивно, используйте -R опцию.
т.e. #chmod -R 777 directoryname
Как индексировать man-страницы
Создаем индекс:
#catman -w
Теперь можно искать нужную информацию в базе man с помощью команды:
# man -k pattern
например, найти все man-страницы, содержащие информацию о сетевом интерфейсе hme:
# man -k hme
Как подмонтировать iso-образ
# lofiadm -a /export/temp/solaris.iso /dev/lofi/1
# mount -F hsfs -o ro /dev/lofi/1 /mnt
или одной командой:
# mount -F hsfs -o ro `lofiadm -a /export/temp/solaris.iso` /mnt
Как заставить DHCP-сервер выводить подробные логи
Добавляем в файл /etc/inet/dhcpsvc.conf :
VERBOSE=TRUE
LOGGING_FACILITY=7
Создаем лог-файл:
# touch /var/log/dhcpd.log
Добавляем в /etc/syslog.conf:
daemon.debug /var/log/dhcpd.log
Затем:
# kill -HUP 'PID_of_syslogd'
# svcadm restart svc:/network/dhcp-server:default
Как узнать есть ли утечки памяти
Смотрим использование памяти ядром:
# echo ::kmastat | mdb -k
Большое количество в "memory in use" - причина для беспокойства в том случае, если:
1. Значение "memory in use" больше чем пол-гигабайта.
2. Большое значение "buffer in use" , приближается по значению к "buffer total".
3. Значения "memory in use" и "buf in use" продолжают расти.
Например:
# echo "::kmastat" | mdb -k
cache buf buf buf memory alloc alloc
name size in use total in use succeed fail
------------------------- ------ ------ ------ --------- --------- -----
...
kmem_alloc_144 144 50024768 50054480 7322255360 953738905 0
Как настроить сетевой принтер в Solaris 10
Ищем PPD-файл для нашего принтера, скажем, HP Laserjet 3000.
# cd /usr/lib/lp/model/ppd/system/foomatic/
# cd HP
# ls *3000*
HP-LaserJet_3000-Postscript.ppd.gz HP-LaserJet_3000-lj5gray.ppd.gz
HP-LaserJet_3000-hpijs.ppd.gz HP-LaserJet_3000-pxlmono.ppd.gz
Выбрали PPD, конфигурируем теперь с помощью lpadmin:
# lpadmin -p hp3000 -v /dev/null -m netstandard_foomatic -n \
/usr/lib/lp/model/ppd/system/foomatic/HP/HP-LaserJet_3000-hpijs.ppd.gz -o \
dest=:9100 -o protocol=tcp -T unknown -I postscript
# enable hp3000
# accept hp3000
Пробуем что-нибудь напечатать:
# lp -d hp3000 /etc/release
Как настроить ntp-клиента в Solaris 10
Создаем файл /etc/inet/ntp.conf со следующим содержимым:
# /etc/inet/ntp.conf
# sets up reference to NTP Pool Servers
#
driftfile /etc/inet/ntp.drift
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server pool.ntp.org
# end of /etc/inet/ntp.conf
Затем:
# svcadm enable network/ntp
Тестируем:
Как поднять зону в Solaris 10
# mkdir -p /zones/myzone
# mkfile 6g /zones/myzone
# lofiadm -a /zones/myzoneloopbackfile
/dev/lofi/1
# newfs /dev/rlofi/1
# mount /dev/lofi/1 /zones/myzone
# chmod go-rwx /zones/myzone
# zonecfg -z myzone
zonecfg:myzone> create
zonecfg:myzone> set zonepath=/zones/myzone
zonecfg:myzone> set autoboot=true
zonecfg:myzone> add net
zonecfg:myzone:net> set address=192.168.100.10
zonecfg:myzone:net> set physical=e1000g0
zonecfg:myzone:net> end
zonecfg:myzone> info
zonecfg:myzone> verify
zonecfg:myzone> commit
zonecfg:myzone> exit
# zoneadm -z myzone install
# zoneadm -z myzone boot
# zoneadm list -v
ID NAME STATUS PATH
0 global running /
2 myzone running /zones/myzone
# zlogin -e @ -C myzone
(the first time the zone is booted, it takes you through the
usual setup menus.)
(type "@." to exit zlogin)
Как пересоздать испорченный boot archive в Solaris 10
Загружаемся в safe-mode, затем:
# rm -f /a/platform/i86pc/boot_archive; bootadm update-archive -R /a
Как сгенерировать пароль с помощью /dev/random
~# echo `head -n 10 /dev/random | tr -cd "[:alnum:]_-" | cut -c '1-8'`
pgoAeTiy
~#
Как изменить приоритет команды
Самый низкий приоритет - 19, самый высокий - 1, 10 - по дефолту.
Повышаем:
Понижаем:
В дефолт:
Как узнать из какого пакета файл
Полная информация:
# pkgchk -l -p /usr/sbin/fuser
Pathname: /usr/sbin/fuser
Type: regular file
Expected mode: 0555
Expected owner: root
Expected group: bin
Expected file size (bytes): 7944
Expected sum(1) of contents: 558
Expected last modification: Apr 06 15:48:18 2002
Referenced by the following packages:
SUNWcsu
Current status: installed
или только имя пакета:
# grep /usr/sbin/fuser /var/sadm/install/contents | awk '$2 ~ /^f$/ {print $NF}'
SUNWcsu
Как выполнить операцию со списком файлов
Для Bourne-оболочек (sh, ksh, zsh, bash) - пример 1:
~$ for file in *gz
> do
> mkdir $file.dir
> ( cd $file.dir; gzip -dc $file | tar xf - )
> done
Пример 2:
~$ for x in `ls -tr *.log`
> do
> cat $x >> biglog
> done