ラベル Cygwin の投稿を表示しています。 すべての投稿を表示
ラベル Cygwin の投稿を表示しています。 すべての投稿を表示

2011年2月12日土曜日

.ssh/config

OpenSSH (クライアント) の設定です。

[~/.ssh/config]
ServerAliveInterval 15

Host example
AddressFamily inet
HostName host.example.com
Port 12345
User non-sugar


参考

2010年10月17日日曜日

シェルスクリプトで四則演算

シェルスクリプトで四則演算をする方法

乗算は、\* のようにエスケープする必要があります。

(例)
MINUTES="`expr $2 \* 60`"

参考

2010年5月6日木曜日

AsciiDoc を使ってみる

テキストファイルでサーバの設定を控えることがよくあります。
そのような場合、AsciiDoc の形式で文章を作成しておけば、あとで HTML 形式に変換できるので嬉しかったりするかも。
Cygiwn でも使えます。
Ubuntu なら、

$ sudo apt-get install asciidoc

で、インストールできます。
元になるテキストファイルを "sample.txt" とすると、

$ asciidoc sample.txt

で、カレントディレクトリに、"sample.html" が作成されます。



参考

2010年1月23日土曜日

Cygwin 1.5.x から 1.7.x へバージョンアップしてみる

我が家のメイン PC である VAIO くんは、Windows XP Professinal で稼動中です。
XP が使いやすくて、7 に乗り換えるつもりはありませんよ。
壊れるまでは、使い続けます。

さて、VAIO くんでは、Cygwin 1.5.25 を使っているのですが、そろそろ 1.7 系へバージョンアップせねば。
何も考えずに、バージョンアップできるのか不安です。
大きな変更点としては、レジストリに保存されていたマウント情報が、/etc/fstab へ移動することかな。


バージョンアップ前の事前準備

現在、sshd などをサービスとして動かしてます。そのままバージョンアップできるのかもしれませんが、なんとなく不安なので、サービスを削除しておくことにしました。

Administrator 権限のあるユーザで、Cygwin のサービスを削除する。

$ cygrunsrv -R cron
$ cygrunsrv -R inetd
$ cygrunsrv -R sshd
$ cygrunsrv -R syslogd

環境変数も見直しました。

■ システム環境変数
CYGWIN=winsymlinks ← シンボリック リンクを Windows のショートカットとして作成する。
Path=(既存の設定);D:\cygwin\bin

■ ユーザ環境変数
HOME 環境変数にユーザのホームディレクトリをセットしていたのですが、必要なさそうなので削除しました。


インストール

公式サイトから、最新の "setup.exe" をダウンロードして、Administrator 権限で実行します。

インストーラの問いに答えます。

  • Choose A Download Source: Install from Internet
  • Root Directory: D:\cygwin ("D:\cygwin" にインストール)
  • Intall For: All Users (RECOMMENDED)
  • Local Package Directory: D:\tmp (ダウンロードしたパッケージの保存さきを指定)
  • Select Your Internet Connection: Direct Connecion (プロキシを使わない場合)
  • Choone A Download Site: (任意のサイトを選択、日本のサイトが良いと思う)
  • Cygwin 1.7.1 が初めてインストールされるという警告が表示されるので、[OK] をクリックする。
  • Select Packages: 最初のインストールではデフォルトのままインストールするのが推奨です。

参考

2009年9月13日日曜日

ssh でキープアライブを送信する

ファイアウォールや NAT BOX には、セッションを管理するためのタイマがあるので、無通信時間が続くと接続を切られてしまいます。
ssh で接続しながら、作業しているといつの間にか接続が切れていることがある。

OpenSSH には、"ServerAliveInterval" というオプションが存在する。既定値は、0 で無通信時にサーバにメッセージを送らない。15 を指定すれば、15 秒ごとにサーバにメッセージを送ることになる。
"ServerAliveCountMax" の既定値が 3 なので、"ServerAliveInterval" に 15 を指定した場合、約 45 秒間サーバからのレスポンスが無ければ、ssh のセッションを切断する。

※ このオプションは、ssh2 の場合のみ意味がある。
$ ssh -o ServerAliveInterval=15 user@remote-host
とするか、config ファイルにオプションを書き込んでおく。
$ echo "ServerAliveInterval 15" >>~/.ssh/config
$ chmod 644 ~/.ssh/config

2009年8月15日土曜日

Windows 7 RC 64-bit で Cygwin 1.7 をインストールしてみた

Ubuntu 上で KVM 上で、Windows 7 RC 64-bit をインストールしています。

手順

  1. システム環境変数の Path に ";C:\cygwin\bin" を追加する。
  2. システム環境変数 CYGWIN を作成し、"winsymlinks" を設定する。
  3. Cygwin のサイト から、"setup-1.7.exe" をダウンロードして、実行する。(「プログラム互換性アシスタント」が表示されたら、[このプログラムは正しくインストールされました] を選択する。)
  4. Select Packages で、私は標準の状態に以下の4つは最低限選択します。(全てをインストールするのは時間がかかるので、最初は最小限のパッケージのみインストールした方が良いと思う。)
    Editors - vim
    Net - openssh
    Utils - chere
    Utils - lv
  5. Cygwin Bash shell を起動する。
  6. ~/.inputrc を編集する。
    # Allow 8-bit input/output 以下のコメントになっている行を有効にする。
    $if Bash ~$endif 間のコメントを外して有効にする。
  7. ~/.bash_profile を編集する。(以下の行を追加する)
    export PATH=$PATH:$HOME/bin
    export TZ=JST-09
    export LANG=ja_JP.SJIS
    export LV="-Os"
    test -n $DISPLAY && export DISPLAY=localhost:0.0
  8. ~/.bashrc を編集する。 (以下の行を追加する)
    alias ls='ls -hF --color=tty --show-control-chars'
    alias ping="`cygpath "$SYSTEMROOT\\System32\\PING.EXE"`"
    alias nslookup="`cygpath "$SYSTEMROOT\\System32\\nslookup.exe"`"
  9. シェルを抜けて、Cygwin Bash shell を再び起動する。
  10. 便利なシンボリック リンクを作成する。
    $ ln -sv "$USERPROFILE" ~/UserProfile
    $ ln -sv ~/UserProfile/Documents ~/
    $ ln -sv ~/UserProfile/Desktop ~/
    (XP の場合 $ ln -sv ~/'UserProfile/デスクトップ' ~/Desktop)
    (XP の場合 $ ln -sv ~/'UserProfile/My Documents' ~/Documents)
  11. SendTo (ファイルの右クリック > [送る]) にシンボリック リンクを張ると便利。
    $ ln -sv /usr/bin/vim.exe ~/UserProfile/SendTo
    $ ln -sv "$WINDIR/System32/notepad.exe" ~/UserProfile/SendTo
  12. ドライブ、フォルダの右クリックに [Bash Prompt Here] を追加する。コマンド プロンプトを[管理者として実行] で起動し、以下のコマンドを実行する。
    >bash -c "chere -ia"
  13. ここまでで初期設定は終わりです。"setup-1.7.exe" を再び実行し、Select Packages で、Category: All の矢印マークをクリック、[Install] に変更し、全てのパッケージをインストールする。

注意点

  • less で日本語の含まれるテキストを表示できないので、代わりに lv を使う。
  • 日本語を含むパスを指定するときは、クォートする。

参考

2009年5月19日火曜日

email - Encrypted SMTP email via Command line

Cygwin で使用できるコマンドラインのメールクライアント email というものがある。
手軽にメールの試験ができるなかなか便利なものだと思う。

CentOS なら以下のようにして、インストールできる。

$ wget 'http://www.cleancode.org/downloads/email/email-3.1.2.tar.bz2'
$ tar xjf email-3.1.2.tar.bz2
$ cd email-3.1.2
$ ./configure && make
$ sudo make install
$ cp /usr/local/etc/email/email.conf ~/.email.conf
$ vi ~/.email.conf
$ date | email -s "EICAR Test" -a eicar.com user@example.jp

http://www.cleancode.org/downloads/email/README
http://www.cleancode.org/projects/email

2009年1月10日土曜日

GNU Screen を使う

GNU Screen を使うときは、設定ファイルを作成しておくと便利。

$ cat >~/.screenrc <<EOF
escape ^Tt
startup_message off
defscrollback 1000
hardstatus alwayslastline "%w"
EOF
escape は、^Tt か ^Zz に割り当てるとよいと思います。

2009年1月2日金曜日

Ubuntu 8.10 (amd64) の遠隔管理

SSH

OpenSSH Server のインストールは、Synaptic で、[openssh-server] をインストールすればよい。
ssh -X REMOTE-HOST でログインして、X11 forwarding を有効にするのが簡単。


リモート・デスクトップ (vino: VNC Server)

VNC クライアントを使って、Windows のリモート アシスタンスのような使い方ができます。
Ubuntu 側でローカルにログインしていないと使えません。

  1. [システム]-[設定]-[リモート・デスクトップ] (vino-preferences) で設定します。
    [全般]-[共有]: ■ 他のユーザが自分のデスクトップを表示できる
    [全般]-[共有]: ■ 他のユーザがデスクトップを操作できる
    [全般]-[セキュリティ]: □ 承認を必要とする
    [全般]-[セキュリティ]: ■ パスワードの入力を要求する
  2. ローカルの PC から接続する。
    Ubuntu から接続するなら、vinagre REMOTE-HOST とするか、[アプリケーション]-[インターネット]-[リモートデスクトップビューワ] を起動する。
    Windows から接続するなら、UltraVNC などの VNC Client を利用する。
リモート ログイン (X Display Manager Control Protocol: XDMCP)
  1. [システム]-[システム管理]-[ログイン画面] で設定します。
    [リモート]-[スタイル]: ローカルと同じにする
  2. ローカルの PC から接続する。
    Ubuntu から接続するなら、Ubuntu のログイン画面で、[オプション]-[XDMCP 経由でのリモート・ログイン...] を選択する。
    Cygwin/X で接続するなら、XWin.exe -screen 0 1024x768x256 -query REMOTE-HOST -from LOCAL-HOST で接続する。

参考

2008年12月30日火曜日

Cygwin/X でリモートの Ubuntu を操作する。

ローカルの PC (Windows XP Pro) から、リモートの Ubuntu を操作してみた。

  1. Cygwin の bash から、startxwin.sh を実行する。
  2. Windows ファイアウォール ([control firewall.cpl]) の例外設定に [XWin] を加える。
  3. $ ssh -X Ubuntu-PC ← X11 forwarding を有効にして接続する。
  4. ssh で接続後、シェルからプログラムを起動する。
    (例)
    $ xeys & ← 目玉
    $ gns3 &
    $ nautilus ~ & ← ファイル・マネージャでホーム ディレクトリとデスクトップを表示
    $ gnome-panel & ← GNOME パネルを表示
    $ gnome-open ~ ← ファイル・マネージャ (Nautilus) でホーム ディレクトリを開く
    $ gnome-open ~/画像/*.png 画像ビューアで png ファイルを開く
    $ gnome-open http://zettai-non-sugar.blogspot.com/ Firefox でこのページを開く
    $ gnome-system-monitor & ← システム・モニタ
    $ gnome-help & ← Ubuntuヘルプセンター
    $ sudo synaptic ← パッケージ・マネージャ。パスワード入力後、[Ctrl]+[Z] でサスペンド、bg でバックグランド・ジョブにする。

2008年12月28日日曜日

Vista に Cygwin をインストール

九十九電機で購入した eX.Computer に Cygwin をインストールする。

Tools/Cygwin/インストール - non sugar

Setup.exe を実行するときに、右クリック [管理者として実行...] でインストールする。
Vista での sshd のインストールは、ファイルのパーミッションを変更したりしないとうまくいかないようだ。
また、ssh-host-config 実行時に、[管理者として実行...] で [Cygwin Bash Shell] を起動することが重要だ。

2007年8月13日月曜日

Cygwin (WinXP) で Dynamips をコンパイル

Cisco 7200 Simulator (Dynamips) と Cygwin と同時に使用しようとすると cygwin1.dll のバージョンが違うので動作しません。 (涙)
なので自前でコンパイルしてみました。

■ 環境

  • OS: Windows XP Pro SP2
  • Cygwin: uname -r = 1.5.24(0.156/4/2) ← 全てのパッケージをインストールしています。
  • Dynamips: 0.2.7 final release
  • Dynagen: 0.9.3
  • Libelf: Version 0.8.9
  • WinPcap Developer's Packs: 4.0.1
  • dynagen_poderosa.cmd

    ■ 凡例

  • cygwin$ … 一般ユーザの Cygwin のプロンプト
  • cygwin# … Administrators グループに所属するユーザの Cygwin のプロンプト
    ※ 日常的に Administrators グループに所属するユーザでログオンしている場合、ユーザを切り替える必要はないです。

    ■ コンパイル

    cygwin$ mkdir -p ~/tmp/dynamips
    cygwin$ cd ~/tmp/dynamips
    cygwin$ wget http://www.ipflow.utc.fr/dynamips/dynamips-0.2.7.tar.gz
    cygwin$ wget http://www.mr511.de/software/libelf-0.8.9.tar.gz
    cygwin$ wget http://www.winpcap.org/install/bin/WpdPack_4_0_1.zip
    cygwin$ tar xvzf libelf-0.8.9.tar.gz
    cygwin$ cd libelf-0.8.9
    cygwin$ ./configure && make && make instroot=~/tmp/dynamips install
    cygwin$ cd ..
    cygwin$ unzip WpdPack_4_0_1.zip
    cygwin$ cp WpdPack/Include/* ./usr/local/include
    cygwin$ cp WpdPack/Lib/* ./usr/local/lib
    cygwin$ tar xvzf dynamips-0.2.7.tar.gz
    cygwin$ cd dynamips-0.2.7
    cygwin$ cp -p Makefile Makefile.orig
    cygwin$ vi Makefile
    cygwin$ diff Makefile.orig Makefile
    9c9
    < HAS_RFC2553?=1
    ---
    > HAS_RFC2553?=0
    73c73
    < LIBS=-L/usr/local/lib -L. -lelf -lpthread
    ---
    > LIBS=-L../usr/local/lib -L/usr/local/lib -L. -lelf -lpthread

    cygwin$ CFLAGS=-I../usr/local/include make
    cygwin# DESTDIR=/usr/local make install
    cygwin$ cd
    cygwin$ rm -r ~/tmp/dynamips
    cygwin# cat >/usr/local/bin/dynamips-start
    #! /bin/sh
    test -d /tmp/dynamips || mkdir -p /tmp/dynamips
    ( cd /tmp/dynamips && nice dynamips -H 7200 )
    ^D
    cygwin# chmod 755 /usr/local/bin/dynamips-start
    cygwin# cd /usr/local
    cygwin# wget http://downloads.sourceforge.net/dyna-gen/dynagen-0.9.3.tar.gz?modtime=1182074556&big_mirror=0
    cygwin# tar xvzf dynagen-0.9.3.tar.gz
    cygwin# mv dynagen-0.9.3 dynagen
    cygwin# cp -p /usr/local/dynagen/dynagen.ini /usr/local/dynagen/dynagen.ini.orig
    cygwin# diff /usr/local/dynagen/dynagen.ini.orig /usr/local/dynagen/dynagen.ini
    21a22
    > telnet = /usr/local/dynagen/dynagen_poderosa.cmd %h %p %d
    33c34
    < telnet = xterm -T %d -e telnet %h %p > /dev/null 2>&1 &
    ---
    > #telnet = xterm -T %d -e telnet %h %p > /dev/null 2>&1 &
    cygwin# ln -s /usr/local/dynagen/dynagen /usr/local/bin
    cygwin# rm /usr/local/dynagen-0.9.3.tar.gz

    ■ 実行

  • Dynamips を実行する。
    cygwin$ dynamips-start

  • 別のターミナルから Lab (Dynagen) を実行する。
    cygwin$ dynagen <.net file>

    ■ 参考

  • Cisco 7200 Simulator » Blog Archive » Status of 0.2.4a
  • 2007年1月14日日曜日

    sitecopy を Cygwin で

    Cygwin で sitecopy をインストールしてみました。

    # wget 'http://www.lyra.org/sitecopy/sitecopy-0.16.3.tar.gz'
    # tar xvzf sitecopy-0.16.3.tar.gz
    # cd sitecopy-0.16.3
    # ./configure --prefix=/usr/local
    # make
    # make install

    設定ファイル (.sitecopyrc) の設定

    $ cd ~
    $ mkdir -m 700 .sitecopy
    $ touch .sitecopyrc
    $ chmod 600 .sitecopyrc
    $ vi .sitecopyrc

    2007年1月13日土曜日

    Namazu を Cygwin で挑戦

    まだ書きかけです。

    最初に nkf のインストール。

    # wget 'http://osdn.dl.sourceforge.jp/nkf/20770/nkf207.tar.gz'
    # tar xvzf nkf207.tar.gz
    # cd nkf207
    # make
    # install -s -m 0755 nkf.exe /usr/local/bin
    # install -m 0644 nkf.1 /usr/local/man/man1

    KAKASI のインストール

    # wget 'http://kakasi.namazu.org/stable/kakasi-2.3.4.tar.gz'
    # tar xvzf kakasi-2.3.4.tar.gz
    # cd kakasi-2.3.4
    # ./configure --prefix=/usr/local
    # make
    # make install

    次に Namazu のインストール

    # wget 'http://www.namazu.org/stable/namazu-2.0.16.tar.gz'
    # tar xvzf namazu-2.0.16.tar.gz
    # cd namazu-2.0.16
    # ./configure --prefix=/usr/local

    File::MMagic がインストールされていない場合、エラーになるので namazu 同梱のソースからインストールする。

    # cd File-MMagic
    # perl Makefile.PL LIB=/usr/local/lib INSTALLSITEMAN3DIR=/usr/local/man
    # make
    # make install

    再び configure

    # cd ..
    # ./configure --prefix=/usr/local --with-pmdir=/usr/local/lib
    # make
    # make install


    参考:

    2006年10月15日日曜日

    lftp によるバックアップ

    XREA を利用しているが、Cygwin でコンテンツのバックアップに lftp を使用してみた。

    $man lftp

    lftp has builtin mirror which can download or update a whole directory
    tree. There is also reverse mirror (mirror -R) which uploads or updates
    a directory tree on server. Mirror can also synchronize directories
    between two remote servers, using FXP if available

    $ lftp
    > cd
    > mirror remotedir

    簡単ですね。(^^)
    と思ったが、パスが長くて失敗した。(ToT)

    Windows のパス長の制限にひっかかったみたい。