RPMforge とは?
標準リポジトリで提供されていないパッケージ群のリポジトリ。
標準リポジトリで提供されていないパッケージ群のリポジトリ。
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.
# usermod -G wheel user # vi /etc/pam.d/su auth required pam_wheel.so use_uid
# /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 の依存対象みたいなので事前にインストールしとく。
# getenforce Enforcing # setenforce 0 # getenforce Permissive # vi /etc/selinux/config SELINUX=disabled
自宅サーバのパソコンをざっくり公開。
HM-ATM330-bare
CPU Intel Dualcore Atom 330 1.6GHz
メモリ 2GB
ハードディスク 320GB
OS CentOS 5.3
まぁまぁちっさくて場所とらない。
ファンレスでほとんど音しないのが良いところ。
SSD でさらに静音性を高くしてみたくもあったけど、値段的に無理があったのでやめた。
いまのところ外への公開は考えてナッスィング。
デジカメ欲しいナー。
スコープに含まれる変数を要素とする辞書を戻す関数メモ。
$ 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 からクリップボードへコピーする方法メモ。
nmap _ :.w !nkf -Ws¥|pbcopy<CR><CR> vmap _ :w !nkf -Ws¥|pbcopy<CR><CR>
nmap はノーマルモードのキーマップ設定。
vmap はビジュアルモードのキーマップ設定。
nkf がインストールされてないなら、インストールする。
$ sudo port install nkf
vim で何かしらファイルを開く。
コマンドモードで _ を入力してコピー!
:set nonumber しなくて良くなった。ターミナルからのコピーが楽に。
Python のパッケージインポートについてメモ。
ディレクトリパスを指定してインポートを行う機能のこと。
モジュールサーチパスに指定するディレクトリが減らせたりできる。
インポート対象ディレクトリに必要なファイル。
初回インポート時にロードされる。
まずテスト用のディレクトリとファイルを作成する。
構成は以下のようにする。
a.py mod/b.py mod/__init__.py
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()
知らなくても支障はないけど、知ってると便利。