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…