unix

find-extlib - 外部関数の呼び出しをリストアップする

目的 あるプログラムからの、外部ライブラリの関数呼び出しをチェックしたい。たとえば、自作プログラムが多数のオブジェクトから出来ているとして、その中で libc なり libm なりを参照している。 これらをリストアップして、依存を減らしたり、省サイズ化…

grep-ccopt - Cコンパイル時の引数にgrepする(特定コンパイラのみ)

目的 とあるコンパイラ*1が、コンパイル時の引数をオブジェクトファイルの特定セクション*2に埋め込んでいる。 これにgrepをかけることで、コンパイル引数が意図通りかどうか、チェックしたい。 結果 特定セクションを取り出してgrepするスクリプトを作成。…

ssh-env - ssh実行時に環境変数を設定/変更したい

目的 sshでリモートホストでコマンドを実行するときに、PATHやその他の環境変数を設定して実行したい。例えば、勝手にコマンドのバージョンアップができない重要なサーバで、自分のホーム以下にインストールしたコマンドをssh経由で実行したいのだが、PATHが…

mail-relay - UNIXからメールを送る際に、接続先SMTPサーバを指定したい

目的 以下の条件に合うように、 特定ドメインのアドレス(jp.example.com)宛のメールはサーバ1に送る。 それ以外のメールはサーバ2に送る。 以下のメールサーバ(MTA)で、メール送信時のSMTP接続先を指定したい。 sendmail (RHELのデフォルトメールデーモン) p…

signal-piping - SIGNALをpipe経由でハンドラからメインスレッドに渡す方法

目的 Linux上(UNIX全般)で「安全な」シグナル処理を実装したい。 本来シグナルハンドラでしてもよい処理は非常に限られており、実質は特定の型のグローバル変数操作と、非同期シグナルセーフ関数の呼び出ししか安全ではない(参考:UNIX上でのC++ソフトウェア…

cvsを認証必須のプロキシ経由で使いたい

目的 id:taiyo:20080401#p1 を参照。 結果 社内プロキシの設定では、CVSプロトコルを用いての取得はムリ(80番以外のポートへのCONNECTメソッドを許可していないため)。 ViewCVSなどのWebインターフェースを経由してのアクセスなら可能なはず(CVSGrabを使…

subversionを認証必須のプロキシ経由で使いたい

目的 id:taiyo:20080401#p1 を参照。 結果 リポジトリにhttpsでアクセスする場合のみ可能(httpアクセスは、プロキシサーバがPROPFINDメソッドを許可していないため、不可能)。~/.subversion/servers に、以下の設定を記述する: [groups] external = sssvn.…

gem(RubyGems)を認証必須のプロキシ経由で使いたい

目的 id:taiyo:20080401#p1 を参照。 結果 ~/.gemrc に、以下の設定を記述する(大文字の箇所は記入例、各自で変えること): http_proxy: http://4000000:PassWord@abcproxy.examlple.com:8080 ※PassWordに英数字以外が含まれる場合はURLエンコードが必要も…

wgetを認証必須のプロキシ経由で使いたい

目的 id:taiyo:20080401#p1 を参照。 結果 セキュリティ面(秘匿性)を考慮すると、~/.wgetrc に、以下の設定を記述するのが良い: use_proxy = on proxy_user = 4000000 proxy_passwd = PassWord http_proxy = http://abcproxy.examlple.com:8080 https_proxy …

tool-proxy - ネットワークアクセスツールでのプロキシ設定方法

目的 社内プロキシを経由して、各種のネットワークアクセスツールを使いたい。 条件は以下: 社内プロキシは認証が必須 SOCKSなどは提供されておらず、proxoyサーバのアカウントも持っていない 外部の中継サーバは使わないものとする 結果 ツール名 状況 概要…