読者です 読者をやめる 読者になる 読者になる

TIPS

パスワード変更時に「/usr/share/cracklib/pw_dict: error reading header」エラーが出たときの対処メモ

普段作業用に使っているVMのパスワードがなぜか変更できなくなったので、 そのとき調査したことと、復旧で行ったことをメモしておきます。 環境はCentOS6.6の64ビット版です。 起きたこと passwd コマンドを使って、パスワードを変更しようとしたところ、以…

.gitkeepファイルをすべてのディレクトリに作成する

Gitでコードを管理する場合、空ディレクトリが存在すると、管理対象になりません。 こんなときは、find コマンドの -exec オプションを使って、.gitkeepファイルを 全てのディレクトリにとりあえず作ってしまうのが楽です。 たとえば、Chefで新しいcookbook…

Oracle JDKをCLIで直接ダウンロードする方法

今日はTIPSをメモ。 Oracle JDKをLinuxで使う場合、直接RPMファイル等をダウンロードしたい場合があります。 wgetで「--no-check-certificate」「--no-cookies」「--header」オプションをつけるとうまくいく模様。 本日時点で最新版のJava SE Development Ki…

CloudFormationのParameterで正規表現を使う場合の話

今日はタイトル通りのメモです。 CloudFormationで正規表現を使いたい場合のリファレンスをメモ。 Parametersのパラメータ内でAllowedPatternを使いたい場合など Javaの正規表現に準拠しているんですね。 今日はこんなところで。 参考 AWS CloudFormation テ…

opensslコマンドとサーバ証明書関連あれこれ

久々のエントリです。 仕事でたまにサーバ証明書の更新等をするのですが、毎回検索しながらやっているので、自分用メモあれこれです。 作成する証明書の形式はApache等で使用する形式のものを作成する方法です。 CSRの作成 CSRを作成するために、まずは秘密…

パスワードハッシュの作り方

Chefのレシピでユーザを作成する場合やKickstartの設定ファイルを作る際に、 パスワードハッシュを作る必要があります。 そんなときの自分メモです。 openssl openssl コマンドで実行する場合は、「openssl passwd -1 'pass'」でパスワードハッシュを作成で…

プロキシ設定あれこれ

自分メモです。直接インターネットにつながらない環境で、プロキシを使うケースもあります。 今回はそんなときの例です。 yum の場合 「/etc/yum.conf」に以下を記述します。 proxy=http://<proxy ip>:<port>/ HTTP/FTPのリクエスト 以下のように環境変数を定義しておきます</port></proxy>…

ssh_configメモ

自分用のssh_configメモです。 「/home//.ssh/config」に以下のように記載します。 ホスト、ユーザを指定 こんな感じにすれば、「$ ssh hostA」で「$ ssh myuser@192.168.1.xxx」と同等。 Host hostA HostName 192.168.1.xxx User myuser 多段ログイン こん…

IPアドレスのリストを作成する

サーバー管理などをやっていると、IPアドレスのリストを作成したくなるケースも出てくるかと思います。 一つ一つ記述していると結構面倒だったりします。 ということで、簡単なシェルを書いてみます。 数字の繰り返しはseqコマンドを使うとよいです。 以下は…

SSH公開鍵のフィンガープリントリストを作る

前回、check_by_sshを使った監視を行うで、ssh公開鍵のフィンガープリントを確認しておく必要があるという話題に触れましたが、台数が増えると結構面倒です。 今回は、知っていると少しだけ楽になるかも?というTIPSです。 ssh-keyscanコマンドを使うと、接…

ローカル環境にPerlをインストールして使う

一般的にPerlの実行環境が最初から入っている事が多いと思いますが、 時には自分専用の環境が欲しかったり、既存の環境を汚したくなかったりするときがあります。 ローカル環境にPerlをインストールして使う方法のメモです。 今回は「/home/myuser/perl」以…

WebブラウザからVNCを使う

たまたま知ったので、メモです。 VNCはWebブラウザ経由でも使える。 ということで、試してみました。 実行方法 任意のユーザーでディスプレイ番号を指定して起動しておきます。 (ここではディスプレイ番号1を指定) $ vncserver :1 ブラウザから「http://xxx.…

ssh-keygenコマンドメモ

SSHを使っている時に毎回検索しているものをメモ。 公開鍵の作成 「ssh-keygen」コマンドで作成すればOK。「rsa」ならRSA暗号、「dsa」ならDSA暗号になります。 $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save t…

nkfメモ

たまに使いますが、毎回使い方忘れているのでメモ。 文字コードを推定(guess)する 試したファイルの文字コードはShift_JISでした。 (ちなみに日本全国の郵便番号データです) $ nkf -g KEN_ALL.CSV Shift_JIS 文字コードを変換する ファイルの文字コードを変…

cpan2rpmを使う

perlモジュールをrpmで管理してみようと思い、 今回はcpan2rpmを使ってみました。その時のメモです。 インストール 今回はCentOSを使っていたので、直接ダウンロードしてパッケージをインストールしました。 ※Fedoraの場合はそのままyumコマンドを使ってイン…

RPMビルド環境を作るスクリプト

たまにRPMをビルドしたくなることがあるのですが、 毎回一般ユーザー用のビルド環境を用意するのは面倒だなと思っていました。 今日はちょっとしたスクリプトを書いてみたので公開します。 実行したユーザーのホームディレクトリにRPMビルド用の環境を作り、…

database disk image is malformed

自分用のメモです。先日yumでパッケージをインストールしようとしたら、 「Error: database disk image is malformed」と怒られました。 ※再現時のメッセージを取っておくのを忘れてしまった。。環境はCentOS5です。以下のコマンドで対処は完了。 # yum clea…

rpmパッケージからファイルを取り出す

やろうとする度に毎回検索しているので自分用メモです。RPMパッケージからファイルを取り出す方法です。RPMパッケージからファイルを取り出す場合は「rpm2cpio」コマンドを使います。 $ mkdir work $ cd work $ rpm2cpio ../xen-3.4.3-4.el5.src.rpm | cpio …

procinfoコマンドを使ってみる

procinfoコマンドなるものがある事を知って、試してみる事にしました。 システムの状態を/proc以下から集め、表示するコマンドだそうです。 procinfoパッケージがあれば使えます。 いくつかオプション付けて試してみました。 「-a」オプションで全て表示 # p…

statコマンドを使ってみる

恥ずかしながら、statコマンドなるものがあることを初めて知りました。 試した結果をメモ。 引数を何も付けないと、ファイルに関する情報を色々と表示してくれる。 # stat /etc/hosts File: `/etc/hosts' Size: 234 Blocks: 16 IO Block: 4096 通常ファイル …

コメント行を取り出す、コメント行を取り除く

設定ファイルを触っていると、コメント行だけ見たい場合や、 逆にコメント行が邪魔な場合があったりします。そんな時に。 一般的な「#」がコメントになると仮定しています。 行頭が「#」、もしくは空白文字で、その次に「#」が出てくる場合に一致する、はず…

DomUのコンソールから抜ける

いつも忘れるのでメモ。 XenでDomUのコンソールからぬけるには「Ctrl + ]」 今日はこんな所で。

gzipコマンドとタイムスタンプ

今日は「gzip」についての小ネタです。 manを見ていたところ、gzipコマンドはデフォルトで、 圧縮時→元ファイルの名前とタイムスタンプを保存する 伸張時→元ファイルの名前とタイムスタンプを復元しない という動作をするとのこと。 少し試してみました。 以…

設定ファイルを指定して、logrotateを実行する

ログのローテーション処理は重要なのですが、実装が何気に面倒だったりします。 今回はシステム全体のログローテート処理用のものとは別の設定ファイルを用意して、 logrotateを使おうというお話です。 今回の想定を以下にまとめます。 ちなみにOSはCentOSを…

ハードウェアの情報収集にlshwを使う

ハードウェアの情報集種コマンドとして「lshw」なるものがある事を知り、簡単に試してみました。 インストールはyum一発です。 ただし、EPELをリポジトリとして指定しておく必要があります。 # yum install lshw VirtualBox上のVMで実行してみた結果はこんな…

キー配列を変更する

キー配列を変更する方法です。 毎回忘れてしまうので、備忘録的に。 例によって、CentOSの例です。 参考のリンク先を自分用まとめです。。 設定ファイルは「/etc/sysconfig/keyboard」です。 「KEYTABLE」の値を書き換えると次回起動時に有効になります。 下…

sleepとusleep

先日usleepなるコマンドを知りました。 sleepが秒、分、時、日単位の指定に対して、 usleepはマイクロ秒単位の指定らしいです。 $ sleep 1s (1秒) $ sleep 1m (1分) $ sleep 1h (1時間) $ sleep 1d (1日) $ usleep 1 (1マイクロ秒)でも、man に BUGS Probabl…

yumのローカルリポジトリを作る

特定の用途向けに専用のリポジトリが欲しい時があると思います。 そんな時は「createrepo」コマンドです。 今回はサンプルとして、「/opt/repo/」というディレクトリを作成し、 いくつかRPMパッケージを入れておきます。これをリポジトリとします。 # pwd /o…

sipcalcについてのメモ

IPアドレスのサブネット計算とかやる必要が時にはあります。 計算に慣れてしまえばいいんでしょうが、結構面倒な時もあります。 そんな時の「sipcalc」コマンドです。 「ipcalc」というコマンドもありますが、こっちのほうが良さげ。 使い方 # sipcalc -a -4…

yumでローカルメディアを指定する

yumコマンドって便利だと思います。 通常インターネット上のリポジトリを指定して、 インターネット経由でパッケージをダウンロードしてインストールすることが多いと思います。 インターネットに直接繋げない環境で、 パッケージをインストールすることにな…

htpasswdで8文字以上のパスワードを設定する

先日これで軽くハマったので備忘的に。 Apacheでベーシック認証を行う場合、「htpasswd」コマンドで パスワードファイルを作成します。 8文字以上のパスワードを付けたい場合は、「-m」オプションを付けて、 パスワードの暗号化アルゴリズムをMD5にする事。 …

SHOWコマンドを少し調べる

仕事で普段全然使わないので、忘れないようにメモです。 パッケージインストールした状態でとりあえずコマンド打ちます。 データベース一覧の表示 mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema…

TomcatのWeb Application Managerを有効にする

TomcatのGUI管理ツールである「Web Application Manager」を有効にする方法です。 これも備忘録的に。設定はそんなに難しくありません。 「$CATALINA_HOME/conf/tomcat-users.xml」に 以下の一行を追加して、Tomcatを起動するだけです。 <user username="[your user]" password="[your password]" roles="manager"/> ブラウザで、「http</user>…

ランレベルの話など

備忘録的に書いておこうと思います。 ランレベル OS起動時のランレベルを調べる必要があるときもあります。 「/etc/inittab」の「initdefault」の値になります。 RedHat系のLinuxでは、このような記載があれば、ランレベルは3になります。 (Debian系は最近触…

Tomcatの環境変数

今日は自分のメモも兼ねてTomcatの環境変数について少し。 RPM版Tomcat編 RPM版のTomcatは「/etc/sysconfig/tomcat5」で 環境変数の設定がされています。ここで設定すれば良いようです。 例えば、RPM版のTomcatでは初期状態ではGCJを利用するようになってい…

losetupを使ってソフトウェアRAIDを実験する

例えばハードディスクが一台しか無いけど、ソフトウェアRAID環境を作ってみたいという時に。 今回はlosetup を利用して、ローカルディスクのイメージファイルを使って ソフトウェアRAIDを使ったRAID1の環境を作ってみます。 (言うまでもなく、冗長性は0です…

ダミーファイルを作る

適当な大きさのダミーファイルが必要になった時。 そんな時はddを使うと良いです。 # dd if=/dev/zero of=1B.img bs=1 count=1 # dd if=/dev/zero of=1K.img bs=1024 count=1 # dd if=/dev/zero of=1M.img bs=1024 count=1000 # dd if=/dev/zero of=1G.img b…

rootにsuできるユーザーを制限する

rootにsuできるユーザーを制限したい時もあると思います。 そんなときの設定です。 今回の環境はCentOS5.5です。 ユーザーの作成 ユーザー「myuser1」「myuser2」を作成します。 # egrep "myuser1|myuser2" /etc/passwd myuser1:x:2000:2000::/home/myuser1:…

エラーメッセージとその対処あれこれ

今回はApacheのエラーメッセージと対処について思いつくところをまとめてみました。 ポートが競合している (98)Address already in use: make_sock: could not bind to address [::]:80 no listening sockets available, shutting down Unable to open logs …

Apacheの状況をServerStatusとServerInfoから見る

今回はApacheの動作や設定値の状態を見る方法を。 Apacheには現在の動作状況や、httpd.confの設定状況を見る手段が用意されています。 今回はそれらを有効にする方法を簡単にまとめます。 Apacheの動作状況を見る mod_statusを有効にします。ソースファイル…

httpdを直接実行する

備忘録的に。 apachectlを使わないで直接httpdを実行する場合のオプションをメモすることにします。 Apacheは「/usr/local/apache」にインストールされていると仮定ということで。 起動/停止など 結局apachectlの中でも同じことをやっているわけですが。 起…

バージョンの確認いろいろ

開発や運用管理業務をやっていると、使っている環境のバージョンを確認する必要も出てきます。今回はいくつか集めてみました。 大体「v」とか「version」といったオプション付ければOK、というのが今回の結論だったりします。 Webサーバー Apache 「httpd -v…

rpmコマンド備忘録

RedHat系のLinuxではよくお世話になるrpmコマンド。 今更ながら自分自身の備忘録です。ある意味manが全てです。 インストールされているRPMパッケージの一覧を取得 よく「grep」と組み合わせて使います。 # rpm -qa | grep "openssl" openssl-0.9.8e-12.el5_…

tcp_wrappersのちょっとした話

tcp_wrappers、言わずと知れた「/etc/hosts.deny」「/etc/hosts.allow」を使った ネットワークサービスのアクセス制御です。大抵、 「/etc/hosts.deny」に「ALL:ALL」 「/etc/hosts.allow」に「許可したいデーモン:許可したいネットワーク」 とするかと。こ…

パスワード設定のちょいネタ

今日はパスワード設定のちょいネタで。 その1:mkpasswdを使ってランダムなパスワードを生成する パスワードを考えるのは結構面倒なものです。 mkpasswdを使うとあまり考えずにパスワードを生成できます。 もしmkpasswdがいなければ、expectパッケージをイン…