OmniOS specific ではないけども。
https://en.wikipedia.org/wiki/Slab_allocation
の通り slab allocation は Solaris だと 2.4、1994年から ある。
Linux だと 2.2 から? ということは1999年からなのか。
FreeBSD では 5.0 とあるけど slab という用語をみたことがない・・・External Link にある通り uma という名称らしい。
https://www.freebsd.org/cgi/man.cgi?query=uma&sektion=9
HISTORY
The zone allocator first appeared in FreeBSD 3.0. It was radically
changed in FreeBSD 5.0 to function as a slab allocator.
じゃ uma てどこから来てるのか・・・ universal memory allocator だった。
https://www.freebsd.org/doc/en_US.ISO8859-1/articles/geom-class/kernelprog.html
悪魔本にはバッチリ書いてありそう。Chapter 6. Memory Management に。
https://www.oreilly.com/library/view/the-design-and/9780133761825/
2018年9月25日火曜日
2018年9月10日月曜日
OmniOS #2
Extra リポジトリがある
https://omniosce.org/info/ipsrepos
https://pkg.omniosce.org/r151026/extra/en/catalog.shtml
30ほど。
$ pkg list -f -g https://pkg.omniosce.org/r151026/extra/
で見られる。
追加
$ sudo pkg set-publisher -g https://pkg.omniosce.org/r151026/extra/ extra.omnios
$ pkg publisher
発行元 タイプ ステータス P 場所
omnios 起点 オンライン F https://pkg.omniosce.org/r151026/core/
extra.omnios 起点 オンライン F https://pkg.omniosce.org/r151026/extra/
$ pkg search -p go OR python3 OR nginx
PACKAGE PUBLISHER
pkg:/ooce/application/texlive@20170524-0.151026 extra.omnios
pkg:/ooce/developer/go-110@1.10.2-0.151026 extra.omnios
pkg:/ooce/developer/go-110@1.10.3-0.151026 extra.omnios
pkg:/ooce/developer/go-19@1.9.6-0.151026 extra.omnios
pkg:/ooce/developer/go-19@1.9.7-0.151026 extra.omnios
pkg:/ooce/runtime/python-36@3.6.5-0.151026 extra.omnios
pkg:/ooce/runtime/python-36@3.6.6-0.151026 extra.omnios
pkg:/ooce/server/nginx-112@1.12.2-0.151026 extra.omnios
pkg:/ooce/server/nginx-114@1.14.0-0.151026 extra.omnios
pkg:/ooce/server/nginx-common@1.0.0-0.151026 extra.omnios
pkg:/developer/swig@3.0.12-0.151026 omnios
ダウンロードに結構時間がかかる。大企業がバックについてないのはしんどいだろうな・・・。CDN 会社がインフラ提供してくれるわけでもなし。
/opt/ooce/bin に入る。symlink が張られている
$ go version
-bash: go: command not found
$ echo $PATH
/usr/bin:/usr/sbin:/sbin:/usr/gnu/bin
$ pkg contents go-110 |grep bin/go
opt/ooce/bin/go
opt/ooce/bin/gofmt
opt/ooce/go-1.10/bin/go
opt/ooce/go-1.10/bin/gofmt
$ export PATH=$PATH:/opt/ooce/bin
$ go version
go version go1.10.3 solaris/amd64
$ go get golang.org/x/tour/gotour
go: missing Git command. See https://golang.org/s/gogetcmd
package golang.org/x/tour/gotour: exec: "git": executable file not found in $PATH
あ〜、そうよね・・
$ sudo pkg install pkg:/developer/versioning/git@2.17.1-0.151026
Password:
インストールするパッケージ: 1
ブート環境の作成: いいえ
バックアップブート環境の作成: いいえ
ダウンロード パッケージ ファイル 転送 (MB) 速度
完了 1/1 377/377 25.1/25.1 992k/s
フェーズ 項目
新しいアクションをインストールしています 691/691
パッケージ状態データベースを更新しています 完了
パッケージキャッシュを更新しています 0/0
イメージ状態を更新しています 完了
スピード検索データベースを作成しています 完了
検索インデックスを読み取っています 完了
検索インデックスを更新しています 1/1
パッケージキャッシュを更新しています 2/2
python3 も入れ
$ pkg search -p python3
PACKAGE PUBLISHER
pkg:/ooce/runtime/python-36@3.6.5-0.151026 extra.omnios
pkg:/ooce/runtime/python-36@3.6.6-0.151026 extra.omnios
$ sudo pkg install pkg:/ooce/runtime/python-36
Password:
インストールするパッケージ: 2
変更するメディエータ: 1
ブート環境の作成: いいえ
バックアップブート環境の作成: いいえ
(snip)
$ pkg list python-36
NAME (PUBLISHER) VERSION IFO
ooce/runtime/python-36 (extra.omnios) 3.6.6-0.151026 i--
はて ntpd はどう起動させておくんだろう.. chkconfig でも systemctl でもないよな...
$ pkg search ntp
INDEX ACTION VALUE PACKAGE
basename dir usr/share/ntp/lib/NTP pkg:/service/network/ntp@4.2.8.12-0.151026
basename dir usr/lib/python2.7/vendor-packages/ntp pkg:/service/network/ntpsec@1.1.0-0.151026
basename dir var/ntp pkg:/service/network/ntpsec@1.1.0-0.151026
basename dir usr/share/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
basename dir var/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
basename file etc/security/auth_attr.d/ntp pkg:/service/network/ntpsec@1.1.0-0.151026
basename file etc/security/prof_attr.d/ntp pkg:/service/network/ntpsec@1.1.0-0.151026
basename file etc/security/auth_attr.d/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
basename file etc/security/prof_attr.d/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
basename file lib/svc/method/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
pkg.fmri set omnios/service/network/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
$ pkg list ntp
NAME (PUBLISHER) VERSION IFO
service/network/ntp 4.2.8.12-0.151026 i--
$ pgrep ntpd
$ cat /etc/ntp.conf
cat: cannot open /etc/ntp.conf: No such file or directory
/etc/inet にあるのか
$ ls /etc/inet
datemsk.ndpd ike ipaddrsel.conf ipsecalgs netmasks ntp.conf secret
hosts inetd.conf ipnodes ipsecinit.sample networks protocols services
$ egrep '^(server|pool|restrict)' /etc/inet/ntp.conf
restrict default ignore
restrict -6 default ignore
restrict 127.0.0.1 # Allow localhost full access
restrict -6 ::1 # Same, for IPv6
restrict source nomodify noquery notrap
pool 0.omnios.pool.ntp.org burst iburst minpoll 4
$ dig 0.omnios.pool.ntp.org +short
213.199.225.30
108.59.2.24
195.186.1.101
213.198.55.2
なるほど svcadm のようだ. こいつは SMF とやらで Solaris 10 かららしい.
$ which svcadm
/usr/sbin/svcadm
$ svcadm
Usage: svcadm [-S <state>] [-v] [-Z | -z zone] [cmd [args ... ]]
svcadm enable [-rst] [<service> ...] - enable and online service(s)
svcadm disable [-st] [<service> ...] - disable and offline service(s)
svcadm restart [-d] [<service> ...] - restart specified service(s)
svcadm refresh [<service> ...] - re-read service configuration
svcadm mark [-It] <state> [<service> ...] - set maintenance state
svcadm clear [<service> ...] - clear maintenance state
svcadm milestone [-d] <milestone> - advance to a service milestone
Services can be specified using an FMRI, abbreviation, or fnmatch(5)
pattern, as shown in these examples for svc:/network/smtp:sendmail
svcadm <cmd> svc:/network/smtp:sendmail
svcadm <cmd> network/smtp:sendmail
svcadm <cmd> network/*mail
svcadm <cmd> network/smtp
svcadm <cmd> smtp:sendmail
svcadm <cmd> smtp
svcadm <cmd> sendmail
$ svcadm enable ntpd
svcadm: Pattern 'ntpd' doesn't match any instances
$ svcadm enable ntp
$ pgrep ntpd
1442
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
0.omnios.pool.n .POOL. 16 p - 16 0 0.000 0.000 0.000
+a.ntp.br 200.160.7.186 2 u 13 16 3 280.799 12.676 5.483
*stratum2-3.ntp. 129.70.130.70 2 u 18 16 3 268.926 14.583 5.504
+ns3.atlax.com 131.188.3.221 2 u 2 16 7 318.398 8.018 7.748
+zip.frizzen.net 180.165.246.68 3 u 2 16 7 128.834 9.200 6.377
svcs でどんなか見られる
$ svcs ntp
STATE STIME FMRI
online 22:08:21 svc:/network/ntp:default
disable にする
$ svcadm disable ntp
$ svcs ntp
STATE STIME FMRI
disabled 22:09:30 svc:/network/ntp:default
再びenable
$ svcadm enable ntp
$ svcs ntp
STATE STIME FMRI
online 22:09:36 svc:/network/ntp:default
svcs -? みればだいたいOK
$ pkg search -p gcc
PACKAGE PUBLISHER
pkg:/ooce/developer/ccache@3.3.6-0.151026 extra.omnios
pkg:/developer/gcc44@4.4.4-0.151026 omnios
pkg:/developer/gcc5@5.5.0-0.151026 omnios
pkg:/developer/gcc6@6.4.0-0.151026 omnios
pkg:/developer/gcc7@7.3.0-0.151026 omnios
pkg:/system/library/gcc-4-runtime@4.8.1-0.151026 omnios
pkg:/system/library/gcc-runtime@7-0.151026 omnios
今どきは gcc バージョンどれか・・・ 7入れておけばいいか
$ sudo pkg install gcc7
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/gcc-7/libexec/gcc/i386-pc-solaris2.11/7.3.0/lto-wrapper
Target: i386-pc-solaris2.11
Configured with: ./configure --prefix=/opt/gcc-7 --host i386-pc-solaris2.11 --build i386-pc-solaris2.11 --target i386-pc-solaris2.11 --with-boot-ldflags=-R/opt/gcc-7/lib --with-gmp-include=/usr/include/gmp --enable-languages=c,c++,fortran,lto --enable-__cxa_atexit --without-gnu-ld --with-ld=/bin/ld --with-as=/usr/bin/gas --with-gnu-as --with-build-time-tools=/usr/gnu/i386-pc-solaris2.11/bin --disable-bootstrap
Thread model: posix
gcc version 7.3.0 (GCC)
不定期でつづく
https://omniosce.org/info/ipsrepos
https://pkg.omniosce.org/r151026/extra/en/catalog.shtml
30ほど。
$ pkg list -f -g https://pkg.omniosce.org/r151026/extra/
で見られる。
追加
$ sudo pkg set-publisher -g https://pkg.omniosce.org/r151026/extra/ extra.omnios
$ pkg publisher
発行元 タイプ ステータス P 場所
omnios 起点 オンライン F https://pkg.omniosce.org/r151026/core/
extra.omnios 起点 オンライン F https://pkg.omniosce.org/r151026/extra/
$ pkg search -p go OR python3 OR nginx
PACKAGE PUBLISHER
pkg:/ooce/application/texlive@20170524-0.151026 extra.omnios
pkg:/ooce/developer/go-110@1.10.2-0.151026 extra.omnios
pkg:/ooce/developer/go-110@1.10.3-0.151026 extra.omnios
pkg:/ooce/developer/go-19@1.9.6-0.151026 extra.omnios
pkg:/ooce/developer/go-19@1.9.7-0.151026 extra.omnios
pkg:/ooce/runtime/python-36@3.6.5-0.151026 extra.omnios
pkg:/ooce/runtime/python-36@3.6.6-0.151026 extra.omnios
pkg:/ooce/server/nginx-112@1.12.2-0.151026 extra.omnios
pkg:/ooce/server/nginx-114@1.14.0-0.151026 extra.omnios
pkg:/ooce/server/nginx-common@1.0.0-0.151026 extra.omnios
pkg:/developer/swig@3.0.12-0.151026 omnios
ダウンロードに結構時間がかかる。大企業がバックについてないのはしんどいだろうな・・・。CDN 会社がインフラ提供してくれるわけでもなし。
/opt/ooce/bin に入る。symlink が張られている
$ go version
-bash: go: command not found
$ echo $PATH
/usr/bin:/usr/sbin:/sbin:/usr/gnu/bin
$ pkg contents go-110 |grep bin/go
opt/ooce/bin/go
opt/ooce/bin/gofmt
opt/ooce/go-1.10/bin/go
opt/ooce/go-1.10/bin/gofmt
$ export PATH=$PATH:/opt/ooce/bin
$ go version
go version go1.10.3 solaris/amd64
$ go get golang.org/x/tour/gotour
go: missing Git command. See https://golang.org/s/gogetcmd
package golang.org/x/tour/gotour: exec: "git": executable file not found in $PATH
あ〜、そうよね・・
$ sudo pkg install pkg:/developer/versioning/git@2.17.1-0.151026
Password:
インストールするパッケージ: 1
ブート環境の作成: いいえ
バックアップブート環境の作成: いいえ
ダウンロード パッケージ ファイル 転送 (MB) 速度
完了 1/1 377/377 25.1/25.1 992k/s
フェーズ 項目
新しいアクションをインストールしています 691/691
パッケージ状態データベースを更新しています 完了
パッケージキャッシュを更新しています 0/0
イメージ状態を更新しています 完了
スピード検索データベースを作成しています 完了
検索インデックスを読み取っています 完了
検索インデックスを更新しています 1/1
パッケージキャッシュを更新しています 2/2
python3 も入れ
$ pkg search -p python3
PACKAGE PUBLISHER
pkg:/ooce/runtime/python-36@3.6.5-0.151026 extra.omnios
pkg:/ooce/runtime/python-36@3.6.6-0.151026 extra.omnios
$ sudo pkg install pkg:/ooce/runtime/python-36
Password:
インストールするパッケージ: 2
変更するメディエータ: 1
ブート環境の作成: いいえ
バックアップブート環境の作成: いいえ
(snip)
$ pkg list python-36
NAME (PUBLISHER) VERSION IFO
ooce/runtime/python-36 (extra.omnios) 3.6.6-0.151026 i--
はて ntpd はどう起動させておくんだろう.. chkconfig でも systemctl でもないよな...
$ pkg search ntp
INDEX ACTION VALUE PACKAGE
basename dir usr/share/ntp/lib/NTP pkg:/service/network/ntp@4.2.8.12-0.151026
basename dir usr/lib/python2.7/vendor-packages/ntp pkg:/service/network/ntpsec@1.1.0-0.151026
basename dir var/ntp pkg:/service/network/ntpsec@1.1.0-0.151026
basename dir usr/share/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
basename dir var/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
basename file etc/security/auth_attr.d/ntp pkg:/service/network/ntpsec@1.1.0-0.151026
basename file etc/security/prof_attr.d/ntp pkg:/service/network/ntpsec@1.1.0-0.151026
basename file etc/security/auth_attr.d/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
basename file etc/security/prof_attr.d/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
basename file lib/svc/method/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
pkg.fmri set omnios/service/network/ntp pkg:/service/network/ntp@4.2.8.12-0.151026
$ pkg list ntp
NAME (PUBLISHER) VERSION IFO
service/network/ntp 4.2.8.12-0.151026 i--
$ pgrep ntpd
$ cat /etc/ntp.conf
cat: cannot open /etc/ntp.conf: No such file or directory
/etc/inet にあるのか
$ ls /etc/inet
datemsk.ndpd ike ipaddrsel.conf ipsecalgs netmasks ntp.conf secret
hosts inetd.conf ipnodes ipsecinit.sample networks protocols services
$ egrep '^(server|pool|restrict)' /etc/inet/ntp.conf
restrict default ignore
restrict -6 default ignore
restrict 127.0.0.1 # Allow localhost full access
restrict -6 ::1 # Same, for IPv6
restrict source nomodify noquery notrap
pool 0.omnios.pool.ntp.org burst iburst minpoll 4
$ dig 0.omnios.pool.ntp.org +short
213.199.225.30
108.59.2.24
195.186.1.101
213.198.55.2
なるほど svcadm のようだ. こいつは SMF とやらで Solaris 10 かららしい.
$ which svcadm
/usr/sbin/svcadm
$ svcadm
Usage: svcadm [-S <state>] [-v] [-Z | -z zone] [cmd [args ... ]]
svcadm enable [-rst] [<service> ...] - enable and online service(s)
svcadm disable [-st] [<service> ...] - disable and offline service(s)
svcadm restart [-d] [<service> ...] - restart specified service(s)
svcadm refresh [<service> ...] - re-read service configuration
svcadm mark [-It] <state> [<service> ...] - set maintenance state
svcadm clear [<service> ...] - clear maintenance state
svcadm milestone [-d] <milestone> - advance to a service milestone
Services can be specified using an FMRI, abbreviation, or fnmatch(5)
pattern, as shown in these examples for svc:/network/smtp:sendmail
svcadm <cmd> svc:/network/smtp:sendmail
svcadm <cmd> network/smtp:sendmail
svcadm <cmd> network/*mail
svcadm <cmd> network/smtp
svcadm <cmd> smtp:sendmail
svcadm <cmd> smtp
svcadm <cmd> sendmail
$ svcadm enable ntpd
svcadm: Pattern 'ntpd' doesn't match any instances
$ svcadm enable ntp
$ pgrep ntpd
1442
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
0.omnios.pool.n .POOL. 16 p - 16 0 0.000 0.000 0.000
+a.ntp.br 200.160.7.186 2 u 13 16 3 280.799 12.676 5.483
*stratum2-3.ntp. 129.70.130.70 2 u 18 16 3 268.926 14.583 5.504
+ns3.atlax.com 131.188.3.221 2 u 2 16 7 318.398 8.018 7.748
+zip.frizzen.net 180.165.246.68 3 u 2 16 7 128.834 9.200 6.377
svcs でどんなか見られる
$ svcs ntp
STATE STIME FMRI
online 22:08:21 svc:/network/ntp:default
disable にする
$ svcadm disable ntp
$ svcs ntp
STATE STIME FMRI
disabled 22:09:30 svc:/network/ntp:default
再びenable
$ svcadm enable ntp
$ svcs ntp
STATE STIME FMRI
online 22:09:36 svc:/network/ntp:default
svcs -? みればだいたいOK
$ pkg search -p gcc
PACKAGE PUBLISHER
pkg:/ooce/developer/ccache@3.3.6-0.151026 extra.omnios
pkg:/developer/gcc44@4.4.4-0.151026 omnios
pkg:/developer/gcc5@5.5.0-0.151026 omnios
pkg:/developer/gcc6@6.4.0-0.151026 omnios
pkg:/developer/gcc7@7.3.0-0.151026 omnios
pkg:/system/library/gcc-4-runtime@4.8.1-0.151026 omnios
pkg:/system/library/gcc-runtime@7-0.151026 omnios
今どきは gcc バージョンどれか・・・ 7入れておけばいいか
$ sudo pkg install gcc7
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/gcc-7/libexec/gcc/i386-pc-solaris2.11/7.3.0/lto-wrapper
Target: i386-pc-solaris2.11
Configured with: ./configure --prefix=/opt/gcc-7 --host i386-pc-solaris2.11 --build i386-pc-solaris2.11 --target i386-pc-solaris2.11 --with-boot-ldflags=-R/opt/gcc-7/lib --with-gmp-include=/usr/include/gmp --enable-languages=c,c++,fortran,lto --enable-__cxa_atexit --without-gnu-ld --with-ld=/bin/ld --with-as=/usr/bin/gas --with-gnu-as --with-build-time-tools=/usr/gnu/i386-pc-solaris2.11/bin --disable-bootstrap
Thread model: posix
gcc version 7.3.0 (GCC)
不定期でつづく
2018年9月9日日曜日
OmniOS CE
ギョームでは Linux, Windows とだけ戯れている。
ときどき気分を変えて別のを触ってみたくなるので *BSD 以外だと何かあったかな〜。そういや Solaris て今どうなってたかな〜、Open Solaris とか OpenIndiana てどうなったんだっけ・・とごそごそ調べてると OmniOS というのを知る。
https://omniosce.org/
illumos 族はこちら https://wiki.illumos.org/display/illumos/Distributions
https://omniosce.org/about/about.html
もともとは OmniTI ってところがやってたけど2017/4で終了、その後 Community Edition になった模様。MRTG, RRDTool 作者の名前をここで目にするとは・・・!
https://omniosce.org/download.html をみると AMI もあるので EC2 で使えてよろしい。しかし ENA は使えないだろうな。NVMe は使えるか・・?(後述)
https://ja.wikipedia.org/wiki/NVM_Express#Operating_system_support
OmniTI は今は AWS のコンサルティングパートナーのよう。https://omniti.com/knows/amazon-cloud-databases
https://omniti.com/remembers/2018/omniti-officially-named-aws-consulting-partner
https://www.crunchbase.com/organization/omniti
Founder の名前に見覚えあり。ウェブオペレーション一章の寄稿者だった。巻末の寄稿者紹介に OmniTI の創立者て書いてあったわ・・・。
とりあえず入れた。
$ uname -a
SunOS omniosce 5.11 omnios-r151026-673c59f55d i86pc i386 i86pc
$ ssh -V
OpenSSH_7.6p1, OpenSSL 1.0.2o 27 Mar 2018
pkg コマンドでパッケージ入れられるようだけどあまりなさそう。パッケージシステムと
しては IPSらしい。https://en.wikipedia.org/wiki/Image_Packaging_System
sysctl はないのか。
fstab でなくて vfstab なのか。しかし / が ない・・・?
$ cat /etc/vfstab
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
/devices - /devices devfs - no -
/proc - /proc proc - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
sharefs - /etc/dfs/sharetab sharefs - no -
fd - /dev/fd fd - no -
swap - /tmp tmpfs - yes -
/dev/zvol/dsk/rpool/swap - - swap - no -
swap が /dev/zvol .
インストーラで ZFS を用意してまっせ的メッセージでてたな・・・。いや〜 ZFS わからん・・・。FreeBSD で軽くおさわりした程度、/ を ZFS で使ったことがない。
$ zfs listNAME USED AVAIL REFER MOUNTPOINT
rpool 2.56G 12.5G 23K /rpool
rpool/ROOT 504M 12.5G 23K legacy
rpool/ROOT/omnios 504M 12.5G 504M /
rpool/dump 1.00G 12.5G 1.00G -
rpool/swap 1.06G 13.5G 32.8M -
$ zfs mount
rpool/ROOT/omnios /
rpool /rpool
ZFS に関してはこのへんみてればいいのか?
http://open-zfs.org/wiki/Documentation
https://www.freebsd.org/doc/handbook/zfs.html
NVMe具合確認。ドライバはこんな具合に。使えそうな気配。ixgbevf はない。
$ ls -l /kernel/drv/amd64/ixgb* /kernel/drv/amd64/nvme
-rwxr-xr-x 1 root sys 104248 5月 3 22:30 /kernel/drv/amd64/ixgb
-rwxr-xr-x 1 root sys 359376 9月 10 2018 /kernel/drv/amd64/ixgbe
-rwxr-xr-x 1 root sys 74136 9月 10 2018 /kernel/drv/amd64/nvme
4053 Add NVME Driver Support to Illumos
https://github.com/illumos/illumos-gate/commit/3c9168fa8e9c30d55b3aa2fde74bd7da46df53f5
勝手が違ってそれはそれで面白い。わからなさがかなりある。
top もない・・・
/proc の下も Linux と違い色々生えてない。
しばらくは Linux でのアレは Solaris でなにに相当するの?というのを調べることにもなる。
しかしこう Linux ではない別のOSを触ってみて勝手が違うのに直面すると、多くのひとが頑張ってなにかの OS (特に GNU/Linux )を触る必要はなく、ただコンピュートリソースとして使えれば裏でなにが動いてるか意識する必要はないだろうし、上モノさえよろしく動いてれば幸せだよな、と思った。
触る必要のないひとが触らざるを得ないのは辛いよな。
どういうわけか自分のなかでは Google App Engine はすごいよな、というところに行き着く。
ところで Oracle Solaris は 11.4 がでていた。
https://news.mynavi.jp/article/20180829-685663/
http://www.atmarkit.co.jp/ait/articles/1805/15/news001.html
『Oracleは、“少なくとも”2034年まではSolarisの開発を継続することを公式にお約束しています。誤解しないでいただきたいのですが、2034年でやめるということではありません。最低でも2034年まで、つまりあと16年は開発を継続するということです。』
知らなかった・・・。生き長らえた Solaris でお仕事が得られる人いるかも・・?
Oracle にはもっと Solaris 頑張って欲しかったねぇ。先行き不安でなければいちいち 2034年まで継続するよ、なんぞ言わんし・・・。突如 discon よりはるかにいいけども。
ときどき気分を変えて別のを触ってみたくなるので *BSD 以外だと何かあったかな〜。そういや Solaris て今どうなってたかな〜、Open Solaris とか OpenIndiana てどうなったんだっけ・・とごそごそ調べてると OmniOS というのを知る。
https://omniosce.org/
illumos 族はこちら https://wiki.illumos.org/display/illumos/Distributions
https://omniosce.org/about/about.html
もともとは OmniTI ってところがやってたけど2017/4で終了、その後 Community Edition になった模様。MRTG, RRDTool 作者の名前をここで目にするとは・・・!
https://omniosce.org/download.html をみると AMI もあるので EC2 で使えてよろしい。しかし ENA は使えないだろうな。NVMe は使えるか・・?(後述)
https://ja.wikipedia.org/wiki/NVM_Express#Operating_system_support
OmniTI は今は AWS のコンサルティングパートナーのよう。https://omniti.com/knows/amazon-cloud-databases
https://omniti.com/remembers/2018/omniti-officially-named-aws-consulting-partner
https://www.crunchbase.com/organization/omniti
Founder の名前に見覚えあり。ウェブオペレーション一章の寄稿者だった。巻末の寄稿者紹介に OmniTI の創立者て書いてあったわ・・・。
とりあえず入れた。
$ uname -a
SunOS omniosce 5.11 omnios-r151026-673c59f55d i86pc i386 i86pc
$ ssh -V
OpenSSH_7.6p1, OpenSSL 1.0.2o 27 Mar 2018
pkg コマンドでパッケージ入れられるようだけどあまりなさそう。パッケージシステムと
しては IPSらしい。https://en.wikipedia.org/wiki/Image_Packaging_System
sysctl はないのか。
fstab でなくて vfstab なのか。しかし / が ない・・・?
$ cat /etc/vfstab
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
/devices - /devices devfs - no -
/proc - /proc proc - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
sharefs - /etc/dfs/sharetab sharefs - no -
fd - /dev/fd fd - no -
swap - /tmp tmpfs - yes -
/dev/zvol/dsk/rpool/swap - - swap - no -
swap が /dev/zvol .
インストーラで ZFS を用意してまっせ的メッセージでてたな・・・。いや〜 ZFS わからん・・・。FreeBSD で軽くおさわりした程度、/ を ZFS で使ったことがない。
$ zfs listNAME USED AVAIL REFER MOUNTPOINT
rpool 2.56G 12.5G 23K /rpool
rpool/ROOT 504M 12.5G 23K legacy
rpool/ROOT/omnios 504M 12.5G 504M /
rpool/dump 1.00G 12.5G 1.00G -
rpool/swap 1.06G 13.5G 32.8M -
$ zfs mount
rpool/ROOT/omnios /
rpool /rpool
ZFS に関してはこのへんみてればいいのか?
http://open-zfs.org/wiki/Documentation
https://www.freebsd.org/doc/handbook/zfs.html
NVMe具合確認。ドライバはこんな具合に。使えそうな気配。ixgbevf はない。
$ ls -l /kernel/drv/amd64/ixgb* /kernel/drv/amd64/nvme
-rwxr-xr-x 1 root sys 104248 5月 3 22:30 /kernel/drv/amd64/ixgb
-rwxr-xr-x 1 root sys 359376 9月 10 2018 /kernel/drv/amd64/ixgbe
-rwxr-xr-x 1 root sys 74136 9月 10 2018 /kernel/drv/amd64/nvme
4053 Add NVME Driver Support to Illumos
https://github.com/illumos/illumos-gate/commit/3c9168fa8e9c30d55b3aa2fde74bd7da46df53f5
勝手が違ってそれはそれで面白い。わからなさがかなりある。
top もない・・・
/proc の下も Linux と違い色々生えてない。
しばらくは Linux でのアレは Solaris でなにに相当するの?というのを調べることにもなる。
しかしこう Linux ではない別のOSを触ってみて勝手が違うのに直面すると、多くのひとが頑張ってなにかの OS (特に GNU/Linux )を触る必要はなく、ただコンピュートリソースとして使えれば裏でなにが動いてるか意識する必要はないだろうし、上モノさえよろしく動いてれば幸せだよな、と思った。
触る必要のないひとが触らざるを得ないのは辛いよな。
どういうわけか自分のなかでは Google App Engine はすごいよな、というところに行き着く。
ところで Oracle Solaris は 11.4 がでていた。
https://news.mynavi.jp/article/20180829-685663/
http://www.atmarkit.co.jp/ait/articles/1805/15/news001.html
『Oracleは、“少なくとも”2034年まではSolarisの開発を継続することを公式にお約束しています。誤解しないでいただきたいのですが、2034年でやめるということではありません。最低でも2034年まで、つまりあと16年は開発を継続するということです。』
知らなかった・・・。生き長らえた Solaris でお仕事が得られる人いるかも・・?
Oracle にはもっと Solaris 頑張って欲しかったねぇ。先行き不安でなければいちいち 2034年まで継続するよ、なんぞ言わんし・・・。突如 discon よりはるかにいいけども。
登録:
投稿 (Atom)