CALENDAR

2009年5月
« 4月   6月 »
 123
45678910
11121314151617
18192021222324
25262728293031

CATEGORIES

ARCHIVES

あわせて読みたい

  • LOADING...

自宅サーバ + RPMforgeリポジトリ導入

RPMforge とは?

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

インストールする

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

自宅サーバ + Tripwire

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 でさらに静音性を高くしてみたくもあったけど、値段的に無理があったのでやめた。
いまのところ外への公開は考えてナッスィング。

デジカメ欲しいナー。

vimrc + gvimrc

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

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

vimconfig

vimconfig

vars, locals, globals + Python

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

テストプログラムを書く

$ 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からクリップボードへコピー

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()

雑感

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