КатегорииLinksUnix Tutorial
Personal Development Ruslan Valiev Solaris Performance Team Damien Farnham Fintan Ryan Nicky Veitch Niall Mullen Sean McGrath DTrace Bryan Cantrill Brendan Gregg ZFS Tim Foster General Ben Rockwood Learning Solaris 10 Privacy policy |
Wednesday, 27 September. 2006
Знаете ли вы: ... Добавил Gleb Reys
в категории Solaris в
13:07Комментарии (7) Обратные ссылки (0) Select language: English
Знаете ли вы: командная оболочка для root в Solaris 10
Как вы знаете, традиционно в Solaris следовало оставлять для root'а оболочку /sbin/sh. Делается это в Solaris 8 и Solaris 9 потому, что все библиотеки, которые могут понадобиться для динамической линковки, находятся в /usr/lib, а /usr очень часто может быть отдельной файловой системой, недоступной при аварийной загрузке.
Для того, чтобы избежать невозможности входа в систему суперпользователя, ему назначается оболочка /sbin/sh, которая слинкована статически, т.е. не требует никаких внешних библиотек: bash-2.03$ file /sbin/sh /sbin/sh: ELF 32-bit MSB executable SPARC Version 1, statically linked, stripped bash-2.03$ ldd /sbin/sh ldd: /sbin/sh: file is not a dynamic executable or shared object Но знали ли вы, что в Solaris 10 появилось сразу два улучшения ситуации по поводу оболочки для root? Вот они: 1) Теперь библиотеки находятся в /lib, и следовательно всегда оказываются на доступной при аварийной загрузке файловой системе. Из-за этого, /sbin/sh теперь является обычным динамически исполняемым файлом: bash-3.00$ file /sbin/sh /sbin/sh: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped bash-3.00$ ldd /sbin/sh libgen.so.1 => /lib/libgen.so.1 libsecdb.so.1 => /lib/libsecdb.so.1 libc.so.1 => /lib/libc.so.1 libnsl.so.1 => /lib/libnsl.so.1 libcmd.so.1 => /lib/libcmd.so.1 libmp.so.2 => /lib/libmp.so.2 libmd5.so.1 => /lib/libmd5.so.1 libscf.so.1 => /lib/libscf.so.1 libdoor.so.1 => /lib/libdoor.so.1 libuutil.so.1 => /lib/libuutil.so.1 libm.so.2 => /lib/libm.so.2 /platform/SUNW,Ultra-5_10/lib/libc_psr.so.1 /platform/SUNW,Ultra-5_10/lib/libmd5_psr.so.1 2) Solaris 10 имеет встроенную защиту от неисполняемых оболочек для root. Так что, если при аварийной загрузке ваша нестандартная оболочка не может быть запущена, вам автоматически будет предоставлена стандартная /sbin/sh. Такая же защита существует для команды sudo. Таким образом, больше нет совершенно никаких препятствий, запрещающих вам поменять стандартную оболочку root на bash или любую другую. Monday, 25 September. 2006
Коды ошибок при ... Добавил Gleb Reys
в категории Solaris в
20:23Комментарии (2) Обратные ссылки (0) Select language: English
Коды ошибок при установке патчей Solaris
Последние несколько дней устанавливал патчи на нескольких системах, и пришлось раздобыть вот эту старую и проверенную временем таблицу. Она содержит коды ошибок при установке патчей, которые вы обычно видите в виде:
Installation of 'patch_number' failed. Return code N. Самые распространённые ошибки - 2 и 8, но и остальные тоже попадаются иногда: 0 No error
1 Usage error 2 Attempt to apply a patch that's already been applied 3 Effective UID is not root 4 Attempt to save original files failed 5 pkgadd failed 6 Patch is obsoleted 7 Invalid package directory 8 Attempting to patch a package that is not installed 9 Cannot access /usr/sbin/pkgadd (client problem) 10 Package validation errors 11 Error adding patch to root template 12 Patch script terminated due to signal 13 Symbolic link included in patch 14 NOT USED 15 The prepatch script had a return code other than 0. 16 The postpatch script had a return code other than 0. 17 Mismatch of the -d option between a previous patch install and the current one. 18 Not enough space in the file systems that are targets of the patch. 19 $SOFTINFO/INST_RELEASE file not found 20 A direct instance patch was required but not found 21 The required patches have not been installed on the manager 22 A progressive instance patch was required but not found 23 A restricted patch is already applied to the package 24 An incompatible patch is applied 25 A required patch is not applied 26 The user specified backout data can't be found 27 The relative directory supplied can't be found 28 A pkginfo file is corrupt or missing 29 Bad patch ID format 30 Dryrun failure(s) 31 Path given for -C option is invalid 32 Must be running Solaris 2.6 or greater 33 Bad formatted patch file or patch file not found Thursday, 21 September. 2006
Будьте бдительны с ... Добавил Gleb Reys
в категории Solaris в
16:38Комментарии (7) Обратные ссылки (0) Select language: English
Будьте бдительны с miniroot'ами при Jumpstart'е Solaris
Несколько дней отлаживаю установку Solaris 10 на старые sparc-десктопы (Ultra 10, Ultra 60).
И вот, помимо всех прочих ошибок, наткнулся на такую аномалию: вся Jumpstart установка проходит нормально, а в конце установки получаются такие вот ошибки: SUNWspnego.......................done. 1.30 Mbytes remaining. SUNWsra..........................done. 1.18 Mbytes remaining. SUNWsrh..........................done. 1.00 Mbytes remaining. Completed software installation Solaris 10 software installation succeeded Customizing system files - Mount points table (/etc/vfstab) - Unselected disk mount points (/var/sadm/system/data/vfstab.unselected) - Network host addresses (/etc/hosts) ERROR: Could not open file (/etc/hosts) ERROR: Could not set up the remote host file (/etc/hosts) ERROR: System installation failed После небольшого исследования, выяснилось, что это из-за испорченного miniroot в моём имидже сетевой установки Solaris 10. А ещё спустя некоторое время я выяснил, как именно этот имидж оказался испорченным: он находился в папке /export/vol1/jumpstart/images, которую я предварительно расшарил с помощью share -o rw,anon=0 /export/vol1/jumpstart/images, когда собственно копировал сетевой имидж с той системы, где у меня был доступ к CD-ROM'у, на новый установочный сервер Jumpstart. После копирования я отвлёкся на что-то, и забыл размонтировать этот ресурс. В результате, когда впоследствии add_install_client попыталась расшарить miniroot, она этого не стала делать, увидев уже существующий ресурс с доступом read/write. Дальше происходит следующее: первый клиент, который вы устанавливаете с Solaris 10 по сети с такого сервера, пытается обновить файлы вроде /etc/vfstab и /etc/hosts в miniroot. И учитывая ошибку выше, эти файлы и были изменены. Обычный же сценарий таков, что клиент, не сумев обновить файлы на miniroot'е, ищет следующее место, где они могут быть, и в конце концов обновляет файлы /a/etc/vfstab и /a/etc/hosts и .тд. В результате этой ошибки получается, что в некоторых каталогах miniroot'а оказываются обычные файлы, вместо символических линков. Вот один из примеров: оригинальный, рабочий каталог /export/vol1/sol10/Solaris_10/Tools/Boot/etc/inet: drwxr-xr-x 4 root sys 1024 Jan 23 2005 . drwxr-xr-x 40 root sys 4096 Jan 23 2005 .. -r--r--r-- 1 root sys 22 Jan 21 2005 datemsk.ndpd lrwxrwxrwx 1 root other 29 Aug 15 16:31 hosts -> ../../tmp/root/etc/inet/hosts drwxr-xr-x 4 root sys 96 Jan 23 2005 ike -r--r--r-- 1 root sys 1101 Jan 23 2005 inetd.conf -r--r--r-- 1 root sys 545 Jan 23 2005 ipaddrsel.conf lrwxrwxrwx 1 root other 31 Aug 15 16:31 ipnodes -> ../../tmp/root/etc/inet/ipnodes -r--r--r-- 1 root sys 914 Jan 23 2005 ipsecalgs -r--r--r-- 1 root sys 2380 Jan 21 2005 ipsecinit.sample lrwxrwxrwx 1 root other 32 Aug 15 16:31 netmasks -> ../../tmp/root/etc/inet/netmasks -r--r--r-- 1 root sys 372 Jan 23 2005 networks -r--r--r-- 1 root sys 1901 Jan 23 2005 protocols drwx------ 3 root sys 96 Jan 23 2005 secret -r--r--r-- 1 root sys 3869 Jan 23 2005 services -r--r--r-- 1 root sys 520 Jan 23 2005 sock2path -r--r--r-- 1 root sys 3312 Jan 21 2005 wanboot.conf.sample ... и вот он же, но уже в испорченном после первой же сетевой установки виде: drwxr-xr-x 4 root sys 512 Sep 3 16:48 . drwxr-xr-x 40 root sys 3072 Sep 3 16:19 .. -r--r--r-- 1 root sys 22 Jan 21 2005 datemsk.ndpd -r--r--r-- 1 root sys 99 Sep 3 16:48 hosts drwxr-xr-x 4 root sys 512 Sep 3 14:23 ike -r--r--r-- 1 root sys 1101 Jan 23 2005 inetd.conf -r--r--r-- 1 root sys 545 Jan 23 2005 ipaddrsel.conf -r--r--r-- 1 root sys 91 Sep 3 16:48 ipnodes -r--r--r-- 1 root sys 914 Jan 23 2005 ipsecalgs -r--r--r-- 1 root sys 2380 Jan 21 2005 ipsecinit.sample -r--r--r-- 1 root sys 384 Sep 3 16:48 netmasks -r--r--r-- 1 root sys 372 Jan 23 2005 networks -r--r--r-- 1 root sys 1901 Jan 23 2005 protocols -rw-r--r-- 1 root root 523 Sep 3 16:04 routing.conf drwx------ 3 root sys 512 Sep 3 14:23 secret -r--r--r-- 1 root sys 3869 Jan 23 2005 services -r--r--r-- 1 root sys 520 Jan 23 2005 sock2path -r--r--r-- 1 root sys 3312 Jan 21 2005 wanboot.conf.sample ОТСЮДА ВЫВОД: будьте бдительны, и всегда проверяйте, что miniroot вашего установочного образа доступен клиентам только для чтения! |




