Скрытые возможности Solaris / OpenSolaris


9

Какие полезные команды, инструменты или приемы можно найти в Solaris или OpenSolaris, которых нет в типичном дистрибутиве Linux?

Ответы:


13

Live Upgrade, использующий ZFS, создает записываемые снимки среды загрузки операционной системы. С помощью Live Upgrade вы можете применить исправления к среде загрузки снимков, а затем сделать этот снимок загрузочным. При следующей перезагрузке вы получаете исправленную среду ОС. Если вы обнаружите проблему с патчем, вы можете сделать старый снимок загрузочным, перезагрузиться, и вы отменили свои изменения. Это довольно впечатляющее решение для исправления.

ZFS для среды загрузки требует Solaris 10u6 или новее.

Кроме того, зоны Solaris очень полезны для изоляции приложений. Очевидно, DTrace очень хорош, но RedHat играет в догонялки с System Tap.


1
Обновление в реальном времени также может быть выполнено с помощью UFS.
TCampbell

Я всегда думал, что живое обновление компенсирует боль, связанную с обновлениями Solaris, по сравнению с вашим обычным обновлением Linux.
Cian

14

ZFS, DTrace и SMF вряд ли являются скрытыми функциями, так как любой, кто когда-либо слышал о Solaris, также слышал о них.

Если вы действительно хотите познакомиться с некоторыми скрытыми / менее известными функциями Solaris, я рекомендую вам прочитать книгу « Менее известные функции Solaris» от Jörg Möllenkamp .


1
Книга «Менее известные особенности Solaris» - одна из лучших когда-либо написанных книг о Solaris.
Мэтт

7

Не забывайте, SMF (Управление услугами). Я еще не видел что-то сопоставимое для Linux (любые указатели с благодарностью приняты). Это сэкономило мне (и коллегам) много работы с билетами :)


Я верю, что яблочные рамки доступны с открытым исходным кодом. developer.apple.com/MacOsX/launchd.html
Мартин М.,

приятно читать! Я посмотрю на это, но на первый взгляд, он не предлагает всю функциональность SMF (например, повторных попыток)
Vincent De Baere

Как человек, который недавно перешел на OpenSolaris, я люблю SMF. Мне также довелось администрировать несколько серверов OS X, и да, launchd поддерживает повторный запуск службы в случае сбоя, если вы это имеете в виду.
Камил Кисиэль

Сценарии инициализации, завернутые в xml, контролируются программой shite, которая выдает бесполезные сообщения об ошибках? Я надеюсь, что никогда не найду ничего подобного в Linux.
theotherreceive

upstart делает примерно то же самое, по крайней мере, бит, основанный на зависимости ..
Cian

6

В Solaris есть ряд функций, которые люди Linux хотят иметь. К ним относятся:

  • ZFS : файловая система, которая обеспечивает чрезвычайную гибкость, больше, чем все, что сейчас доступно. Динамический рост и уменьшение, снимки, клоны и многое другое - все это доступно бесплатно.
  • DTrace : отладчик, который может предоставить вам подробную информацию о том, как работает ядро. Из-за того, как написаны ядра, DTrace по своей природе гораздо более гибок, чем SystemTap.
  • SMF : еще одна система, которая заменит сценарии инициализации System V, но, похоже, в ней больше людей интересуются, чем в любой другой.
  • Зоны и контейнеры : они очень гибкие и привлекают множество людей: они обеспечивают очень гибкую виртуализацию.

Я до сих пор не нашел человека Linux, который понимает, что у них SMF. И OpenVX - хорошая замена зоны / контейнера.
Cian

5

Несколько личных опытов ...

Я считаю, что зоны настолько просты и полезны, что я просто создал одну для каждой службы, которую я использую дома, - таким образом, я могу играть и тестировать вещи, не разрушая их все. Одна из зон - обратный прокси-сервер (Sun Web Java Proxy), поэтому я могу легко играть с различными веб-серверами.

Также я нахожу иерархию пакетов opencsw (ранее известную как Blastwave) намного лучше, чем что-либо еще увиденное - она ​​всегда заботится обо всех зависимостях.

И - не забывать - двоичная совместимость. Если для приложения требуется Linux с ядром 1.2.3_4, лучше его иметь. На Solaris все просто работает в будущих выпусках. Для меня это означает обновление, когда я хочу, и без стресса, делая это.

Вот несколько интересных документов, если вы хотите копнуть глубже: Менее известные функции Solaris

Просто на вкус - Админстрация

Live Upgrade Service Management Facility Управление ресурсами pfiles fuser / export / home? /дом? AutoFS? lockfs О ядрах и сбоях CacheFS Jumpstart Enterprise Toolkit

(я звучу как реклама? извините ...)


1
Blastwave все еще рядом - opencsw - вилка.
TRS-80

4

Похоже, что двумя основными причинами для Solaris являются DTrace и ZFS, ни одна из которых не доступна напрямую для Linux.



3

Не обязательно скрытые, но не очевидные для пользователей Linux утилиты наблюдения процесса: pstack, pmap, pflags, pfiles, pcred, psig и pldd. Также prstat, который более или менее эквивалентен top, но также может агрегировать использование ресурсов пользователем, зоной, проектом и отображать учет микросостояний.

Посмотрите на проекты и задачи для управления большим количеством приложений в одном экземпляре ОС.

Я не знаю эквивалента coreadm в Linux, хотя он, вероятно, где-то разбросан по / proc.

Logadm немного тупой, но хорошая замена logrotate и, как правило, более мощный / гибкий.

Организация многоуровневой безопасности (роли, полномочия, профили) отличается от Linux (контексты SELinux, AppArmor).

Система упаковки изображений (IPS) в OpenSolaris довольно аккуратна, но все еще находится в стадии интенсивного развития.

Также +1 для LiveUpgrade. Это здорово, особенно со снимками ZFS.

Большинство пользовательских ресурсов GNU, к которым вы привыкли, доступны и, вероятно, установлены по умолчанию на достаточно новом Solaris.


2

Быстрая перезагрузка для OpenSolaris пропускает обычный процесс HW Probing / BIOS POST / GRUB на оборудовании x86, позволяя перезагрузить компьютер менее чем за 10 секунд вместо ~ 2 минут. Даже поддерживает загрузку альтернативных загрузочных сред (например, отмена неудачного обновления).


Он даже поддерживает перезагрузку паники! Подробнее о том, как это работает, можно узнать из презентации, которую Шерри Мур (руководитель проекта) предоставила группе пользователей NYC OpenSolaris: scribd.com/doc/16925842/DeveloperDayFastreboot
notpeter

Однако Linux тоже может это сделать. Ищите "kexec".
Knweiss

1

ZFS и SMF великолепны, но настоящей проблемой Solaris является то, что менеджер пакетов намного отстает от своих аналогов в Linux.

Кроме того, все утилиты отличаются тонким способом (кто-нибудь убивает?), Если вы большую часть времени управляете машинами linux, переключение на солярис означает чтение страниц руководства снова и снова. Отстойный «более» пейджер и всегда слегка неправильно настроенные терминалы усложняют вашу жизнь.


Я не знаю, "экспорт PAGER = менее" работает достаточно хорошо для меня. И вам лучше использовать pkill, чем killall на Solaris. Вы правы насчет того, что нужно для термина termcap / terminfo (нет terminfo для экрана? GTFO!).
Роб Чантер

Что касается killall, я перешел в procps, который предоставляет: pkill, pgrep. Они должны быть доступны с помощью инструментов GNU под Solaris. Я считаю, что они намного лучше, чем killall
Martin M.

pkill (и pgrep, и другие p-утилиты) являются частью основного системного пакета в (Open) Solaris. Они (по крайней мере, pkill / pgrep / pmap) в procps для Linux.
Роб Чантер

1
Менеджер пакетов Solaris подвергается серьезной переработке в OpenSolaris / Solaris 11.
Toto


1

kssl, модуль ядра SSL. Цитата из ksslcfg (1M)

ksslcfg управляет экземплярами smf (5) для прокси-модуля ядра Kernel. Веб-сервер с поддержкой SSL может использовать службы своего прокси-сервера ядра Kernel для повышения производительности обработки пакетов HTTPS.


1

В отличие от Linux, "lsof -o" (показывать смещения файлов) работает. Это может быть полезно, чтобы показать, как далеко продвигается процесс, когда он читает или записывает большие объемы данных.



0

Вероятно, самая большая ловушка для новых игроков, обычный пользователь Linux может испытать желание запустить killall на хосте Solaris;

System Administration Commands                        killall(1M)

NAME
     killall - kill all active processes

SYNOPSIS
     /usr/sbin/killall [signal]

DESCRIPTION
     killall is used by shutdown(1M) to kill all active processes
     not directly related to the shutdown procedure.

     killall terminates all processes with open files so that the
     mounted file systems will be unbusied and can be unmounted.

     killall sends signal (see kill(1)) to the active  processes.
     If no signal is specified, a default of 15 is used.

     The killall command can be run only by the super-user.

ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|

SEE ALSO

     kill(1), ps(1), fuser(1M), shutdown(1M), signal(3C),  attri-
     butes(5)

SunOS 5.10          Last change: 14 Sep 1992                    1
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.