UNIX

wgetでhttpsを使ってファイルを取得

以下を参考にして証明書無視してwgetでhttps経由でダウンロードできた。 http://pentan.info/server/linux/wget_error_ssl.html というのはwordpressのモノは以前はhttpでダウンロードできていたのに、4.3になってからhttpでダウンロードしようとするとhttps…

gdbでgetopt()のoptind/optoptを参照したときに値が違うように見える

結構ハマったのでメモ。 #include <stdio.h> #include <getopt.h> char *short_opts = "ab:"; struct option long_opts[] = { {"test", no_argument, 0, 0}, {"add", required_argument, 0, 0}, {0, 0, 0, 0} }; int main(int argc, char *argv[]) { int c = 0; int longindex; </getopt.h></stdio.h>…

MacOSXのarp-scan

以下のサイトで紹介されていたarp-scanをMacOSXにインストールして使ってみる。 http://orebibou.com/2015/04/lan%E5%86%85%E3%81%A7%E5%88%A9%E7%94%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8Bip%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E8%A…

pgrepの-xオプション指定時はコマンド名が15文字以内でないと検索できない件

pgrepの正規表現オプション"-x"であるが、これを指定するとコマンド名が15文字である必要がある。 pgrep -x とすると ^(コマンド名)$ (regcomp()に渡す文字列なのでおそらく文字列中の括弧は正規表現のグルーピングでなく純粋に"(",")"という文字として扱う…

GDBでプロセスID表示とdefine値表示

プロセスID表示 runした後、 (gdb) info proc id を使う。 define値表示 gオプションでコンパイルすると定義内容が表示できないので、 (gdb) p FOOBAR No symbol "FOOBAR" in current context. (gdb) shell grep FOOBAR /usr/include/bar.h としていたが、-g…

PostgreSQLデータベースのSlony-Iでのレプリケート例

参照サイト http://d.hatena.ne.jp/ttshrk/20110414/1302760971 http://tsunokawa.hatenablog.com/entry/20110412/1305643454 http://news.mynavi.jp/column/yetanother/031/ 環境 マスタ側(更新側) 172.16.167.144 スレーブ側(参照側) 172.16.167.130 O…

gccでshared libraryを作る場合

以下のまとめ記事が秀逸なのではてブしておいた。 http://d.hatena.ne.jp/wagavulin/20091026/1256577635 なお、-fPICと-fpicの違いは http://archive.linux.or.jp/JF/JFdocs/Program-Library-HOWTO/shared-libraries.html にあり、 コードの生成には -fPIC …

MacOS XでUSBハードディスクコピーをddコマンド実行

参考は以下。 http://d.hatena.ne.jp/Syunpei/20110131/1296453936 http://yamaqblog.tokyo/?p=9138 コピー元のディスクとコピー先のディスクをUSBポートに挿す。コピー先のディスクが新品などMacで認識できない場合は、 セットしたディスクは、このコンピュ…

CentOSをvirtualbox(mac)にインストール

参考サイト http://d.hatena.ne.jp/yk5656/20131208/1386476543 http://vboxmania.net/content/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E8%A8%AD%E5%AE%9A インストール作業 まずVMの設定とDVD設定まで Welcome to CentOS6.5 「Install or …

* Linux コマンドでのアップデート

CentOS 当然、yumです。 # yum update yum -y updateで最初からyesと答える手もあり。 ubuntu13 まず、ubuntuソフトウェアセンター(MacOS XのAppStoreと同じような"A"をもじったマーク)でupdate-manager-coreを検索。緑色のチェックがあればインストールさ…

CentOS 6.4で32bit環境の整備(SQLite3も含む)

sqlite3のライブラリを含んだプログラムを32bitでコンパイルする環境を整備。もともとテストマシンは64bitなので32bit関連はインストールされていない。そのためコンパイルがまともに通らない。 sqlite3の32bit版も必要だが、gcc関連も32bitの環境を整備して…

expectコマンドtips

対話的なコマンドを自動で行わせるためのコマンドとしてexpectというのがある。で「予期」している文字列パターンを正規表現で行うにはexpectコマンド「内部」のexpectコマンドに-reオプションをつける必要がある。以下では、「リモートホスト名」のホストに…

Linuxのcron RELOADタイミング

Linuxのcron(Vixie Cron)のRELOADタイミングは1分ごとのようだ。 なので、例えば急いで次の分(1分以内)で起動する設定を行うと、RELOADだけ行い、設定したコマンドが起動されなかった(ちょっと古めの某ディストリビューション)。 $ date 2014年 3月 2日 …

SQLite3のサンプル

SQLite3のC言語APIとsqlite3コマンドをCentOS6.4で動作検証してみたときの備忘録。 環境 [kohchi@localhost sqlite]$ cat /etc/redhat-release CentOS release 6.4 (Final) [kohchi@localhost sqlite]$ cat /proc/version Linux version 2.6.32-358.6.2.el6.…

NginxでLDAP認証

http://d.hatena.ne.jp/kazuokohchi/20131223 からの続き。CentOS6にNginxを入れてLDAP認証させてみたときのメモ。 Nginx公式のrpmはldap対応していない(lddするとわかる。こちらを参照)。なのでまずこいつを削除する。 # yum list nginx Loaded plugins: fa…

CentOS6へのNginxのインストール

リポジトリ登録 以下の公式ページを参照のこと。 http://nginx.org/en/linux_packages.html#stable # rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm http://nginx.org/packages/centos/6/noarch/RP…

LDAPにユーザ、グループを追加し、Linuxアカウントとして設定したときの備忘録

必要なパッケージのインストール $ rpm -qa | grep ldap python-ldap-2.3.10-1.el6.x86_64 apr-util-ldap-1.3.9-3.el6_0.1.x86_64 openldap-2.4.23-32.el6_4.1.x86_64 openldap-devel-2.4.23-32.el6_4.1.x86_64 $ su Password: # yum install openldap-serve…

* rpmbuildを使ってrpmを自作してみる

自作のプログラムをrpm化する場合のtips。確認はCentOS6.3。 1. rpmbuildをインストール rpmbuildがない場合はインストールしておく。 # yum -y install rpm-build 事前準備 $ echo "%_topdir $HOME/rpmbuild" >~/.rpmmacros $ mkdir -p ~/rpmbuild/{BUILD,R…

* VMware Fusion5にUbuntu 13.04をインストール

以前、Ubuntu 12.04をVMware Fusion5の簡単インストールでインストールしたところ英語版になったので、今回は簡単インストールを使わずインストールしてみた。 Ubuntu 13.04のインストール http://www.ubuntulinux.jp/download/ja-remix からisoをダウンロー…

UNIXタイムスタンプからlocaltimeへの変換(shell/perl/ruby)

UNIXタイムスタンプ(1970-01-01からの秒数)から日付への変換。ワンライナーな方向け。 shell(BSDのdateコマンドの場合) $ date +%s 1377292293 $ date -r 1377292293 +'%Y-%m-%d %H:%M:%S' 2013-08-24 06:11:33 $ shell(GNU dateコマンドの場合) $ date +%s …

vim Tips

隣の人に教えてもらったvimの便利な機能。ただし、vimオンリー。 分割表示 :sp (縦割りは :vsp ) にて分割する。カーソルがあるところで :e ファイル名 とすると分割の一方で違うファイルを編集することができる。カーソルの移動はCTRL+W Wで行う。 差分表示…

CentOS6でcoreを吐かせる方法

CentOS6ではセグメンテーション違反(segmentation fault)してもcoreを吐かない設定になっている。coreを吐かせてデバッグしたい場合は以下の設定が必要。 OS側の設定 sysctlでcore_patternの設定がABRT(Automated Bug Reporting Tool)になっているのでこれを…

CentOS6.3でSVNサーバを構築

subversionがインストールされていない場合はインストールする。 # yum install subversion SVN用ユーザ追加。そして作成ファイルがグループwrite権がつくようにumaskを設定、 既存のファイルの権限もrootが所有者、グループがsvnusersになるように修正。 # …

postfix/dovecotでローカル専用メールサーバを構築

参考サイトは以下。 http://d.hatena.ne.jp/uriyuri/20080704/1215163436 http://ngyuki.hatenablog.com/entry/20110725/p1 http://www.postfix-jp.info/trans-2.2/jhtml/postconf.5.html postfixの設定 # alternatives --display mta postfixがデフォルトに…

CentOS6.3のFirefoxをバージョンアップにおけるyumのrepo追加

CentOS6.3のFirefoxが10.0.5となっているのでバージョンアップしたくて、repoを追加してバージョンアップしてみた。 yumのrepo追加 標準のものをupdatesすると今だと17.0.3になるようだが、現時点で最新版は19.0であるため、repoを追加してできるだけ最新に…

インストール CentOS6 on VMware fusion

VMware fusionにCentOS6を「簡単インストール」を使用せずにインストールした。インストール構成にて[Software Development Workstation]を選択したら、ネットワークがOFFになっていたりしたので以下に変更点を記載する。 networkはブート時設定する /etc/sy…

MySQLのバイナリログ(mysql-bin.NNNNNN)を自動削除

mysqlのデータディレクトリにバイナリログ(mysql-bin.NNNNNN)がデフォルトの設定だとたまっていくようだ。これが意外と大きいので自動削除したい場合。 # vi /etc/my.cnf .... [mysqld] expire_logs_days = 90 .... # /sbin/service mysqld restart デフォル…

gitの使い方(通常ルーチン)

gitにて管理しているものを変更してブランチに反映する場合は、 git statusやgit diffで変更内容を確認 git add で変更したものを追加 git commit でローカルにコミット git push でリモートにプッシュ という流れ。 $ git status # On branch master # Chan…

うるう秒でのログ

サーバについては、NTPで同期しているのであんまり関係ないと思っていたが、ログを見てちょっと感動。 # cat /proc/version Linux version 2.6.18-274.7.1.el5PAE (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-51)) #1 SMP…

DNSのCNAMEレコードの複数指定はできない

知らなかったけど、ちょっと考えてみれば当たり前か。ひとつの項目にCNAMEレコードを複数指定はできない。bind8ではoptionsにて、 multiple-cnames yes; を変更することでできたようだが、bind9からはできないとのこと。以下を参照のこと。 http://www.tatsu…

ssh keyのfingerprint

ssh鍵のfingerprintの表示方法について、ちょっとしたことだが知らなかったので備忘録。 $ ssh-keygen -l -f id_dsa.pub 1024 xx:xx: .... xx:xx id_dsa.pub $ "-f"オプションで鍵ファイルを指定して、"-l"オプションでfingerprintを表示。以下はmanページよ…

gitをCentOS5(Final)にインストールして使ってみる。

CentOS5(Final)にgitをインストールして使ってみる。 インストール 参照したサイト。 http://d.hatena.ne.jp/mrgoofy33/20110206/1296952248 http://www.qualysite.co.jp/tech-blog/?p=3131 http://1000g.5qk.jp/tag/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E…

ubuntu 11.10 に java6 を入れる。

archive.canonical.com だけではだめだった。 $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid-updates partner" $ sudo add-apt-repository "deb http:…

CentOSでObjective-Cをインストール

Objective-Cのお勉強のためインストール。gccにObjective-Cのライブラリをインストールする形のようだ。 # cat /etc/redhat-release CentOS release 5 (Final) # yum install gcc-objc .... # rpm -qa | grep libobjc libobjc-4.1.2-51.el5 # サンプルコード…

Windows7 Virtual PCにUbuntu11.10をインストール

インストール手順の備忘録。以下サイトを見ながらインストールした。 http://d.hatena.ne.jp/Schima/20101015/1287088199 上記サイトでは10.04だか、今回は最新の11.10で試してみた。 Virtual PCにて仮想マシンを作成 すべてデフォルトで作成した。その後、V…

apacheのモジュールだけをインストールする方法

該当モジュールのディレクトリにてapxsにてコンパイル、インストールする。インストール時はLoadModuleを勝手に追加してくれる。 $ pwd /home/foo/httpd-2.0.64/modules/metadata $ /usr/local/apache2/bin/apxs -c mod_headers.c /usr/local/apache2/build/…

ファイル・ディレクトリのタイムスタンプを変更

ファイル・ディレクトリのタイムスタンプの変更を、touchコマンドオプションでできるんだといまさらながら知ったのでメモ。 $ man touch .... -t time time で指定した時刻を使い変更する。引き数は次のような明確な意味 を持つ 10 進数の形式で指定する。 […

Linux,UNIXのメモリ管理

秀逸の説明あり。 http://www.math.kobe-u.ac.jp/~kodama/tips-free-memory.html URLをみるとページがいずれはなくなりそうなので、メモ。 メモリの状況を調べる メモリの利用状況を調べる方法は, free, top, ps, vmstat, /proc/meminfo 等がある. xosview …

cron起動のlogwatchがエラーになる件

/etc/cron.dailyに登録されている logwatchが以下のエラーとなり、 logwatchのリポートが送信されないときがあった。 From: Cron Daemon <root@foobar.jp> Subject: Cron <root@foobar> run-parts /etc/cron.daily /etc/cron.daily/0logwatch: postdrop: warning: uid=0: Illegal seek sen</root@foobar></root@foobar.jp>…

NTPの設定について

NTPサーバを設定するにあたり、以下URLによい落としどころがあるのでそれを参照すること。 http://blog.livedoor.jp/dankogai/archives/51686051.html

analog の Tips

デフォルトだとリクエストレポートが10以上のものしか表示しない件。 http://www.jp.analog.cx/jp5.24/basiccmd.html REQFLOOR 10rというコマンドは、Analog に対して、リクエストレポートで少なくとも 10 リクエスト以上あったファイルのみを表示させるよう…

tarで特定のファイルディレクトリを除く

GNU tarの機能かもしれないが、あるファイル、ディレクトリだけを除いてtar ballを作る。Subversionの .svn ディレクトリなんかを除きたい場合に有効。 $ tar --exclude .svn -cf - ./foobar | gzip >foobar.tar.gz ちゃんと、 ./foobar 配下の .svn はすべ…

MySQLからの該当ユーザ、データベース削除

DROP DATABASE データベース名; REVOKE ALL PRIVILEGES, GRANT OPTION FROM ユーザ名@localhost; DROP USER ユーザ名@localhost;

ubuntu 10.04 インストールCD起動でロゴ表示の後真っ暗

ubuntu 10.04をとりあえず使ってみようと思い、インストールCDを作成してCDから起動させてみたが、ロゴ表示のあと真っ暗になってしまう状態。使用しているPC(HP Compaq nx4800)は、 Intel(R) 82852/82855 GM/GME Graphics Controller を使用していて、どうも…

ffmpegをCentOS 5にインストール

rpmforgeを使ってインストールしてみる。参照元は以下。 http://www.goto.info.waseda.ac.jp/~wei/weiki/index.php?plugin=related&page=document%2Fffmpeg%20centos%A4%CByum%B7%D0%CD%B3%A4%C7%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB http://it.kndb.jp/ent…

daemontools サービスの停止

単に停止する場合はdownファイルがあればよい。svcコマンドでの再読み込みなど不要。 # cd /service # touch qmail-send/down # svstat /service/* .... /service/qmail-send: up (pid NNNN) XXXXXXX seconds, normally down .... #

MovableType 公開日指定での公開

公開日を指定して日時指定で保存したページは、以下のコマンドによって、指定した日付以降であれば公開となる。指定した日付以降で該当ページを変更保存しても、以下のコマンドを起動させないかぎり公開はされない。 $ perl $MTDIR/tools/run-periodic-tasks…

mysql FILE権限追加

mysqlでLOAD DATA INFILE などをする場合FILE権限が必要。FILE権限はグローバルレベルでないと設定できないので、データベース名を指定するとエラーになる。なんだかハマったので、備忘録。 GRANT FILE ON *.* TO ユーザID@localhost参照URL http://fukaz55.…

namazuのオプション

2.0.6あたりから、mknmzで環境変数LANGまたはオプションに文字コードを指定しないと分かち書きがまともに認識されないとのこと。 http://www.namazu.org/doc/tutorial.html#japanese #!/bin/sh /usr/local/namazu/bin/mknmz \ --indexing-lang=ja_JP.SJIS \ …

SVNとGoogleCode

参考:: http://kdl.weblogs.jp/open/2008/06/mac-subversion-.htmlCodaは製品なのでsvnをコマンドラインで使用。 その他、Versions.appもあるがこちらも有償。 GoogleCode http://code.google.com/hosting/ プロジェクトの作成 [Create a new project]を選択…