Tomorrow is always fresh with no mistake in it.@備忘録内検索 / 「Eclipse関連」で検索した結果

検索 :
  • IDE関連
    NetBeans関連 Eclipse関連
  • L2TP/IPsec VPN
    スマホから家のPCにリモートアクセスしたく、ためしにVM上のLinuxを使ってL2TP/IPescのVPN環境を構築してみた。 環境 No 分類 ソフト 01 OS Ubuntu Server13.04(VirtualBox上のVM) 02 IPsec Openswan 03 L2TP xl2tpd Openswan、xl2tpdのインストール  以下のコマンドでインストールする。  途中X.509証明書を使うか聞かれるが、今回は使わないのでNoにした。 $ sudo apt-get install openswan xl2tpd IPsecの設定  以下のファイルに以下を設定。 /etc/ipsec.conf ・・・既存を修正 version2.0# conforms to second version of ipsec.conf specificat...
  • メニュー
    カウンタ 今日 - 昨日 - 合計 - メニュー トップページ プログラミング Lua関連 sh関連 性能 ソースリーディング Linux Linux USBブート coreファイルの取得 Uubuntu10.04のmanを日本語化する さまざまなマウントたち manのファイルを直接読む Ubuntuでrootユーザになる デーモン(daemon)プロセスの生成 64bit Ubuntuで32bitアプリをコンパイルする オープン中のファイルを調べる ssh関連 ライブラリのパスを設定する xrdpによるリモートデスクトップで日本語キーボードを使う wiresharkで一般ユーザでもパケットキャプチャ可能にする クラッシュダンプ関連 L2TP/IPsec VPN その他 Google検索TIPS Consistent Hashingをためす vim関連 XML関連 ネット...
  • トップページ
    ようこそ  ここは備忘録として、日々調べたことを綴っています。これまで他の人が書いてくれた情報をずいぶん参考にさせてもらったので、これからは少しでも自分が情報を発信できればと、ここの情報が誰かの役に立てばうれしいです。  タイトルの "Tomorrow is always fresh with no mistake in it." は「赤毛のアン」に出てくる言葉です。学生の頃何気なくみたテレビで吹替版の赤毛のアンを放送していて、失敗ばかりしていたアンにステイシー先生が送った言葉です。「明日は新しい1日、まだ失敗のない」と訳されていたと記憶しています。私は忘れっぽいので、同じ失敗を繰り返さないためにも、備忘録を書いていこうと思っています。 プログラミング Lua関連 sh関連 Maven2を使ってみる 性能 ソースリーディング Linux Linux USBブー...
  • NetBeans関連
     プログムを作成する場合、NetBeansやEclipseなどのIDEを使っている。  機能が多すぎて、毎回ネットを検索して使い方を調べている。  検索時間も馬鹿にならないので、以下に調べた使い方をメモしていく。 Jar作成時のマニフェストファイルのカスタマイズ Jar作成時のマニフェストファイルのカスタマイズ  Netbeansでjarを作成すると、MANIFEST.MFのファイル名で、自動的にマニフェストファイルをjarに組み込んでくれる。  カスタマイズは、デフォルトで作成されるファイルに、カスタム内容を追加する形となる。(antのタスクをいじれば、自作ファイルそのものも組み込み可能かも)  追加したい内容を書いたファイルを用意し、プロジェクト内の「project.properties」に以下を追加する。 ■nbproject/poject.prope...
  • Google検索TIPS
    Googleで検索するときのTipsです。 フレーズ検索 OR条件で検索 キーワードを除外して検索 完全一致で検索する Webページのタイトルから検索する。 URLのリンクから検索する。 Googleのキャッシュから検索する。 サイト内を検索する。 指定した拡張子のファイルを検索する。 Googleを英英辞書として使う Googleを計算機として使う。 Googleで単位を別の単位に換算する。 フレーズ検索 ひと続きの文章で検索するときは " で囲みます。 "cp cannot stat" OR条件で検索 キーワードを OR でつなぎます。 スペースでつなげばANS条件になります。 CentOS OR SuSE OR Ubutu キーワードを除外して検索 キーワードの前に - を付けます。 Groovy...
  • httperf
    httperfは、HP社(の系列会社?)で作成されたWebサーバーの負荷テストツールです。 現在はsourceforgeで管理されているようです。  http //sourceforge.net/projects/httperf/ インストール ubuntu10.10ではすでにパッケージになっており、以下でインストールできます。 $ sudo apt-get install httperf 使い方  コマンドの書式は以下のとおり。 $ httperf --help Usage httperf [-hdvV] [--add-header S] [--burst-length N] [--client N/N] [--close-with-reset] [--debug N] [--failure-status N] [--help] [--hog] [--h...
  • socat - ソケットリレーツール (proxy)
    SCTPという、TCPとUDPのよいとこ取りをしたようなプロトコルがある。「SCTP(ネットワーク通信)」に書いたとおり、echoサーバを作成したが、動作確認のためにクライアントが必要になった。 telnetなどのTCP用のツールは使えないので、クライアントのプログラムも作成したが、もっと簡単にためせるツールがないかと思っていたら、「socat」というコマンドを見つけた。  netcat(nc)(「netcat - ネットワーク万能ツール」を参照)をさらに機能強化して、これでもかというくらいいろいろオプションが指定できるようになっている。 あろうことかnetcatでは封印されているコマンドの実行も可能になっている。 socatインストール  Ubuntu10.10もFedora14もパッケージが用意されているので、aptやyumでインストール可能。 使用例 クライアント...
  • 小ネタ
    ファイルパスからファイル名だけを取り出す 日付時刻の整形出力 不要なファイルを除いてtarコマンドでアーカイブする 定期的にコマンドを実行する 指定時間入力がなかったらターミナルを終了する。 乱数を使う マウントせずにISOイメージ内を見る awkを使って指定ファイルの合計サイズを求める バックグラウンドとフォアグラウンド nopコマンド 文字列を16進文字コードで出力 連続した数を得る 複数のコマンドの組み合わせ(リスト) コメント行と空行をのぞいて出力する。 TCPまたはUDPで通信 ファイルパスからファイル名だけを取り出す $ basename /home/test/package/test.sh test.sh 日付時刻の整形出力 $ date +"%Y-%m-%d %H %M %S" 2012-01-14 17 45 55 ずっとdateコマンド...
  • Linux USBブート
    CentOS5.5がリリースされたので、LiveCDをUSBにインストールして、USBブートに挑戦してみた。 Googleで調べると、以下にFedora8での方法が出ており、手元のOSはCentOS5.4なので、同様にできると思いためしてみた。 http //www.atmarkit.co.jp/flinux/rensai/linuxtips/a074usbboot.html 1.livecd-toolsパッケージのインストール  以下でインストール。依存関係のあるパッケージもいくつかインストールされた。 # yum install livecd-tools # rpm -qa | grep livecd-tools livecd-tools-013-9.el5.rf 2.USBデバイスの確認  以下のコマンドでUSBデバイスの特殊ファイルを...
  • Curl-loader
    CurlLoaderは、cURLライブラリを使用した、負荷テストツールです。 HTTP(S)またはFTP(S)のクライアントとして動作します。 特徴として、複数のIPアドレスを使って、別々のクライアントから要求が来る状況を擬似的に再現できます。  http //curl-loader.sourceforge.net/ ダウンロード  http //sourceforge.net/projects/curl-loader/files/ インストール(Linuxでの手順です。) 事前に「openssl」、「libssl-dev」をインストールして置くこと。 ダウンロードしたファイルを展開し、展開したディレクトリ内にcdして、makeコマンドを実行。 次に sudo make install するとmanと共にインストールされる。 $ sudo make instal...
  • sh関連
     Linux上でもっとも簡単に使える言語と言えば、sh(シェル)だと思います。ここにはshを使ったTipsを書いていきます。  なお、bashで確認しているので、shだと動かないものもあると思います。 coreファイルの取得 コマンド置換(バッククォートと$()) 四則演算 ファイルパス情報 ログ監視 ファイルローテーション 小ネタ 名前 コメント
  • vim関連
     Vim(Vi IMproved)はviエディタを改良したもので、UNIX系OSではメジャーなテキストエディタです。Linuxなどでは、viを起動すると、vimが起動したりします。非常に高機能ですが、インターフェースが他のテキストエディタとは異なるため、覚えるのが大変です。せっかく覚えても使わないとすぐ忘れてしまうので、以下に書き留めておきます。 下記の記述は、CentOS5.4のVim version7で確認しています。 なお、その他のTipsは以下にたくさんあります。 http //vim.wikia.com/wiki/Vim_Tips_Wiki Vimの起動 Vimのモード 変更内容の更新と破棄、Vimの終了 カーソルの移動 アンドゥ、リドゥ 削除 コピー 検索 置換 複数ウィンドウ(タイルウィンドウ) タブ 特殊なコマンド 外部コマンドの実行 HTML出力 vimの文...
  • Lua関連
     Luaというスクリプト言語がある。非常にコンパクトかつ高速に動作し、C/C++とも親和性がよいらしい。  ということで、Luaを初めてみる。 インストール Cygwin1.7.xへのインストール 参考Webサイト LuaからC言語の関数を呼び出す CからLuaを実行する。 バイナリダンプ(Hex dump) インストールしたはずのモジュールが見つからない場合 バイナリデータを文字列に変換してファイルに書きこむ インストール Linuxの場合はパッケージにあるので、aptやyumでインストールすればよいでしょう。 Linuxでソースからコンパイルする場合は、以下のようにする。 1)以下からソース用のtarballをダウンロードする。   http //www.lua.org/ftp/ 2)展開すると「INSTALL」というファイルがあるのでそれを一読す...
  • netcat - ネットワーク万能ツール
    netcat(ncとも呼ばれる)は、TCP/UDPプロトコルを使って、データを読み書きするためのツールで、サーバとしてポートをlistenしたり、クライアントして接続先へconnectしてデータを送信できます。 詳しくはWikipediaの以下が参考になると思います。  参考: http //ja.wikipedia.org/wiki/Netcat 様々なnetcat なお、オリジナルは「Hobbit」さんという方が作られたもののようで、1996年(?)に最後のVer.1.10がリリースされており、以下からダウンロードできます。  http //nc110.sourceforge.net/ 上記Wikipediaでは公式サイトは以下となっていますが、そこは「GNU Netcat」になっており、オリジナルから発生したもののようです。 2004年にVer.0.7.1がリ...
  • 性能
    仕事でプログラムの性能測定をするが、すぐツールの使い方とか忘れるので、書き留めておく。 負荷テストツール Apache ab(Apache Bench) Curl-loader Apache Jmeter httperf Linuxでネットワーク系の負荷テストをする場合 ファイルディスクリプタ数を増やす。  ソケット用のディスクリプタが不足しないよう増やす。 # ulimit -n 10000 利用可能なポート範囲をふやす。 # echo "1024 65000" /proc/sys/net/ipv4/ip_local_port_range Ubuntsu10.10では、もともと以下の値が設定されていた。 $ cat /proc/sys/net/ipv4/ip_local_port_range 3276861000 ...
  • Consistent Hashingをためす
     だいぶ前にかったUNIX magazine 2009年04月号でクラウドを特集していた。  この中で、サーバ台数を増やしてスケールアウトする場合に、クライアントがどのノードのサーバに処理させるかを決めるためにコンシステントハッシング(Consistent Hashing)が紹介されていた。  なお、コンシステントハッシングについては、以下のリンクを見てください。 Tom White's Blog Consistent Hashing コンシステント・ハッシュ法 (Tom White's Blog の日本語訳)  最近ネットをみていたら、「Consistent Hasing を Ruby で試す」にて、rubyを使ってConsistent Hashingをためしていた。そのプログラムは、もともと「Consistent Hashing を試す」にあるperl...
  • Apache ab(Apache Bench)
     HTTPサーバのApacheに含まれるベンチマークツールで、HTTPクライアントとして動作する。Apacheをインストールしたディレクトリのbinにあるはずです。私が使っているUbuntu10.04では、すでにパッケージになっており、以下でインストールできました。 sudo apt-get install apache2-utils  ただし、HTTP1.0準拠のようで、持続的接続などは使えず、リクエストの度に、TCPコネクションのコネクト、切断が発生します。  HTTP Getを行う単純な使い方は以下のとおりです。 ad -n [リクエスト数] -c [多重度(スレッド数)] http //[アクセス先]  例えば100個のHTTP GETを、5個のスレッドで送信すると、以下のようになる。 $ ab -n 100 -c 5 http //localhost...
  • クラッシュダンプからプロセスのcoreを切り出す
    クラッシュダンプからプロセスのcoreを切り出す  以下のWebページを見ていたら、crashコマンドのエクステンションにgcoreというのがあり、クラッシュダンプから実行中のプロセスのcoreを切り出せることがわかった。   http //people.redhat.com/anderson/ ■gcoreエクステンションのインストール 1)ダウンロード  以下のWebページから、以下のファイルをダウンロードする。 crash extension modules http //people.redhat.com/anderson/extensions.html gcore.c gcore.mk gcore.tar.bz2 defs.h 2)アーカイブを展開 $ tar xjf gcore.tar.bz2   <ーーlibgcoreというデ...
  • gcoreコマンド
    $ cat /usr/bin/gcore #!/bin/sh # Copyright (C) 2003, 2005, 2007, 2008 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope tha...
  • android
    Android機をTCPでPCと接続する 中華PAD(Ainol NOVO ELF2)をLinuxからデバッグするため、TCP/IPで接続した。 Linux(Ubuntu12.04)側にはAndroid SDKがインストール済みで、中華PADはandroid4.0.3。 1.中華PAD側  端末エミュレータを起動し、rootになって以下を実行する。  これでadbがTCPの5555番ポートでlistenする。通常は5555番ポートを使うが、他で使っている場合は別の番号でもよい。 # setprop service.adb.tcp.port 5555 # stop adbd # start adbd  入力が面倒なので、「GScript Lite」に上記を書いたスクリプトを登録して使っている。  また、TCPでの接続とUSBでの接続は排他的なので、USBで接続する場...
  • さまざまなマウントたち
    mountコマンドのmanを見ると、非常に説明が長く、mountコマンドで色々なことができる。 ここでは、たまに使いたいときがあるけど、すぐ忘れてしまうmountコマンドの使い方を書いておく。 基本のコマンド-リスト CD、DVDのマウント ループバック(loopback)デバイスのマウント ISOイメージのマウント 任意のディレクトリを任意のディレクトリにマウントする。(Linux 2.4.0 以降) マウント済みマウントポイントを別のマウントポイントに移動(Linux 2.5.1 以降) tmpfs - メモリをファイルシステムとしてマウントする aufs(Another UnionFS) ー 複数のディレクトリを重ね合わせる。 cifs(Common Internet File System) - Windowsのフォルダ(sammbaも)をマウントする 基本のコマン...
  • デーモン(daemon)プロセスの生成
    デーモンは、UNIX系のOSにおいて、バックグラウンドで起動され、サーバプロセスとして動作するプログラムのことです。 一般的にはシステムの起動時に起動され、常駐します。 Wikipediaによれば、技術的には以下の定義だそうです。 UNIXは親プロセスの番号が 1 (init) で、制御端末を持たないプロセスをデーモンと認識する。 プログラムをデーモンにするサンプルを以下に書いておきます。 ※Google Code Search(http //www.google.com/codesearch) でdaemonで検索したものです。 #include fcntl.h #include stdlib.h #include unistd.h int daemon(int nochdir, int noclose) { int fd; swit...
  • coreファイルの取得
    coreファイルは、プログラムの異常(セグメンテーションフォルトなど)や、killコマンドなどにより、プログラムが特定のシグナルを受信した際に取得されます。 coreファイルに関してはman coreにいろいろ書いてあるので、そちらを見た方がよいのですが、ここでは単純にcoreとるために必要なことだけ書いて置きます。 ※長くなったので、コンテンツをたたんで見出しを見えるようにしています。+をクリックして見てください。 coreが取得されるシグナル 取得場所とファイル名 core取得の制限サイズ coreの取得方法 Google coredumper coreが取得されるシグナル +...  以下はPOSIX.1-1990に定められたシグナルで、動作にCoreとあるシグナルを受信するとcoreが取得されます。 No シグナル名 シグナル番号 動作 コメント 1 ...
  • XML関連
    xmllintコマンド  通信路上でのデータ交換で使うXMLデータは、データ量を少なくするためか、改行がなく、1行のデータになっていることが多い。  これだと見にくいので、改行や適切なインデントを入れて整形してくれるツールがあると便利である。  手元のLinux(Ubuntu10.04)だと、xmllintコマンド がインストールされており、以下のようなことができる。 xmllintコマンドXMLの整形 encodeの設定 XMLの自動生成 XMLの整形 以下のコマンドで整形されたXMLが標準出力に出力されます。 $ xmllint --format italic(){ XMLファイル } 例: ■変換前  $ cat note_flat.xml   note to Tove /to from Jani /from heading Remin...
  • wiresharkで一般ユーザでもパケットキャプチャ可能にする
    Wiresharkというパケットキャプチャのソフトがある。一般ユーザだとキャプチャーするインターフェースを選択する際にエラーがでてキャプチャーできないため、これまではsudoやgksuコマンドを使ってスーパーユーザー(root権限)で実行していた。 先日Ubuntuを10.10から11.04にupgradeしたところ、スーパーユーザーでWiresharkを起動すると、以下のエラーが出るようになった。 Lua Error during loading [string "/usr/share/wireshark/init.lua"] 45 dofile has been disabled メッセージにある”init.lua”の45行目を見てみると、以下のようになっており、スーパーユーザーで起動するとエラーがでるようになっている。たぶんupgradeによ...
  • sshの接続が遅い
    以下の環境でホストOSからゲストOSにsshでログインしようとしたところ、リモートホストのログインプロンプトが出るのが遅く、ログインに時間がかかるので調べてみた。 なお、sshでの接続先はホスト名は使わず、IPアドレスを直接指定している。 ホストOS : Ubuntu10.10 ゲストOS : Fedora14(VMware Player使用、NICはブリッジ接続) ネットで調べてみると以下の情報があった。 1)DNSでの名前解決に時間がかかっている。  /etc/ssh/sshd_config に以下の設定を入れる. UseDNS no  sshd_configなのでsshサーバ側の設定であり、Fedora14ではコメントアウトされており、デフォルトのyesのようである。 2)GSSAPI 認証を試みているので時間がかかっている。  ...
  • ネットワーク中のIPアドレスを調べる
    ネットワーク中に、他にどのようなIPアドレスが存在するか調べたく、方法を探していたら、nampコマンド(http //nmap.org/)が使えることがわかった。 私の使っているUbuntu10.10ではインストールされていないため、以下のようにしてインストール。 $ sudo apt-get install nmap 例えば、192.168.1.0/24というネットワークに対してIPを調べるなら,以下のようにすればよい。 $ sudo nmap -sP 192.168.1.1-255 「-sP」は指定したアドレス(上記例だと192.168.1.1〜192.168.1.255)にpingするオプション。  -sP: Ping Scan - go no further than determining if host is online ...
  • crashコマンドによるクラッシュダンプ調査
    crashコマンドによるクラシュダンプの解析  クラッシュダンプをデバッグするには、crashコマンドを使う。 Usage crash [-h [opt]][-v][-s][-i file][-d num] [-S] [mapfile] [namelist] [dumpfile] mapfile シンボルのアドレスが記された以下にあるファイル。ダンプ取得時のカーネルがシンボル情報をもっていれば、nmコマンドで作れるらしい。     /boot/System.map- カーネルバージョン namelist デバッグ情報付き(-gオプションでコンパイル)のカーネルのバイナリ(vmlinux)。kernel-debuginfoをインストールすると、以下に作成される。 /usr/lib/debug/lib/modules/ カーネルバージョン /vmlinux dumpfil...
  • クラッシュダンプ関連
    Linuxカーネルの不具合は、クラッシュダンプを取得して調査する。 ここでは、クラッシュダンプ関連の内容を書いていく。 kdumpのインストール クラッシュダンプの取得 crashコマンドによるクラッシュダンプ調査 クラッシュダンプからプロセスのcoreを切り出す 名前 コメント
  • sshのX11フォワーディング時(-X)の日本語入力
    現在はUbuntu10.10を使っており、別のOSをVMwareなどにインストールして使っている。 VMwareだとXウィンドウを使ったグラフィカルな操作が可能なのだが、ゲストOSを使う場合は、VMwareのウィンドウを選択し、さらにそこから目的のアプリケーションを選択しなければならず使いにくい。 そこで、sshのX11フォワーディングを使って、ゲストOSのアプリケーションをホストOS上のウィンドウとして使っている。 ■sshのX11フォワーディング  sshのオプションに-Xオプションをつければよい。 $ ssh -X ユーザ名 @ ホスト名/IPアドレス [起動したいコマンド] 例えば、firefoxを起動したければ、以下のようにすれば起動する。 また、コマンドは省略すると $ ssh -X testuser@192.168.0.100 fir...
  • プラグイン/人気商品一覧
    人気商品一覧 @wikiのwikiモードでは #price_list(カテゴリ名) と入力することで、あるカテゴリの売れ筋商品のリストを表示することができます。 カテゴリには以下のキーワードがご利用できます。 キーワード 表示される内容 ps3 PlayStation3 ps2 PlayStation3 psp PSP wii Wii xbox XBOX nds Nintendo DS desctop-pc デスクトップパソコン note-pc ノートパソコン mp3player デジタルオーディオプレイヤー kaden 家電 aircon エアコン camera カメラ game-toy ゲーム・おもちゃ全般 all 指定無し 空白の場合はランダムな商品が表示されます。 ※このプラグインは価格比較サイト@PRICEのデータを利用しています。 ...
  • プラグイン/ニュース
    ニュース @wikiのwikiモードでは #news(興味のある単語) と入力することで、あるキーワードに関連するニュース一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_174_ja.html たとえば、#news(wiki)と入力すると以下のように表示されます。 メトロイド ドレッド攻略Wiki - Gamerch(ゲーマチ) 【まおりゅう】最強パーティー編成とおすすめキャラ【転スラアプリ】 - Gamerch(ゲーマチ) 【グランサガ】リセマラ当たりランキング - グランサガ攻略wiki - Gamerch(ゲーマチ) Among Us攻略Wiki【アマングアス・アモングアス】 - Gamerch(ゲーマチ) マニュアル作成に便利な「画像編集」機能を提供開始! - ナレッジ共...
  • ライブラリのパスを設定する
    共有ライブラリへパスを通す  デフォルトでは /lib と /usr/lib にパスが通っている。それ以外にパスを通したい場合は以下のようにする。 1.環境変数「LD_LIBRARY_PATH」に設定する。  環境変数なので、設定した環境変数が参照できるプログラムしか有効にならないが、一時的に設定したい場合は以下のようにする。  $ LD_LIBRARY_PATH=/usr/local/lib /usr/lib; export LD_LIBRARY_PATH    または  $ export LD_LIBRARY_PATH=/usr/local/lib /usr/lib  すでに「LD_LIBRARY_PATH」に値が設定されており、そこに追加したい場合は、以下のようにする。  $ export LD_LIBRARY_PATH=$LD_LIBRAR...
  • kdumpのインストール
    kdumpのインストールと設定 1.kexec-toolsのインストール # yum install kexec-tools 2.kdump用のGUIツールのインストール # yum install system-config-kdump 3.system-config-kdumpを起動し「kdumpを有効にする」をチェック        OKするとrebootするようメッセージがでるのでrebootする。  なおGUIツールがなくても、以下でkdumpを有効にできるらしい。 # kexec -l /boot/vmlinuz- kernel version  --initrd=/boot/initrd- kernel version .img --command-line="`cat /proc/cmdline`"  ...
  • プラグイン/関連ブログ
    関連ブログ @wikiのwikiモードでは #bf(興味のある単語) と入力することで、あるキーワードに関連するブログ一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_161_ja.html たとえば、#bf(ゲーム)と入力すると以下のように表示されます。 #bf
  • ファイルパス情報
    フルパスからディレクトリだけ、ファイル名だけなど、部分的な情報だけ取り出したい場合がある。 以下のようにすると必要なものが取り出せる。 $ cat filepath.sh #!/bin/bash path="/dir1/dir2/file1.txt" echo "path $path" filename=$(basename $path) echo "filename $filename" filename=${path##*/} echo "filename $filename" dirname=$(dirname $path) echo "dirname $dirname" dirname=${path%/*} echo "dirname $dirna...
  • Uubuntu10.04のmanを日本語化する
    メインで使うOSをCentOS5.4からUbuntu10.04に変更した。 USB3.0のディスクケースを購入したが、CentOS5.4だと認識できないのが理由だ。 Ubuntuだと、機動も早いし、新しい機能もたくさん取り込まれていて使いやすい。 ただ、英語が苦手な私にとって、manページが英語なのは非常につらい。 私のは64bitにしたかったので、本家UbuntuのインストールCDでインストールしている。 もしかすると、Ubuntu Japanese Teamが出している日本語Remix CDだと、manも日本語化されているかもしれない。 日本語manインストール方法 方法はネットで検索すればすぐに見つかる。「manpages-ja」だけだt、セクション2や3の関数系が日本語化されないようで、「manpages-ja-dev」もいっしょにインストールした。 ...
  • ログ監視
    複数のプロセスを起動したいが、起動順序に依存関係があるため、前のプロセスが起動してからでないと、次のプロセスを起動してもエラー終了してしまう。 前のプロセスのログを監視して、起動処理が終了したときにでるメッセージが出力されたら次のプロセスを起動するようにした。 その際、監視用に以下の関数を作成した。 # logwatch ファイルパス 検索文字列 logwatch(){ tail --follow=name "$1" | grep --line-buffered "$2" | while read line do #echo $line pkill -P $$ tail break done } tailに「--follow=name」を指定するのは、ログが再作成されてもオー...
  • manのファイルを直接読む
    Linuxのプログラムをtarballからダウンロードする場合、そのプログラムのmanファイルがtarボールに含まれていることがある。 大抵は、make installするとしかるべき場所にインストールされ、manコマンドで見ることができる。しかし、以下のようにすると直接manのファイルを見ることができる。 groff -mandoc -D 入力エンコード -T 出力エンコード manファイル | less manファイルがgzipで圧縮されている場合は、zcatで伸長してgroffで見る。 zcat manファイル .gz | groff -mandoc -D 入力エンコード -T 出力エンコード | less 手元のUbuntuは標準のエンコードがUTF8なので、出力エンコードには utf8 を指定します。 manファイルは、ASCII、EUC、UT...
  • 64bit Ubuntuで32bitアプリをコンパイルする
    64bit版のUbuntu10.04を使っているが、32bitでコンパイル必要があったため、32bitでコンパイルする方法を調べた。 インストールライブラリ  32bitでコンパイルするため、利用するCライブラリなども32bit版をインストールする必要がある。 sudo apt-get install ia32-libs コンパイル・リンク  コンパイルとリンクに「-m32」のオプションを指定すればよい。  ちなみに、64bit版OSなので、-m32をつけないと64bitでコンパイル、リンクされるが、「-m64」をつけて明示的に64bitとしてコンパイル、リンクも可能。 サンプルソース(64bitと32bitの変数サイズの違いを表示する)  64bit版と32bit版のバイナリでは、同じ変数方でも必要とする変数のサイズが異なる。  というわけで、各変数型...
  • ctagsによる宣言箇所への移動
    ctagsはソースやヘッダファイルから、関数や変数などのタグファイルを作成するプログラムで、タグファイルの作成により、テキストエディタなどでその関数や変数の定義箇所を参照することができる。 とりあえず以下を覚えておけば使える。 ■タグファイルの作成 ソースやヘッダが含まれるディレクトリに行き、以下のコマンドを実行する。 「-R」は再帰的にディレクトリを降りていくオプションで、ディレクトリツリーをたどってタグをつくってくれる。 $ ctags -R ■宣言箇所への移動  私は普段vimエディタを使っているが、vimエディタの場合は宣言を探したい関数や変数の上で「Ctrl+]」を押す。宣言箇所から戻る場合は「Ctrl+t」を押す。(他のエディタでも同じかもしれない。) なお、タグファイルはctagsコマンドを実行したディレクトリに「tags」というファイ...
  • tmux関連
    ■コピーモード コピー開始は Prefix(デフォルトはCtrl-b) + [ カーソルキーで始点へ移動してスペースキー(始点確定) カーソルキーで終点まで移動してEnter(終点確定) Ctrl-b + ] で貼付け(任意のタイミング) なお、コピー開始後または選択中に「v」を押すと矩形選択でき再度「v」を押すと解除(通常の選択)される。
  • コマンド置換(バッククォートと$())
    bashでは、あるコマンドの実行に先立ち、別のコマンドを実行するには、コマンド置換という機能を使う。 コマンド置換は、"`"(バッククォート)で囲むか、"$("と")"で囲むことで可能である。 たとえば、ファイル名に現在日付をもつファイルをtouchコマンドで作成し、それを削除するには以下のようにする。 例 $ touch test`date +%Y%m%d ` --バッククォート部分が先に実行される。 $ ls -l test* -rw-r--r-- 1 tomonari None 0 2011-01-17 00 07 test20110117 $ rm -i test$(date +%Y%m%d )    --$()部分が先に実行される。 rm remove regular empty fi...
  • 四則演算
    四則演算は以下の expr コマンドを使う。 例 $ expr 3 + 1 -- expr 3+1 はだめ。数字と演算子の間はスペースが必要 4 $ expr 16 - 7 9 $ expr 18 / 9 2 $ expr 9 * 9 81 $ expr 17 % 4 1 括弧を使う場合はエスケープが必要。 $ expr 5 * \( 2 + 1 \) 15 bashであれば、「$((式))」で式を囲むと計算ができる。 「$((式))」だと式の結果はコマンドラインへの入力となるだけで、表示されないためechoコマンドで表示している。 $ echo -n $((3+1)) 4 $ echo -n $((16-7)) 9 $ echo -n $((18/9)) 2 $ echo -n $(( 9 * 9 )) -- (( )) の間にスペ...
  • オープン中のファイルを調べる
    オープン中のファイルをしりたい場合には、lsofコマンドを使えばよい。 オプションなしで実行すると、全プロセス(実行ユーザが所有するプロセスのみ)のオープンしているファイルを表示する。 以下のようなオプションでフィルタすることができる。 1.指定したPIDのプロセスがオープンしているファイル lsof -p プロセスID 2.指定したプロセス名のプロセスがオープンしているファイル lsof -c プログラム名 3.指定したユーザーで起動されたプロセスがオープンしているファイル lsof -u ユーザー名 また、オプションの値の前に ^ を付けると、指定した値以外の意味になる。 例えば「bash」意外のプログラムがオープンしているファイルを表示する場合は以下のようにする。 lsof -c ^bash 複数のオプションを指定すると、...
  • プラグイン/編集履歴
    更新履歴 @wikiのwikiモードでは #recent(数字) と入力することで、wikiのページ更新履歴を表示することができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_117_ja.html たとえば、#recent(20)と入力すると以下のように表示されます。 取得中です。
  • Ubuntuでrootユーザになる
    ubuntuはsuコマンドではrootになれませんが、以下のようにするとrootユーザになれます。 $ sudo su たいていは、sudoコマンドでよいのですが、以下のようにrootでないと実行できないものがあるので。 $ sudo ulimit -n 5000 sudo ulimit command not found $ sudo su # ulimit -n 5000 # ulimit -n 5000 名前 コメント
  • カーネルオプションの確認方法
    以下でカーネルのオプションを確認できる。 すべてのディストリビューションで同じかは不明だが、Ubuntu10.10やScientific Linux6では同じ方法で確認できた。 $ cat /boot/config-`uname -r` 他には、以下でカーネルのコンフィグレーション画面から確認することもできる。 $ cd /usr/src/linux-headers-`uname -r` --Ubuntu10.10の場合 $ cd /usr/src/kernels/`uname -r` --Scientific Linux6の場合 $ sudo make menuconfig 名前 ...
  • クラッシュダンプの取得
    クラッシュダンプの取得  以上でkdumpが有効になっているので、以下でクラッシュダンプを手動で取得してみる。 # echo c /proc/sysrq-trigger  デフォルトではダンプ取得後にrebootし、以下の場所にダンプ(vmcore)がはかれる。 /var/crash/YYYY-MM-DD-hh mm/vmcore  なお、出力場所やダンプ後にrebootするかなどは、以下のファイルで変更可能。詳細はkdump.confのmanを見てください。  /etc/kdump.conf  検索するとsysrq-triggerを使うには、「/proc/sys/kernel/sysrq」が1にする必要があるようだが、私の環境だと0でもクラッシュダンプは取得できた。 $ cat /proc/sys/kernel/sysrq 0 ...
  • @wiki全体から「Eclipse関連」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索