以下イベントの発表資料です。 https://forkwell.connpass.com/event/273179/
![Linuxカーネル学習の敷居を下げたいという思いを実現した本、「Linuxのしくみ」](https://cdn-ak-scissors.b.st-hatena.com/image/square/7d35724138d2197dc882dbc81461841bae661cb9/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F235d8977cd0a413fb2db50ab7c39a6e2%2Fslide_0.jpg%3F24560586)
斎藤です。こんにちは。 今日は、デーモンの起動・終了に際してはserviceコマンドを使った方がいいよ、というお話です。 ※CentOS 6.4 (x86_64) でテストしています。尚、特記がある所を除きます。 デーモンの起動・終了には大きく2手 Linux、特にRedHat, CentOS, Fedora, Ubuntu[1]などでは、デーモンの起動・終了の制御の際に、大きく分けて次の2つの方法を用いる事ができます。 "/etc/init.d/"配下のスクリプト(以下、スクリプト)を直接実行する "service"コマンドを実行する 一見、同じ事をやっているように思えるのですが、実は違う部分があります。それは、起動スクリプトが扱う環境変数が違うのです。次の節で、検証してみます。 扱う環境変数が違う スクリプトを直接実行する場合は、実行時の際の環境変数をそのまま利用します。一方、serv
カーネル2.6.13からファイルの状態やイベントを監視するinotifyという機能が使えるようになっています。 (カーネルの機能の一部として実装されている) 詳細は下記が参考になると思います。 inotify を使ってファイルシステムのアクティビティーを監視する @ IBM で、使ってみたら結構これが面白い。 応用すれば、あるファイルを削除されたり変更されたらアラートを発砲するとか、ディレクトリ内にどのような操作が行われたのかを見ることができます。 予断ですが、ファイル監視といえばFAM(file alteration monitor)というツールもあります。 使ったことないのですが、ファイル監視をしてくれるというものらしく、初めはファイルを監視したいという要件を満たすために、FAMを使ってみようかなと思っていたのですが、日本語の情報が乏しいのと、RedHat系OSでは提供されなくなった(
今更感があるかもしれませんが紹介。 stressコマンドを使うと、CPUやメモリ、ディスクに対して意図的に負荷を与えることができます。 どこで使うかというと、、、高負荷時のシステムの挙動を見たい場合、AutoScaling等の負荷状況に応じて自動でスケールアップ/アウトさせるための仕組みのテストをしたい場合、部屋が寒いときにPCに発熱させたい場合wwwなどで使えるのかな、と。 Stressをインストール CentOSやRedHatの場合は、DAG(rpmforge)のリポジトリがあるので、ここのパッケージからインストールしましょう。 DAGをyumのリポジトリに追加する場合は、以下リンクから(CentOS5[x86_64]系の2010/05/14時点の最新版は)"rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm"をダウンロードして、rpmインストールしま
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 自分がLinuxエンジニアになりたくて、入社一年目にやってよかった事をまとめておこうと思う。一年目にどれだけやるかが、勝負の別れめといっても過言ではない。それは技術を学ぶだけではない。いっぱいあるんだけど、最低限やって良かったなと思う項目を列挙する。 それがぼくには楽しかったからを読む Amazonとかで買う。出来れば原著がいいけど無理しなくて良い。 Just for Fun. Linuxがどうやってできたか、なぜそれをしようと思ったのかが分かり、今後自分がLinuxのエンジニアとしてどういう動機で仕事をしていきたいかを考えさせてくれる本。この本を読めば、自分が仕事でオープンソースを扱っていることに自信を持てると思う。 「なんでその仕事してる
Something went wrong, but don’t fret — let’s give it another shot.
エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET
はじめに Linux のセキュリティ設定ってなかなかまとまったものがないので、いろんなサイトを参考にしながら設定をまとめてみました。想定はWeb サーバーで、使用している Linux は CentOS 6.2 です。 設定内容は以下のようになります。 全パッケージのアップデート リモートからの root ログインを無効にする 公開鍵暗号方式を使用した SSH ログイン設定 iptables 設定 SSH ポート番号の変更 不要なサービスを停止 ログ監視設定 ファイル改ざん検知ツール設定 ウィルス対策ソフト設定 Apache の設定 全パッケージのアップデート 最初に以下のコマンドを実行して、全パッケージを最新の状態にする。 # yum –y update 後は脆弱性が発見された時、または定期的にパッケージのアップデートを行う。 リモートからの root ログインを無効にする リモートからメ
こんにちは satoです。 monitは プロセスの監視を行うデーモンです。 条件とそれに伴うアクションを指定することができます。 条件とは例えば以下のようなものがあります プロセスが起動していなかったら 特定のプロセスのメモリの使用量が あるサイズを超えたら 特定のプロセスのCPUの使用率が 50%を超えている状態が 10分続いたら 特定のポートに接続できなくなったら など アクションには以下のような物があります 起動、再起動する アラートメールを送信する ユーザスクリプトを実行する など これらを組み合わせて、プロセスの監視を行います。とくにユーザが作成したプログラムの監視などに効果を発揮します。インストールは RedHat系なら yum install monit で入ります。(CentOSや商用のRedHatはrpmforgeをリポジトリとして追加する必要があります) 主な設定ファ
Do you need something to help you study for the RHCE exam? Trouble-Maker is going to help you break stuff! Introduction Being a system administrator is full of interesting challenges. We like this. However, some of these challenges can be problematic, if they cause service interrupts on production systems. Most system administrators have run into the situation where something is wrong, the server
dstat という vmstat, iostat, netstat, nfsstat, ifstat 用の置き換えとして使える多機能ツールがあることを知ったので、CentOS でさっそく試してみました。 まず、インストール方法ですが、公式に dstat パッケージが提供されているので yum 一発でインストールすることができます。 $ sudo yum install dstat /usr/bin/dstat にインストールされます。 dsat は多機能ツールですが、使い方は dstat –help するとたくさん表示されます。 まず、オプションを指定しないで実行してみます。 $ /usr/bin/dstat —-total-cpu-usage—- -dsk/total- -net/total- —paging– —system– usr sys idl wai hiq siq| read
このエントリはhttp://d.hatena.ne.jp/takahirox/20120131/1328006885を和訳したものです。 はじめに 最近UNIX 6thのソースコードの読書メモを書き終えました。 みさなんにもUNIX 6thのソースコードを読むことをオススメします。 その理由をこのエントリで書いていきます。 まとめ UNIX 6thは初めてOSのソースコードを読む人にうってつけ! 今すぐ読み始めましょう! UNIX 6thのソースコードはこちらなどで読むことができます。 http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6 UNIX 6thのソースコードを読むことをオススメする理由 たったの10,000行 最近のLinuxカーネルのソースコードは100万行を超えています。全てを理解するのは至難の業です。 一方、UNIX 6thのカー
20万ダウンロード突破! 初心者の方が基礎からLinuxを学習するために最適な教科書 LPI-Japanは、Linux/OSS技術者教育に利用していただくことを目的とした教材「Linux標準教科書」を開発し、無償にて公開しています。 基本的なコマンド、正規表現、シェルスクリプト、ファイル管理など、Linuxの基礎知識を系統立てて学べるように構成されており、初心者の方が基礎からLinuxを学ぶために最適な内容となっています。操作手順をひとつずつ説明している本教材はすでに20万回以上ダウンロードされ、「授業でも自習でも使える実践的な教科書」として学校教育、若手エンジニア教育、個人学習などに広くご利用いただいています。 Linux標準教科書で学習する内容は、LinuCレベル1の101試験と102試験の受験にも役立つ内容となっています。 本教材は試験対策教材ではありません LinuCの試験対策には
並列1000コネクションに耐える! Ruby のイベント駆動ライブラリ Rev と EventMachine の HTTPクライアント こんにちは、takada-at です。 Rubyのイベント駆動型ネットワークプログラミングフレームワーク Rev と EventMachine で HTTPクライアントを動かしてみました。 イベント駆動型ネットワークプログラミングフレームワークとは何か説明しだすと難しいですが、一言で言うと、以下のようになります。 # ふつうのフロー駆動型プログラム Net::HTTP.start(host, port){|http| res = http.get(path) #この処理が終わってから } puts "done" #この次の処理が実行される # イベント駆動型プログラム client = Rev::HttpClient::connect(host, port
システム全体のファイルディスクリプタの上限値を変更する ファイルディスクリプタの上限値を増やす設定を、Ubuntuを例として作業を進めていくが、CentOSなどにも適用可能。 とりあえず、現在のファイルディスクリプタの使用状況を確認してみる。 $ cat /proc/sys/fs/file-nr 4256 0 98531左から、割り当て済みファイルディスクリプタ 、使用中ファイルディスクリプタ 、最大割り当て可能ファイルディスクリプタとなる。 この最大割り当て可能ファイルディスクリプタの値を増やしてみる。/etc/sysctl.conf を開いて、最下行に以下のように追記する。 $ sudo vi /etc/sysctl.conf # ファイルディスクリプタの上限値 fs.file-max = 794573ここでは最大割り当て可能値を794573とした。この設定を反映させる為に以下のコマン
システム全体での最大プロセス数(プロセス数+スレッド数)は、threads-max の値で決まる。(Linuxカーネルからは、スレッドもプロセスのように見える) この値を超えるプロセスは生成できないので必要に応じて十分な値を取る必要があるかもしれない。ただし、threads-maxのデフォルトの数値はメモリ量に合わせて起動時に計算された値となっている。ちなみにうちの環境では以下の値だった。 $ cat /proc/sys/kernel/threads-max 15871とりあえず、テストとして値を3倍にしてみる。変更方法は、/etc/sysctl.conf に以下のように追記する。 $ sudo vi /etc/sysctl.conf ... # システム全体での最大プロセス数 kernel.threads-max = 47613 ← 追記 編集後は以下のコマンドで設定を反映させる。 $
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く