ひつまぶし食べたい

メモ代わりのブログ

便利なツール

POD

  • Plain Old Documentation
  • man perldoc を参照

lwp-request

  • Webサーバーにリクエストを送って、適当な形式に変換してくれる
  • GET, POST, PUT も選べる。
  • 出力形式としては、 text, ps, links, html, dump
lwp-request -o text www.example.com

Text::Autoformat

Text::Tabs

  • タブをスペースに変換

String::Approx

  • あいまいなマッチをする

Template-Toolkit

Lingua::En::Inflect 'PL_N'

  • 単数形と複数形を変換してくれる

PXEブートでインストーラを起動する

最近、VMwareのESXiで仮想環境を作っています。 触っていて気づいたのですが、空の仮想マシンを起動するとPXEブートを試みてくれます。 この仕様をうまく使いたいなーと思って、PXEブートでインストールを自動化する方法を調べました。


実UID,実行UID

プロセスはいくつかのIDを持っている。 あまり深く考えず、実UIDと実行UIDについて考える。

実UID(UID)

  • 呼び出し元のプロセス(親プロセス)の実ユーザーID。
  • 普通にログインして、何かプロセスをシェルから走らせる場合、ログインシェルのUIDがログインユーザーIDなので、ログインユーザーIDになる。

実効UID

  • 呼び出し元のプロセス(親プロセス)の実効ユーザーID。
  • ファイルアクセスに影響。
  • 普通にログインして、何かプロセスをシェルから走らせる場合、ログインシェルのUIDがログインユーザーIDなので、ログインユーザーIDになる。
  • ただし、SUID ビットがあるときは、それに従う。

SUID, SGID, スティッキービット

SUID, SGID

| それぞれ setuid, setgidのこと。 | まず、 SUID(SGID) ビットが立っているファイルについて見る。


DNS サーバー

ニフティクラウド上でサーバーを立てた。 いろいろと設定していこうかと思っているが、まずはDNSから始める。

作業内容

1. /etc/bind/named.conf.options 以下のように書き換える:

// v6の設定: v6は応答しない
// listen-on-v6 { any; };
listen-on-v6 { none; };

// transfer を許すIPを制限
allow-transfer "192.168.100.1";

2. /etc/bind/named.conf.local ゾーンの設定:


Perl のコンパイラオプション

参考ページ

基本的なオプション

-e

  • ワンライナーを書くために必須。
  • 複数並べられるので、それなりに色々書ける
  • 直後にperlプログラムを書ける。
perl -e 'print 11/2'

-l[8進数]

  • 行末に指定された8進数に変える。-l のみの場合、改行になる。
perl -e 'print 22'       #=> 22
perl -l -e 'print 22'    #=> 22\n
perl -l101 -e 'print 22' #=> 22A

-0[digits]

  • -l の入力セパレータバージョン