Linux

How to disable "Go Back" and "Go Forward" keys next to the cursor keys

Make .xmodmap in your home directory and login again. keycode 166= keycode 167=

dyndns.com 用のシンプルなクライアント

dyndnsを調べてみると、IPアドレスを更新するには、以下のURLにアクセスするだけでよいようだ。 http://members.dyndns.org/nic/update?hostname=ホスト名&myip=IPアドレスただしこのページにはBASIC認証がかかっている。 dyndns用のクライアントを探したけ…

外部からファイアウォール内のLinuxにsshでログインする方法

ファイアウォール内にある友人のLinuxをリモートからサポートしてあげる場合には、以下の方法でOK。ファイアウォール内にあるLinux上から以下のコマンドを入力する。 # ssh -N -R 20022:localhost:22 root@自分のサーバーのIPアドレスこれで、自分のサーバー…

man コマンドなどで日本語の方を見たいとき

rootの言語は英語にしているが、その場だけ日本語にしたい場合は、環境変数「LANG」に「ja_JP.UTF-8」にセットしてから実行すればよい。 # LANG=ja_JP.UTF8 コマンドそのままだとエラーメッセージも英語 # ls -ltr /foo/bar ls: /foo/bar: No such file or d…

Pthread の排他処理のサンプル

自分用。 ソース (pthread_mutex.c) #include <stdio.h> #include <unistd.h> #include <pthread.h> #include <stdlib.h> #define MAX_THREADS 3 void start_threads(void); void thread_main(void *args); void synchronized_printf(const char* s); static pthread_mutex_t mut = PTHREAD_MUTEX_I</stdlib.h></pthread.h></unistd.h></stdio.h>…

C言語で、Gratuitous ARPパケットを送信するサンプル

自分用メモ。 #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <netdb.h> #include <string.h> #include <unistd.h> #include <ctype.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <sys/param.h> #include <sys/sysctl.h> #include <arpa/inet.h> #include </arpa/inet.h></sys/sysctl.h></sys/param.h></sys/ioctl.h></sys/socket.h></sys/types.h></ctype.h></unistd.h></string.h></netdb.h></stdlib.h></stdio.h></errno.h>

C言語でNICの情報を取得するサンプル

eth0 の IPアドレス、MACアドレス、ifIndexを取得するサンプル。自分用メモ。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/ioctl.h> #include <net/if.h> #include <netinet/in.h> #include <arpa/inet.h> void get_ifinfo(char *devname, struct ifreq *ifreq, int flavor) { int iofd; if ((iofd = socket(A</arpa/inet.h></netinet/in.h></net/if.h></sys/ioctl.h></string.h></stdlib.h></stdio.h>…

EeePC 2G Surf (Asus eee PC の北米仕様バージョン)の日本語化

http://www.potech.jp/pote/archives/2007/10/30-024620.php と http://hamada.typepad.jp/blog/2008/03/eee-pc-69f7.html を参考にしたら簡単に日本語化できたのでその時のメモ。 1. Ctrl + Alt + T でターミナル起動 2. sudo su - 3. vi /etc/apt/sources.…

GDBのまとめ

かなり自分用 起動・終了など コマンド 備考 起動 gdb プログラムファイル coreファイル付きで 起動 gdb プログラムファイル core 実行中のプロセスをデバッグする gdb プログラムファイル プロセスID 実行中のプロセスをデバッグする attach プロセスID 実…

Linux でCD/DVDを使うときのまとめ

以下はCentOS5.1の場合。DVDドライブは、/dev/hdc。前準備として ffmpeg をあらかじめインストールしておく。手順は CentOS5 でffmpeg のインストールと動画の変換 - Sleepless geek in Seattle を参照。 isoイメージの作成 # mkisofs -R -J -v -o ファイル…

yum (rpm) と apt-get の対応表

yum と rpm しか使ったことが無いので、apt-get の対応表を作ってみた。これからもどんどん加筆修正予定。 Redhat系 Debian系 Fedora22+ キャッシュの更新 apt-get update モジュールの更新 yum update apt-get upgrade パッケージの検索 yum search apt-cac…

[] Windowsの改行コード「^M」を削除する方法

CR+LF(0x0d, 0x0a)をLF (0x0a)にする。 sedの場合 # sed -e s/^v^m// foo.txt > bar.txt(Ctrl+v Ctrl+m と入力) viの場合 :%s /^v^m// trコマンド # tr -d < foo.txt > bar.txt dos2unixコマンド # dos2unix foo.txt perlで # Linux -> Windows # perl -…

ディスクレス 1CD Linux ロードバランサー

Linux LVS + Keepalived を使ったロードバランサーをKnoppix上に作って、故障しづらいディスクレスのロードバランサーを作ってみた。 Knoppixのカスタマイズは、「KNOPPIXを用いたLaTeX環境の構築とその活用」(http://www.ntt.co.jp/qos/tools/) をほとんど…

CentOS5.1 64ビット版の整数のビット長

テストコード #include <stdio.h> int main(){ printf("int is %d bit.\n", sizeof(int)*8 ); printf("long is %d bit.\n", sizeof(long)*8 ); printf("long long is %d bit.\n", sizeof(long long)*8 ); }結果 int is 32 bit. long is 64 bit. long long is 64 bit.l</stdio.h>…

CentOS5.1 用のApache1.3のRPM作成

checkinstall というプログラムを使えば、ソースファイルから任意のプラットフォーム向けのRPMやdebファイルを作成するできるらしい。実に胡散臭い。でも試してみたのでそのときのメモ。 準備 checkinstall のRPMを rpmfind.net などから探してインストール…

qpsmtpd のインストール メモ

PerlでできたSMTPサーバー qpsmtpd をCentOS5.1にインストールした時のメモ。これを使えば、SpamAssassinや、ClamAVなどをプラグインしたり、自分で書いたプログラムを簡単にプラグインできる。 インストール # yum -y install postfix system-switch-mail #…

ドメイン名、ホスト名、IPアドレスから国名を調べる方法

GeoIPを使えばできる。 インストール方法 CentOS # yum -y install GeoIP-devel GeoIP-data Ubuntu $ sudo apt-get install geoip-binperlからも使いたい場合は以下も。 # perl -MCPAN -e "install Geo::IP" 使い方 # geoiplookup www.yahoo.com GeoIP Count…

いらないデーモンの一括削除

仕事がら、しょっちゅうVMware上にCentOSをセットアップするのだけど、毎回、いらないデーモンを削除するのがめんどくさいのでよく使うコマンドをメモして再利用する。 D=(gpm messagebus irqbalance haldaemon yum mdmpd nscd anacron spamassassin openibd…

Semaphore (セマフォ) のサンプル

#include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h> #if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED) /* union semun is defined by including <sys/sem.h> */ #else /* according to X/OPEN we have to define it ourselves…</sys/sem.h></sys/sem.h></sys/ipc.h></sys/types.h></stdio.h></stdlib.h></unistd.h>

fcntl を使ったファイルロック

fcntl を使ったファイルロックであれば、NFS上のファイルでもロックできる(らしい。) 以下はテストコード。 #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <fcntl.h> #include <sys/stat.h> int main(int args, char** argv ){ int file_desc; struct flock region; file_desc = open</sys/stat.h></fcntl.h></stdio.h></stdlib.h></unistd.h>…

bonnie++を使ったベンチマーク結果の見方

ベンチマーク実行方法 目的のディレクトリに移動して、コマンドを実行。 # cd /mnt/fs01 # bonnie++ -u 0:0 bonie++ の結果の見方 http://www.textuality.com/bonnie/intro.html の一部を勝手に翻訳。1. Sequential Output 1.1 Per-Character ファイルは put…

CentOS でJumbo Frameの設定方法

iSCSI などを使うときはJumbo Frame化することでパフォーマンスアップが期待できる。 ただし、サーバー、クライアント、経由するSwitchやルータすべてが Jumbo Frame に対応していなければパケットは破棄されて到達できない。一時的な設定変更であれば、以下…

CentOSからWindowsのドライブをマウントする方法

Linux側から、windowsやsambaのドライブをマウントできるらしいのでやってみた。 # mount -t cifs -o codepage=cp932,iocharset=utf8,username=yoshifumi1975,password=****** //192.168.211.2/temp /mnt/windows# ls -l /mnt/windowsで日本語のファイル名も…

CentOS5 でffmpeg のインストールと動画の変換

install rpmforgeのレポジトリの追加 # wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpmffmpeg のインストール # yum -y install ffmpeg # yum -y in…

setquota の使い方

edquota では大量のユーザをいっぺんに編集できない。setquota なら、コマンドラインから変更可能。 # setquota -u ユーザ名 ソフトリミット ハードリミット 0 0 /home

CentOSのネットワークインストールとローカルレポジトリのすすめ

会社などでしょっちゅうCentOSをインストールする場合などでは、DVDのイメージをマウントしてWEBサーバー等でLAN上に公開し、そこからインストールすると便利でよい。 さらに、LAN上でレポジトリを公開すれば、ネットワーク帯域の節約になったさらによい。と…

wget の代替コマンド

今のwget だと2GB以上のファイルはダウンロードできないようなので、代わりにcurlが使えるようだ。 # curl -C - -O http://example.com/foo.mpg

ntp サーバーの設定メモ

インストール # yum -y install ntp 設定 # vi /etc/ntp.conf # デフォルトで全部拒否。 restrict default ignore # ローカルホストからは何でもあり。 restrict 127.0.0.1 # LANからは、問い合わせOKにする。 restrict 10.0.0.0 mask 255.255.0.0 nomodify …

Linux の ページキャッシュの実験

Linuxではメモリに余裕があると一度読み込んだファイルをキャッシュしてくれるらしい。 ということで実験してみた。OS起動直後で何もしていない状態を確認。cache は、27328で約27MB。 # watch vmstat Every 2.0s: vmstat Tue Dec 4 13:21:57 2007 procs ---…

Linuxのディストリビューションを確認する方法 (Redhat系のみ)

# cat /etc/redhat-releasekernel のバージョンを見たいなら、 # uname -a