Midnightjapan

Linux

Centos NTPサーバー設定とハードウェアクロック

by jun on 8月.20, 2015, under Linux, Network

PCの仕組みが何たるかは別として、PC内部には時計があります。

水晶振伝子をつかって制度をあげてますが、いろんなところにIOされるのでよくずれます。

CentosでNTPサーバーをセットアップして時間がずれないよう設定してあげます。

止むを得ずネットワークが使えない場合はどうでしょうか?

実はNTPがやっているのは、ネットワーク上のNTPサーバーと同期するだけ。

PC内部の時計はおかまいなしです。

CentOSを長い事使ってきましたが、今知りました。

ちょっと考えればわかることのような気がしないでもありませんが。

【システムの時計】

[root@hoge ~]# date
2015年  8月 19日 水曜日 16:29:56 JST

【PC内部のハードウェア時計】

[root@hoge~]# hwclock -r
2015年08月20日 01時20分37秒  -0.047347

【NTPの同期状況の確認】

[root@hoge ~]# ntpq -p
remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp-a3.nict.go. .NICT.           1 u   13   64    1    4.927    4.701   0.000
ntp1.jst.mfeed. 133.243.236.17   2 u   12   64    1    7.844    6.080   0.000
ntp-tk01.ocn.ad 202.234.233.104  3 u   11   64    1    8.794    1.326   0.000

結果としては一番上のサーバーの時刻と同期していますよってことです。

2015年  8月 19日 水曜日 16:29:56 JST → システムクロック

2015年08月20日 01時20分37秒  -0.047347 → ハードウェアクロック

ずれてますね。。。

【システムクロックでハードウェアクロックを設定する場合】

[root@hoge ~]# hwclock -w またはhwclock --systohc

【ハードウェアクロックでシステムクロックを設定する場合】

[root@hoge ~]# hwclock -s またはhwclock --hctosys

これで一時的ですがNTP(strutum1)=システムクロック=ハードウェアクロックが一緒になります。

コメントなし :, , , more...

シェルスクリプトファイルの転送について

by jun on 2月.08, 2013, under Linux, Windows

SIerとなり、なんとか3ヶ月でリリース担当にまでなりました。

PHPの軽微な改修なんかもやってますが。Javaの勉強は進まず年齢的にPMやらPL扱いの仕事が増えてきています。

さて、表題のシェルスクリプトについて。

Windowsなんかでシェルスクリプトを作成します。

FFFTPやWinSCPなどでファイルをサーバーに送信します。

その時、シェルスクリプトは正常に動作しますか?

いいえ、動作しない場合があります。

ファイルの転送モードや改行コードによってはエラーが起きるからです。

特にこんな場合です。

Linuxサーバー => シェルスクリプトダウンロード
Windowsで編集
Windows => Linux サーバーへアップロード

この時にシェルスクリプトはエラーで動かないことがあります。

転送モードがどうなっていたか見てみましょう。

Linuxサーバー => シェルスクリプトダウンロード (テキストモード)
Windowsで編集
Windows => Linux サーバーへアップロード(バイナリーモード)

これでエラーが起きます。

さて、なにがいけないのでしょうか?

まずは最初に転送モード自動でダウンロードして、なぜテキストモードなんでしょうか?

答えはテキストだからです。

この時にテキストファイルは改行コードをWindowsに合わせてに置き換えられるんです。

Windowsではたしかにに置き換えられていますので、元からなのかと思ってしまいます。

しかしLinuxの標準改行コードはです。

これをサーバーにはバイナリーで送信してしまいますと・・・。

バイナリーモードでは、0/1信号で送るためファイル形式が変わらないんですね。

これをテキストモードで転送すると、逆置換が自動で行われるんです。

改行コードをWindowsに合わせてにしてくれます。

Linuxのシェルスクリプトを含むテキストファイルではしか存在しないためなんか知らないのでエラーが起こるというわけです。

というわけで、複雑そうですが簡単に言うと・・・・

シェルスクリプトは改行コードをにてバイナリーモードで遅ればいいってことですw

以上、備忘録として私と同じようなミスをしませんようにw


UNIX LF JIS, EUC, (ShiftJIS)
Windows CR+LF ShiftJIS
Macintosh CR ShiftJIS


テキストファイルを改行コードや文字コードを変換して送信します。
当然画像ファイルをこのモードで送ると、バイナリーコードを文字に変換してしまい異常な形式になります。
注意としてはSVNなどでは改行コードの置き換えで変更があったと思われるので注意。


テキストファイルでも画像ファイルでも0/1信号で送信します。
このためファイルに変化は発生しません。

コメントなし :, , , , , more...

CentOS5.8 32bit にSVN管理をブラウザからできるSubminをインストールする

by jun on 9月.14, 2012, under Linux

SVNの新しいレポジトリなどを作成するために、私はコマンドラインからできても他の人はかなりきびしいはず、そこでブラウザからSVN管理ができるSubminの導入することになった。Subminを使うためにはオブジェクト指向スクリプト言語のPythonが必要となるようなので、Pythonのインストールからはじめる。

まずはPythonのバージョン確認から

# python
Python 2.4.3 (#1, Jun 18 2012, 08:55:31)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[Ctrl+D]でPythonから抜けれます

また、PerlやPythonではzlibをよく使うのであわせてライブラリもインストールします。

# yum install zlib zlib-devel

zlibはインストールされてました・・・が、zlib-develも必要なので無事に完了。
Pythonのソースをダウンロードしてきてコンパイルします。

#?wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
# tar zxvf Python-2.6.6.tgz
# cd Python-2.6.6

Configureします

#?./configure --with-threads --enable-shared

Make前にzlib設定部分を修正

# vi Modules/Setup
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz ←コメント解除

Makeとインストールを実行

# make
# make install

これでバージョンアップが終わりそうですが実行してみると共有ライブラリが無いぞとPythonが怒り出します。

# /usr/local/bin/python
/usr/local/bin/python: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory

Pythonにconfigファイルを追加して修正してあげます。

# vi /etc/ld.so.conf.d/python2.6.conf
/usr/local/lib ←追加

共有ライブラリを反映します

# /sbin/ldconfig

Pythonの実行確認

# /usr/local/bin/python
Python 2.6.6 (r266:84292, Sep 14 2012, 08:25:36)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[Ctrl+D]でPythonから抜けます

無事にPythonは実行可能に。
しかし、Pythonをこんなふうに実行してみると、Pythonの2.4が残っていることがわかります。

# python
Python 2.4.3 (#1, Jun 18 2012, 08:55:31)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[Ctrl+D]でPythonから抜けます

パスが通っていないんですね。
そんなわけでパスを通します。

# vi ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/bin ←ここに「:/usr/local/bin」を付記

export PATH
unset USERNAME

# export PATH ←設定を反映

このままでは変わらないのでAliasで「python」→「python2.6」に変えてあげます。

# vi ~/.bashrc
# .bashrc

# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias python='python2.6' → この行を追加

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

これで無事にpythonの実行環境が整いました。

以下はApache2とSVNがすでにインストールされていることを前提にSubminのインストールを進めます。

# wget http://supermind.nl/submin/current/submin-1.2.9.tar.gz
# tar zxvf submin-1.2.9.tar.gz
# cd submin-1.2.9
# /usr/local/bin/python ./bin/install.py /usr/local

subminに対するコマンド「create」、作成する環境名(ファイル名の一部として使われます。例:default)を引数に指定してsubmin-adminコマンドを実行します。

# /usr/local/bin/python /usr/local/bin/submin-admin create default

trac_base_urlを設定しておかないとリポジトリ作成時にエラーが発生するとのことで

# vi /etc/submin/default.conf
[svn]
authz_file = /var/lib/submin/authz
userprop_file = /var/lib/submin/userproperties.conf
access_file = /var/lib/submin/htpasswd
repositories = /mnt/html/svn →リポジトリの場所
[www]
base_url = /submin
svn_base_url = /svn
trac_base_url = /trac →この行を追加

生成されたApache用の設定ファイルをコピーしてApache起動時に読み込まれるようにします。

# cp /etc/submin/default-apache-cgi.conf /etc/httpd/conf.d/

設定ファイルを編集してリポジトリの場所を設定します。

# vi /etc/httpd/conf.d/default-apache-cgi.conf
    Alias /submin /usr/local/share/submin/www

        Order allow,deny
        Allow from all
        Options ExecCGI FollowSymLinks
        AddHandler cgi-script py cgi pl
        SetEnv SUBMIN_CONF /etc/submin/default.conf

        RewriteEngine on
        RewriteBase /submin

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.+)$ submin.cgi/$1

        RewriteRule ^/?$ submin.cgi/

        DAV svn
        SVNParentPath /mnt/html/svn →ここを編集

        AuthType Basic
        AuthName "Subversion repository"

        AuthUserFile /var/lib/submin/htpasswd
        AuthzSVNAccessFile /var/lib/submin/authz

        Satisfy Any
        Require valid-user

Apacheを再起動して「http:// サーバー名 /submin/」にアクセスすると

Submin 初期ログイン画面

Submin 初期ログイン画面

初期ログインは Username:admin Password:admin でログインできます。

 

コメントなし :, , , , , more...

SambaとUnixのユーザー&グループ管理

by jun on 9月.12, 2012, under Linux

いまさらなんですがメンテナンスや新規サーバー構築の際によく使うコマンドなんですが、ついついネットを引いてしまうので自分用の記録としてまとめます。

– UNIX Userの作成 –

# useradd USERNAME

– UNIX Userの作成 –

# useradd USERNAME

– UNIX Userの作成グループ登録 –

# useradd -g GROUP01 GROUP02

– UNIX Userのパスワード設定 –

# passwd USERNAME
Changing password for user USERNAME.
New UNIX password: 		→パスワード入力
Retype new UNIX password:	→パスワード確認

–UNIX Userの削除 –

# userdel USERNAME

– UNIX Groupの作成 –

# groupadd GROUPNAME

–既存UNIX Userのデフォルトグループ追加 –

# usermod -g GROUPNAME1 GROUPNAME2

–既存UNIX Userのサブグループ追加 –

# usermod -G GROUPNAME1 GROUPNAME2

–Samba 新規ユーザー作成(既存リナックスユーザーを登録) –

# pdbedit -a -u USERNAME -f FULLNAME
new password:		→パスワード入力
retype new password:	→パスワード確認
Unix username:        ----
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-4222046843-893412212-3622730551-1000
Primary Group SID:    S-1-5-21-4222046843-893412212-3622730551-513
Full Name:            MJ
Home Directory:       \\----\----
HomeDir Drive:
Logon Script:
Profile Path:         \\----\----\profile
Domain:               ----
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    水, 12  9月 2012 08:49:27 JST
Password can change:  水, 12  9月 2012 08:49:27 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

–Sambaデータベースからユーザー削除–

pdbedit -x -u USERNAME
コメントなし :, more...

CentOS6.2 へPoderosaでSSH接続する方法

by jun on 7月.28, 2012, under Linux

CentOS6.2システムを構築しています。

Poderosaでこんな感じでSSH接続すると

poderosa

poderosaでSSH接続

こんなふうにエラー「未サポートのエスケープシーケンスを見つけました。ESC[?1034h」が表示され接続ができません。

どうもシェルの互換端末が変わったようです。

端末を[kterm]に変更

端末を[kterm]に変更

このように端末を[xterm]から[kterm]にすることで、接続ができます。

 

4 コメント :, , more...



何かお探しですか?

以下にキーワードを入力してサイト内検索が可能です:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!