linux
linuxのsysstatには、今ディスクにアクセスしているプロセスを特定できるpidstatというコマンドがあります。 使い方
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.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時間と日付を相互変換する方法です。 zabbix_senderで過去日付をファイルで渡すときには、unix時間が必要となります。 dateコマンドで各種ログの日付フォーマットとunix時間に変換できるのでとても便利です。 $ date +%s --date "2012-10-10 13:00" 1349…
CentOSにホスト型侵入検知のaideを導入してみます。 インストール RedHatと同様、yumを使ってインストールします。 $ sudo yum install aide 初期設定 インストール直後のネットワーク接続前に初期状態のファイルを作成して、どこかに保管しておきます。 $ s…
CentOSをインストールしました。 CentOSってRedHat互換なのですね。 インストール ライブCDイメージで起動するとテキストモードとGUIモードでインストールできます。 Ubuntuのインストーラよりインストールが早く感じました。 設定 インストール直後は、誰で…
CPU、メモリ、ディスクに負荷がかかった状況を再現するためにstressコマンドが便利です。 インストール aptパッケージでstressをインストールします。 $ sudo apt-get install stress 使い方 使い方は、stressコマンドのオプションを指定して実行するだけで…
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サーバのswap空き容量が起動2日くらいから減り始めるためswap in/outとセットで監視するようにしました。 やはり、swap空き容量の現象に合わせてswap outが増えていてスラッシングが発生しているため、メモリを増やすか、動かすプロセスを減らす必要が…
以前にfsarchiverでUbuntuのバックアップを取って仮想環境に検証環境を作成しました。 その時に、MBRやgrubの設定は、インストール済みの既存環境を使いましたが、以下のようにMBRやパーティションテーブルもコピーすることで完全にHDDをクローンすることが…
自宅のサーバが1週間くらいでswapを使い果たしていることに気が付きました。 起動時点では、swapは全く使われていませんが、徐々に減っていって50%をきると急激にswapが減っているようです。 swapを使うこと自体は、物理メモリを有効に使おうとするlinuxカ…
ユーザをグループに追加するときにいつもオプションを忘れてしまって/etc/groupを直接修正してしまうので覚書です。 -Gオプションの後にカンマ区切りで参加させたいグループを列挙する必要があります。 列挙していないグループからは除外されてしまいます。 …
プログラムにリンクされているライブラリは、lddコマンドで調べられます。 例えば、whoamiコマンドでは下記のように3つのライブラリがリンクされています。 $ ldd /usr/bin/whoami linux-gate.so.1 => (0xb7849000) libc.so.6 => /lib/tls/i686/cmov/libc.s…
shredコマンドを使ってデータを破棄することができます。 shredは、乱数データやnullデータをファイルに指定回数書き込みすることでデータを破棄します。 ハードディスクを譲渡や破棄するときに便利ですが、普段ファイルを削除するときにも便利です。
ファンレスなので、やっぱり温度は高めです。 この20日間で38度C-48度C、平均温度は、43度C 夏になったら50度越えてしまうので、冷すことを考えておいた方がよさそうです。
新サーバにsquidをセットアップしました。 契約しているプロバイダには、プロキシサーバがないのでWebキャッシュとしてとても効果がありました。 一度、参照したページは瞬時に表示されます。
まえにlsofコマンドでポートを使っているプログラムを確認できることを書きました。 -iオプションを付けてポートを指定すると、もっと簡単に確認することができます。 root権限がない場合は、自分がオーナのプロセスだけしか見れませんが動作確認の場合には…
サーバの監視にNagiosを使ってきましたが、zabbixに乗り換えます。 zabbixは、サーバ、Webインタフェース、エージェントで構成されており、それぞれaptパッケージがあるのでDebian/Ubuntuへの導入は簡単です。 特別な設定なしに、ユーザのロケールを設定する…
sshを使ってローカルディレクトリごとリモートサーバにコピーする場合には、rsyncが便利です。 $ rsync -avz -e ssh [ローカルディレクトリ] [ユーザ]@[リモートサーバ]:[リモートディレクトリ] $ローカルでディレクトリごとコピーする場合にも便利です。 $ …
globalは、CやJavaのソースコードを解析して定義や参照をエディタから、たどれるようにしてくれます。 類似のツールでetagsやctagsがありサポートしている言語や使い方が微妙に違います。
Linuxのソースは、linux-sourceパッケージで取得することができます。
sar -Aで全情報がでます。 当たりをつけるには、vmstatやiostatの方が好きだな。
操作を自動化するには、makeが便利です。 クリーンナップをする場合、あってもなくてもプロセスをkillするような操作をすることがあります。例えば、aaaaとbbbbという2つのプロセスをkillする必要があるが、aaaaプロセスが既に終了しているというケースです…
Eucalyptusは、PaaSの実装でAmazon EC2と互換がありLinuxマシンをブラウザから作成することができます。 Ubuntuでは、9.04からサポートされ、Ubuntu 9.10ではUbuntu Enterprise Cloud(UEC)としてパッケージ化されています。 仮想ソフトは、Virtual BOXを使っ…
stellariumというオープンソースの星図ソフトを試してみました。 MacPortsにもパッケージされているようなので、インストールしてみましたが画面が激しくちらついて使えませんでした。 何か設定など必要なのかもしれませんが、あまり深く追求せずに最新版を…
Ubuntuでは、起動時間を早くするためにinitデーモンではなくUpstartが採用されています。 また、initデーモンでは、うまく扱えないUSB関連の機器を扱うためにイベントドリブンで必要になったら起動するようになっているようです。 Upstartには、イベント、タ…
bazaarは、ユーザ名の設定や管理対象外のファイル指定をコマンドで指定できるところが気に入りました。 ユーザ名の指定 whoamiコマンドを使って設定と確認ができます。 デフォルトでは、unixアカウントが指定されています。 $ bzr whoami [GCOSフィールドの…
前に/etcのバージョン管理をするetckeeperについて書きました。 etckeeperは、Mercurialやgit, darcsといった様々な分散バージョン管理システムに対応しています。 デフォルトのバージョン管理は、bazaarだったのですが、その当時、Mercurialを使い始めてい…