Senario

本来我是想要修改下 machine name

在Ubuntu中的步骤是这样的

1 sudo hostname newMechineName
2 sudo vi /etc/hostname
  把原来的机器名改为新的 newMechineName
3 sudo vi /etc/hosts
  修改 127.0.1.1 对应的计算机名为新的计算机名称

先要修改下 hosts 文件

因为刚用 cygwin, 对系统不是很熟, 只是以为 cygwin 系统是一个封闭的系统放在宿主机器的某个文档夹里面

经过此次发掘,搞清楚 cygwin 和 host machine 的关系

ganiks.liu@MAMIS-Gaiks-Liu ~
$ gvim /etc/hosts

ganiks.liu@MAMIS-Gaiks-Liu ~
$ ll /etc/hosts
lrwxrwxrwx 1 Administrators root 46 Jul 25 13:34 /etc/hosts -> /cygdrive/c/WINDOWS/system32/drivers/etc/hosts

ganiks.liu@MAMIS-Gaiks-Liu ~
$ vim /etc/hosts
/cygdrive/d/Program Files/Git/bin/vim: line 3: /share/vim/vim74/vim: No such file or directory
/cygdrive/d/Program Files/Git/bin/vim: line 3: exec: /share/vim/vim74/vim: cannot execute: No such file or directory
#无法打开
ganiks.liu@MAMIS-Gaiks-Liu ~
$ vi /etc/hosts
#正常打开
ganiks.liu@MAMIS-Gaiks-Liu ~
$ gvim /etc/hosts
#这里打开文件时空的

cygwin中用的 命令/程序 都来自哪里?

只有 vi 可以打开 /etc/hosts

ok, 问题明白了, 就是权限问题

要搞清楚 vi, vim, gvim 分别是属于哪里的就明白了

  • vi
  • vim
  • gvim
ganiks.liu@MAMIS-Gaiks-Liu ~
$ whereis.exe vi
vi: /usr/bin/vi.exe /cygdrive/d/Program Files/Git/bin/vi

ganiks.liu@MAMIS-Gaiks-Liu ~
$ whereis.exe vim
vim: /cygdrive/d/Program Files/Git/bin/vim /cygdrive/d/Program Files/Vim/vim74/vim.exe

ganiks.liu@MAMIS-Gaiks-Liu ~
$ whereis.exe gvim
gvim: /cygdrive/d/Program Files/Vim/vim74/gvim.exe

ganiks.liu@MAMIS-Gaiks-Liu ~
$

让 cygwin 系统支持权限(chmod, chown)

说到权限, 这里还有一点要注意

最开始我的 cygwin 装在 E:\ 盘上, 当时 E:\ 的格式是 Fat32

然后用到 chmod 命令的时候失效 :参考另一篇文章

http://www.cnblogs.com/ganiks/p/cygwin-chmod-not-support.html

转换为 NTFS 格式之后, 支持了权限的管理, 有个细节要注意到就是所有文档的 USER:GROUP 变化啦

drwxr-xr-x 1 ganiks.liu Domain Users 0 Jul 25 13:28 .
drwxr-xr-x 1 ganiks.liu Domain Users 0 Jul 25 13:10 ..
drwxr-xr-x 1 ganiks.liu Domain Users 0 Jul 25 13:49 uscreens

# 转换 NTFS 之后
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ ll
total 0
drwxrwx---+ 1 Administrators root 0 Jul 25 13:28 .
drwxrwx---+ 1 Administrators root 0 Jul 25 13:10 ..
drwxrwxrwx+ 1 ganiks.liu     root 0 Jul 25 13:49 uscreens

ganiks.liu@MAMIS-Gaiks-Liu /tmp
$

cygwin 跟宿主系统的关系是什么?

ganiks.liu@MAMIS-Gaiks-Liu ~
$ ll /etc/
total 537
drwxrwx---+ 1 Administrators root      0 Jul 26 08:45 .
drwxrwx---+ 1 Administrators root      0 Jul 25 13:10 ..
drwxrwx---+ 1 Administrators root      0 Jul 25 13:28 alternatives
-rwxrwx---+ 1 Administrators root    856 Jul 25 13:35 bash.bash_logout
-rwxrwx---+ 1 Administrators root   1176 Jul 25 13:35 bash.bashrc
-rwxrwx---+ 1 Administrators root  58352 Feb 12  2011 bash_completion
drwxrwx---+ 1 Administrators root      0 Jul 25 13:28 bash_completion.d
drwxrwx---+ 1 Administrators root      0 Jul 25 13:28 dbus-1
drwxrwx---+ 1 Administrators root      0 Jul 25 13:28 defaults
-rwxrwx---+ 1 Administrators root   5023 Jul 25 13:34 DIR_COLORS
-rwxrwx---+ 1 Administrators root   3095 Jul 22 11:00 drirc
drwxrwx---+ 1 Administrators root      0 Jul 25 13:29 fonts
-rwxrwx---+ 1 Administrators root    192 Jul 25 13:34 fstab
drwxrwx---+ 1 Administrators root      0 Jul 25 13:34 fstab.d
-rwxrwx---+ 1 Administrators root    560 Jul 25 13:34 group
drwxrwx---+ 1 Administrators root      0 Jul 25 13:29 gtk-2.0
lrwxrwxrwx  1 Administrators root     46 Jul 25 13:34 hosts -> /cygdrive/c/WINDOWS/system32/drivers/etc/hosts
-rwxrwx---+ 1 Administrators root 149610 May  8  2012 lynx.cfg
-rwxrwx---+ 1 Administrators root   3583 May  8  2012 lynx.lss
-rwxrwx---+ 1 Administrators root     66 Jul 25 13:35 lynx-site.cfg
-rwxrwx---+ 1 Administrators root   5135 Jul 25 13:35 man_db.conf
-rwxrwx---+ 1 Administrators root 242153 May 24 02:59 moduli
lrwxrwxrwx  1 Administrators root     12 Jul 25 13:34 mtab -> /proc/mounts
lrwxrwxrwx  1 Administrators root     49 Jul 25 13:34 networks -> /cygdrive/c/WINDOWS/system32/drivers/etc/networks
drwxrwx---+ 1 Administrators root      0 Jul 25 13:35 pango
-rwxrwx---+ 1 Administrators root    943 Jul 25 13:34 passwd
drwxrwx---+ 1 Administrators root      0 Jul 25 13:30 pkcs11
drwxrwx---+ 1 Administrators root      0 Jul 25 13:28 pki
drwxrwx---+ 1 Administrators root      0 Jul 25 13:28 postinstall
drwxrwx---+ 1 Administrators root      0 Jul 25 13:28 preremove
-rwxrwx---+ 1 Administrators root   7634 Jul 25 13:35 profile
drwxrwx---+ 1 Administrators root      0 Jul 25 13:28 profile.d
lrwxrwxrwx  1 Administrators root     50 Jul 25 13:34 protocols -> /cygdrive/c/WINDOWS/system32/drivers/etc/protocols
-rwxrwx---+ 1 Administrators root  51799 Jul 25 13:34 rebase.db.i386
drwxrwx---+ 1 Administrators root      0 Jul 25 13:30 sasl2
lrwxrwxrwx  1 Administrators root     49 Jul 25 13:34 services -> /cygdrive/c/WINDOWS/system32/drivers/etc/services
drwxrwx---+ 1 Administrators root      0 Jul 25 13:10 setup
-rwxrwx---+ 1 Administrators root    210 Jul 25 13:35 shells
drwxrwx---+ 1 Administrators root      0 Jul 25 13:35 skel
drwxrwx---+ 1 Administrators root      0 Jul 25 13:28 ssl
-rwxrwx---+ 1 Administrators root   4795 Jul 25 13:46 wgetrc
drwxrwx---+ 1 Administrators root      0 Jul 25 13:35 xml

看看 hosts -> /cygdrive/c/WINDOWS/system32/drivers/etc/hosts

明白了吧, 原来想要访问宿主系统, 只需要进入到 /cygdrive/ 目录下 !

越是想要了解一个东西,越是不能放过任何一个小小的疑问
这里就是因为想要修改 machine name 就让我发现这么重要的一个对 cygwin 认知。

最终没有修改成功 hostname

ganiks.liu@MAMIS-Gaiks-Liu ~
$ hostname.exe wswtech
hostname: cannot set hostname; this system lacks the functionality

介绍一篇不错的 cygwin 入门教程:

http://w.gdu.me/wiki/cygwin/index.html

cygwin and its host machine的更多相关文章

  1. C# Socket 您的主机中的软件中止了一个已建立的连接 An established connection was aborted by the software in your host machine

    http://tieba.baidu.com/p/3223234493 问题: 服务端在接收客户端数据的时候,抛了个异常出来:System.Net.Sockets.SocketException: 您 ...

  2. Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system

    A processor including a virtualization system of the processor with a memory virtualization support ...

  3. Installing Cygwin and Starting the SSH Daemon

    This chapter explains how to install Cygwin and start the SSH daemon on Microsoft Windows hosts. Thi ...

  4. Docker Machine, Compose, and Swarm: How They Work Together

    The three tools are now neatly packaged into what’s called the Docker Toolbox. Docker Machine1/ crea ...

  5. 使用Vagrant machine

    使用Vagrant 查看Vagrant状态 vagrant status SSH vagrant ssh 共享文件 在vagrantfile中添加共享文件配置 Vagrant.configure(2) ...

  6. Docker教程:dokcer machine的概念和安装

    http://blog.csdn.net/pipisorry/article/details/50920982 Docker machine介绍 做为Docker容器集群管理三剑客之一的Docker ...

  7. Online Resource Mapping for SDN Network Hypervisors using Machine Learning

    发表时间:2016 一些定义: self-configuring networks: FlowVisor: FlowVisor是建立在OpenFlow之上的网络虚拟化工具,它可以将物理网络划分成多个逻 ...

  8. cygwin下安装c语言开发环境

    1.到官网cygwin.com下载安装程序. 2.添加清华的cygwin镜像:https://mirrors.tuna.tsinghua.edu.cn/cygwin/ 3.在安装:vim,git,gc ...

  9. Windows 10 host where Credential Guard or Device Guard is enabled fails when running Workstation (2146361)

    To disable Device Guard or Credential Guard on Itanium based computers: Disable the group policy set ...

随机推荐

  1. HBase数据导出到HDFS

    一.目的 把hbase中某张表的数据导出到hdfs上一份. 实现方式这里介绍两种:一种是自己写mr程序来完成,一种是使用hbase提供的类来完成. 二.自定义mr程序将hbase数据导出到hdfs上 ...

  2. 使用memcached实现tomcat集群session共享

    环境centos6.7,下载安装必要的软件:yum -y install epel-release(tomcat7在此源上,tomcat7是现在主流版本) yum -y install tomcat ...

  3. Mysql varchar大小长度问题介绍

    如果被 varchar 超过上述的 b 规则,被强转成 text 类型,则每个字段占用定义长度为 11 字节,当然这已经不是 varchar 了4.0版本以下,varchar(20),指的是20字节, ...

  4. C++实现01串排序

    题目内容:将01串首先按长度排序,长度相同时,按1的个数从少到多进行排序,1的个数相同时再按ASCII码值排序. 输入描述:输入数据中含有一些01串,01串的长度不大于256个字符. 输出描述:重新排 ...

  5. pure css做的pc登陆界面

    源码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  6. 《高性能javascript》读书笔记:P1减少跨作用域的变量访问

    前端优化,有两个意义:1.为了让用户在浏览网页时获得更好的体验 2.降低服务器端的访问压力,节省网络流量. 除了换个好主机连上个千兆网这样的硬件问题,优化部分的实现方式目前也大致两种,一种是页面级别的 ...

  7. Android请求返回417解决办法

    今天碰到个很奇怪的问题,APP通过代理链接服务器会收到HTTP 417错误,经过网上查找发现是由于以下代码造成: HttpParams params = new BasicHttpParams(); ...

  8. Redbean:入门(三) - Exec 以及 Query 以及 ConvertToBeans

    <?php //引入rb入口文件 include_once 'rb.php'; //定义dsn以及相关的数据 $dsn = 'mysql:host=localhost;dbname=hwibs_ ...

  9. 开发移动app与服务器端session的状态管理与交互

    我们进行web开发的时候,一般使用cookie或session来保存用户的登录状态,通过检查cookie或session的数据来验证用户是否具有对某些需要登录的页面的访问权限,这一切都是通过浏览器来完 ...

  10. Android Service学习之本地服务

    Service是在一段不定的时间运行在后台,不和用户交互应用组件.每个Service必须在manifest中 通过来声明.可以通过contect.startservice和contect.bindse ...