ksaitoの日記

日々試したことの覚え書き

linux

ディスクにアクセスしているプロセスを特定する

linuxのsysstatには、今ディスクにアクセスしているプロセスを特定できるpidstatというコマンドがあります。 使い方

CentOSでOracleを動かす。

Oracle Database Express Edition 11g Release 2は、RPMパッケージで提供されているのでCentOSに入れるのは簡単です。 インストール RPMパッケージをダウンロード&解凍してインストールするだけです。 $ sudo rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm [su…

Ubuntu 12.10のZabbixアップグレード

Ubuntu 12.04では、Zabbix 1.8が提供されていました。 12.10にアップグレードするとZabbix 2.0.2が使えるようになります。 Zabbix 1.8からアップグレードしました。 Ubuntu 12.04から12.10へのアップグレード アップグレードは、コマンド一つで少し時間がか…

不良ブロックのチェック

ディスクの不良ブロックは、badblocksコマンドでチェックできます。 $ sudo badblocks -vs -o bat.txt /dev/sda5 [sudo] password for ksaito: Checking blocks 0 to 9333732 Checking for bad blocks (read-only test): done Pass completed, 0 bad blocks …

unix時間

unix時間と日付を相互変換する方法です。 zabbix_senderで過去日付をファイルで渡すときには、unix時間が必要となります。 dateコマンドで各種ログの日付フォーマットとunix時間に変換できるのでとても便利です。 $ date +%s --date "2012-10-10 13:00" 1349…

aide

CentOSにホスト型侵入検知のaideを導入してみます。 インストール RedHatと同様、yumを使ってインストールします。 $ sudo yum install aide 初期設定 インストール直後のネットワーク接続前に初期状態のファイルを作成して、どこかに保管しておきます。 $ s…

CentOS

CentOSをインストールしました。 CentOSってRedHat互換なのですね。 インストール ライブCDイメージで起動するとテキストモードとGUIモードでインストールできます。 Ubuntuのインストーラよりインストールが早く感じました。 設定 インストール直後は、誰で…

負荷試験

CPU、メモリ、ディスクに負荷がかかった状況を再現するためにstressコマンドが便利です。 インストール aptパッケージでstressをインストールします。 $ sudo apt-get install stress 使い方 使い方は、stressコマンドのオプションを指定して実行するだけで…

ドットファイルも含めてtarする方法

tarコマンドは、ドットファイルを無視します。 こんな感じで.testrcファイルは無視されます。 $ ls -a test . .. .testrc test $ tar cfz test.tar.gz test/* $ tar tfz test.tar.gz test/test $ バックアップ用途の場合、ドットファイルだけがバックアップ…

ファイルの変更を監視する。

SubversionをApacheでホスティングする場合、Subversionリポジトリのファイルオーナは、Apacheを起動しているオーナにする必要があります。 DebianやUbuntuの場合、apacheというユーザになります。 たまにコミットエラーが起こるのですが、リポジトリの一部…

SOHOサーバは、メモリ不足

SOHOサーバのswap空き容量が起動2日くらいから減り始めるためswap in/outとセットで監視するようにしました。 やはり、swap空き容量の現象に合わせてswap outが増えていてスラッシングが発生しているため、メモリを増やすか、動かすプロセスを減らす必要が…

HDDのクローン

以前にfsarchiverでUbuntuのバックアップを取って仮想環境に検証環境を作成しました。 その時に、MBRやgrubの設定は、インストール済みの既存環境を使いましたが、以下のようにMBRやパーティションテーブルもコピーすることで完全にHDDをクローンすることが…

zabbixでswapの使用状況を監視する

自宅のサーバが1週間くらいでswapを使い果たしていることに気が付きました。 起動時点では、swapは全く使われていませんが、徐々に減っていって50%をきると急激にswapが減っているようです。 swapを使うこと自体は、物理メモリを有効に使おうとするlinuxカ…

グループの操作

ユーザをグループに追加するときにいつもオプションを忘れてしまって/etc/groupを直接修正してしまうので覚書です。 -Gオプションの後にカンマ区切りで参加させたいグループを列挙する必要があります。 列挙していないグループからは除外されてしまいます。 …

nmコマンド

プログラムにリンクされているライブラリは、lddコマンドで調べられます。 例えば、whoamiコマンドでは下記のように3つのライブラリがリンクされています。 $ ldd /usr/bin/whoami linux-gate.so.1 => (0xb7849000) libc.so.6 => /lib/tls/i686/cmov/libc.s…

データを破棄する

shredコマンドを使ってデータを破棄することができます。 shredは、乱数データやnullデータをファイルに指定回数書き込みすることでデータを破棄します。 ハードディスクを譲渡や破棄するときに便利ですが、普段ファイルを削除するときにも便利です。

EPSON NP11の温度

ファンレスなので、やっぱり温度は高めです。 この20日間で38度C-48度C、平均温度は、43度C 夏になったら50度越えてしまうので、冷すことを考えておいた方がよさそうです。

squid

新サーバにsquidをセットアップしました。 契約しているプロバイダには、プロキシサーバがないのでWebキャッシュとしてとても効果がありました。 一度、参照したページは瞬時に表示されます。

lsofのオプション

まえにlsofコマンドでポートを使っているプログラムを確認できることを書きました。 -iオプションを付けてポートを指定すると、もっと簡単に確認することができます。 root権限がない場合は、自分がオーナのプロセスだけしか見れませんが動作確認の場合には…

zabbix

サーバの監視にNagiosを使ってきましたが、zabbixに乗り換えます。 zabbixは、サーバ、Webインタフェース、エージェントで構成されており、それぞれaptパッケージがあるのでDebian/Ubuntuへの導入は簡単です。 特別な設定なしに、ユーザのロケールを設定する…

rsyncを使ったリモートへのコピー

sshを使ってローカルディレクトリごとリモートサーバにコピーする場合には、rsyncが便利です。 $ rsync -avz -e ssh [ローカルディレクトリ] [ユーザ]@[リモートサーバ]:[リモートディレクトリ] $ローカルでディレクトリごとコピーする場合にも便利です。 $ …

globalはソースコードを読むためのツール

globalは、CやJavaのソースコードを解析して定義や参照をエディタから、たどれるようにしてくれます。 類似のツールでetagsやctagsがありサポートしている言語や使い方が微妙に違います。

Linuxのソース

Linuxのソースは、linux-sourceパッケージで取得することができます。

sarコマンドの全情報を表示する

sar -Aで全情報がでます。 当たりをつけるには、vmstatやiostatの方が好きだな。

makeのオプション

操作を自動化するには、makeが便利です。 クリーンナップをする場合、あってもなくてもプロセスをkillするような操作をすることがあります。例えば、aaaaとbbbbという2つのプロセスをkillする必要があるが、aaaaプロセスが既に終了しているというケースです…

Eucalyptusのセットアップ

Eucalyptusは、PaaSの実装でAmazon EC2と互換がありLinuxマシンをブラウザから作成することができます。 Ubuntuでは、9.04からサポートされ、Ubuntu 9.10ではUbuntu Enterprise Cloud(UEC)としてパッケージ化されています。 仮想ソフトは、Virtual BOXを使っ…

オープンソースの星図ソフト

stellariumというオープンソースの星図ソフトを試してみました。 MacPortsにもパッケージされているようなので、インストールしてみましたが画面が激しくちらついて使えませんでした。 何か設定など必要なのかもしれませんが、あまり深く追求せずに最新版を…

Upstartの使い方を理解しよう

Ubuntuでは、起動時間を早くするためにinitデーモンではなくUpstartが採用されています。 また、initデーモンでは、うまく扱えないUSB関連の機器を扱うためにイベントドリブンで必要になったら起動するようになっているようです。 Upstartには、イベント、タ…

bazaarの良いところ

bazaarは、ユーザ名の設定や管理対象外のファイル指定をコマンドで指定できるところが気に入りました。 ユーザ名の指定 whoamiコマンドを使って設定と確認ができます。 デフォルトでは、unixアカウントが指定されています。 $ bzr whoami [GCOSフィールドの…

etckeeperのデフォルトのバージョン管理bazaarを使ってみる

前に/etcのバージョン管理をするetckeeperについて書きました。 etckeeperは、Mercurialやgit, darcsといった様々な分散バージョン管理システムに対応しています。 デフォルトのバージョン管理は、bazaarだったのですが、その当時、Mercurialを使い始めてい…