RPMforge とは?

標準リポジトリで提供されていないパッケージ群のリポジトリ。

インストールする

Installing RPMforge
RPMforgeリポジトリ導入(RPMforge)
を参考に。

 

Tripwire インストールメモ。

Tripwire とは?

ファイルやディレクトリを監視し、追加/変更/削除を検知して知らせてくれるソフト。
Linux インストール後、なるべく早く導入するのがオススメの模様。

インストールなど

ファイル改竄検知システム導入(Tripwire) を参考に。

 

初期設定メモ

管理者用のユーザを追加

# useradd user
# passwd user
Changing password for user user.
New UNIX password: 
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.

root になれるユーザを管理者のみに制限する

# usermod -G wheel user
# vi /etc/pam.d/su
auth    required    pam_wheel.so    use_uid

yum 設定

# /etc/init.d/yum-updatesd stop
yum-updates を停止中:                                      [  OK  ]
# yum -y remove yum-updatesd
Loaded plugins: fastestmirror
Setting up Remove Process
...
Removed: yum-updatesd.noarch 1:0.9-2.el5
Complete!
# yum -y update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
...
Complete!
# wget http://mirror.centos.org/centos/5.2/os/i386/CentOS/yum-cron-0.6-1.el5.centos.noarch.rpm
# yum -y install yum-downloadonly
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
...
Installed: yum-downloadonly.noarch 0:1.1.16-13.el5.centos
Complete!
# rpm -ivh yum-cron-0.6-1.el5.centos.noarch.rpm
準備中...                ########################################### [100%]
   1:yum-cron               ########################################### [100%]
# /etc/init.d/yum-cron start
Enabling nightly yum update:                               [  OK  ]
# chkconfig yum-cron on

CentOS 5.3 では yum-fastestmirror が最初からインストールされている。
インストールされていない環境の場合は、yum -y install yum-fastestmirror する。

CentOS 5.3 では yum-cron がなくなっている。
とりあえず 5.2 から RPM 引っ張ってきてインストール。
yum-downloadonly は、yum-cron の依存対象みたいなので事前にインストールしとく。

SELinux 無効化

# getenforce 
Enforcing
# setenforce 0
# getenforce 
Permissive
# vi /etc/selinux/config
SELINUX=disabled

参考

CentOS5初期設定

 

自宅サーバのパソコンをざっくり公開。


HM-ATM330-Bare

HM-ATM330-bare
CPU Intel Dualcore Atom 330 1.6GHz
メモリ 2GB
ハードディスク 320GB
OS CentOS 5.3

まぁまぁちっさくて場所とらない。
ファンレスでほとんど音しないのが良いところ。
SSD でさらに静音性を高くしてみたくもあったけど、値段的に無理があったのでやめた。
いまのところ外への公開は考えてナッスィング。

デジカメ欲しいナー。

5月 182009
 

Vim を真面目に使ってみるメモ。

手始めに自分用の vimrc を書いた。
追加したいもの出てきたら以下を更新することにしよう。

vimrc, gvimrc

dotfiles

 

スコープに含まれる変数を要素とする辞書を戻す関数メモ。

テストプログラムを書く

$ vi vars.py
#!/usr/bin/env python
# -*- coding: utf8 -*-
g_name = "tarou"
g_color = "red"
 
def func():
	name = "jirou"
	color = "blue"
	print "-"*10, "In function.", "-"*10
	print "vars ->", vars()
	print "locals ->", locals()
	print "globals ->", globals()
	print "name:%(name)s, color:%(color)s" % vars()
 
if __name__ == "__main__":
	func()
	print "-"*10, "In __main__.", "-"*10
	print "vars ->", vars()
	print "locals ->", locals()
	print "globals ->", globals()
	print "name:%(g_name)s, color:%(g_color)s" % vars()

実行してみる

$ python vars.py 
---------- In function. ----------
vars -> {'color': 'blue', 'name': 'jirou'}
locals -> {'color': 'blue', 'name': 'jirou'}
globals -> {'__builtins__': <module '__builtin__' (built-in)>, '__file__': 'vars.py', 'func': <function func at 0x5e2f0>, 'g_name': 'tarou', '__name__': '__main__', 'g_color': 'red', '__doc__': None}
name:jirou, color:blue
---------- In __main__. ----------
vars -> {'__builtins__': <module '__builtin__' (built-in)>, '__file__': 'vars.py', 'func': <function func at 0x5e2f0>, 'g_name': 'tarou', '__name__': '__main__', 'g_color': 'red', '__doc__': None}
locals -> {'__builtins__': <module '__builtin__' (built-in)>, '__file__': 'vars.py', 'func': <function func at 0x5e2f0>, 'g_name': 'tarou', '__name__': '__main__', 'g_color': 'red', '__doc__': None}
globals -> {'__builtins__': <module '__builtin__' (built-in)>, '__file__': 'vars.py', 'func': <function func at 0x5e2f0>, 'g_name': 'tarou', '__name__': '__main__', 'g_color': 'red', '__doc__': None}
name:tarou, color:red

雑感

“%(name)s” % (vars()) って記述がわかりやすい。

 

vim からクリップボードへコピーする方法メモ。

.vimrc に以下の2行を貼り付け

nmap _ :.w !nkf -Ws¥|pbcopy<CR><CR>
vmap _ :w !nkf -Ws¥|pbcopy<CR><CR>

nmap はノーマルモードのキーマップ設定。
vmap はビジュアルモードのキーマップ設定。

MacPorts から nkf をインストール

nkf がインストールされてないなら、インストールする。

$ sudo port install nkf

コピーしてみる

vim で何かしらファイルを開く。
コマンドモードで _ を入力してコピー!

雑感

:set nonumber しなくて良くなった。ターミナルからのコピーが楽に。

参考

[vim]vimからMacのクリップボードにコピーする

 

Python のパッケージインポートについてメモ。

パッケージインポートとは?

ディレクトリパスを指定してインポートを行う機能のこと。
モジュールサーチパスに指定するディレクトリが減らせたりできる。

__init__.py

インポート対象ディレクトリに必要なファイル。
初回インポート時にロードされる。

インポートしてみる1

まずテスト用のディレクトリとファイルを作成する。
構成は以下のようにする。

a.py
mod/b.py
mod/__init__.py

インポートしてみる2

mod ディレクトリを作成し、中に b.py ファイルを作成。

$ mkdir mod
$ vi mod/b.py
#!/usr/bin/env python
# -*- coding: utf8 -*-
# b.py
def show_test():
        print "in b.show_test()"
 
print "in b.py"

続けて __init__.py を作成。

$ vi mod/__init__.py
#!/usr/bin/env python
# -*- coding: utf8 -*-
# __init__.py
print "in __init__.py"

a.py ファイルを作成。

$ vi a.py
#!/usr/bin/env python
# -*- coding: utf8 -*-
# a.py
import mod.b as b
 
if __name__ == "__main__":
        b.show_test()

実行してみる

$ chmod +x a.py
$ ./a.py
in __init__.py
in b.py
in b.show_test()

雑感

知らなくても支障はないけど、知ってると便利。