Solaris / OpenSolarisの隠し機能


9

一般的なLinuxディストリビューションでは利用できない、SolarisまたはOpenSolarisで見つかる便利なコマンド、ツール、またはトリックは何ですか?

回答:


13

ZFSを使用するLive Upgradeは、オペレーティングシステムのブート環境の書き込み可能なスナップショットを作成します。Live Upgradeでは、スナップショットブート環境にパッチを適用して、そのスナップショットをブート可能にすることができます。次の再起動時に、パッチが適用されたOS環境が得られます。パッチの問題を発見した場合は、古いスナップショットを起動可能にして再起動すると、変更が取り消されます。パッチのかなり印象的なソリューションです。

ブート環境のZFSには、Solaris 10u6以降が必要です。

また、Solarisゾーンはアプリケーションの分離に非常に役立ちます。DTraceは非常に優れているのは明らかですが、RedHatはシステムタップでキャッチアップを行っています。


1
Live UpgradeはUFSでも実行できます。
TCampbell 2009年

ライブアップグレードは、平均的なLinuxアップグレードと比較して、solarisアップグレードに伴う苦痛を補ったといつも思っていました。
Cian

14

ZFS、DTrace、SMFは、Solarisについて聞いたことのある人なら誰でも聞いたことがあるので、ほとんど隠された機能ではありません。

Solarisのいくつかの非表示/あまり知られていない機能を知りたい場合は、JörgMöllenkampによる「あまり知られていないSolaris機能」電子ブックを読むことをお勧めします。


1
あまり知られていないSolaris機能の電子ブックは、solarisについて書かれた最高の本の1つです。
マット

7

SMF(サービス管理)を忘れないでください。Linuxに匹敵するものはまだ見ていません(どのポインタもありがたいことに受け入れました)。それは私(そして同僚)の多くのチケット処理を救いました:)


アップルフレームワークはオープンソースで利用できると思います。developer.apple.com/MacOsX/launchd.html
Martin M.

よく読んで!私はそれを調べますが、一見すると、SMFのすべての機能(再試行など)を提供するわけではありません
Vincent De Baere

最近OpenSolarisに切り替えた人として、SMFが大好きです。私はたまたま一連のOS Xサーバーを管理していますが、はい、launchdは、サービスが失敗した場合にサービスの再試行をサポートしています。
Kamil Kisiel 2009年

無駄なエラーメッセージを表示するシテプログラムによって制御されるxmlでラップされた初期化スクリプト?Linuxでそのようなものが見つからないことを願っています。
theotherは、

upstartはほぼ同じことを行います。少なくとも依存関係ベースのビットは..
Cian

6

Solarisには、Linuxの人々が望んでいた多くの機能があります。これらには以下が含まれます:

  • ZFS:現在利用可能な何よりも、非常に高い柔軟性を提供するファイルシステム。動的な拡大と縮小、スナップショット、クローンなど-すべて無料で利用できます。
  • DTrace:カーネルの動作に関する詳細を提供できるデバッガ。カーネルの作成方法により、DTraceは本質的にSystemTapよりもはるかに柔軟です。
  • SMF:System V initスクリプトに代わるさらに別のシステム-しかし、これは他のどのシステムよりも多くの人々がそれに興味を持っているようです。
  • ゾーンとコンテナ:これらは非常に柔軟であり、多くの人々が興奮しています:それらは非常に柔軟な仮想化を提供します。

私は、彼らがSMFを持っていることを賢明に知っているLinux人をまだ見つけていません。また、OpenVXは、ゾーン/コンテナの代替として優れています。
Cian

5

いくつかの個人的な経験...

自宅で実行しているサービスごとにゾーンを作成しただけなので、ゾーンが非常に簡単で便利であることに気づきました。これにより、すべてを無駄にすることなく、プレイやテストを行うことができます。ゾーンの1つはリバースプロキシ(Sun Web Javaプロキシ)なので、さまざまなWebサーバーで簡単にプレイできます。

また、opencsw(以前はBlastwaveと呼ばれていました)パッケージの階層は、これまでに見たどのパッケージよりもはるかに優れています。これにより、すべての依存関係が常に処理されます。

そして-忘れないで-バイナリ互換性。アプリがカーネル1.2.3_4のLinuxを必要とするように指定されている場合は、それを使用する方がよいでしょう。Solarisでは、すべてが将来のリリースで動作します。私にとってこれは私が望むときにアップグレードすることを意味し、それを行うストレスはありません。

さらに掘り下げたい場合は、いくつかの興味深いドキュメントを示します。 あまり知られていないSolarisの機能

ちょうど味のため-管理スペシャル:

Live Upgradeサービス管理機能リソース管理pfiles fuser / export / home?/ home?autofs?lockfsコアとクラッシュについてCacheFS Jumpstart Enterprise Toolkit

(広告のように聞こえますか?すみません...)


1
Blastwaveはまだ存在しています-opencswはフォークです。
TRS-80

4

Solarisの2つの最大の説得力のある理由は、DTraceとZFSのようであり、どちらもLinuxでは直接利用できません。


4

kstatは、あらゆる種類の素晴らしいカーネル統計を取得します。


3

必ずしも隠されているわけではありませんが、Linuxの人々には明らかではないのが、プロセス監視ユーティリティ(pstack、pmap、pflags、pfiles、pcred、psig、およびpldd)です。また、prstatは、ほぼtopと同等ですが、ユーザー、ゾーン、プロジェクトごとにリソースの使用状況を集計し、マイクロステートアカウンティングを表示することもできます。

1つのOSインスタンスで多数のアプリケーションを管理するためのプロジェクトとタスクを見てください。

Linuxのcoreadmに相当するものは知りませんが、おそらく/ procのどこかに散在しています。

Logadmはやや鈍感ですが、logrotateの優れた代替品であり、一般的にはより強力で柔軟性があります。

マルチレベルセキュリティ(ロール、承認、プロファイル)の配置は、Linux(SELinuxコンテキスト、AppArmor)とは異なります。

OpenSolarisのImage Packaging System(IPS)は非常に優れていますが、まだ開発が進んでいます。

また、LiveUpgradeの場合は+1。特にZFSスナップショットの場合は素晴らしいです。

あなたが慣れているほとんどのGNUユーザーランドのものは利用可能で、おそらくデフォルトで十分に新しいSolarisにインストールされます。


2

OpenSolarisの高速再起動では、x86ハードウェアでの通常のHWプロービング/ BIOS POST / GRUBプロセスがスキップされるため、再起動を2分未満ではなく10秒未満で行うことができます。代替ブート環境のブートもサポートします(たとえば、失敗したアップグレードを元に戻すなど)。


パニック再起動もサポートしています!シェリームーア(プロジェクトリーダー)がニューヨークのOpenSolarisユーザーグループに提出
notpeter

ただし、Linuxでもそれが可能です。「kexec」を探します。
knweiss 2009

1

ZFSとSMFは素晴らしいですが、solarisの本当の痛みは、パッケージマネージャーがLinuxの対応物よりもはるかに古くなっていることです。

また、すべてのユーティリティは微妙に異なります(誰でも殺すことができますか?)、ほとんどの場合、Linuxマシンを管理している場合、solarisに切り替えると、manページを何度も読むことになります。厄介な「詳細」ページャーと常にわずかに誤って構成された端末は、あなたの人生を困難にします。


「エクスポートPAGER = less」は十分に機能します。そして、Solarisではkillallよりもpkillのほうが得策です。あなたは厄介なtermcap / terminfoのものについては正しいです(画面にterminfoはありませんか?GTFO!)。
Rob Chanter

killallに関して、私はprocpsに移動しました:pkill、pgrep。それらはSolarisのGNUツールで利用できるはずです。それらはkillallよりもはるかに優れていると思います
Martin M.

pkill(およびpgrepおよびその他のp-utilities)は、(Open)Solarisのコアシステムパッケージの一部です。Linuxではprocpsにあります(少なくともpkill / pgrep / pmap)。
Rob Chanter、

1
Solarisのパッケージマネージャは、OpenSolarisの中で主要なオーバーホールを得ている/ Solarisの11
トト


1

kssl、カーネルSSLモジュール。ksslcfg(1M)からの引用

ksslcfgは、カーネルSSLプロキシモジュールのsmf(5)インスタンスを管理します。SSL対応のWebサーバーは、カーネルSSLプロキシのサービスを使用して、HTTPSパケット処理のパフォーマンスを向上させることができます。


1

Linuxとは異なり、「lsof -o」(ファイルオフセットの表示)は機能します。これは、大量のデータの読み取りまたは書き込みを行っているプロセスの距離を示すのに役立ちます。



0

おそらく新しいプレイヤーにとって最大の罠であり、典型的なLinuxユーザーはSolarisホストでkillallを実行したくなるかもしれません。

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.