rhel6 usually daemon manage (chkconfig) 
Friday, April 1, 2011, 03:57 AM - OS / Linux
Posted by Administrator
chkconfig abrtd off
chkconfig acpid off
chkconfig atd off
chkconfig auditd off
chkconfig cgconfig off
chkconfig cgred off
#chkconfig cpuspeed off
#chkconfig crond off
#chkconfig haldaemon off
chkconfig ip6tables off
chkconfig iptables off
#chkconfig irqbalance off
#chkconfig kdump off
chkconfig lvm2-monitor off
#chkconfig mdmonitor off
#chkconfig messagebus off
chkconfig netconsole off
chkconfig netfs off
#chkconfig network off
chkconfig postfix off
chkconfig psacct off
chkconfig rdisc off
chkconfig restorecond off
chkconfig rhnsd off
#chkconfig rsyslog off
chkconfig saslauthd off
#chkconfig smartd off
#chkconfig sshd off
#chkconfig sysstat off
#chkconfig udev-post off

add comment ( 2047 views )   |  permalink
なびこ @mikomoe_navi 
Sunday, March 20, 2011, 02:24 AM - Misc
Posted by Administrator
なびこ @mikomoe_navi とは

搭載している機能


・なびこは当サーバのシステムやハードウェアに関するStatを管理者へつぶやきます

なびこ: @elin_twi 定時報告です。sysは現在のLoadは0.12でCPU Usageが2%、HDD Tempは32dC 33dC 46dC 46dC 34dC 34dC 34dC 32dCでS.M.A.R.T.値は許容範囲内です。RAIDの欠落は認められません。

・なびこは当サーバのシステムやハードウェアに関する警告や障害情報を管理者へつぶやきます。

なびこ: @elin_twi 警告です。sysのLoad Average(1)が1を超過しています。
なびこ: @elin_twi 警告です。sysのHDD Tempが50dCを超過しています。対象となるHDDは/dev/sdaです。
なびこ: @elin_twi 警告です。sysの/usr/sbin/smartctlが失敗しました。対象となるHDDは/dev/sdaです。

提供している機能


・なびこへReplyするとその対象の最新200件のTweetsを解析し、その結果を対象へReplyします

elin_twi: @mikomoe_navi
なびこ: 総文字数7532文字中、有効文字数は6738文字です。内訳は英数字19.2%(1294)記号4.1%(277)日本語76.7%(5167)です。隣接ノードにおける深度は0.93です。 @elin_twi

自分以外を対象にすることもできます
anonymous: @mikomoe_navi @elin_twi
なびこ: 総文字数7514文字中、有効文字数は6706文字です。内訳は英数字19.4%(1302)記号4.1%(278)日本語76.4%(5126)です。隣接ノードにおける深度は0.91です。 @elin_twi

・なびこへ単位Wで数値をReplyすると約一ヶ月間(729.84h)の電力消費量と電力会社に応じた電気料金を計算し、その結果を対象へReplyします

elin_twi: @mikomoe_navi 1000W
なびこ: 一ヶ月間(729.84h)の電気使用量は729kWhで、電気料金は従量電灯Bで東京電力17462円(税込)、関西電力15202円(税込)、北海道電力18227円(税込)です。 (基本料金は含みません。) @elin_twi

・なびこは各地の観測情報を*/6時1分につぶやきます。

なびこ: 観測点(14163) 43.06N 141.33E 17.00Hにおける現在の気温は2.0dC、湿度は44%、気圧は1017.5hPaです。 #naviko_vmod_3gR
なびこ: 観測点(44132) 35.69N 139.76E 6.00Hにおける現在の気温は8.9dC、湿度は29%、気圧は1023.4hPaです。 #naviko_vmod_BTo
なびこ: 観測点(63518) 34.70N 135.21E 5.00Hにおける現在の気温は7.8dC、湿度は48%、気圧は1024.6hPaです。 #naviko_vmod_GWU

・なびこは東京電力の供給状況を毎時31分につぶやきます。

なびこ: 東京電力が供給可能な電力は41500MWで、3時台の供給電力は24200MW(58.31%)です。 #naviko_smod

その他

add comment ( 967 views )   |  permalink
Sun Ray Walk Through 
Saturday, February 5, 2011, 07:30 AM - OS, OS / Linux
Posted by Administrator
亡きSun MicrosystemsのSun Ray
……を最低限度、動作させるまでの殴り書き

個人的な話としてSun Microsystemsの製品は嫌いなのでSolarisではなくGNU/Linuxを使う
嫌いなのにSun Ray?大人の事情ってやつです

さて、公式でSun Ray Server Software (SRSS)はSolarisのほか、RHELとSUSEで動作すると言っているが、RHEL Clone(CentOSなど)やUbuntuでも問題なく動作はする
まあ、当たり前の話なのだが

Sun Microsystemsを買収したOracleがOracle Enterprise Linux(OEL)なるRHEL Cloneを製品として販売しているので、今回はこれを使う

Oracle Enterprise Linux(OEL) 5.6 x86-64
Sun Ray Software 5.1.1 (srss4.2/srwc2.1)

OELは.isoこそ入手できるが、RHEL同様上納金を支払わなければyumリポジトリが使えない
なのでパッケージのインストールは自分で.repoを書くなどしてディスクを使用する必要がある
# cat >/etc/yum.repos.d/media.repo
[media]
name=OEL$releasever - Media
baseurl=file:///media/OEL/Server/
file:///media/cdrom/Server/
file:///media/cdrecorder/Server/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
^D

# mkdir -p /media/cdrom
# mount -t iso9660 -r /dev/cdrom /media/cdrom


必要になるパッケージをインストール
ディストリビューションによって多少の違いはあるが、Sun Rayを使おうとする技術者からすれば、不足していたとしても障害にならないだろう
# yum -y install kernel-devel
# yum -y install gcc
# yum -y install glib
# yum -y install dhcp
# yum -y install openldap-clients
# yum -y install gdbm
# yum -y install libXfont
# yum -y install compat-libstdc++-33


OELは標準でkernel-uekを使用している
このままでは一部の.hが不足してコンパイルに失敗してしまう
面倒臭いので普通のkernelを使用する
# sed -i 's/^default=.*/default=1/' /boot/grub/menu.lst

セキュリティは無視する、大体分野が別だ
# service iptables stop;chkconfig iptables off
# service ip6tables stop;chkconfig ip6tables off
# sed 's/^SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux


後はささっと走る
# mkdir -p /home/sunray
# cd /home/sunray
## V24138-01.zip(srs5.1.1)を持ってくる

# unzip V24138-01.zip
# unzip srss_4.2.zip
# unzip srwc_2.3.zip

# ./srss_4.2/Supplemental/Java_Runtime_Environment/Linux/jre-6u13-linux-i586.bin
# ln -s `pwd`/jre1.6.0_13 /usr/java

# ./srss_4.2/utinstall
# reboot
## srss4.2から再起動後コンパイルされるので、正常か否かはログを確認する必要がある
# cat /var/log/SUNWut/utctl*.log

# export PATH=${PATH}:/opt/SUNWut/sbin

## ここらは環境によって読み替えて
# hostname oel-srss
# echo `ifconfig eth0|perl -lne 'if(/inet addr:([^\s]+)/){print $1}'` `hostname` >>/etc/hosts
# utadm -A 172.16.2.0
# chkconfig dhcpd on

# tar zxf ./srss_4.2/Supplemental/Apache_Tomcat/apache-tomcat-5.5.20.tar.gz
# ln -s `pwd`/apache-tomcat-5.5.20 /opt/apache-tomcat
# ln -s libldap-2.3.so.0 /usr/lib/libldap.so.199
# ln -s libgdbm.so.2 /usr/lib/libgdbm.so.3
# ln -s liblber-2.3.so.0 /usr/lib/liblber.so.199
# utconfig
# utrestart -c

# ./srwc_2.3/installer

# export PATH=${PATH}:/opt/SUNWuttsc/sbin

# ln -s libstdc++.so.6 /usr/lib/libstdc++.so.5
# echo /lib/libssl.so.0.9.8e|uttscadm -c -g utkiosk


後はWebから(http://172.16.2.198:1660/など)
Advanced->System Policy->Non-Card Users->Sun Desktop Access Client Enabled
でOracle Virtual Desktop Clientが使用できるようになる

Windowsへ接続するなら
Advanced->Kiosk Mode->Edit

> Session: Sun Ray Connector for Windows OS
> Timeout: 12000
> Maximum CPU Time:
> Maximum VM Size:
> Maximum number of Files:
> Maximum File Size:
> Locale:
> Arguments: -k jp106 -l ja_JP -n `date +%s.%N` -u Administrator -A 24 -M all -r sound:high 172.16.2.254
こんな感じの設定でよい
-m -bは勝手に付加される、少なくともsrss4.1では付加されなかった

/opt/SUNWut/sbin/utuserを叩けばTokenの情報を取れるので
> Arguments: -k jp106 -l ja_JP -n `date +%s.%N` -A 24 -M all -r sound:high -u `/opt/SUNWut/sbin/utuser -p ${SUN_SUNRAY_TOKEN}|awk 'BEGIN{ORS=" "} /User Name/ || /Other Info/ {print \$4}'`
と、いう方法も可能
やれば動的に複数台のサーバを使い分けることもできる

ここの部分に仕込むことで多少の遊び幅はあるが……

気が向いたら続きを書く
add comment ( 4654 views )   |  permalink
PerlとKakasi/ChaSen/MeCab 
Sunday, January 30, 2011, 12:51 AM - Programing, Programing / Perl
Posted by Administrator
簡易なインストール~検証まで

Kakasi+Text::Kakasi
# wget -q -O - http://kakasi.namazu.org/stable/kakasi-2.3.4.tar.gz|tar zx
# cd kakasi-2.3.4
# ./configure --prefix=/opt/kakasi;make install

# export C_INCLUDE_PATH=/opt/kakasi/include
# export LD_LIBRARY_PATH=/opt/kakasi/lib
# ln -s `ls /opt/kakasi/lib/libkakasi*` /usr/local/lib # *1
# cpan Text::Kakasi
# rm -fr `ls -d /usr/local/lib/libkakasi*` # *2

*1 libkakasi*が/usr/local/lib以下で見付けられないと正しくリンクされないようなので
*2 一度Text::Kakasiをインストールしてしまえばlibkakasi*は/usr/local/lib以下である必要ない

ChaSen+Text::ChaSen
# wget -q -O - http://chasen.org/~taku/software/darts/src/darts-0.32.tar.gz|tar zx # *3
# cd darts-0.32
# ./configure --prefix=/opt/chasen;make install
# export CPLUS_INCLUDE_PATH=/opt/chasen/include

# wget -q -O - 'http://sourceforge.jp/frs/redir.php?m=iij&f=%2Fchasen-legacy%2F32224%2Fchasen-2.4.4.tar.gz'|tar zx
# cd chasen-2.4.4
# ./configure --prefix=/opt/chasen;make install

# wget -q -O - 'http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fipadic%2F24435%2Fipadic-2.7.0.tar.gz'|tar zx
# cd ipadic-2.7.0
# export PATH=$PATH:/opt/chasen/bin
# for I in `ls *.cha *.dic chasenrc*`;do iconv -f euc-jp -t utf-8 -o $I~ $I;mv -f $I~ $I;done # *4
# `chasen-config --mkchadic`/makemat -i w
# `chasen-config --mkchadic`/makeda -i w chadic *.dic
# mkdir -p /opt/chasen/etc
# ./configure --prefix=/opt/chasen;make install

# wget -q -O - http://search.cpan.org/CPAN/authors/id/K/KN/KNOK/Text-ChaSen-1.04.tar.gz|tar zx # *5
# cd Text-ChaSen-1.04
# perl Makefile.PL LIBS='-L/usr/local/lib -lchasen'
# export LD_LIBRARY_PATH=/opt/chasen/lib
# ln -s `ls /opt/chasen/lib/libchasen*` /usr/local/lib
# make install
# rm -fr `ls -d /usr/local/lib/libchasen*`

*3 ChaSenのmakeでdarts.hが必要
*4 辞書をUTF-8へコンバートする必要がある
*5 Makefile.PLへLIBSパラメータを与える必要があるのでcpanが使えない、よって手動

MeCab+Text::MeCab
# wget -q -O - http://sourceforge.net/projects/mecab/files/mecab/0.98/mecab-0.98.tar.gz/download|tar zx
# cd mecab-0.98
# ./configure --prefix=/opt/mecab --with-charset=utf8;make install
# wget -q -O - http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz/download|tar zx
# cd mecab-ipadic-2.7.0-20070801
# export PATH=$PATH:/opt/mecab/bin
# ./configure --prefix=/opt/mecab --with-charset=utf8;make install

# cpan Text::MeCab

# wget -q -O - http://sourceforge.net/projects/mecab/files/mecab-perl/0.98/mecab-perl-0.98.tar.gz/download|tar zx # *6
# cd mecab-perl-0.98
# perl Makefile.PL
# make install

*6 本家MeCab.pm

さて、検証コードはこちら
#!/usr/bin/perl
use 5.10.0;
use Benchmark;
use Data::Dumper;
use Encode;
use Text::Kakasi;
use Text::ChaSen;
use Text::MeCab;
use MeCab;

sub kakasiA
{
my($s) = @_;

$s = Text::Kakasi->new(qw(-iutf8 -outf8 -HK -KK -JK))->get($s);
utf8::encode($s);

return($s);
}

sub kakasiB
{
my($s) = @_;

Text::Kakasi::getopt_argv(qw(kakasi -ieuc -oeuc -HK -KK -JK));
Encode::from_to($s,"utf-8","euc-jp");
$s = Text::Kakasi::do_kakasi($s);
Encode::from_to($s,"euc-jp","utf-8");
Text::Kakasi::close_kanwadic;

return($s);
}

sub chasen
{
my($s) = @_;

Text::ChaSen::getopt_argv(qw(chasen -i w -j -F %y));
$s = Text::ChaSen::sparse_tostr($s);
#$s = Text::ChaSen::sparse_tostr_long($s);

return($s);
}

sub mecabA
{
my($s) = @_;

my $s_;
my $mecab = Text::MeCab->new(qw(node_format %f[7] unk_format %M eos_format),"");
for(my $node = $mecab->parse($s);$node;$node = $node->next()){
$s_ .= $node->format($mecab);
}

return($s_);
}

sub mecabB
{
my($s) = @_;

my $mecab = MeCab::Tagger->new(q(--node-format=%f[7] --unk-format=%M --eos-format=));
$s = $mecab->parse($s);

return($s);
}

$s = "俺の巫女萌えぶろぐちゃん !!";
#say &kakasiA($s);
#say &kakasiB($s);
#say &chasen($s);
#say &mecabA($s);
#say &mecabB($s);

if($#ARGV != -1){
timethese(
$ARGV[0],
{
"Kakasi(->get)" =>sub(){&kakasiA($s)},
"Kakasi(do_kakasi)" =>sub(){&kakasiB($s)},
"Chasen" =>sub(){&chasen($s)},
"MeCab(Text::MeCab)" =>sub(){&mecabA($s)},
"MeCab(MeCab.pm)" =>sub(){&mecabB($s)}
}
);
}

__END__


実行時LD_LIBRARY_PATHを必要とする
# export LD_LIBRARY_PATH=/opt/chasen/lib:/opt/kakasi/lib:/opt/mecab/lib
結果
> Benchmark: timing 500 iterations of ChaSen, Kakasi(->get), Kakasi(do_kakasi), MeCab(MeCab.pm), MeCab(Text::MeCab)...
> ChaSen: 0 wallclock secs ( 0.01 usr + 0.01 sys = 0.02 CPU) @ 25000.00/s (n=500)
> Kakasi(->get): 0 wallclock secs ( 0.02 usr + 0.15 sys = 0.17 CPU) @ 2941.18/s (n=500)
> Kakasi(do_kakasi): 0 wallclock secs ( 0.01 usr + 0.10 sys = 0.11 CPU) @ 4545.45/s (n=500)
> MeCab(MeCab.pm): 1 wallclock secs ( 0.50 usr + 0.12 sys = 0.62 CPU) @ 806.45/s (n=500)
> MeCab(Text::MeCab): 1 wallclock secs ( 0.54 usr + 0.12 sys = 0.66 CPU) @ 757.58/s (n=500)
ChaSenが異常な程ぶっ飛んで高速……だが、これは恐らくキャッシュだろう

また試行回数を増やすとKakasiが
> /opt/kakasi/share/kakasi/kanwadict: Too many open files
で死んでしまう
Text::Kakasi::getopt_argvを外に出すことで回避はできるがBだけの話であって、Aはやっぱり死んでしまう

しかし
> Benchmark: timing 10000 iterations of ChaSen, Kakasi(do_kakasi), MeCab(MeCab.pm), MeCab(Text::MeCab)...
> ChaSen: 0 wallclock secs ( 0.25 usr + 0.04 sys = 0.29 CPU) @ 34482.76/s (n=10000)
> Kakasi(do_kakasi): 0 wallclock secs ( 0.27 usr + 0.01 sys = 0.28 CPU) @ 35714.29/s (n=10000)
> MeCab(MeCab.pm): 14 wallclock secs ( 9.89 usr + 3.65 sys = 13.54 CPU) @ 738.55/s (n=10000)
> MeCab(Text::MeCab): 14 wallclock secs (10.97 usr + 3.30 sys = 14.27 CPU) @ 700.77/s (n=10000)
これは……
add comment ( 3151 views )   |  permalink
Windows 9xと戦え!! 
Friday, January 28, 2011, 08:10 AM - OS, OS / Windows
Posted by Administrator
こういうLegacyなKnow-Howは忘れた頃に要求されたりするので
時間が詰まっているので簡易だが

Windows 9xは一部のOEMを除いてBootable Discではない
つまりFDDを使わなければならない
この記事を書くにあたってはVMware Workstation 7.0上での動作確認なので特に困らないが、実機ならUSBフラッシュドライブでFDDエミュレートの必要があるだろう
尤もそんなPCでWindows 9xが動くとは思えないが

さて、最初はFDDイメージの入手をしなければならない
幸いhttp://www.bootdisk.com/で全て揃うので困る事はない
.exeだが一般的なアーカイバであれば普通に展開できるだろう
Lhazは書庫の破損と警告してくるが、別に問題はなかった

FDDで起動したらfdiskでパーティションを作成する
詳しく検証したわけではないので正しいか怪しいが
Windows 95a (OSR1) : 2GB
Windows 95b (OSR2/2.1) : 32GB
Windows 95c (OSR2.5) : 32GB
Windows 98 : 32GB
Windows 98 SE : 32GB
Windows Me : 128GB (?)
各起動ディスクで採り得るパーティションサイズの最大値はこんなところだろうと思う
Windows 95aのみFAT32を扱えないので2GBは確かだが、他の詳細が不明(確か100GBのFAT32とか、可能だったと記憶してるが)
しかしこんなシステムで32GB以上使おうとする人は相当なGeek以外有り得ないので、その本人が検証して戴きたい

パーティションの作成を終えたら再起動を要求されるので再起動
対象パーティションをフォーマット(> format C:)してインストーラを起動(> E:\SETUP)
ディスクによってはSETUP.EXEが含まれていない場合がある
恐らくOEMが絡む何か、だと思われるが
ともかくこうなるとSETUP.EXEを含むディスクを入手するか、手動でファイルを展開、配置する以外の手段がない

どうしてもSETUP.EXEが含まれないディスクを使用したい場合、こちらはSETUP.EXEを追加する形でisoの再構成で動くらしい、が……

インストール中、(恐らくWindows95は)OSのディスクを要求されるが、CDDを認識しないので読み込めないという問題が発生する
この場面は"スキップ"で可能だが、どうであれCDDのドライバが必要になる
これも幸いhttp://www.cdrom-drivers.com/から入手することができる
Mitsumi(LINK)のide158.exe(複数あるが、同一)をFDD経由で渡せばよい
FDDが読めない場合はシステムが起動中に切断接続で回避できる
またドライバインストール中MSCDEX.EXEを要求される、これはC:\Windows\Commandに存在している筈なので、このパスを渡せば問題ない

次はVMware Toolsのインストール、winPre2k.isoを使用する
Windows 98以降のシステムは素直にインストールできる筈だが、Windows 95はいくつかの問題が生じる

まずWindows Installerが必要になるが、これは同梱されているinstmsia.exeでインストールできる
実行して"指定されたサービスはすでに存在します。"とエラーが出ればインストールされているようだ
またsetup.exeを実行すると途中で"セットアップはMSIパッケージまたは'D:\VMware Tools.msi'のパッチを見つけられませんでした。"というエラーで停止してしまう
これはVMware Tools.msiが8+3を超えているため発生する問題なので、直接"VMware T.msi"を実行すれば回避できる

しかしドライバのファイル自体はインストールされるものの、システムへのインストールは手動で行う必要がある

グラフィックドライバはVMware Toolsのインストール終了後、画面のプロパティ->ディスプレイの詳細->詳細プロパティ->アダプタ->変更->ディスクの使用->参照と辿ってC:\Program Files\VMware\VMware Tools\Drivers\videoを指定
vmx_svga.infが見付かるので、これを適応すればよい
解像度を変更しようとすると"ディスプレイの種類が指定されていません。新しい設定は正しく動作しない可能性があります。ここでディスプレイを指定しますか?"と聞かれるが、無視して"いいえ"で問題ない

イーサネットドライバは、システムのプロパティ->デバイスマネージャ->ネットワークアダプタ->AMD PCNET Family Ethernet Adapter (PCI&ISA)->プロパティ->ドライバ->ドライバの更新->一覧からドライバを選ぶ->次へ->AMD PCNET Family Ethernet Adapter (PCI&ISA) [ 9- 5-1996]->OKと辿って、後は指示に従えばよい
そしてTCP/IPの設定
これもWindows 98以降のシステムでは不要だが、Windows 95は標準でTCP/IPを持たないので設定する必要がある
コントロールパネル->ネットワーク->ネットワークの設定->追加->プロトコル->追加->Microsoft->TCP/IP->OKと辿ればDHCPDISCOVERが飛んでくるようになる

サウンドドライバはSound Blaster PCI128(SBPCI128Setupus_w9x.exe)との情報が見付かるが、オフィシャルは配布を終えている、インストールの途中でフリーズする(Windows 95)、クラッシュする(Windows 98)などの問題を抱えている
これは誤りで(少なくともWindows 95/98は)正しくはPC64のドライバを使用すればサウンドデバイスを動作させることができる
PC64もオフィシャルでの配布は終了しているが、実はIntelが未だに配布している
また同様にPC128も必要ならば手に入れることができる

暇があったら続く



add comment ( 4360 views )   |  permalink

<<First <Back | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Next> Last>>