注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

guoyoooping的博客

audio,picture, text and video

 
 
 

日志

 
 

Cygwin高级配置  

2010-11-17 21:46:54|  分类: Linux: 折腾的总 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
content (Created by TxtBrowser)
    1. cygserver: 调用semget出错的问题: "Bad system call"
    2. 如何生成 coredump 文件?
    3. 启动apache.
    4. 提供telnet, ftp, sshd服务
    .   4.1 ssh服务在cygwin上架设指南


刚开始使用Cygwin的时候觉得挺难的, 随着时间的推移和对Cygwin的熟悉, 越来越感觉到
Cygwin的强大. 但是给我的感觉是它在模拟Linux操作系统时, 尤其是复杂应用程序的时
候还显得无能为力. 直到遇到了强大的Cygwin服务程序, 我才又一次感觉到了Cygwin的强
大.

1. cygserver: 调用semget出错的问题: "Bad system call"

Cygwin有一些特殊的功能, 如IPC Message Queues, XSI IPC Semaphores, XSI IPC
Shared Memory.默认是没有打开的, 大概是为了安全等问题. 要想使用这些功能, 必须先
启动cygserver程序或服务. 否则会报错: "Bad system call"

cygserver可以作为一个服务安装, 启用的方法如下:终端执行:

    $cygserver-config(按照提示配置)
    $net start cygserver(cygserver作为Windows操作系统的一个服务运行)
    $net stop cygserver(停止cygserver, 也可以在Windows任务管理器里结束进程)

在$CYGWIN/Cygwin.bat里添加下面的配置:

    $set CYGWIN=server

当然你也可以在每次需要的时候手动启动:

    $cygwinserver &

2. 如何生成 coredump 文件?

在缺省的 cygwin 环境下出错时并不产生 core 文件,而是产生一个stackdump文件,该
文件所含信息比core文件少,不能当作core文件使用.为了产生真正的core文件,可以配置
好下面的环境变量:

set CYGWIN="$CYGWIN error_start=dumper.exe -d %1 %2"(在d:\cygwin\Cygwin.bat文件里)

或者:

export CYGWIN="$CYGWIN error_start=dumper.exe -d %1 %2"(在.bashrc文件里)

coredump时, cygwin会调用dumper.exe程序在当前目录下产生core文件. 但是不是对这个
core文件抱太大的指望. 根据我的经验, 很多时候用bt列出的调用栈都是不可用的. 我也
不知道为什么. 全局变量好像可以查看.

3. 启动apache.

安装Cygwin时选择Apache-2.2进行安装

vi ~/.bashrc 添加如下内容(或者在windows环境变量里面配置)
CYGWIN=server
export CYGWIN

执行 . ~/.bashrc 让其生效

执行cygserver-config
并启动cygserver,
net start cygserver

最后执行 /usr/sbin/apachectl2 start 启动Apache
打开浏览器访问http://localhost 检查, it works!

4. 提供telnet, ftp, sshd服务

   既然是UNIX的模拟环境,当然要有telnet,ftp才好用。
   简单的办法就是安装xinetd服务:
   $cygrunsrv -I xinetd -p /usr/sbin/xinetd -d ‘CYGWIN xinetd’ -1 /dev/null -2 /dev/null
   $cygrunsrv -S xinetd
 
   2006.05.17

4.1 ssh服务在cygwin上架设指南

sshd 服务在cygwin上默认是不开启的, 可能是出于安全的需要. 但是有些服务可能需要
cygwin作为一个sshd服务器. 这时你需要手动打开sshd服务.[4]

1) 先确认一下cygrunsrv.exe 已经安装.

    whereis cygrunsrv

2) 生成ssh_config文件

这时候并不能起动sshd服务的, 先运行ssh-host-config 会提示你一些信息, 照着做就是
了, 多数是yes, 在选择是否加载为service的时候小心一点, 这里的service是指windows
的service, 即使cygwin不启动, sshd也会在开机的时候启动起来.

3) 启动或停止sshd

    net start sshd (cygrunsrv -S sshd)
    net stop sshd

4) 实施过程

打开cygwin控制台, 输入ssh-host-config, 一路yes, 提示CYGWIN值时, 输入netsec tty.
启动sshd服务用: net start sshd 或 cygrunsrv --start sshd; 停止sshd服务用:net
stop sshd 或 cygrunsrv --stop sshd



[参考资料]
[1] Cygwin User’s Guide

[1] cygwin问题, epeaktop的博客:
http://hi.baidu.com/epeak/blog/item/c35f79ee48b991feb3fb95c7.html

[2] cygwin中产生core dump文件, hongszh的博客:
http://hi.baidu.com/hongszh/blog/item/d434be6e977ee4dc80cb4ac6.html

[3] Cygwin + Apache2 http://linuxzh.3322.org/?p=476

[4] Cygwin上的ssh服务的putty自动登录问题, http://markli.javaeye.com/blog/39661
  评论这张
 
阅读(5494)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017