Jade Dungeon

cygwin

安装与源

官网:https://cygwin.com/install.html (注意这才是真正原官网,中国版那个没人维护的。)

国内镜像地址:http://mirrors.163.com/cygwin/ (官网最新的都不需要再添加)

用户账号

用户和权限

准备目录权限:

chmod +r /etc/group
chmod +r /etc/passwd
chmod +r /var 
chmod +w /var 
chmod +x /var 

把windows的用户和组输入到cygwin中:

mkpasswd -l > /etc/passwd   # 导入windows本地用户
mkpasswd -d >> /etc/passwd  # -d导入域用户
mkgroup  -l > /etc/group    # 导入windows本地组信息 

windows下自动登录

  1. 运行netplwiz
  2. 取消「要使用本而,用户需要输入用户名和密码(E)」。
  3. 点「确定」时会弹框要求输入用户名密码。

编码

.bash_profile

export LC_ALL=en_US.UTF-16
export LC_CTYPE=en_US.UTF-16
export LANG=en_US.UTF-16
export XMODIFIERS=@im=Chinput3
stty cs8 -istrip
stty pass8
export LESSCHARSET=latin1

.inputrc

set meta-flag on
set convert-meta off
set input-meta on

set output-meta on

.bashrc

alias ls='ls --color --show-control-chars'

服务

windows下查看服务:services.msc

sshd

先要准备好用户权限,参考前面的「用户账号 > 用户和权限」。

安装:

  1. cygwin安装Net下的opensshopenssl两个程序。
  2. c:/cygwin/bin加入到windows的path中。
  3. 以管理员权限运行cygwin,输入ssh-host-config
    • 当询问「if privilege separation should be used」时输入 no .
    • 当询问「if sshd should be installed as a service」时输入yes .
    • 当询问「about the value of CYGWIN environment variable enter」时输入 ntsec .

启动服务:

net start sshd
# or 
cygrunsrv -S sshd
# or
cygrunsrv --start sshd

如果启用服务有问题可以尝试操作:

mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
cygrunsrv -R sshd              # 删除服务
ssh-host-config -y
cygrunsrv -S sshd 

cron

新安装cron服务 cron-config (注:中间无空格)

do you want to remove or reinstall it ? (yes/no) yes
do you want to install the cron daemon as a service?(yes/no) yes
enter the value of cygwin for the daemon:[ ] ntsec
please enter the password for user ‘administrator’:  
Do you want to start the cron daemon as a service now? (yes/no) yes 

运行services.msc可以看到cron daemon服务已启动。一般这样就可以了。

如果要手动启动:

net start cron
# 或
cygrunsrv -S cron

手动安装cron服务:

cygrunsrv -I cron -p /usr/sbin/cron -a –D

手动安装启动服务:

cygrunsrv -I cygserver -p /usr/sbin/cygserver -e "CYGWIN=server"

cron的任务配置:

crontab -e

格式:

# m h dom mon dow  command
 
*/9 * * * * bash /cygdrive/c/var/crawl/clear-win-tmp.sh
* * * * * bash /cygdrive/c/var/crawl/check-pppoe.sh
* * * * * bash /cygdrive/c/var/crawl/ping-ddns.sh
9 * * * * bash /cygdrive/c/var/crawl/autoupdate-win.sh
* * * * * bash /cygdrive/c/var/crawl/restart-win.sh