cygwin chmod 失效
问题背景
为了在 Cygwin 下使用之前最喜爱的 screen 命令, 安装 Cygwin 时就选上了 screen

来运行一把
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ screen.exe -ls
Directory '/tmp/uscreens' must have mode 777.
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ chmod 777 uscreens/ -R
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ ll
total 0
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
cygwin chmod 失效
为什么 chmod 失效呢?
查了原因是 当前 cygwin 所在磁盘 E:\ 盘格式为 Fat32, 不支持 权限管理。
好吧,来转 NTFS 吧
cmd就是个很不错的工具(经过实际运行,我否定了“不错”这个形容,因为整个过程花费了不知道多少个小时)
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\ganiks.liu>e:
E:\>convert E:/FS:NTFS /V
The type of the file system is FAT32.
Enter current volume label for drive E: DISK1_VOL3
Convert cannot run because the volume is in use by another
process. Convert may run if this volume is dismounted first.
ALL OPENED HANDLES TO THIS VOLUME WOULD THEN BE INVALID.
Would you like to force a dismount on this volume? (Y/N) Y
Volume dismounted. All opened handles to this volume are now invalid.
Convert cannot gain exclusive access to the E: drive,
so it cannot convert it now. Would you like to
schedule it to be converted the next time the
system restarts (Y/N)? Y
The conversion will take place automatically the next time the
system restarts.
E:\>
我转换的这个 E 盘, 从下午3点多开始转换, 一直到 5点下班的时候还在转换, 于是关掉显示器回家...
谢天谢地, 第二天早上来, 机器正常开机了, 而且 E盘 成功转换了 NTFS
用工具实现 windows 硬盘格式的转换
已经体会了 win 自带 转换命令的不靠谱(据同事说我算幸运的,花了这么久转换成功了, 有很多失败的, 可能是没有开启虚拟内存 or sth.)
来试试他们介绍的 2个工具吧
- partassist分区助手 (待测试)
- paragon Partion Manager 9.0


成功运行 screen 在 cygwin 中
经过千辛万苦转换了硬盘格式, 现在再来测试 screen
我变得非常脆弱, 貌似不能再接受 screen 不支持的其他问题了
其实这个心态非常不好, 因为程序员注定是为解决问题而生的, 遇到一个解决一个, 技能才得到提高
另外越是深入的解决一个问题,你会发现能打通到其他的领域, 对以后遇到别的问题很有可能是有帮助的
结束题外话, 这次确实运行成功了
ganiks.liu@MAMIS-Gaiks-Liu ~
$ screen.exe -ls
Directory '/tmp/uscreens' must have mode 777.
ganiks.liu@MAMIS-Gaiks-Liu ~
$ cd /tmp/
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 ..
drwxrwx---+ 1 Administrators root 0 Jul 25 13:49 uscreens
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ chmod 777 uscreens/ -R
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 Administrators root 0 Jul 25 13:49 uscreens
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ screen.exe -ls
You are not the owner of /tmp/uscreens/S-ganiks.liu.
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ screen.exe -S aaa
You are not the owner of /tmp/uscreens/S-ganiks.liu.
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ chown ganiks.liu uscreens/ -R
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
$ screen.exe -ls
Directory /tmp/uscreens/S-ganiks.liu must have mode 700.
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ chmod 777 uscreens/ -R
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ screen.exe -ls
Directory /tmp/uscreens/S-ganiks.liu must have mode 700.
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ chmod 700 uscreens/ -R
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ screen.exe -ls
Directory '/tmp/uscreens' must have mode 777.
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 ..
drwx------+ 1 ganiks.liu root 0 Jul 25 13:49 uscreens
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ chmod 777 uscreens/ -R
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ chmod 700 uscreens/S-ganiks.liu/ -R
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ screen.exe -ls
No Sockets found in /tmp/uscreens/S-ganiks.liu.
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$ screen.exe -S aa
[screen is terminating]
ganiks.liu@MAMIS-Gaiks-Liu /tmp
$
更改 cygwin machine name
对于有“不知道什么度”洁癖的人, 我总是会去想办法解决每一个“小问题”, 有可能这个问题根本对项目的进度没有关系
比如,我刚刚贴了这个代码, 发现机器名 MAMIS-Gaiks-Liu 丑陋无比, 我要改成 wswtech
印象中要改两个地方
- /etc/hosts
- /etc/hostname
- hostname your_new_name
cygwin chmod 失效的更多相关文章
- cygwin and its host machine
Senario 本来我是想要修改下 machine name 在Ubuntu中的步骤是这样的 1 sudo hostname newMechineName 2 sudo vi /etc/hostnam ...
- apt-cyg for Cygwin(setup-x86_64 .exe )在win10下的安装
cygwin安装后,如果没有选择安装所有包(这会占用5G空间,很多包不需要),再需要安装新的包,可以启动setup-x86_64 .exe(我把它放置在C:\cygwin64目录下),添加包(如wge ...
- Windows下安装Cygwin及包管理器apt-cyg(转)
本文为转载文章: http://www.2cto.com/os/201212/176551.html Cygwin可以在Windows下使用unix环境Bash和各种功能强大的工具,对于Linux管理 ...
- Installing Cygwin and Starting the SSH Daemon
This chapter explains how to install Cygwin and start the SSH daemon on Microsoft Windows hosts. Thi ...
- Cygwin下软件安装 - apt-cyg
安装了cygwin,但不能像centos上装yum,装东西很不方便.找了下可以用apt-cyg来安装软件. 1.下载apt-cyg $ wget raw.github.com/transcode-op ...
- [转]Cygwin的包管理器:apt-cyg
[转]Cygwin的包管理器:apt-cyg http://zengrong.net/post/1792.htm Cygwin的包管理工具setup.exe实在是难用的让人蛋碎.于是就有了这样一个ap ...
- 【转】Cygwin的包管理器:apt-cyg
原文网址:http://zengrong.net/post/1792.htm Cygwin的包管理工具setup.exe实在是难用的让人蛋碎.于是就有了这样一个apt-cyg,可以提供类似于 apt- ...
- 【搭建开发环境】在 Windows XP 中参与开源项目,搭建 git 和 cygwin 开发环境
引言 只有一台 Windows XP 家用机,却想在诸如 Git@OSC 之类的开源社区参与开发,本文提供一个入门级的开发环境搭建指引. 涉及工具:Eclipse,EGit,Cygwin. 欢迎来到 ...
- cygwin 扩展
1.使用setup,然后一路安装到select package,选择需要的包即可,然后一路next. 2.setup.exe -q -P 包名, 详细用法如下: Command Line Option ...
随机推荐
- VMware vSphere Client的简单使用教程
1.首先登陆进去ESXI管理 实验VMware VS6.0版本 2新建虚拟机 确认信息 点击完成 2.开启虚拟机 右键打开控制台 加载光驱 选择虚拟机 Ctrl+Alt+delete重启 安装 来 ...
- Objective-C代码的文件扩展名
- oracle中=>是什么意思
=> 是 Oracle 中调用 存储过程的时候, 指定 参数名进行调用.一般是, 某些参数有默认值的时候,你需要跳过某些参数来进行调用.下面是具体的例子. 参数的默认值SQL> CREAT ...
- ISBN和标准编码关系以及概念
<中国标准书号>(China standard Book Number)是1986年由国家标准局批准颁发的一项国家标准(GB5795-86).该标准是在采用国际标准LSO2108——国际标 ...
- Knockout.Js官网学习(visible绑定)
前言 让visible绑定到DOM元素上,使得该元素的hidden或visible取决于绑定的值. 简单的绑定 首先还是先定义一个ViewModel var AppViewModel = { shou ...
- Laravel 安装predis 扩展
在安装predis扩展之前先安装composer,安装教程在https://getcomposer.org/download/: php -r "copy('https://getcompo ...
- pthreads多线程数据采集
以前使用curl的多线程并不是真正的多线程,只是一种模拟的多线程,现在使用pthreads来实现真正意义上的多线程. 下载: windows下: http://windows.php.net/down ...
- mysql 修改字段长度
mysql 修改字段长度 alter table news modify column title varchar(130); alter table 表名 modify column 字段名 类型 ...
- MongoDB中通过MapReduce实现合计Sum功能及返回格式不一致问题分析
建立下述测试数据,通过MapReduce统计每个班级学生数及成绩和. 代码如下: public string SumStudentScore() { var collection = _dataBas ...
- ADOMD连接SSAS和Mondrian,rex的终结者
前传 公司使用Mondrian作为OLAP服务器,于是,不得不适用Java开源的Rex进行客户端连接,用了一段时间,实在无法忍受rex的笨拙,于是乎,一直希望有一个工具能够连接替代它. 周末闲来无事, ...