2009-07-01から1ヶ月間の記事一覧

Hack 87. クォート

特別な文字を持たない文を出力します。 $ echo The Geek Stuff The Geek Stuff特別な文字をもつ文を出力します。bash ではセミコロンはコマンドの区切りです。 以下の例では、“The Geek” は echo に関係し、 “Stuff”は Linux コマンドとして扱われますが、そ…

Dive Into Python

http://www.ibm.com/developerworks/jp/opensource/library/os-django/こういうとこにリンクされるとは。 Pythonまったく触ってないですけど。。。 訳も途中ですけど。。。 今となっては古い情報じゃないのかなぁ? 誰か超えかけてくれたら Python 熱がまた…

Hack 86. シェルスクリプトデバッグする

シェルスクリプトをデバッグするには、シェルスクリプト内の先頭で set -xv を使用します。デバッグコマンドを使用しないシェルスクリプト: $ cat filesize.sh #!/bin/bash for filesize in $(ls -l . | grep "^-" | awk '{print $5}') do let totalsize=$to…

Hack 85. bash シェルでランダムな数値を生成する

$RANDOM という bash 組み込み関数を使用して、 以下に示すように 0 – 32767 までのランダムな数値を生成します。 $ echo $RANDOM 22543 $ echo $RANDOM 25387 $ echo $RANDOM 647

Hack 84. .bash_* を順番に実行する

次のファイルはどのような順で実行されるでしょうか? o /etc/profile o ~/.bash_profile o ~/.bashrc o ~/.bash_login o ~/.profile o ~/.bash_logoutログインシェルを順番に実行する 次の仮想コードはこれらのファイルの実行順を示しています。 execute /e…

Chapter 11: Bash スクリプト

Hack 83. すぐに指定したモジュールのみロードする

ときどき Apache ですべてのモジュールをロードしたくないことがあります。 たとえば、LDAP をテストするときだけ、ldap に関係するモジュールをロードしたいでしょう。 以下のようにすることができます。httpd.conf を変更し、load-ldap (名前は任意です)…

Hack 82. httpd のビルドパラメータを表示する

オプション -V(大文字の V)を使用して、 Apache のバージョンや Apache をビルドした際に使用したパラメータすべてを表示します。 # httpd –V Server version: Apache/2.2.9 (Unix) Server built: Jul 14 2008 15:36:56 Server’s Module Magic Numbe…

Hack 81. 変更後に httpd.conf を確かめる

オプション -t を使用すると、指定した Apache 設定ファイルに 問題があるかどうかを確かめることができます。 以下の例では、httpd.conf.debug の 148 行目に問題があったことを示しています。 mod_auth_basicso は so の前に .(ピリオド)がありません。 …

Hack 80. httpd.conf 内で受け入れたディレクティブすべてを表示する

httpd のヘルプを拡張したようなものです。 httpd.conf のディレクティブすべてとディレクティブが有効な場所を表示します。 特定のディレクティブについては、有効な値すべてを表示し、 httpd.conf 内のその場所で使用することができます。 これは特定の Ap…

Hack 79. Apache 内部のモジュールを表示する

Apache 内部に近ぴいるされたモジュールを表示します。 # httpd -l Compiled in modules: core.c prefork.c http_core.c mod_so.cApache によって静的および動的にロードされたモジュール両方を表示するhttpd におぷしょん -l を渡すと、静的なモジュールの…

Hack 78. 一時的にログレベルを上げる

問題をデバッグ中に、一時的に Apache のログレベルを変更することができます。 以下に示すようにオプション -e を使用して httpd.conf の LogLevel ディレクティブを変更しなくてもいいです。 この例では LogLevel は debug にセットされます。 # httpd -k …

Hack 77. httpd.conf を編集せずに一時的に DocumentRoot を使用する

これはあなたのウェブサイトを違うレイアウトにしようとしているときにとても有用です。 デフォルトの DocumentRoot 下のオリジナルのファイルを変更したくないからです。オリジナルの DocumentRoot ディレクトリ (/var/www/html) を新しいテンポラリ Docume…

Hack 76. apachectl に 別の httpd.conf ファイルを渡す

典型的には、別の Apache ディレクティブを使用するにはオリジナルの httpd.conf を編集します。 なにかうまくいかない場合に、変更したものを元に戻すでしょう。 オリジナルの httpd.conf を編集する代わりに、新しく httpd.conf.debug にコピーし 以下に示…

Chapter 10: Apachectl と Httpd のサンプル

Apache2 をインストールした後に apachectl や httpd を使用して最大限の潜在能力を引き出したい場合、 start, stop, restart 以外のことが必要です。 この章では 9 つの実践的なサンプルを提供しています。 これらを利用すると効果的に apachectl や httpd …

Hack 75. Magic SysRq Key を使用した Linux の安全な再起動

magic SysRq key は Linux カーネル内のキーコンビネーションです。 これを使用することでシステムの状態に関係なく様々な低レベルのコマンドを実行できます。ファイルシステムを壊さずに、フリーズ状態からの復帰やコンピュータの再起動をしたいことがよく…

Hack 74. Crontab

cron を使用して指定した日時にシェルスクリプトや Linux コマンドを実行することができます。 たとえば、システム管理者は毎日実行可能なバックアップをスケジューリングできます。cron にジョブを追加するには? # crontab -e 0 5 * * * /root/bin/backup.…

Hack 73. ssh-agent と共に ssh-copy-id を使用する

ssh-add/ssh-agent と共に ssh-copy-id を使用するオプション -i に何も値が渡されないと、 ~/.ssh/identity.pub が有効ではない場合に ssh-copy-id は次のようにエラーメッセージを表示します。 jsmith@local-host$ ssh-copy-id -i remote-host /usr/bin/ss…

Hack 72. OpenSSH でパスワードなしのログインを設定する

この例で説明するように、ssky-keygen や ssh-copy-id を使用して 3 つの簡単なステップでパスワードを入力せずにリモートの Linux サーバにログインできます。ssh-keygen は公開鍵と秘密鍵を作成します。 ssh-copy-id はリモートホストの authorized_keys …

Hack 71. 新しいグループを作成してユーザを割り当てる

新しく developer グループを作成する。 # groupadd developersグループが正しく作成されことを確認する。 # grep developer /etc/group developers:x:511:ユーザを既存のグループに追加する。 既存のユーザを変更するのに useradd を使用できません。 次の…

Hack 70. 新しくユーザを作成する

新規ユーザを作成 – 基本メソッドユーザ名のみを指定する。 # useradd jsmithパラメータを指定して新規ユーザを追加するuseradd コマンドに次のパラメータを指定することもできます。 o -c : ユーザの詳細 o -e : mm/dd/yy 形式のユーザの使用期限 # adduser…

Hack 69. スワップファイルシステムを作成する

以下に示すようにスワップを使用するためにファイルを作成します。 # dd if=/dev/zero of=/home/swap-fs bs=1M count=512 512+0 records in 512+0 records out # ls -l /home/swap-fs -rw-r--r-- 1 root root 536870912 Jan 2 23:13 /home/swap-fsmkswap を…