Opera のインストール

コメントをどうぞ


CentOS 5.8 ( x64) のマシンに Opera 11.64 をインストールします。

Operaのサイトから、最新版をダウンロードします。

ダウンロードする際、注意してほしいのは、rpm 版ではなく、tar.bz2 版をダウンロードする必要があります。

rpm 版を ダウンロードした場合、rpmrebuild などのツールを使用して、一度 rebuild する必要があります。rpm パッケージをダウンロードして、そのままインストール使用とした場合、以下のような依存性に関するエラーが表示されます。

[root@test tmp]# rpm -ivh opera-11.64-1403.x86_64.rpm
error: Failed dependencies:
        rpmlib(PayloadIsLzma)

これを避けるために、tar.bz2 版をダウンロードしてください。

さて、ダウンロードしたら、以下の手順でインストールします。

[root@test tmp]# tar jxf opera-11.64-1403.x86_64.linux.tar.bz2
[root@test tmp]# cd opera-11.64-1403.x86_64.linux/
[root@joglinws011 opera-11.64-1403.x86_64.linux]# ./install

これで、インストーラーが起動しますので、聞かれる質問に答えていけばインストールされます。

後は、ユーザーになって、以下のようにコマンドラインからopera を呼び出すことが可能です。

[test]% opera &
広告

java のインストール

1件のコメント


CentOS 5.8 にJava をダウンロードして、インストールしました。

そのやり方をメモ。

とりあえず、Oracle のサイトから最新のjava をダウンロード。

環境が CentOS なので、rpm ファイルをダウンロード。使用環境は、x64 (64bit) ですが、32bit 版である i586 をダウンロードしてきます。

使用している環境によると思いますが、ブラウザは32bit版の最新 Firefox を使用しています。そのため、32bit のJavaの方がトラブルが少ないんですね。

  # rpm -ivh jre-7u4-linux-i586.rpm

これで、インストールは終了ですが、、、まだ、使用できません。
ためしにバージョンを確認すると。

# java -version
java version “1.6.0_22”
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.25.1.10.6.el5_8-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

え、1.6.0_22???
64-Bit ???
となると思います。
これ、システムにデフォルトでインストールされているjavaです。
せっかく最新のjavaをインストール下のですからそちらを使いたいじゃないですか。
しかし、rpm パッケージをインストールしただけでは、使用できない状態です。

では、どうするのか?
alternatives コマンドの出番です!!
先ほどインストールしたjava は、/usr/java の下にインストールされているはずですので、以下のようにしてシステムのデフォルトjava を定義します。

# alternatives --install /usr/bin/java java
         \ /usr/java/jre1.7.0_04/bin/java 20000
# alternatives --auto java 

これで、システムのデフォルトが JRE 1.7.0 に変更されました。
次のコマンドで、その様子が確認できます。

# alternatives --config java

There are 3 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
   1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
*+ 3           /usr/java/jre1.7.0_04/bin/java

Enter to keep the current selection[+], or type selection number:

この状態で、javaのバージョンを確認すると、

# java -version
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) Server VM (build 23.0-b21, mixed mode)

これで、正しいバージョンにすることができました。

後は、FrieFoxの方の設定ですね。
以下のようにして、リンクを作成すれば O.K. です。

# cd /usr/lib/mozilla/plugins
# ln -s /usr/java/default/lib/i386/libnpjp2.so .

java のリンクを設定する際、/usr/java/default/… ではなく、/usr/java/jre1.7.0_04/… とすることも可能ですが、将来 java のアップデートを行うことがあるかも知れません。
その際、default を指定しておけばFirefox で使用する java も alternatives コマンドで管理できることになるので、こちらの方がお勧めです。

この設定が終わったら Firefox を再起動してみてください。
「ツール -> アドオン」でプラグインの java のバージョンを調べると 1.7.0_04 になっているはずです。

Linux の日本語ファイル名を変換

コメントをどうぞ


昨日の続きになります。

Linux のファイルサーバー上に日本語でファイル名を作成した場合、日本語Windows 側ではファイル名が文字化けで判読不可能です。

で、基本的には Linux では日本語でファイル名を付けない、というルールを設定してもいいのですが、日本語のほうが判りやすい場合もあります。

日本語でファイル名を付けてしまった場合、どうするか?

私は、コピー前に convmv コマンドを使用してファイル名を Shif-JIS に変換してからコピーします。

使い方

 % convmv -r -f utf8 -t sjis * --notest

オプション

-r
再帰的に処理を行います。カレントディレクトリの下にディレクトリがある場合、そのディレクトリ内も変換対象となります。
-f
変換前の文字コードを指定します。(UTF-8 の場合はutf8、EUCはeuc)
-t
変換後の文字コードをしています。Shift-JIS なので sjis。

–notest
テストではなく、実際にファイル名を変換することを指定します。このオプションが無い場合、実際にはファイル名は変換されません。

なお、このコマンドで変換されるのは、ファイル名だけです。ファイルの中の文字コードは変換されませんので、お間違えの無いように。

Windows 7 で NFS マウント

1件のコメント


職場のメインサーバーは Linux (CentOS) です。

端末も Linux (CentOS) が多いのですが、やはり Windows が必要になるケースも多々あります。

普段は NFS サーバ上にファイルを置いているのですが、そのファイルをWidows マシンが使う必要がある場合、結構やり取りに苦労します。

パッと思いつくのは、

  1.  USBメモリにコピーして渡す
  2. CIFS(Samb)をNFSサーバに設定する

常時 USBメモリを手元に置いておけば簡単なんでしょうが、セキュリティが厳しい折、 USB メモリをおくことが許可されません。

そこで、直接 Windows がNFS サーバにアクセスできれば便利じゃねぇ、ということになりました。

調べたら、「UNIXベース アプリケーション用サブシステム」機能を有している Windows 7 のエディションはUltimate/Enterpriseエディションです。

この2つのエディションで

「コントロールパネル > プログラム > Windowsの機能の有効化または無効化」

の中で、

「NFS用サービス」

ってのがあるから、この中の

「NFSクライアント」

にチェックすれば使えるようになります。

図は、「管理ツール」もチェックされていますが、必ずしも必要ではありません。

使い方

上記の設定をしたら、一応再起動します。そしたら、コマンドプロンプトで以下のように実行します。

 C:\Users\Test>mount \\サーバーのIP\共有名 *

この例では、ドライブを * でしているので、空いている適当なドライブが割り当てられますが、 以下の用に F:\ とか、G:\ と指定しても O.K. です。

 C:\Users\Test>mount \\サーバーのIP\共有名 F:\

マウント解除は、

 C:\Users\Test>umount ドライブ名:

となります。

たとえば、Linux では、以下のように、jnfs001 が /data に NFS マウントされているとします。(実際は、NetAPP をマウントしているのですが、、、)

% df -h
Filesystem サイズ 使用  残り  使用% マウント位置
/dev/sda2    19G 8.4G 9.6G   47% /
/dev/sda5   200G 766M 189G    1% /home
/dev/sda1    99M  25M  70M   26% /boot
tmpfs       2.0G  12K 2.0G    1% /dev/shm
jnfs001:/vol/data
            2.0T  423G 1.6T  21% /data

これをWindows の G ドライブにマウントする場合は、以下のようになります。

C:\Users\test>mount \\jnfs001/vol/data G:\
G: は \\jnfs001/vol/data に正常に接続しました

コマンドは正常に終了しました。

ちょっと確認してみると、

C:\Users\test>mount

Local    Remote                                 Properties
-------------------------------------------------------------------------------
G:       \\jnfs001\vol\data                     UID=-2, GID=-2
                                                rsize=32768, wsize=32768
                                                mount=soft, timeout=0.8
                                                retry=1, locking=yes
                                                fileaccess=755, lang=SHIFT-JIS
                                                casesensitive=no
                                                sec=sys

で、きちんと G ドライブにマウントされています。
ちなみにアンマウントの実行例は、以下のとおりです。

C:\Users\test>umount G:\

切断中          G:      \\jnfs001\vol\data
コマンドは正常に終了しました。

いやあ、Windows 7での NFS マウント、思った以上に快適でした。(CIFS は遅くて、、、)

個人的には結構お勧めです。

NFSのマウントオプションについての

コメントをどうぞ


職場にはクラスタがあります。

クラスタと聞くと、HA( High Availability ), 高可用性のものを想像する人が多いと思います。けど、High Paformance 、つまり科学技術演算用のクラスタです。

そのクラスタの設定ですが、職場の同僚が行ったのですが、どうも変なんです。
どこが変といいますと、クラスタのアプリケーションが使用しているある共通のデータ(計算データではなく、クラスタの管理データ)が置かれているNFSの領域のマウントの仕方が変なんですね。
このNFSの領域て、各ノードが参照し更新するので、私は、”noac” でマウントしなければいけない、と主張したんですが。。。。

以下のようなオプションで各ノードをマウントしているんです。

rw,bg,intr,actimeo=0,async,rsize=32768,wsize=32768

actimeo=0 は良いんですよ。
ただ、async,,,,,これはだめだろう。というか、あれ、これサーバー側で使用するオプションじゃなかったっけ。

案の定、計算用クラスタで問題が発生したのですが、設定した本人は知らん振りをしています。

そこで、noac と actimeo=0 の違いをまとめてみました。

 

共通点

ファイル属性のキャッシュが無効化され、そのつどNFSサーバーを参照する。

 

相違点
actimeo=0 の場合

ディレクトリ属性のキャッシュも無効化される。
NFSサーバーへの同期書き込みは行わない

noacの場合

ディレクトリ属性のキャッシュは有効
NFSサーバーへの同期書き込みを行う

 

つまり、actimeo=0 の場合、毎回サーバーを参照するけど、同期書き込みは行われていないので、その内容が最新かどうかは保障できない。ということになります。
ということは、ファイルが更新されない領域の場合、問題は無いと思うのですが、不特定のノードが更新する領域の場合、noac をオプションによるマウントの方が安全ではないかと思います。

ファイルの中身をマージ

コメントをどうぞ


2つのファイルの内容をマージしたい、という要望がアリ、スクリプトを作成してみました。

行数が同じ2つのファイルがあり、それを1つにしたい。

ファイル1

AAA
BBB
CCC

ファイル2

XXX
YYY
ZZZ

これを以下のようにマージしたい。
マージファイル

AAAXXX
BBBYYY
CCCZZZ

で、作成したのが、以下のスクリプトです。

#!/bin/bash

# 
echo " file 01 name"
read file01
echo " file 02 name"
read file02
echo " Output file"
read filename

# line number
a=$( wc ${file01} | awk '{print $1 }' )
#echo ${a}
data01=$( head -n 1 ${file01} )
data02=$( head -n 1 ${file02} )
echo ${data01} ${data02} >> ${filename}

i=1
while [ ${i} -lt ${a} ] ;  do
   i=$(( ${i} + 1 ))
#   echo ${i}
   data01=$( head -n ${i} ${file01} | tail -n 1 )
   data02=$( head -n ${i} ${file02} | tail -n 1 )
   echo ${data01} ${data02} >> ${filename}
done

exit 0

非常に、単純なスクリプトです。
他にも何か作ったら、公開しようと思います。

シングルユーザーモード

コメントをどうぞ


職場にたくさんの CentOS をインストールしたマシンがたくさんあります。
先日其のウチの数台に 10Gイーサのカードを追加したSEがいました。
基幹はGbitなんですが、試験的に10Gのネットワークを作成して、どれだか速くなるのか、をテストする目的の様です。
まあ、それはいいんですけどね。

 

カードを追加後、システムを起動のスイッチを押してもいつまで待ってもシステムがOSがあがってきません。
彼はなんだかんだと言い訳をしていましたが、起動時のメッセージを見ていたら、起動しない理由が分かりました。

ネットワークカードを追加したことにより、eth0, eth1の番号がずれたんです。
そのSEは追加したカードが eth2 になることを期待したようですが、追加したカードが eth0 になり、今まで使用していたNIC が eth1, eth2 になってしまったのです。

 

そりゃ、ネットワークがつながらなくなるよね。当然ネットワークドライブなんて見えない。
起動しないわけです。

 

そこで、対象システムをシングルユーザーモードで立ち上げることにしました。
電源スイッチを長押しして再起動。
GRUB を使用しているので、画面をしっかり見るようにします。

チャンスは5秒位しかないんだよね。

GRUB の画面がでた瞬間スペースキーを押し、対象OSを選択、そして「E」キーを押す。
選択したOSの起動コマンドが表示されるので、2行目の 「kernel 」で始まる行を選択してもう一度「E」キーを押す。

コマンドの編集画面でコマンドの最後に「single」を追加して、リターン。
その後で、「b」キーを押してOSの起動。
これでシングルユーザーモードで起動します。

無事にシステムがシングルユーザーモードで起動したら、/etc/sysconfig/network-scripts の下にある以下のファイルを修正しました。

ifcfg-eth0
ifcfg-eth1
ifcfg-eth2

ファイルを修正後、システムを起動したら、今度は無事に起動しました。

Older Entries Newer Entries